中文字幕精品无码一区二区,成全视频在线播放观看方法,大伊人青草狠狠久久,亚洲一区影音先锋色资源

第二章 課時1 算法的概念及描述 浙教版(2019)必修1(課件 學(xué)案 教案三份打包)

資源下載
  1. 二一教育資源

第二章 課時1 算法的概念及描述 浙教版(2019)必修1(課件 學(xué)案 教案三份打包)

資源簡介

課時1 算法的概念及描述
課時目標
1.理解算法的定義、特征及要素。2.初步掌握使用自然語言、流程圖、偽代碼描述簡單算法,了解常用的計算機程序設(shè)計語言。3.掌握繪制簡單算法的流程圖。
1.算法
“算法”是指解決問題或完成任務(wù)的一系列步驟。在計算機科學(xué)領(lǐng)域,“算法”指的是用計算機解決問題的步驟,是為了解決問題而需要讓計算機有序執(zhí)行的、無歧義的、有限步驟的集合。
2.算法的特征
①有窮性:一個算法的處理步驟必須是有限的。
②可行性:算法中的每一步操作與要求都應(yīng)該是現(xiàn)實中可以實施,能在有限的時間內(nèi)完成。
③確定性:算法中對于每一步的執(zhí)行描述必須是明確的。
④有0個或多個輸入:算法被執(zhí)行時,初始數(shù)據(jù)可以從外部獲取,也可以包含在算法中。
⑤有1個或多個輸出:算法必須包含至少一個輸出,以告訴外界問題求解的結(jié)果。
3.算法的要素
用計算機解決問題,本質(zhì)上是以“數(shù)據(jù)計算”的方式來實現(xiàn)的。
①數(shù)據(jù):用算法解決問題時,必須明確參與運算的初始數(shù)據(jù)、運算時產(chǎn)生的中間數(shù)據(jù)以及代表問題解決的結(jié)果數(shù)據(jù)。
②運算:在對數(shù)據(jù)進行運算時,必須明確每一步的運算是什么、對哪些數(shù)據(jù)進行運算等。
③控制轉(zhuǎn)移:在算法執(zhí)行過程中,有時需要根據(jù)數(shù)據(jù)或運算結(jié)果的特點進行不同的處理,需要運用控制轉(zhuǎn)移來執(zhí)行不同的操作。
4.常見的算法描述方式
常見的算法描述方式有自然語言、流程圖、偽代碼、程序設(shè)計語言等。
5.流程圖
流程圖用一些圖形符號表示規(guī)定的操作,并用帶箭頭的流程線連接這些圖形符號,表示操作進行的方向。
常見的流程圖基本圖形及功能
圖形 名稱 功能
開始/結(jié)束符 表示算法的開始或結(jié)束
輸入/輸出框 表示算法中數(shù)據(jù)的輸入或輸出
處理框 表示算法中數(shù)據(jù)的運算處理
判斷框 表示算法中的條件判斷
流程線 表示算法中的流向
連接點 表示算法中的轉(zhuǎn)接
6.偽代碼的語法約定
(1)條件判斷語句
格式1:if條件then
     (語句序列1)
    else
     (語句序列2)
格式2:if條件then
     (語句序列1)
(2)循環(huán)語句
格式:while條件
    (循環(huán)體)
