演算法與程式框圖知識講解

2021-03-04 09:43:20 字數 4881 閱讀 1928

【學習目標】

1.初步建立演算法的概念;

2.讓學生通過豐富的例項體會演算法的思想;

3.讓學生通過對具體問題的**,初步了解演算法的含義;

4.掌握程式框圖的概念;

5.會用通用的圖形符號表示演算法,掌握演算法的三個基本邏輯結構;

6.掌握畫程式框圖的基本規則,能正確畫出程式框圖.

【要點梳理】

要點一、演算法的概念

1、演算法的定義:

廣義的演算法是指完成某項工作的方法和步驟,那麼我們可以說洗衣機的使用說明書是操作洗衣機的演算法,菜譜是做菜的演算法等等.

在數學中,現代意義的演算法是指可以用計算機來解決的某一類問題的程式和步驟,這些程式或步驟必須是明確和有效的,而且能夠在有限步之內完成.

2、演算法的特徵:

(1)確定性:演算法的每一步都應當做到準確無誤、「不重不漏」.「不重」是指不是可有可無的、甚至無用的步驟,「不漏」是指缺少哪一步都無法完成任務.

(2)邏輯性:演算法從開始的「第一步」直到「最後一步」之間做到環環相扣,分工明確,「前一步」是「後一步」的前提,「後一步」是「前一步」的繼續.

(3)有窮性:演算法要有明確的開始和結束,當到達終止步驟時所要解決的問題必須有明確的結果,也就是說必須在有限步內完成任務,不能無限制的持續進行.

(4)不唯一性:求解某乙個問題的演算法不一定是唯一的,對於乙個問題可以有不同的演算法.

3、設計演算法的要求

(1)寫出的演算法,必須能解決一類問題(如:判斷乙個整數35是否為質數;求任意乙個方程的近似解……),並且能夠重複使用.

(2)要使演算法盡量簡單、步驟盡量少.

(3)要保證演算法正確.且計算機能夠執行,如:讓計算機計算1×2×3×4×5是可以做到的.

4、演算法的描述:

(1)自然語言:自然語言就是人們日常使用的語言,可以是漢語、英語或數學語言等.用自然語言描述演算法的優點是通俗易懂,當演算法中的操作步驟都是順序執行時比較容易理解.

缺點是如果演算法中包含判斷和轉向,並且操作步驟較多時,就不那麼直觀清晰了.

(2)程式框圖:所謂框圖,就是指用規定的圖形符號來描述演算法,用框圖描述演算法具有直觀、結構清晰、條理分明、通俗易懂、便於檢查修改及交流等特點.

(3)程式語言:演算法最終可以通過程式的形式編寫出來,並在計算機上執行.

要點詮釋:

演算法的特點:思路簡單清晰,敘述複雜,步驟繁瑣,計算量大,完全依靠人力難以完成,而這些恰恰就是計算機的特長,它能不厭其煩地完成枯燥的、重複的繁瑣的工作,正因為這些,現代演算法的作用之一就是使計算機代替人完成某些工作,這也是我們學習演算法的重要原因之一.

事實上,演算法中出現的程式只是用基本的語句把程式的主要結構描述出來,與真正的程式還有差距,所以演算法描述的許多程式並不能直接執行,要執行程式,還要把程式按照某種語言的嚴格要求重新改寫才行.

要點二、程式框圖

1、程式框圖的概念:

程式框圖又稱流程圖,是一種用規定的圖形、指向線及文字說明來準確、直觀地表示演算法的圖形.

2、構成程式框的圖形符號及其作用

3、程式框圖的構成

乙個程式框圖包括以下幾部分:實現不同演算法功能的相對應的程式框;帶箭頭的流程線;程式框內必要的說明文字.

4、演算法的三種基本邏輯結構

(1)順序結構

順序結構是最簡單的演算法結構,語句與語句之間,框與框之間是按從上到下的順序進行的.它是由若干個依次執行的步驟組成的,它是任何乙個演算法都離不開的一種基本演算法結構.

見示意圖和例項:

