版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
大學計算機基礎(chǔ)計算機基礎(chǔ)教學部第8章問題求解與結(jié)構(gòu)化設(shè)計方法內(nèi)容提要引言12理解問題設(shè)計方案34應(yīng)用結(jié)構(gòu)化程序設(shè)計方法繪制傳統(tǒng)流程圖5提出問題(1)【問題1】保溫杯里是可樂,玻璃杯里是熱水,怎樣調(diào)換過來?【問題2】明年是閏年嗎?【問題3】生活用水實行三級階梯水價,這個月的水費是多少?【問題4】100塊錢存在銀行,1年定期,中間不取,存多少年后,能拿回150元?提出問題(2)【問題5】朋友今年36歲,他家有三個孩子,他們的年齡的乘積也是36,猜一下孩子們的年齡?【問題6】作為家在本地、手頭有很多兼職資源的在校學生,怎么能好好利用這些資源呢?【問題7】廈門有高鐵了,周末的部門活動就坐火車直奔鼓浪嶼自由行,作為組織者該如何安排?理解問題—知識點解析(1)1.問題的分類(1)美國學者紐厄爾和西蒙對問題所下的定義:問題是這樣一種情景,個體想做某件事,但不能馬上知道這件事所需采取的一系列行動。不管是簡單還是復雜,持續(xù)的時間長還是短,每一個問題都必然包含四種成分:(1)目的在某種情景下想要干什么,一種情景可能有許多目的,也可能只有一種目的;目的可能很明確,也可能很模糊。(2)個體已有的知識個體在問題情景一開始,就已具備的知識技能,已有知識因人因事而異。(3)障礙在解決問題過程中會遇到的種種待解決因素,障礙是否明確因人因事而異。(4)方法個體可以用來解決問題的程序和步驟,在問題解決的過程中,可以使用的方法常常會受到某些方面的限制,例如,資金、工具等。理解問題—知識點解析(2)1.問題的分類(2)針對問題本身的特點,可以將其主要分為兩種類型:(1)算法式能通過直觀、特定的步驟來解決的問題,例如,“兼職收入夠每月的花銷嗎?”、“這學期能得獎學金嗎?”,主要包括與數(shù)學公式運算相類似的一般計算型問題、包含關(guān)系或邏輯處理的邏輯型問題、以及需要重復執(zhí)行一組計算或邏輯處理的反復型問題。(2)啟發(fā)式不能通過直觀、特定的步驟來解決的問題,例如,“現(xiàn)在買哪種基金好?”、“開什么樣的網(wǎng)店能賺錢?”,對于這類問題的求解,不僅要有相應(yīng)的知識和經(jīng)驗,而且還要經(jīng)過不斷地嘗試、反復地摸索才可能會有較為合適、接近期望值的結(jié)果。理解問題—知識點解析(3)1.問題的分類(3)在啟發(fā)式問題的逐步解決過程中,往往隱含著很多相關(guān)的算法式問題的求解,同樣,一個復雜的算法式問題往往會由多個簡單的不同類型的算法式問題所構(gòu)成。在啟發(fā)式問題的解決過程中,可以應(yīng)用反推法,從目標開始退回到未解決的最初的問題;也可通過一系列的盲目的操作,不斷地嘗試錯誤,發(fā)現(xiàn)一種問題解決的方法。但無論是哪種方法,都會受個體本身的性格和行為習慣、以及社會背景和外部環(huán)境中的非可預測性變化等種種因素的影響,有著相當大的不確定性,對一個不算復雜的啟發(fā)式問題,都可能會涉及心理學、社會學、人工智能等多個學科,所以,針對這些問題的討論不在本書的范圍內(nèi)。理解問題—知識點解析(4)2.問題求解的一般過程(1)問題解決一般是指應(yīng)用已有的知識,進行一定的組合,從而達到一定的目的。一個人所擁有的知識技能越多,對信息作出更多組合方式的可能性就越大,從而解決問題的機會也越多。無論問題的領(lǐng)域、情景、難易程度如何不同,解決問題都具有一些共同的特點:(1)解決問題是解決新的問題,即所遇到的問題是初次遇到的問題。(2)在解決問題中,要把掌握的簡單規(guī)則(包括概念)重新組合,以適用于當前問題,因此,原先習得的簡單規(guī)則是解決問題過程中思維的素材。(3)問題一旦解決,在解決問題中產(chǎn)生的高級規(guī)則(已有規(guī)則的組合)就會貯存下來作為“知識寶庫”(認知結(jié)構(gòu))中的一個組成部分,以后遇到同類情景時,借助回憶即可作出回答而不再視為問題了。理解問題—知識點解析(5)2.問題求解的一般過程(2)1945年匈牙利數(shù)學家G.Polya提出了未經(jīng)嚴格定義的問題求解階段,仍然是今天講述問題求解技能所依據(jù)的基本原則。階段1:理解問題。階段2:設(shè)計一個解決這個問題的方案。階段3:實現(xiàn)這個方案。階段4:評估這個解決方案的精確度,同時,評估用它作為解決其他問題的工具的潛力。理解問題—知識點解析(6)2.問題求解的一般過程(3)實際上,在解決一個問題時,這四個階段并非一定要按順序來進行。許多實際問題的成功解決,往往是人們在完全理解整個問題(階段1)之前就開始構(gòu)思解決這個問題的方法(階段2),一旦這些方法失敗了,就會使人們對這些問題的復雜性有更深入的理解;有了這些深入的理解,人們會回過頭來去構(gòu)想其他的、更好的解題方法。同樣地,對于很多并不復雜的問題,由于一開始缺乏或者忽略了一些信息,使得直到在嘗試實現(xiàn)解決問題的計劃時(階段3),才有可能獲得對這個問題的完全理解(階段1),在開發(fā)問題求解的系統(tǒng)方法時,這種不規(guī)則性是我們經(jīng)常會遇到的。當然,為了盡量降低解題過程中這種由于對問題缺乏全面深刻的理解反復修改方法而造成資源上的浪費,應(yīng)盡可能做到對問題先要有一個完全的了解,然而,這個要求往往很難實現(xiàn)。總之,在開發(fā)問題求解的系統(tǒng)方法時,重要的是要努力尋找合理的方法,先跨入門檻,采用逐步求精,包括自頂向下或自底向上的方法,穩(wěn)步地推進直至最終解決問題。理解問題—知識點解析(7)3.問題的理解“良好的開端是成功的一半”,對于生活中林林總總的問題進行求解,是與數(shù)學公式的求解不同的,在一開始提出或面對問題的時候,問題本身或多或少都有一些模糊,需要對其進行確認,包括識別和歸類各種不同類型的問題、用具體的方式(圖形、符號或圖像等)或者用語言表達問題、以及選擇問題的相關(guān)信息和無關(guān)信息等。在此基礎(chǔ)上才能更好地理解問題,這對于任何問題的解決都是至關(guān)重要的。我們需要做的嘗試包括:(1)確定問題的類型:是啟發(fā)式?還是算法式?(2)明確問題求解的結(jié)果形式:是準確的數(shù)值?還是一些文字描述?還是一種狀態(tài)或者是一整套可行的方案?(3)根據(jù)對問題的初步認識,利用自己的語言描述頭腦中對這個問題所產(chǎn)生的原始的基本思路,并在這個過程中進行思考:從問題中獲取了什么信息?現(xiàn)有的資料有哪些?什么是未知數(shù)?是否缺少解決問題所需的資料?能否找到?有無需要特別注意的事項?理解問題—任務(wù)實現(xiàn)(1)1.任務(wù)分析利用自然語言描述下列問題的類型、結(jié)果形式、以及解決問題的基本思路:【問題1】保溫杯里是可樂,玻璃杯里是熱水,怎樣調(diào)換過來?【問題2】明年是閏年嗎?【問題3】生活用水實行三級階梯水價,這個月的水費是多少?【問題4】100塊錢存在銀行,1年定期,中間不取,存多少年后,能拿回150元?【問題5】朋友今年36歲,他家有三個孩子,他們的年齡的乘積也是36,猜一下孩子們的年齡?【問題6】作為家在本地、手頭有很多兼職資源的在校學生,怎么能好好利用這些資源呢?【問題7】廈門有高鐵了,周末的部門活動就坐火車直奔鼓浪嶼自由行,作為組織者該如何安排?理解問題—任務(wù)實現(xiàn)(2)2.實現(xiàn)過程請從以下幾方面考慮:(1)求解思路(2)問題類型(3)結(jié)果形式(4)必要信息(5)特別注意以個人書面回答、師生口頭問答、或小組討論說明等形式完成。理解問題—總結(jié)與提高(1)1.解決問題能力的培養(yǎng)為了達到培養(yǎng)的目的,可以嘗試從以下幾個方面著手:首先,選擇難度適當?shù)膯栴}作為起點,由淺入深、循序漸進地去學習;其次,要培養(yǎng)自身主動質(zhì)疑(提出問題)和解決問題的內(nèi)在動機,陳述自己的假設(shè)及其步驟,從引用別人的言語到自行指導思考,再到自己用言語表達出來;同時,要始終注意對問題進行分析、了解,要嘗試用多種方法、從多個角度去看待問題,牢牢掌握問題的目的與主要情境,將精力集中于解答的目的及其標準,發(fā)展系統(tǒng)考慮問題的方式、系統(tǒng)分析的習慣;此外,還應(yīng)善于從記憶中有效地提取與解決問題有關(guān)的信息,迅速作出判斷,不要習慣于按一種邏輯進行思考,盡量突破原來的事實和原則的限制。理解問題—總結(jié)與提高(2)2.影響解決問題的因素(1)問題解決的思維過程受多種因素的影響,有些因素能促進思維活動對問題的解決,而另外一些則會妨礙問題的解決,這些因素可以分成問題因素和個人因素,這兩類因素相互影響,關(guān)系密切。問題因素包括問題的刺激特點、功能固著、反應(yīng)定勢、醞釀效應(yīng)等,具體來說,當你解決某一個問題時,這個問題中的事件和物體將以某種特點呈現(xiàn)在你面前,這些特點以及它們之間的關(guān)系將影響你對問題的理解和表達;當你看到某個產(chǎn)品有一種慣常的用途后,就很難看出它的其他新用途;你會以最熟悉的方式作出反應(yīng)的傾向,它使解決問題的思維活動刻板化;反復探索一個問題的解答而毫無結(jié)果時,把問題暫時擱置幾小時、幾天或幾星期,然后再回過頭來解決,這時常常可以很快找到解決方法。理解問題—總結(jié)與提高(3)2.影響解決問題的因素(2)個人因素涉及到背景知識、智慧水平、認知特性、動機的強度、以及氣質(zhì)性格等個性特征,其中:背景知識能促進對問題的表達和理解,只有依據(jù)有關(guān)的知識才能為問題的解決確定方向、選擇途徑和方法,探索的技能在解決問題中不能替代實質(zhì)性的知識;推理能力、理解力、記憶力、信息加工能力和分析能力等成分都在很大程度上影響著問題解決;而作出多種新假設(shè)的能力,對問題的敏感性、好奇心和綜合各種觀念的能力,也都相當明顯地影響問題的解決;此外,只有具有解決問題的需要和動機時,才能以進取的態(tài)度尋覓解決問題的方法和步驟;具有理想遠大、意志堅強、情緒穩(wěn)定、謙虛勤奮、富有創(chuàng)造精神等優(yōu)良個性品質(zhì)都會提高解決問題的效率。設(shè)計方案—知識點解析(1)1.方案的提出基本思路往往只是一個大體的想法,當我們必須求解一個特定的問題時,特別是針對較為復雜的問題,還可能會有這樣一些考慮:解決這個問題會有多大的難度?還可能會有多個解決方法嗎?怎樣才算是最佳方案?這時,我們應(yīng)該開始嘗試“像計算機科學家一樣思維”,以計算機解決問題的視角來看待這個問題,計算機是有助于人們思維的工具,在問題求解中運用抽象思維。計算思維是與形式化問題及其解決方案相關(guān)的一個思維過程,其解決問題的表示形式應(yīng)該能有效地被信息處理代理執(zhí)行,這就要求在問題解決的基本思路基礎(chǔ)上,提出一個或多個目標明確、步驟清晰、操作合理的解決方案。設(shè)計方案—知識點解析(2)2.制定方案的一些策略在對問題解決方案的思考過程中,有一些較為實用的策略可以有所幫助:(1)列出方程對于很多求解結(jié)果是數(shù)值型的問題,通??梢試L試列出方程,將看似復雜的日常生活問題,轉(zhuǎn)換成直觀的數(shù)學問題。(2)使用表格以表格的形式列出一系列的可能性、現(xiàn)有資料、中間狀態(tài)、以及對應(yīng)的結(jié)果等,將其進行對照,對問題求解過程中找出可行方案或者形成有效方案,會有啟發(fā)、引導的作用。(3)制作圖形能用形象、生動、直觀的圖形對問題本身或者問題求解過程進行說明、展示,這對于解決方案的確定、實施等都會大有益處。設(shè)計方案—任務(wù)實現(xiàn)(1)1.任務(wù)分析利用自然語言描述解決下列問題的初步方案:【問題1】保溫杯里是可樂,玻璃杯里是熱水,怎樣調(diào)換過來?【問題2】明年是閏年嗎?【問題3】生活用水實行三級階梯水價,這個月的水費是多少?【問題4】100塊錢存在銀行,1年定期,中間不取,存多少年后,能拿回150元?【問題5】朋友今年36歲,他家有三個孩子,他們的年齡的乘積也是36,猜一下孩子們的年齡?設(shè)計方案—任務(wù)實現(xiàn)(2)2.實現(xiàn)過程請從以下幾方面考慮:(1)準備工作(2)實施方案(3)思考以個人書面回答、師生口頭問答、或小組討論說明等形式完成。設(shè)計方案—總結(jié)與提高(1)1.具體實施求解的基本思路都是從明確問題本身開始,通過分析,深入理解問題,從而在頭腦中收集信息,并根據(jù)已有的知識和經(jīng)驗背景進行判斷及推理,進而設(shè)計具體的方法和步驟開始嘗試解決問題。因此,當表達某個問題并選好某種解決方案后,下一步就要具體的實施,在執(zhí)行計劃、嘗試解答過程中,有一些原則要盡量嚴格地遵守:要認真檢查計劃的每個執(zhí)行步驟。依照所制定的計劃進行一系列工作。保持準確的工作記錄。設(shè)計方案—總結(jié)與提高(2)2.評估改進對于同一個問題,可以有多種方法來解決,但對不同方法各自的優(yōu)缺點要有一個全面的認識,應(yīng)該結(jié)合具體情況對某一種方法的整體效果進行綜合評估。因此,當選擇并完成某個解決方案之后,還應(yīng)該對結(jié)果進行評價,需要注意的是:在原始問題中檢查結(jié)果。根據(jù)原始問題解讀解決方案。確定是否有其它求解方法。考慮其它相關(guān)或更一般的問題是否可以用該技術(shù)進行解決。一個人解決問題,不僅要明確問題,提出假設(shè),驗證假設(shè),而且要對解決問題的意義有正確的認識,這樣,才能端正態(tài)度,積極思考,達到解決問題的目的和要求。應(yīng)用結(jié)構(gòu)化程序設(shè)計方法—知識點解析(1)1.利用計算機進行問題求解的一般過程(1)計算思維可以通過約簡、嵌入、轉(zhuǎn)化和仿真等方法,把一個看來困難的問題重新闡釋成一個我們知道怎樣解決的問題,計算思維的核心之一就是算法思維。在利用計算機對一個問題進行求解時,其求解過程與一般的問題求解相類似,大致包括:(1)分析問題對于接受的任務(wù)要進行認真的分析,研究所給定的條件,分析最后應(yīng)達到的目標,找出解決問題的規(guī)律,選擇解題的方法,完成實際問題。應(yīng)用結(jié)構(gòu)化程序設(shè)計方法—知識點解析(2)1.利用計算機進行問題求解的一般過程(2)(2)設(shè)計程序以解決問題①分析問題構(gòu)造模型在得到一個基本的物理模型后,用數(shù)學語言描述它(例如,列出解題的數(shù)學公式),即建立數(shù)學模型。②選擇計算方法確定用什么方法最有效、最近似地實現(xiàn)各種數(shù)值計算,用計算機解題應(yīng)當先確定用哪一種方法。③確定算法在編寫程序之前,應(yīng)當整理好思路,設(shè)想好一步一步怎樣運算或處理,即為“算法”。④畫流程圖把算法用框圖畫出來,用一個框表示要完成的一個或幾個步驟,它表示工作的流程,稱為流程圖。它能使人們思路清楚,減少編寫程序中的錯誤。。應(yīng)用結(jié)構(gòu)化程序設(shè)計方法—知識點解析(3)1.利用計算機進行問題求解的一般過程(3)(3)編寫程序根據(jù)得到的算法,用一種高級計算機語言編寫出源程序。(4)調(diào)試及運行程序、分析結(jié)果對源程序進行編輯、編譯和連接,運行可執(zhí)行程序,得到運行結(jié)果。能得到運行結(jié)果并不意味著程序正確,要對結(jié)果進行分析,看它是否合理,不合理的話,要對程序進行調(diào)試,即通過上機發(fā)現(xiàn)和排除程序中的故障的過程。一個復雜的程序往往不是一次上機就能通過并得到正確結(jié)果的,需要反復試算修改,才能得到正確的可供正式運行的程序。應(yīng)用結(jié)構(gòu)化程序設(shè)計方法—知識點解析(4)2.程序與程序設(shè)計的概念(1)程序設(shè)計(Programming)是給出解決特定問題程序的過程,是設(shè)計、編制、調(diào)試程序的方法和過程。它是目標明確的智力活動,是計算機進行問題求解過程中的重要組成部分。學習程序設(shè)計方法是理解計算機的最好途徑,也是計算思維能力培養(yǎng)的重要內(nèi)容,對大多數(shù)非計算機專業(yè)的學生而言,其目的是學習計算機分析和解決問題的基本過程和思路。程序(Program)是為實現(xiàn)特定目標或解決特定問題而用計算機語言編寫的命令序列的集合,告訴計算機如何完成一個具體的任務(wù)。程序是程序設(shè)計中最為基本的概念,是為了便于進行程序設(shè)計而建立的程序設(shè)計基本單位。程序設(shè)計往往以某種程序設(shè)計語言為工具,給出這種語言下的程序。由于現(xiàn)在的計算機還不能理解人類的自然語言,所以還不能用自然語言編寫計算機程序。應(yīng)用結(jié)構(gòu)化程序設(shè)計方法—知識點解析(5)2.程序與程序設(shè)計的概念(2)(1)程序算法+數(shù)據(jù)結(jié)構(gòu)=程序(Algorithm+DataStructures=Programs)這個公式展示出了程序的本質(zhì):對數(shù)據(jù)的描述——在程序中要指定數(shù)據(jù)的類型和數(shù)據(jù)的組織形式,即數(shù)據(jù)結(jié)構(gòu)(Datastructure)。對操作的描述——操作步驟,也就是算法(Algorithm)。實際上,一個程序除了以上兩個主要的要素外,還應(yīng)當采用程序設(shè)計方法進行設(shè)計,并且用一種計算機語言來表示。計算機中可執(zhí)行的基本操作是以指令的形式描述的,計算機系統(tǒng)能執(zhí)行的所有指令集合稱為該計算機系統(tǒng)的指令系統(tǒng)。因此,程序?qū)嶋H上就是按解題要求從計算機指令系統(tǒng)中選擇合適的指令所組成的指令序列,程序一般分為系統(tǒng)程序和應(yīng)用程序兩大類。應(yīng)用結(jié)構(gòu)化程序設(shè)計方法—知識點解析(6)2.程序與程序設(shè)計的概念(3)(2)程序設(shè)計簡單來說,程序設(shè)計就是以某種程序設(shè)計語言為工具,給出這種語言下的程序。整個過程應(yīng)當包括分析、設(shè)計、編碼、測試、排錯等不同階段,其基本構(gòu)成包括:數(shù)據(jù)——用于描述程序所涉及的數(shù)據(jù)。運算——用以描述程序中所包含的運算。控制——用以描述程序中所包含的控制。傳輸——用以表達程序中數(shù)據(jù)的傳輸。應(yīng)用結(jié)構(gòu)化程序設(shè)計方法—知識點解析(7)3.結(jié)構(gòu)化程序設(shè)計的基本思想(1)以模塊化設(shè)計為中心,將待開發(fā)的軟件系統(tǒng)劃分為若干個相互獨立的模塊,各個模塊的組成包括:運算和操作控制結(jié)構(gòu)這種設(shè)計理念使完成每一個模塊的工作變得單純而明確,同時增加了程序的可讀性,使程序更易于維護,提高了編程的效率,同時降低了成本。應(yīng)用結(jié)構(gòu)化程序設(shè)計方法—知識點解析(8)3.結(jié)構(gòu)化程序設(shè)計的基本思想(2)結(jié)構(gòu)化程序設(shè)計的基本思想是采用“自頂向下,逐步求精”的程序設(shè)計方法和“單入口單出口”的控制結(jié)構(gòu)。自頂向下、逐步求精的程序設(shè)計方法從問題本身開始,經(jīng)過逐步細化,將解決問題的步驟分解為由基本程序結(jié)構(gòu)模塊組成的結(jié)構(gòu)化程序框圖?!皢稳肟趩纬隹凇钡乃枷胝J為一個復雜的程序,如果它僅是由順序、選擇和循環(huán)三種基本程序結(jié)構(gòu)通過組合、嵌套構(gòu)成,那么這個新構(gòu)造的程序一定是一個單入口單出口的程序。據(jù)此就很容易編寫出結(jié)構(gòu)良好、易于調(diào)試的程序來。應(yīng)用結(jié)構(gòu)化程序設(shè)計方法—知識點解析(9)4.三種基本結(jié)構(gòu)(1)按照結(jié)構(gòu)化程序設(shè)計的觀點,任何算法功能都可以通過由程序模塊組成的三種基本程序結(jié)構(gòu)(順序結(jié)構(gòu)、選擇結(jié)構(gòu)和循環(huán)結(jié)構(gòu))的組合來實現(xiàn)。(1)順序結(jié)構(gòu)用順序方式對過程分解,確定各部分的執(zhí)行順序。順序結(jié)構(gòu)表示程序中的各操作是按照它們出現(xiàn)的先后次序執(zhí)行的,每個步驟依次都必須完成。(2)選擇結(jié)構(gòu)用選擇方式對過程分解,確定某個部分的執(zhí)行條件。選擇結(jié)構(gòu)表示程序的處理步驟出現(xiàn)了分支,它需要根據(jù)某一特定的條件選擇其中的一個分支執(zhí)行。選擇結(jié)構(gòu)有單選擇、雙選擇和多選擇三種形式。應(yīng)用結(jié)構(gòu)化程序設(shè)計方法—知識點解析(10)4.三種基本結(jié)構(gòu)(2)(3)循環(huán)結(jié)構(gòu)用循環(huán)方式對過程分解,確定某個部分進行重復的開始和結(jié)束的條件。循環(huán)結(jié)構(gòu)表示程序反復執(zhí)行某個或某些操作,直到某條件為假(或為真)時才可終止循環(huán)。在循環(huán)結(jié)構(gòu)中最主要的是:什么情況下執(zhí)行循環(huán)?哪些操作需要循環(huán)執(zhí)行?循環(huán)結(jié)構(gòu)的基本形式有兩種:應(yīng)用結(jié)構(gòu)化程序設(shè)計方法—知識點解析(11)4.三種基本結(jié)構(gòu)(3)①當型循環(huán)表示先判斷條件,當滿足給定的條件時執(zhí)行循環(huán)體,并且在循環(huán)終端處流程自動返回到循環(huán)入口;如果條件不滿足,則退出循環(huán)體直接到達流程出口處。因為是“當條件滿足時執(zhí)行循環(huán)”,即先判斷后執(zhí)行,所以稱為當型循環(huán)。②直到型循環(huán)表示從結(jié)構(gòu)入口處直接執(zhí)行循環(huán)體,在循環(huán)終端處判斷條件,如果條件不滿足,返回入口處繼續(xù)執(zhí)行循環(huán)體,直到條件為真時再退出循環(huán)到達流程出口處。因為是“直到條件為真時退出循環(huán)”,即先執(zhí)行后判斷,所以稱為直到型循環(huán)。對處理過程仍然模糊的部分反復使用以上分解方法,最終可將所有細節(jié)確定下來。應(yīng)用結(jié)構(gòu)化程序設(shè)計方法—任務(wù)實現(xiàn)(1)1.任務(wù)分析針對解決下列問題的初步方案,基于結(jié)構(gòu)化程序設(shè)計方法對問題解決過程進行分解,確定所對應(yīng)的程序結(jié)構(gòu):【問題1】保溫杯里是可樂,玻璃杯里是熱水,怎樣調(diào)換過來?【問題2】明年是閏年嗎?【問題3】生活用水實行三級階梯水價,這個月的水費是多少?【問題4】100塊錢存在銀行,1年定期,中間不取,存多少年后,能拿回150元?【問題5】朋友今年36歲,他家有三個孩子,他們的年齡的乘積也是36,年齡的總和是偶數(shù),猜一下孩子們的年齡?應(yīng)用結(jié)構(gòu)化程序設(shè)計方法—任務(wù)實現(xiàn)(2)2.實現(xiàn)過程個人書面回答:(1)實現(xiàn)步驟(2)程序結(jié)構(gòu)繪制傳統(tǒng)流程圖—知識點解析(1)1.算法的描述(1)問題求解過程中最重要的是學會針對各種類型的問題,擬定出有效的解決方法和步驟,即算法。有了正確而有效的算法,再利用任何一種計算機高級語言編寫程序,就可以使計算機按照既定要求進行工作,因此,設(shè)計算法是程序設(shè)計的核心。并非只有“計算”的問題才有算法,廣義地說,為解決一個問題而采取的方法和步驟,都可以稱為“算法”。不要把“計算方法”(ComputationalMethod)和“算法”(Algorithm)這兩個詞混淆,前者指的是求數(shù)值解的近似方法,后者是指解決問題的一步一步的過程。在解一個數(shù)值計算問題時,除了要選擇合適的計算方法外,還要根據(jù)這個計算方法寫出如何讓計算機一步一步執(zhí)行以求解的算法。繪制傳統(tǒng)流程圖—知識點解析(2)1.算法的描述(2)對解決問題的方法、思路或算法進行描述,可以有不同的表示方法,常用的有自然語言、流程圖、偽代碼等,在前面的內(nèi)容中,我們采用的就是自然語言,但在它的描述中多多少少都會有由個人語言習慣所帶來的描述的不規(guī)范和模糊性。在結(jié)構(gòu)化程序設(shè)計過程中,詳細描述處理過程常用三種工具:(1)圖形:傳統(tǒng)流程圖、結(jié)構(gòu)化圖、PAD圖等(2)表格:判定表等(3)語言:過程設(shè)計語言(PDL)等在實際工作中,我們常常需要向別人介紹清楚某項工作的操作流程,若是稍微復雜一些的工作流程,僅用文字是很難清楚表達的!這時就應(yīng)充分利用可視化技術(shù),將那些復雜的工作流程用圖形化的方式表達出來,這樣不僅使你表達容易,而且讓別人也更容易理解。繪制傳統(tǒng)流程圖—知識點解析(3)2.流程圖的特點用圖表示的算法就是流程圖,它通過一些簡單的圖標符號來表達問題解決步驟的示意圖。流程圖通常采用的都是簡單規(guī)范的符號,畫法簡單、結(jié)構(gòu)清晰、邏輯性強,直觀形象的圖形既便于描述,又容易理解。程序框圖表示程序內(nèi)各步驟的內(nèi)容以及它們的關(guān)系和執(zhí)行的順序,它說明了程序的邏輯結(jié)構(gòu)??驁D應(yīng)該足夠詳細,以便可以按照它順利地寫出程序,而不必在編寫時臨時構(gòu)思,甚至出現(xiàn)邏輯錯誤。流程圖不僅可以指導編寫程序,而且可以在調(diào)試程序中用來檢查程序的正確性。如果框圖是正確的而結(jié)果不對,則按照框圖逐步檢查程序是很容易發(fā)現(xiàn)其錯誤的。流程圖還能作為程序說明書的一部分提供給他人,以便幫助他人理解你編寫程序的思路和結(jié)構(gòu)。繪制傳統(tǒng)流程圖—知識點解析(4)3.傳統(tǒng)流程圖(1)傳統(tǒng)流程圖是由圖框和流程線組成,圖框表示各種操作的類型,圖框中的文字和符號表示操作的內(nèi)容,流程線表示操作的先后次序。美國國家標準化協(xié)會ANSI曾規(guī)定了一些常用的流程圖符號,為世界各國的多個領(lǐng)域所普遍采用,最常用的流程圖符號如圖所示,包括:繪制傳統(tǒng)流程圖—知識點解析(5)3.傳統(tǒng)流程圖(2)處理框(矩形框),表示一般的處理功能。判斷框(菱形框),表示對一個給定的條件進行判斷,根據(jù)給定的條件是否成立決定如何執(zhí)行其后的操作;它有一個入口,二個出口。輸入輸出框(平行四邊形框),表示數(shù)據(jù)的輸入和輸出。起止框(圓弧形框),表示流程開始或結(jié)束。連接點(圓圈),用于將畫在不同地方的流程線連接起來,可以避免流程線的交叉或過長,使流程圖清晰。流程線(指向線),表示流程的路徑和方向。注釋框,是為了對流程圖中某些框的操作做必要的補充說明,以幫助閱讀流程圖的人更好地理解流程圖的作用;它不是流程圖中必要的部分,不反映流程和操作。繪制傳統(tǒng)流程圖—知識點解析(6)3.傳統(tǒng)流程圖(3)在繪制傳統(tǒng)流程圖時,必須使用標準的流程圖符號,同時,要遵守流程圖繪制的相關(guān)規(guī)定,這樣才能繪制出正確而清楚的流程圖。(1)基本約定所用的符號應(yīng)該均勻的分布,連線保持合理的長度,各符號的外形和大小盡量統(tǒng)一,符號內(nèi)的說明文字盡量簡明。(2)準備工作首先在頭腦里想一想該項工作的實際要求或主要流程,然后在一張紙上把要實現(xiàn)的圖形效果大致畫出來,這樣能提高制作過程的效率。繪制傳統(tǒng)流程圖—知識點解析(7)4.三種基本結(jié)構(gòu)的畫法(1)傳統(tǒng)流程圖用流程線指出各框的執(zhí)行順序。(1)順序結(jié)構(gòu)如圖所示的虛線框內(nèi),A和B兩個框是順序執(zhí)行的。順序結(jié)構(gòu)是最簡單的一種基本結(jié)構(gòu)。繪制傳統(tǒng)流程圖—知識點解析(8)4.三種基本結(jié)構(gòu)的畫法(2)(2)選擇結(jié)構(gòu)如圖(a)所示的虛線框中包含一個判斷框,根據(jù)給定的條件p是否成立而選擇執(zhí)行A和B;無論條件p是否成立,只能執(zhí)行A或B之一,不可能既執(zhí)行A又執(zhí)行B;無論走哪一條路徑,在執(zhí)行完A或B之后將脫離選擇結(jié)構(gòu)。A或B不能都是空的,但這兩個框中可以有一個是空的,即不執(zhí)行任何操作,這時候雙分支轉(zhuǎn)換為單分支結(jié)構(gòu),參見圖(b)。繪制傳統(tǒng)流程圖—知識點解析(9)4.三種基本結(jié)構(gòu)的畫法(3)(3)循環(huán)結(jié)構(gòu)(重復結(jié)構(gòu))即反復執(zhí)行某一部分的操作。有兩類循環(huán)結(jié)構(gòu):①當型(While):如圖所示,當給定的條件p1成立時,執(zhí)行A框操作,然后再判斷條件p1是否成立,如果仍然成立,再繼續(xù)執(zhí)行A框,如此反復直到條件p1不成立為止,此時,不執(zhí)行A框而脫離循環(huán)結(jié)構(gòu)。繪制傳統(tǒng)流程圖—知識點解析(10)4.三種基本結(jié)構(gòu)的畫法(4)②直到型(Until):如圖所示,先執(zhí)行A框,然后判斷給定的條件p2是否成立,如果條件p2不成立,則繼續(xù)執(zhí)行A框,然后再對條件p2進行判斷,如此反復直到條件p2成立為止,此時,脫離本循環(huán)結(jié)構(gòu)。繪制傳統(tǒng)流程圖—知識點解析(11)4.三種基本結(jié)構(gòu)的畫法(5)注意兩種循環(huán)結(jié)構(gòu)的異同:①兩種循環(huán)結(jié)構(gòu)都能處理需要重復執(zhí)行的操作。②當型循環(huán)是“先判斷(條件是否成立),后執(zhí)行(A框)”,而直到型循環(huán)則是“先執(zhí)行(A框),后判斷(條件是否成立)”。③當型循環(huán)是當給定條件成立時執(zhí)行A框,而直到型循環(huán)則是在給定條件不成立時執(zhí)行A框。思考:同一個問題是否既可以用當型循環(huán)來處理,也可以用直到型循環(huán)來處理?繪制傳統(tǒng)流程圖—任務(wù)實現(xiàn)(1)1.任務(wù)分析根據(jù)下列問題的解決方案以及所對應(yīng)的程序結(jié)構(gòu),畫出描述問題處理過程的傳統(tǒng)流程圖:【問題1】保溫杯里是可樂,玻璃杯里是熱水,怎樣調(diào)換過來?【問題2】明年是閏年嗎?【問題3】生活用水實行三級階梯水價,這個月的水費是多少?【問題4】100塊錢存在銀行,1年定期,存多少年后,能拿回150元?【問題5】朋友今年36歲,他家有三個孩子,他們的年齡的乘積也是36,年齡的總和是偶數(shù),猜一下孩子們的年齡?繪制傳統(tǒng)流程圖—任務(wù)實現(xiàn)(2)2.實現(xiàn)過程自行描述問題處理過程的傳統(tǒng)流程圖。繪制傳統(tǒng)流程圖—總結(jié)與提高(1)1.利用MicrosoftOfficeVisio制作流程圖(1)MicrosoftOfficeVisio是一款專業(yè)的辦公繪圖軟件,具有簡單性與便捷性等關(guān)鍵特性;能將思想、設(shè)計與最終產(chǎn)品演變成形象化的圖像進行傳播;制作出富含信息和吸引力的圖標、繪圖及模型,讓文檔變得更加簡潔、易于閱讀與理解,其界面如圖所示。繪制傳統(tǒng)流程圖—總結(jié)與提高(2)1.利用MicrosoftOfficeVisio制作流程圖(2)利用Visio制作流程圖的基本過程如圖所示。1)創(chuàng)建流程圖(1)打開模板可以使用模板開始創(chuàng)建MicrosoftOfficeVisio圖表。(
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年園林景觀綠化地使用權(quán)轉(zhuǎn)讓合同4篇
- 2025年度新能源汽車充電站車位租賃合作協(xié)議書4篇
- 2025版委托擔保合同范本:知識產(chǎn)權(quán)質(zhì)押貸款擔保合同3篇
- 2025年度家具行業(yè)綠色供應(yīng)鏈管理合同4篇
- 二零二五版橋梁建設(shè)施工合作協(xié)議2篇
- 2025年度個人沿街店房租賃合同(含合同解除條件與爭議解決)4篇
- 二零二五年度國際交流項目教師選拔與聘用協(xié)議
- 2025年度星級酒店廚房設(shè)備采購與定期檢修合同4篇
- 二零二五年度產(chǎn)品研發(fā)與技術(shù)升級咨詢委托服務(wù)合同3篇
- 2025版學校食堂勞務(wù)承包與后勤保障體系建設(shè)協(xié)議2篇
- 數(shù)學-山東省2025年1月濟南市高三期末學習質(zhì)量檢測濟南期末試題和答案
- 中儲糧黑龍江分公司社招2025年學習資料
- 湖南省長沙市2024-2025學年高一數(shù)學上學期期末考試試卷
- 船舶行業(yè)維修保養(yǎng)合同
- 2024年林地使用權(quán)轉(zhuǎn)讓協(xié)議書
- 春節(jié)期間化工企業(yè)安全生產(chǎn)注意安全生產(chǎn)
- 數(shù)字的秘密生活:最有趣的50個數(shù)學故事
- 移動商務(wù)內(nèi)容運營(吳洪貴)任務(wù)一 移動商務(wù)內(nèi)容運營關(guān)鍵要素分解
- 基于ADAMS的汽車懸架系統(tǒng)建模與優(yōu)化
- 當前中國個人極端暴力犯罪個案研究
- 中國象棋比賽規(guī)則
評論
0/150
提交評論