例1 下列關(guān)于算法的概念及描述,說法正確的是 (  )
A.算法的一個步驟可以被執(zhí)行多次
B.算法必須包括一個或多個輸入
C.算法就是數(shù)學(xué)運算方法
D.算法只能用自然語言進行描述
答案 A
解析 本題考查算法的概念和特征。A選項循環(huán)結(jié)構(gòu)可以實現(xiàn)多次執(zhí)行同一步驟。B選項可以沒有輸入。C選項算法還包含解決問題的方法和步驟,數(shù)學(xué)運算方法是建模。D選項算法可以用自然語言、流程圖、偽代碼等方法來表示。
變式訓(xùn)練1 下列關(guān)于算法及算法的特征的描述,正確的是 (  )
A.算法必須使用計算機借助用某種語言實現(xiàn)
B.自然語言不能用來表示算法,而流程圖可以
C.任何一個算法都必須有數(shù)據(jù)輸入
D.算法必須有問題求解的結(jié)果,包含至少一個輸出
答案 D
解析 本題考查算法的特征及其描述方式。廣義的算法指的是解決問題的方法和步驟,不是所有的算法都需要計算機語言來實現(xiàn),A選項錯誤。B選項錯誤,算法的描述方法有自然語言、流程圖、偽代碼及計算機語言。C選項,算法的特征可以沒有輸入,但是必須要有輸出。
例2 計算機編程解決“斐波那契數(shù)列(每一項都是前兩項之和)”問題的過程由以下4個步驟組成:
①用Python中的循環(huán)結(jié)構(gòu)編寫程序
②調(diào)試運行程序,發(fā)現(xiàn)錯誤并進行修正
③設(shè)計算法:設(shè)計輸入、處理、輸出等一系列算法
④抽象與建模:用數(shù)學(xué)符號F(0)=F(1)=1,F(n)=F(n-1)+F(n-2)(n≥2,n∈N)描述解決問題的計算模型正確的順序是 (  )
A.①②③④ B.③④①② C.④③②① D.④③①②
答案 D
解析 本題考查算法的表示。先抽象建模,再設(shè)計算法,接編寫程序,最后調(diào)試運行程序。
變式訓(xùn)練2 “梅森素數(shù)”指的是符合條件m=2p-1,其中指數(shù)p與整數(shù)m均為素數(shù)。小李想找出10000以內(nèi)所有的“梅森素數(shù)”,設(shè)計算法過程如下:
①設(shè)計核心算法:如何判斷素數(shù)
②調(diào)試運行程序,重點檢測邊界條件
③借助Python語言,具體編程實現(xiàn)
④將問題抽象成條件的判斷與素數(shù)的判斷,并完成建模
下列選項中,解決該問題的過程正確次序是 (  )
A.①②③④ B.②①④③
C.④①③② D.①④②③
答案 C
解析 本題考查算法的表示。抽象建模是第一步,設(shè)計算法是第二步,計算機編程實現(xiàn)是第三步,調(diào)試程序是最后一步。
例3 某算法的自然語言描述與流程圖表示分別如下:
自然語言第1步:輸入一個實數(shù)x第2步:判斷x與0的大小關(guān)系,若x<0,則y=2x-1,否則y=x2-1第3步:輸出y的值第4步:算法結(jié)束
則流程圖中處理框①、②處可分別填入的是 (  )
A.①y←x2-1  ②x←2x-1
B.①y←x2-1  ②y←2x-1
C.①y←2x-1  ②y←x2-1
D.①x←x2-1  ②y←2x-1
答案 B
解析 對于同一個算法,可以用不同的表示方法來描述。分析自然語言描述和流程圖描述,可知自然語言中的第2步,對應(yīng)著流程圖中的判斷部分。由自然語言可知,處理框①和②處的功能是求y的值。在執(zhí)行過程中,當(dāng)條件“x<0 ”不成立時,會執(zhí)行①,否則會執(zhí)行②。對照自然語言描述,處理框②處是在求解當(dāng)“x<0 ”成立時的y值,即“y←2x-1”;處理框①處是在求解當(dāng)“x<0 ”不成立時的y值,即“y←x2-1”。因此,答案為B。
變式訓(xùn)練3 某算法的自然語言描述與流程圖表示分別如下:
自然語言輸入a、b的值如果a≥b,則c←a×(b+1),否則c←a×(b-1)輸出c的值算法結(jié)束
則流程圖中處理框①、②處可分別填入的是 (  )
A.①c←b×(a-1)  ②b×(a+1)
B.①b×(a+1) ②c←b×(a-1)
C.①a×(b+1) ②c←a×(b-1)
D.①c←a×(b-1) ②c←a×(b+1)
答案 D
解析 本題采用偽代碼和流程圖來描述算法。從偽代碼可知,處理框①和②處的功能是求c的值。在執(zhí)行過程中,當(dāng)條件“a≥b”成立時,會轉(zhuǎn)向②處執(zhí)行,否則,轉(zhuǎn)向①處執(zhí)行,即處理框①處的代碼為c←a×(b-1),②處的代碼為c←a×(b+1)。因此,答案為D。
變式訓(xùn)練4 下列能準確表達“如果明天不下雨,那么我們騎車去郊游”的偽代碼是 (  )
A.if (明天下雨) then (我們騎車去郊游)
B.if (明天不下雨) then (我們騎車去郊游) else (我們不去郊游)
C.if (明天下雨) then (我們不去郊游) else (我們騎車去郊游)
D.if (明天不下雨) then (我們騎車去郊游)
答案 D
解析 本題主要考查的是用偽代碼來表示條件判斷語句。題目要表達的意思僅是“如果明天不下雨,那么我們騎車去郊游”;如果明天下雨,我們可能不去郊游,也可能是通過其他交通工具去郊游。因此,答案為D。
變式訓(xùn)練5 某算法用偽代碼描述如下。
輸入兩個正整數(shù)x,yif x關(guān)于上述算法,下列說法正確的是 (  )
A.不符合“可行性”特征
B.無法用流程圖來描述
C.運用了循環(huán)結(jié)構(gòu)的控制轉(zhuǎn)移
D.z為正整數(shù)x與y差的一半
答案 D
解析 本題要求對算法及其描述進行全面的理解。題中用偽代碼描述的算法,其每一個步驟都有明確的作用和含義,符合“可行性”等算法特征。本題算法可以用自然語言、流程圖等方式來描述。由偽代碼可知,該算法運用了分支結(jié)構(gòu)的控制轉(zhuǎn)移。為了保證x、y的差為正,需要對x與y的大小關(guān)系進行判斷,z為正整數(shù)x與y差的一半,因此,答案為D。
               
1.算法就是解決問題的方法和步驟,下列關(guān)于算法的描述,正確的是 (  )
A.算法是對程序的描述,程序決定算法
B.一個問題的算法是唯一的,而程序可以有多個
C.算法只能用流程圖表示
D.到超市購物的一系列活動流程與策略就是所謂的算法
答案 D
解析 本題考查算法的相關(guān)知識。A選項算法決定程序而非程序決定算法,用計算機編程解決問題時先設(shè)計算法,再用程序語言來編程實現(xiàn)算法;B選項一個問題的算法可以有多個,而程序也可以有多個;C選項算法有多種表示方法,自然語言,流程圖,偽代碼以及程序語言。
2.求100以內(nèi)所有能被3整除的自然數(shù)之和,算法如下:
①1賦值給變量i;
②判斷i除以3的余數(shù)是否為0,若是,則將該數(shù)累加到變量sum中;
③將變量i加1,若i小于或等于100,轉(zhuǎn)②;
④輸出變量sum的值;
⑤算法結(jié)束。
該算法采用的描述方法屬于 (  )
A.流程圖 B.偽代碼
C.自然語言 D.計算機程序語言
答案 C
解析 本題主要考查的是算法的描述方法。本題算法的描述方法是自然語言。
3.不能用算法描述“輸出所有完全平方數(shù)”,是因為該任務(wù)不符合算法特征中的 (  )
A.確定性 B.有0個或多個輸入
C.有窮性 D.有1個或多個輸出
答案 C
解析 本題主要考查算法的特征。輸出所有完全平方數(shù),是無窮的,因此它違背了算法的有窮性特征。
4.下列步驟是用計算機解決物質(zhì)密度計算問題時經(jīng)歷的三個階段:
①編制計算機程序,用計算機進行處理,并調(diào)試程序
②設(shè)計“根據(jù)物質(zhì)的質(zhì)量與體積計算密度”的算法
③獲取物質(zhì)的質(zhì)量與體積,找出其與物質(zhì)密度的關(guān)系,建立計算模型
上述階段的正確順序是 (  )
A.③②① B.③①② C.①②③ D.①③②
答案 A
解析 本題考查計算機解決問題的一般過程。用計算機解決問題時,由于實際問題情境的復(fù)雜性,需要先對實際問題進行抽象與建模,再根據(jù)建立的計算模型設(shè)計算法,并將算法用合適的方式加以準確描述。
5.某算法的流程圖如圖所示,執(zhí)行該算法,當(dāng)x的值為4時,則輸出y的值為 (  )
A.9 B.10 C.11 D.12
答案 B
解析 本題主要考查的是流程圖。輸入的x的值為4,不滿足條件“x≤0 ”,因此執(zhí)行y←3x-2,y=10,因此答案為B。
一、基礎(chǔ)鞏固
                