順序結構在程式框圖中的體現就是用流程線將程式框自上而下地連線起來,按順序執行演算法步驟.如在示意圖中,a框和b框是依次執行的,只有在執行完a框指定的操作後,才能接著執行b框所指定的操作.

(2)條件結構

如下面圖示中虛線框內是乙個條件結構,此結構中含有乙個判斷框,演算法執行到此判斷給定的條件p是否成立,選擇不同的執行框(a框、b框).無論p條件是否成立,只能執行a框或b框之一,不可能既執行a框又執行b框,也不可能a框、b框都不執行.a框或b框中可以有乙個是空的,即不執行任何操作.

見示意圖

要點詮釋:

條件結構中的條件要準確,不能含混不清,要清楚在什麼情況下需要作怎樣的判斷,用什麼條件來區分.

(3)迴圈結構

在一些演算法中要求重複執行同一操作的結構稱為迴圈結構.即從演算法某處開始,按照一定條件重複執行某一處理過程.重複執行的處理步驟稱為迴圈體.

迴圈結構有兩種形式:當型迴圈結構和直到型迴圈結構.

①當型迴圈結構,如左下圖所示,它的功能是當給定的條件p成立時,執行a框,a框執行完畢後,返回來再判斷條件p是否成立,如果仍然成立,返回來再執行a框,如此反覆執行a框,直到某一次返回來判斷條件p不成立時為止,此時不再執行a框,離開迴圈結構,繼續執行下面的框圖.

②直到型迴圈結構,如右下圖所示,它的功能是先執行重複執行的a框,然後判斷給定的條件p是否成立,如果p仍然不成立,則返回來繼續執行a框,再判斷條件p是否成立,依次重複操作,直到某一次給定的判斷條件p成立為止,此時不再返回來執行a框,離開迴圈結構,繼續執行下面的框圖.

見示意圖

要點詮釋:

迴圈結構中使用什麼樣的條件控制迴圈的開始和結束,要清楚滿足某個條件的變數的次數與迴圈次數的聯絡與區別.

誤區提醒

1、框圖中的流程線不能出現交叉的現象.若有交叉,則程式語句無法寫出;

2、各種框圖有其固定的格式和作用,不要亂用.如條件結構中不要忘了「是」與「否」,流程線不要忘記畫箭頭;

3、條件分支結構的方向要準確;

4、迴圈結構中,計數變數要賦初值,計數變數的自加不要忘記,自加多少不能弄錯.另外計數變數一般只負責計數任務;

5、迴圈結構中迴圈的次數要嚴格把握,區分「<」與「≤」等.迴圈變數的取值與迴圈結構(當型與直到型)有關,需區分清楚.另外,同一問題用兩種不同的結構解決時,其判斷條件恰是相反的;

6、程式框圖不要出現死迴圈(無限步的迴圈).

【典型例題】

型別一:演算法的概念

例1.下列對演算法的理解不正確的是( )

a.演算法有乙個共同特點就是對一類問題都有效(而不是個別問題)

b.演算法要求一步步執行,且每一步都能得到唯一的結果

c.演算法一般是機械的,有時要進行大量重複的計算,它的優點是一種通法

d.任何問題都可以用演算法來解決

【答案】 d

【解析】 演算法是解決問題的精確的描述,但是並不是所有問題都有演算法.

【總結昇華】 演算法一般是機械的,有時需要進行大量的重複計算,只要按部就班去做,總能算出結果.通常把演算法過程稱為「數學機械化」,數學機械化的最大優點是它可以借助計算機來完成.實際上處理任何問題都需要演算法,如:

中國象棋有中國象棋的棋譜、走法、勝負的評判準則;而西洋棋有西洋棋的棋譜、走法、勝負的評判準則;再比如申請出國有一系列的先後手續,購買物品也有相關的手續…….

舉一反三:

【變式1】我們已學過的演算法有求解一元二次方程的求根公式,加減消元法求二元一次方程組的解,二分法求出函式的零點等,對演算法的描述有:①對一類問題都有效;②演算法可執行的步驟必須是有限的;③演算法可以一步一步地進行,每一步都有確切的含義;④是一種通法,只要按部就班地做,總能得到結果.以上演算法的描述正確的有( ).