1.下列問題不能用算法描述的是 (  )
A.已知a、b、c的值,求一元二次方程ax2+bx+c=0(a≠0)的實數(shù)解
B.計算某個班級英語成績的平均分
C.列出方程y=2x+1的所有實數(shù)解
D.根據(jù)矩形的長和寬求面積
答案 C
解析 C選項不符合算法有窮性特征。
2.(多選)下列關(guān)于算法的描述,正確的有 (  )
A.廣義地講,“算法”指的是解決問題或完成任務(wù)的一系列步驟
B.算法有多種不同的描述方式
C.不能用算法描述“輸出所有素數(shù)”是因為這不符合算法特征中的“確定性”
D.算法的第一個執(zhí)行步驟必須是數(shù)據(jù)輸入
E.通過算法讓計算機解決問題時,數(shù)據(jù)、運算及控制轉(zhuǎn)移成為算法的要素
答案 ABE
3.關(guān)于算法,下列敘述正確的是 (  )
A.解決任何一個具體問題只有一種算法
B.流程圖是算法的一種表示形式
C.一種算法只能用一種程序語言來實現(xiàn)
D.算法是解題方法的精確描述,它可以有無限個步驟
答案 B
解析 解決問題的算法可以有多個。
4.用于求變量s的值的算法如下:
①變量s的初值是0,變量n的初值是1。
②若變量n的值大于100,則轉(zhuǎn)到步驟⑤。
③s←s+(-1)n-1×n。
④n的值增加1,轉(zhuǎn)到步驟②。
⑤輸出s的值。
⑥結(jié)束。
下列數(shù)學(xué)表達式中,其計算結(jié)果與上述算法執(zhí)行后變量s的值相等的是 (  )
A.1+2+3+…+100  B.-1-2-3-…-100
C.1-2+3-4+…-100  D.-1+2-3+4…+100
答案 C
解析 隨著n的變化,(-1)n-1實現(xiàn)1和-1之間的交替變化,當(dāng)n大于100時,結(jié)束
運行。
5.用偽代碼描述算法:
①輸入a、b的值;
②c←a;
③a←b;
④b←c;
⑤輸出a、b的值;
當(dāng)輸入a的值為3,b的值為5時,輸出結(jié)果中a和b的值分別為 (  )
A.3 5 B.3 3 C.5 5 D.5 3
答案 D
解析 算法實現(xiàn)兩個變量值發(fā)生交換。
6.關(guān)于下面流程圖功能的描述正確的是 (  )
A.輸入一個數(shù),輸出它的相反數(shù)
B.輸入一個數(shù),若其小于或等于0,則輸出該數(shù)的相反數(shù)
C.輸入一個數(shù),輸出其絕對值
D.輸入一個數(shù),若其大于0,則輸出該數(shù)本身,若其小于0,則輸出該數(shù)的相反數(shù)
答案 C
解析 本題主要考查的是對算法及對流程圖功能的理解。
7.古代數(shù)學(xué)家歐幾里得在《幾何原本》中提出“輾轉(zhuǎn)相除法”,利用該算法可以求出任意兩個正整數(shù)的最大公約數(shù)。用“輾轉(zhuǎn)相除法”計算正整數(shù)m和n的最大公約數(shù)的步驟如下:
①輸入兩個正整數(shù)m和n
②若m③以m除以n,相除得到的余數(shù)為r
④若r=0,則輸出n的值,算法結(jié)束;否則執(zhí)行步驟⑤
⑤令m=n,n=r,返回步驟③繼續(xù)執(zhí)行。
若輸入的兩個正整數(shù)分別為243、78,則輸出的結(jié)果是 (  )
A.78 B.9 C.3 D.6
答案 C
解析 本題考查理解自然語言表述的算法并運用。輾轉(zhuǎn)相除法計算兩個正整數(shù)的最大公約數(shù),教材上也有體現(xiàn)。
8.某算法用偽代碼描述如下:
下列有關(guān)上述算法的說法,正確的是 (  )
A.該算法違反了算法有窮性原則
B.該算法實現(xiàn)了找出A和B中的最大值A(chǔ)
C.該算法屬于分支結(jié)構(gòu)
D.該算法無法使用流程圖來描述
答案 A
解析 本題考查算法的表示。如果條件A=B時,會產(chǎn)生死循環(huán),因此算法違反了有窮性原則,不能完全實現(xiàn)找出A和B中的最大值A(chǔ)。
二、能力提升
9.某算法描述如下:
①將0賦值給變量Num,將10賦值給變量Max,將9賦值給變量i
②若i除以3余2、除以5余3、除以7余2,則將變量Num的值增加1并輸出i
③變量i的值增加1,若變量Num小于變量Max,則轉(zhuǎn)②
④結(jié)束
對于上述算法,下列說法錯誤的是 (  )
A.該算法是用自然語言來描述的
B.該算法符合有窮性的特征
C.該算法最后輸出10個數(shù)值
D.該算法轉(zhuǎn)換成流程圖只需用到一個選擇框
答案 D
解析 該算法是用自然語言來描述的,從③語句來看,是一個循環(huán)結(jié)構(gòu),循環(huán)變量是Num,他的初值是0,條件是小于10,每次遞增1,那么Num取值范圍是0-9,從②語句來看,把符合三個條件的i輸出,同時變量Num增加1,可見輸出10個數(shù)據(jù)。這是一個循環(huán)結(jié)構(gòu)包含選擇結(jié)構(gòu),因此有兩個判斷框。
10.統(tǒng)計投硬幣1000次出現(xiàn)正面這一概率實驗的算法步驟如下:
①將i,k分別賦初值0;
②用隨機函數(shù)產(chǎn)生一個數(shù)來模擬硬幣的正反面,若隨機數(shù)在[0,0.5)之間,k的值加1;
③i的值加1,若i<1000,則轉(zhuǎn)②;
④輸出結(jié)果k/1000,結(jié)束。
對于上述算法,下列說法錯誤的是 (  )
A.變量k代表正面次數(shù)
B.該算法的循環(huán)結(jié)構(gòu)內(nèi)部包含了選擇結(jié)構(gòu)
C.該算法主要體現(xiàn)了枚舉思想
D.該算法沒有輸入,因此不符合算法的基本特征
答案 D
解析 題目中描述隨機數(shù)在[0,0.5)之間,k的值加1,輸出結(jié)果k/1000,因此k表示正面的次數(shù)。從語句③來看,是一個循環(huán)結(jié)構(gòu),從語句②來看,是一個選擇結(jié)構(gòu),在1000次模擬正反面實驗中統(tǒng)計正面出現(xiàn)次數(shù)。算法可以沒有輸入,但必須有輸出。
11.描述某算法的偽代碼如下。
輸入兩個正整數(shù)m、nr ←m除以n的余數(shù)while r≠0 (m←n,n←r,r←m除以n的余數(shù))輸出n
(1)執(zhí)行上述算法,如果輸入m、n的值分別為24、16,那么輸出n的值為    。
(2)請用流程圖描述上述算法。
答案 (1)8
(2)
解析 本題主要考查的是對算法及其描述進行全面的理解。題目用偽代碼描述算法,其功能是求正整數(shù)m、n的最大公約數(shù)。
四種算法描述方法的優(yōu)缺點對比
自然語言 流程圖 偽代碼 計算機語言
優(yōu)點 通俗易懂 結(jié)構(gòu)清晰、寓意明確 直觀簡潔、寫法靈活 能讓計算機理解并執(zhí)行
缺點 容易產(chǎn)生歧義 情況復(fù)雜時,過多的流程線影響算法的理解 錯誤不易排查,計算機無法理解并執(zhí)行 有一定程序設(shè)計語言基礎(chǔ)的人才能看懂(共42張PPT)
課時1 算法的概念及描述
第二章 算法與問題解決
1.理解算法的定義、特征及要素。
2.初步掌握使用自然語言、流程圖、偽代碼描述簡單算法,了解常用的計算機程序設(shè)計語言。
3.掌握繪制簡單算法的流程圖。
目 錄
CONTENTS
知識梳理
01
例題精析
02
隨堂檢測
03
鞏固與提升
04
知識梳理
1
1.算法
“算法”是指________________________________。在計算機科學(xué)領(lǐng)域,“算法”指的是用計算機解決問題的步驟,是為了解決問題而需要讓計算機______________________、__________的集合。
解決問題或完成任務(wù)的一系列步驟
有序執(zhí)行的、無歧義的
有限步驟
2.算法的特征
①有窮性:一個算法的處理步驟必須是______的。
②________:算法中的每一步操作與要求都應(yīng)該是現(xiàn)實中可以實施,能在有限的時間內(nèi)完成。
③確定性:算法中對于每一步的執(zhí)行描述必須是______的。
④__________________:算法被執(zhí)行時,初始數(shù)據(jù)可以從外部獲取,也可以包含在算法中。
⑤__________________:算法必須包含至少一個輸出,以告訴外界問題求解的
結(jié)果。
有限
可行性
明確
有0個或多個輸入
有1個或多個輸出
3.算法的要素
用計算機解決問題,本質(zhì)上是以“數(shù)據(jù)計算”的方式來實現(xiàn)的。
①______:用算法解決問題時,必須明確參與運算的初始數(shù)據(jù)、運算時產(chǎn)生的中間數(shù)據(jù)以及代表問題解決的結(jié)果數(shù)據(jù)。
②______:在對數(shù)據(jù)進行運算時,必須明確每一步的運算是什么、對哪些數(shù)據(jù)進行運算等。
③__________:在算法執(zhí)行過程中,有時需要根據(jù)數(shù)據(jù)或運算結(jié)果的特點進行不同的處理,需要運用控制轉(zhuǎn)移來執(zhí)行不同的操作。
數(shù)據(jù)
運算
控制轉(zhuǎn)移
4.常見的算法描述方式
常見的算法描述方式有自然語言、________、偽代碼、______________等。
流程圖
程序設(shè)計語言
5.流程圖
流程圖用一些圖形符號表示規(guī)定的操作,并用帶箭頭的流程線連接這些圖形符號,表示操作進行的方向。
常見的流程圖基本圖形及功能
圖形 名稱 功能
開始/結(jié)束符 表示算法的開始或結(jié)束
輸入/輸出框 表示算法中數(shù)據(jù)的輸入或輸出
處理框 表示算法中數(shù)據(jù)的運算處理
判斷框 表示算法中的條件判斷
流程線 表示算法中的流向
連接點 表示算法中的轉(zhuǎn)接
6.偽代碼的語法約定
(1)條件判斷語句
格式1:if條件then
     (語句序列1)
    else
     (語句序列2)
格式2:if條件then
     (語句序列1)
(2)循環(huán)語句
格式:while條件
    (循環(huán)體)
自然語言 流程圖 偽代碼 計算機語言
優(yōu) 點 通俗易懂 結(jié)構(gòu)清晰、寓意明確 直觀簡潔、寫法靈活 能讓計算機理解并執(zhí)行
缺 點 容易產(chǎn)生歧義 情況復(fù)雜時,過多的流程線影響算法的理解 錯誤不易排查,計算機無法理解并執(zhí)行 有一定程序設(shè)計語言基礎(chǔ)的人才能看懂
四種算法描述方法的優(yōu)缺點對比
例題精析
2
例1 下列關(guān)于算法的概念及描述,說法正確的是 (  )
A.算法的一個步驟可以被執(zhí)行多次
B.算法必須包括一個或多個輸入
C.算法就是數(shù)學(xué)運算方法
D.算法只能用自然語言進行描述
A
解析 本題考查算法的概念和特征。A選項循環(huán)結(jié)構(gòu)可以實現(xiàn)多次執(zhí)行同一步驟。B選項可以沒有輸入。C選項算法還包含解決問題的方法和步驟,數(shù)學(xué)運算方法是建模。D選項算法可以用自然語言、流程圖、偽代碼等方法來表示。
變式訓(xùn)練1 下列關(guān)于算法及算法的特征的描述,正確的是 (  )
A.算法必須使用計算機借助用某種語言實現(xiàn)
B.自然語言不能用來表示算法,而流程圖可以
C.任何一個算法都必須有數(shù)據(jù)輸入
D.算法必須有問題求解的結(jié)果,包含至少一個輸出
解析 本題考查算法的特征及其描述方式。廣義的算法指的是解決問題的方法和步驟,不是所有的算法都需要計算機語言來實現(xiàn),A選項錯誤。B選項錯誤,算法的描述方法有自然語言、流程圖、偽代碼及計算機語言。C選項,算法的特征可以沒有輸入,但是必須要有輸出。
D
例2 計算機編程解決“斐波那契數(shù)列(每一項都是前兩項之和)”問題的過程由以下4個步驟組成:
①用Python中的循環(huán)結(jié)構(gòu)編寫程序
②調(diào)試運行程序,發(fā)現(xiàn)錯誤并進行修正
③設(shè)計算法:設(shè)計輸入、處理、輸出等一系列算法
④抽象與建模:用數(shù)學(xué)符號F(0)=F(1)=1,F(n)=F(n-1)+F(n-2)(n≥2,n∈N)描述解決問題的計算模型正確的順序是(  )
A.①②③④ B.③④①② C.④③②① D.④③①②
解析 本題考查算法的表示。先抽象建模,再設(shè)計算法,接編寫程序,最后調(diào)試運行程序。
D
變式訓(xùn)練2 “梅森素數(shù)”指的是符合條件m=2p-1,其中指數(shù)p與整數(shù)m均為素數(shù)。小李想找出10000以內(nèi)所有的“梅森素數(shù)”,設(shè)計算法過程如下:
①設(shè)計核心算法:如何判斷素數(shù)
②調(diào)試運行程序,重點檢測邊界條件
③借助Python語言,具體編程實現(xiàn)
④將問題抽象成條件的判斷與素數(shù)的判斷,并完成建模
下列選項中,解決該問題的過程正確次序是(  )
A.①②③④ B.②①④③ C.④①③② D.①④②③
解析 本題考查算法的表示。抽象建模是第一步,設(shè)計算法是第二步,計算機編程實現(xiàn)是第三步,調(diào)試程序是最后一步。
C
例3 某算法的自然語言描述與流程圖表示分別如下:
則流程圖中處理框①、②處可分別填入的是 (  )
A.①y←x2-1 ②x←2x-1 B.①y←x2-1 ②y←2x-1
C.①y←2x-1 ②y←x2-1 D.①x←x2-1 ②y←2x-1
B
自然語言 第1步:輸入一個實數(shù)x 第2步:判斷x與0的大小關(guān)系,若x<0,則y=2x-1,否則y=x2-1 第3步:輸出y的值 第4步:算法結(jié)束
解析 對于同一個算法,可以用不同的表示方法來描述。分析自然語言描述和流程圖描述,可知自然語言中的第2步,對應(yīng)著流程圖中的判斷部分。由自然語言可知,處理框①和②處的功能是求y的值。在執(zhí)行過程中,當(dāng)條件“x<0 ”不成立時,會執(zhí)行①,否則會執(zhí)行②。對照自然語言描述,處理框②處是在求解當(dāng)“x<0 ”成立時的y值,即“y←2x-1”;處理框①處是在求解當(dāng)“x<0 ”不成立時的y值,即“y←x2-1”。因此,答案為B。
變式訓(xùn)練3 某算法的自然語言描述與流程圖表示分別如下:
則流程圖中處理框①、②處可分別填入的是 (  )
A.①c←b×(a-1) ②b×(a+1) B.①b×(a+1)②c←b×(a-1)
C.①a×(b+1)②c←a×(b-1) D.①c←a×(b-1)②c←a×(b+1)
D
自然語言 輸入a、b的值 如果a≥b,則c←a×(b+1),否則c←a×(b-1) 輸出c的值 算法結(jié)束
解析 本題采用偽代碼和流程圖來描述算法。從偽代碼可知,處理框①和②處的功能是求c的值。在執(zhí)行過程中,當(dāng)條件“a≥b”成立時,會轉(zhuǎn)向②處執(zhí)行,否則,轉(zhuǎn)向①處執(zhí)行,即處理框①處的代碼為c←a×(b-1),②處的代碼為c←a×(b+1)。因此,答案為D。
變式訓(xùn)練4 下列能準確表達“如果明天不下雨,那么我們騎車去郊游”的偽代碼是 (  )
A.if (明天下雨) then (我們騎車去郊游)
B.if (明天不下雨) then (我們騎車去郊游) else (我們不去郊游)
C.if (明天下雨) then (我們不去郊游) else (我們騎車去郊游)
D.if (明天不下雨) then (我們騎車去郊游)
解析 本題主要考查的是用偽代碼來表示條件判斷語句。題目要表達的意思僅是“如果明天不下雨,那么我們騎車去郊游”;如果明天下雨,我們可能不去郊游,也可能是通過其他交通工具去郊游。因此,答案為D。
D
變式訓(xùn)練5 某算法用偽代碼描述如下。
解析 本題要求對算法及其描述進行全面的理解。題中用偽代碼描述的算法,其每一個步驟都有明確的作用和含義,符合“可行性”等算法特征。本題算法可以用自然語言、流程圖等方式來描述。由偽代碼可知,該算法運用了分支結(jié)構(gòu)的控制轉(zhuǎn)移。為了保證x、y的差為正,需要對x與y的大小關(guān)系進行判斷,z為正整數(shù)x與y差的一半,因此,答案為D。
D
輸入兩個正整數(shù)x,y
if x  z←(y-x)/2
Else
  z←(x-y)/2