a.1個 b.2個 c.3個 d.4個

【答案】d

【變式2】下列哪個不是演算法的特徵( )

a.抽象性  b.精確性    c.有窮性     d.唯一性

【答案】d.

型別二:演算法的描述

例2.寫出求解二元一次方程組的乙個演算法.

【解析】

因為是二元一次方程組,所以a1、a2不能同時為0.

第一步,假設a1≠0(若a1=0,可將第乙個方程與第二個方程互換),

,得到.

即方程組化為

第二步,若a1b2-a2b1≠0,解③得 ④

第三步,將④代入①,整理得.

第四步,輸出結果x、y.

如果a1b2-a2b1=0,從③可以看出,方程組無解或有無窮多組解.

【總結昇華】一般化,得到求二元一次方程組的高斯消去演算法步驟:

第一步:計算;

第二步:若,則原方程組無解或有無窮多組解,否則().

第三步:輸出計算的結果、或者無法求解的資訊.

舉一反三:

【變式1】試描述求解三元一次方程組的演算法步驟.

【解析】

演算法1:第一步,①+③,得x=5. ④

第二步,將④分別代入①式和②式可得.

第三步,⑥-⑤,得y=-4. ⑦

第四步,將⑦代入⑤可得 z=11.

第五步,得到方程組的解為.

演算法2:第一步,①+②,得2x-y=14. ④

第二步,②-③,得x-y=9. ⑤

第三步,④-⑤,得x=5. ⑥

第四步,將⑥代入⑤式,得y=-4. ⑦

第五步,將⑥和⑦代入①式,得z=11.

第六步,得到方程組的解為.

【變式2】 雞兔同籠問題:一群小兔一群雞,兩群合到一群裡,要數腿48,要數腦袋17,多少小兔多少雞?

【解析】算術演算法:小兔的隻數:;小雞的隻數:17-7=10.

應用解二元一次方程組的方法來求解雞兔同籠問題的步驟.

第一步:設有小雞x只,小兔y只,則有

第二步:將方程組中的第乙個方程兩邊乘-2加到第二個方程中去,得到,得到y=7;

第三步:將y=7代入(1)得x=10.

型別三:演算法的設計

例3、給出求1+2+3+4+5的乙個演算法.

【解析】本題可以按照逐一相加的程式進行,也可以運用公式直接計算,還可以用迴圈方法求和.

演算法1第一步:計算1+2,得到3;

第二步:將第一步中的運算結果3與3相加,得到6;

第三步:將第二步中的運算結果6與4相加,得到10;

第四步:將第三步中的運算結果10與5相加,得到15.

演算法2第一步:取=5;

第二步:計算;

第三步:輸出運算結果.

演算法3第一步:使;

第二步:使;

第三步:使;

演算法與程式框圖知識整理

演算法初步 框圖 第一節演算法與程式框圖 1 演算法的概念 1 演算法的定義 廣義的演算法是指完成某項工作的方法和步驟 在數學中,現代意義的演算法是指可以用計算機來解決的某一類問題的程式和步驟,這些程式或步驟必須是明確和有效的,而且能夠在有限步之內完成。2 演算法的描述 自然語言 程式框圖 程式語言...

71 演算法與程式框圖

15.1 演算法與程式框圖 教學目標 重點 了解演算法的含義和思想,理解程式框圖的三種結構 難點 含有迴圈結構和條件結構的程式框圖 能力點 提高學生現代資訊科技的使用能力 教育點 培養學生現代資訊科技的應用意識 自主 點 兩種迴圈結構的區別 易錯點 迴圈結構中的迴圈條件,最後一次迴圈所執行的語句 學...

專題 演算法與程式框圖學生版

1.如下圖,程式框圖所進行的求和運算是 a.b.c.d.2.在可行域內任取一點,規則如下程式框圖所示,則能輸出數對 x,y 的概率為 ab.c.d.3.已知程式框圖如下圖所示,若輸入n 6,則該程式執行的結果是 a.2 b.3 c.4 d.15 4.流程線的功能是 a.表示演算法的起始和結束 b.表...