輸出z
關(guān)于上述算法,下列說法正確的是 (  )
A.不符合“可行性”特征
B.無法用流程圖來描述
C.運用了循環(huán)結(jié)構(gòu)的控制轉(zhuǎn)移
D.z為正整數(shù)x與y差的一半
隨堂檢測
3
1.算法就是解決問題的方法和步驟,下列關(guān)于算法的描述,正確的是 (  )
A.算法是對程序的描述,程序決定算法
B.一個問題的算法是唯一的,而程序可以有多個
C.算法只能用流程圖表示
D.到超市購物的一系列活動流程與策略就是所謂的算法
D
解析 本題考查算法的相關(guān)知識。A選項算法決定程序而非程序決定算法,用計算機編程解決問題時先設(shè)計算法,再用程序語言來編程實現(xiàn)算法;B選項一個問題的算法可以有多個,而程序也可以有多個;C選項算法有多種表示方法,自然語言,流程圖,偽代碼以及程序語言。
2.求100以內(nèi)所有能被3整除的自然數(shù)之和,算法如下:
①1賦值給變量i;
②判斷i除以3的余數(shù)是否為0,若是,則將該數(shù)累加到變量sum中;
③將變量i加1,若i小于或等于100,轉(zhuǎn)②;
④輸出變量sum的值;
⑤算法結(jié)束。
該算法采用的描述方法屬于(  )
A.流程圖 B.偽代碼
C.自然語言 D.計算機程序語言
C
解析 本題主要考查的是算法的描述方法。本題算法的描述方法是自然語言。
A.確定性 B.有0個或多個輸入
C.有窮性 D.有1個或多個輸出
C
解析 本題主要考查算法的特征。輸出所有完全平方數(shù),是無窮的,因此它違背了算法的有窮性特征。
4.下列步驟是用計算機解決物質(zhì)密度計算問題時經(jīng)歷的三個階段:
①編制計算機程序,用計算機進行處理,并調(diào)試程序
②設(shè)計“根據(jù)物質(zhì)的質(zhì)量與體積計算密度”的算法
③獲取物質(zhì)的質(zhì)量與體積,找出其與物質(zhì)密度的關(guān)系,建立計算模型
上述階段的正確順序是(  )
A.③②① B.③①② C.①②③ D.①③②
A
解析 本題考查計算機解決問題的一般過程。用計算機解決問題時,由于實際問題情境的復(fù)雜性,需要先對實際問題進行抽象與建模,再根據(jù)建立的計算模型設(shè)計算法,并將算法用合適的方式加以準確描述。
5.某算法的流程圖如圖所示,執(zhí)行該算法,當(dāng)x的值為4時,則輸出y的值為 (  )
B
解析 本題主要考查的是流程圖。輸入的x的值為4,不滿足條件“x≤0 ”,因此執(zhí)行y←3x-2,y=10,因此答案為B。
A.9 B.10 C.11 D.12
4
鞏固與提升
基礎(chǔ)鞏固
能力提升
A.已知a、b、c的值,求一元二次方程ax2+bx+c=0(a≠0)的實數(shù)解
B.計算某個班級英語成績的平均分
C.列出方程y=2x+1的所有實數(shù)解
D.根據(jù)矩形的長和寬求面積
C
解析 C選項不符合算法有窮性特征。
2.(多選)下列關(guān)于算法的描述,正確的有 (   )
A.廣義地講,“算法”指的是解決問題或完成任務(wù)的一系列步驟
B.算法有多種不同的描述方式
C.不能用算法描述“輸出所有素數(shù)”是因為這不符合算法特征中的“確定性”
D.算法的第一個執(zhí)行步驟必須是數(shù)據(jù)輸入
E.通過算法讓計算機解決問題時,數(shù)據(jù)、運算及控制轉(zhuǎn)移成為算法的要素
ABE
3.關(guān)于算法,下列敘述正確的是 (  )
A.解決任何一個具體問題只有一種算法
B.流程圖是算法的一種表示形式
C.一種算法只能用一種程序語言來實現(xiàn)
D.算法是解題方法的精確描述,它可以有無限個步驟
B
解析 解決問題的算法可以有多個。
4.用于求變量s的值的算法如下:
①變量s的初值是0,變量n的初值是1。
②若變量n的值大于100,則轉(zhuǎn)到步驟⑤。
③s←s+(-1)n-1×n。
④n的值增加1,轉(zhuǎn)到步驟②。
⑤輸出s的值。
⑥結(jié)束。
下列數(shù)學(xué)表達式中,其計算結(jié)果與上述算法執(zhí)行后變量s的值相等的是(  )
A.1+2+3+…+100  B.-1-2-3-…-100
C.1-2+3-4+…-100  D.-1+2-3+4…+100
C
解析 隨著n的變化,(-1)n-1實現(xiàn)1和-1之間的交替變化,當(dāng)n大于100時,結(jié)束運行。
5.用偽代碼描述算法:
①輸入a、b的值;
②c←a;
③a←b;
④b←c;
⑤輸出a、b的值;
當(dāng)輸入a的值為3,b的值為5時,輸出結(jié)果中a和b的值分別為(  )
A.3 5 B.3 3 C.5 5 D.5 3
D
解析 算法實現(xiàn)兩個變量值發(fā)生交換。
6.關(guān)于下面流程圖功能的描述正確的是 (  )
A.輸入一個數(shù),輸出它的相反數(shù)
B.輸入一個數(shù),若其小于或等于0,則輸出該數(shù)的相反數(shù)
C.輸入一個數(shù),輸出其絕對值
D.輸入一個數(shù),若其大于0,則輸出該數(shù)本身,若其小于0,
則輸出該數(shù)的相反數(shù)
C
解析 本題主要考查的是對算法及對流程圖功能的理解。
7.古代數(shù)學(xué)家歐幾里得在《幾何原本》中提出“輾轉(zhuǎn)相除法”,利用該算法可以求出任意兩個正整數(shù)的最大公約數(shù)。用“輾轉(zhuǎn)相除法”計算正整數(shù)m和n的最大公約數(shù)的步驟如下:
①輸入兩個正整數(shù)m和n
②若m③以m除以n,相除得到的余數(shù)為r
④若r=0,則輸出n的值,算法結(jié)束;否則執(zhí)行步驟⑤
⑤令m=n,n=r,返回步驟③繼續(xù)執(zhí)行。
若輸入的兩個正整數(shù)分別為243、78,則輸出的結(jié)果是(  )
A.78 B.9 C.3 D.6
C
解析 本題考查理解自然語言表述的算法并運用。輾轉(zhuǎn)相除法計算兩個正整數(shù)的最大公約數(shù),教材上也有體現(xiàn)。
8.某算法用偽代碼描述如下:
A
解析 本題考查算法的表示。如果條件A=B時,會產(chǎn)生死循環(huán),因此算法違反了有窮性原則,不能完全實現(xiàn)找出A和B中的最大值A(chǔ)。
下列有關(guān)上述算法的說法,正確的是 (  )
A.該算法違反了算法有窮性原則
B.該算法實現(xiàn)了找出A和B中的最大值A(chǔ)
C.該算法屬于分支結(jié)構(gòu)
D.該算法無法使用流程圖來描述
9.某算法描述如下:
①將0賦值給變量Num,將10賦值給變量Max,將9賦值給變量i
②若i除以3余2、除以5余3、除以7余2,則將變量Num的值增加1并輸出i
③變量i的值增加1,若變量Num小于變量Max,則轉(zhuǎn)②
④結(jié)束
D
A.該算法是用自然語言來描述的
B.該算法符合有窮性的特征
C.該算法最后輸出10個數(shù)值
D.該算法轉(zhuǎn)換成流程圖只需用到一個選擇框
解析 該算法是用自然語言來描述的,從③語句來看,是一個循環(huán)結(jié)構(gòu),循環(huán)變量是Num,他的初值是0,條件是小于10,每次遞增1,那么Num取值范圍是0-9,從②語句來看,把符合三個條件的i輸出,同時變量Num增加1,可見輸出10個數(shù)據(jù)。這是一個循環(huán)結(jié)構(gòu)包含選擇結(jié)構(gòu),因此有兩個判斷框。
10.統(tǒng)計投硬幣1000次出現(xiàn)正面這一概率實驗的算法步驟如下:
①將i,k分別賦初值0;
②用隨機函數(shù)產(chǎn)生一個數(shù)來模擬硬幣的正反面,若隨機數(shù)在[0,0.5)之間,k的值加1;
③i的值加1,若i<1000,則轉(zhuǎn)②;
④輸出結(jié)果k/1000,結(jié)束。
對于上述算法,下列說法 的是(  )
A.變量k代表正面次數(shù)
B.該算法的循環(huán)結(jié)構(gòu)內(nèi)部包含了選擇結(jié)構(gòu)
C.該算法主要體現(xiàn)了枚舉思想
D.該算法沒有輸入,因此不符合算法的基本特征
D
解析 題目中描述隨機數(shù)在[0,0.5)之間,k的值加1,輸出結(jié)果k/1000,因此k表示正面的次數(shù)。從語句③來看,是一個循環(huán)結(jié)構(gòu),從語句②來看,是一個選擇結(jié)構(gòu),在1000次模擬正反面實驗中統(tǒng)計正面出現(xiàn)次數(shù)。算法可以沒有輸入,但必須有輸出。
11.描述某算法的偽代碼如下。
輸入兩個正整數(shù)m、n
r ←m除以n的余數(shù)
while r≠0
 (m←n,n←r,r←m除以n的余數(shù))
輸出n
(1)執(zhí)行上述算法,如果輸入m、n的值分別為24、16,那么輸出n的值為    。
(2)請用流程圖描述上述算法。
解析 本題主要考查的是對算法及其描述進行全面的理解。題目用偽代碼描述算法,其功能是求正整數(shù)m、n的最大公約數(shù)。
答案 (1)8
(2)課時1 算法的概念及描述
課時目標
1.理解算法的定義、特征及要素。2.初步掌握使用自然語言、流程圖、偽代碼描述簡單算法,了解常用的計算機程序設(shè)計語言。3.掌握繪制簡單算法的流程圖。
1.算法
“算法”是指____________________________。在計算機科學(xué)領(lǐng)域,“算法”指的是用計算機解決問題的步驟,是為了解決問題而需要讓計算機______________、____________、____________的集合。
2.算法的特征
①有窮性:一個算法的處理步驟必須是________________的。
②____________________:算法中的每一步操作與要求都應(yīng)該是現(xiàn)實中可以實施,能在有限的時間內(nèi)完成。
③確定性:算法中對于每一步的執(zhí)行描述必須是________的。
④____________________:算法被執(zhí)行時,初始數(shù)據(jù)可以從外部獲取,也可以包含在算法中。
⑤____________________:算法必須包含至少一個輸出,以告訴外界問題求解的結(jié)果。
3.算法的要素
用計算機解決問題,本質(zhì)上是以“數(shù)據(jù)計算”的方式來實現(xiàn)的。
①________:用算法解決問題時,必須明確參與運算的初始數(shù)據(jù)、運算時產(chǎn)生的中間數(shù)據(jù)以及代表問題解決的結(jié)果數(shù)據(jù)。
②__________:在對數(shù)據(jù)進行運算時,必須明確每一步的運算是什么、對哪些數(shù)據(jù)進行運算等。
③____________:在算法執(zhí)行過程中,有時需要根據(jù)數(shù)據(jù)或運算結(jié)果的特點進行不同的處理,需要運用控制轉(zhuǎn)移來執(zhí)行不同的操作。
4.常見的算法描述方式
常見的算法描述方式有自然語言、________、偽代碼、________________等。
5.流程圖
流程圖用一些圖形符號表示規(guī)定的操作,并用帶箭頭的流程線連接這些圖形符號,表示操作進行的方向。
常見的流程圖基本圖形及功能
圖形 名稱 功能
開始/結(jié)束符 表示算法的開始或結(jié)束
輸入/輸出框 表示算法中數(shù)據(jù)的輸入或輸出
處理框 表示算法中數(shù)據(jù)的運算處理
判斷框 表示算法中的條件判斷
流程線 表示算法中的流向
連接點 表示算法中的轉(zhuǎn)接
6.偽代碼的語法約定
(1)條件判斷語句
格式1:if條件then
   (語句序列1)
  else
   (語句序列2)
格式2:if條件then
   (語句序列1)
(2)循環(huán)語句
格式:while條件
(循環(huán)體)
四種算法描述方法的優(yōu)缺點對比
自然語言 流程圖 偽代碼 計算機語言
優(yōu)點 通俗易懂 結(jié)構(gòu)清晰、寓意明確 直觀簡潔、寫法靈活 能讓計算機理解并執(zhí)行
缺點 容易產(chǎn)生歧義 情況復(fù)雜時,過多的流程線影響算法的理解 錯誤不易排查,計算機無法理解并執(zhí)行 有一定程序設(shè)計語言基礎(chǔ)的人才能看懂
                
例1 下列關(guān)于算法的概念及描述,說法正確的是(  )
A.算法的一個步驟可以被執(zhí)行多次
B.算法必須包括一個或多個輸入
C.算法就是數(shù)學(xué)運算方法
D.算法只能用自然語言進行描述
聽課筆記:                                    
                                    
變式訓(xùn)練1 下列關(guān)于算法及算法的特征的描述,正確的是(  )
A.算法必須使用計算機借助用某種語言實現(xiàn)
B.自然語言不能用來表示算法,而流程圖可以
C.任何一個算法都必須有數(shù)據(jù)輸入
D.算法必須有問題求解的結(jié)果,包含至少一個輸出
例2 計算機編程解決“斐波那契數(shù)列(每一項都是前兩項之和)”問題的過程由以下4個步驟組成:
①用Python中的循環(huán)結(jié)構(gòu)編寫程序
②調(diào)試運行程序,發(fā)現(xiàn)錯誤并進行修正
③設(shè)計算法:設(shè)計輸入、處理、輸出等一系列算法
④抽象與建模:用數(shù)學(xué)符號F(0)=F(1)=1,F(xiàn)(n)=F(n-1)+F(n-2)(n≥2,n∈N)描述解決問題的計算模型正確的順序是(  )
A.①②③④ B.③④①②
C.④③②① D.④③①②
聽課筆記:                                    
                                    
變式訓(xùn)練2 “梅森素數(shù)”指的是符合條件m=2p-1,其中指數(shù)p與整數(shù)m均為素數(shù)。小李想找出10000以內(nèi)所有的“梅森素數(shù)”,設(shè)計算法過程如下:
①設(shè)計核心算法:如何判斷素數(shù)
②調(diào)試運行程序,重點檢測邊界條件
③借助Python語言,具體編程實現(xiàn)
④將問題抽象成條件的判斷與素數(shù)的判斷,并完成建模
下列選項中,解決該問題的過程正確次序是(  )
A.①②③④ B.②①④③
C.④①③② D.①④②③
例3 某算法的自然語言描述與流程圖表示分別如下:
自然語言第1步:輸入一個實數(shù)x第2步:判斷x與0的大小關(guān)系,若x<0,則y=2x-1,否則y=x2-1第3步:輸出y的值第4步:算法結(jié)束
則流程圖中處理框①、②處可分別填入的是(  )
A.①y←x2-1  ②x←2x-1
B.①y←x2-1  ②y←2x-1
C.①y←2x-1  ②y←x2-1
D.①x←x2-1  ②y←2x-1
聽課筆記:                                    
                                    
變式訓(xùn)練3 某算法的自然語言描述與流程圖表示分別如下:
自然語言輸入a、b的值如果a≥b,則c←a×(b+1),否則c←a×(b-1)輸出c的值算法結(jié)束
則流程圖中處理框①、②處可分別填入的是(  )
A.①c←b×(a-1) ②b×(a+1)
B.①b×(a+1) ②c←b×(a-1)
C.①a×(b+1) ②c←a×(b-1)
D.①c←a×(b-1) ②c←a×(b+1)
變式訓(xùn)練4 下列能準確表達“如果明天不下雨,那么我們騎車去郊游”的偽代碼是(  )
A.if (明天下雨) then (我們騎車去郊游)
B.if (明天不下雨) then (我們騎車去郊游) else (我們不去郊游)
C.if (明天下雨) then (我們不去郊游) else (我們騎車去郊游)
D.if (明天不下雨) then (我們騎車去郊游)
變式訓(xùn)練5 某算法用偽代碼描述如下。
輸入兩個正整數(shù)x,yif x關(guān)于上述算法,下列說法正確的是(  )
A.不符合“可行性”特征
B.無法用流程圖來描述
C.運用了循環(huán)結(jié)構(gòu)的控制轉(zhuǎn)移
D.z為正整數(shù)x與y差的一半
1.算法就是解決問題的方法和步驟,下列關(guān)于算法的描述,正確的是(  )
A.算法是對程序的描述,程序決定算法
B.一個問題的算法是唯一的,而程序可以有多個
C.算法只能用流程圖表示
D.到超市購物的一系列活動流程與策略就是所謂的算法
2.求100以內(nèi)所有能被3整除的自然數(shù)之和,算法如下:
①1賦值給變量i;
②判斷i除以3的余數(shù)是否為0,若是,則將該數(shù)累加到變量sum中;
③將變量i加1,若i小于或等于100,轉(zhuǎn)②;
④輸出變量sum的值;
⑤算法結(jié)束。
該算法采用的描述方法屬于(  )
A.流程圖 B.偽代碼
C.自然語言 D.計算機程序語言
3.不能用算法描述“輸出所有完全平方數(shù)”,是因為該任務(wù)不符合算法特征中的(  )
A.確定性 B.有0個或多個輸入
C.有窮性 D.有1個或多個輸出
4.下列步驟是用計算機解決物質(zhì)密度計算問題時經(jīng)歷的三個階段:
①編制計算機程序,用計算機進行處理,并調(diào)試程序
②設(shè)計“根據(jù)物質(zhì)的質(zhì)量與體積計算密度”的算法
③獲取物質(zhì)的質(zhì)量與體積,找出其與物質(zhì)密度的關(guān)系,建立計算模型
上述階段的正確順序是(  )
A.③②① B.③①②
C.①②③ D.①③②
5.某算法的流程圖如圖所示,執(zhí)行該算法,當(dāng)x的值為4時,則輸出y的值為(  )
A.9 B.10
C.11 D.12

展開更多......

收起↑

資源列表

<pre id="tfb94"><li id="tfb94"></li></pre>

<bdo id="tfb94"><rt id="tfb94"></rt></bdo>
  • <menu id="tfb94"><dl id="tfb94"></dl></menu><i id="tfb94"><acronym id="tfb94"><sub id="tfb94"></sub></acronym></i>

    1. 主站蜘蛛池模板: 太谷县| 体育| 道孚县| 鹿邑县| 开化县| 东乡族自治县| 麻城市| 三门峡市| 瑞昌市| 茌平县| 旅游| 章丘市| 敦煌市| 图们市| 于田县| 内丘县| 常山县| 新郑市| 绥德县| 平塘县| 商南县| 岐山县| 湟源县| 墨竹工卡县| 藁城市| 离岛区| 阿拉尔市| 承德市| 定西市| 东源县| 中阳县| 柳州市| 达拉特旗| 榆林市| 临城县| 辉南县| 射阳县| 桦南县| 宝应县| 海林市| 香河县|