1. 演算法與程序框圖習題
一、選擇題
1、根據演算法的程序框圖,當輸入n=6時,輸出的結果是( )
A.35 B.84
C.49 D.25
2、如圖,漢諾塔問題是指有3根桿子A,B,C,桿子上有若干碟子,把所有的碟子從B桿移到A桿上,每次只能移動一個碟子,大的碟子不能疊在小的碟子上面,把B桿上的3個碟子全部移動到A桿上,最少需要移動的次數是( )
A.12 B.9 C.6 D.7
3、一程序框圖如圖1-1-25所示,它能判斷任意輸入的數x的奇偶性,其中判斷框中的條件是( )
A.m=0 B.x=0 C.x=1 D.m=1
圖1-1-25
4、閱讀下面的程序框圖並判斷運行結果為…( )
A.55 B.-55
C.5 D.-5
5、給出下面的演算法:該演算法表示( )
S1 m=a;
S2 若b<m,則m=b;
S3 若c<m,則m=c;
S4 若d<m,則m=d;
S5 輸出m.
A.a,b,c,d中最大值 B.a,b,c,d中最小值
C.將a,b,c,d由小到大排序 D.將a,b,c,d由大到小排序
6、下列關於演算法的說法中,正確的是 ( )
A.求解某一類問題的演算法是唯一的
B.演算法必須在有限步操作之後停止
C.演算法的每一步操作必須是明確的,不能有歧義或模糊
D.演算法執行後一定產生確定的結果
7、演算法共有三種邏輯結構,即順序結構、條件分支結構和循環結構,下列說法正確的是( )
A.一個演算法只能含有一種邏輯結構
B.一個演算法最多可以包含兩種邏輯結構
C.一個演算法必須含有上述三種邏輯結構
D.一個演算法可以含有上述三種邏輯結構的任意組合
8、下面的程序框圖中是循環結構的是( )
A.①② B.②③ C.③④ D.②④
9、閱讀下邊的程序框圖,若輸入的n是100,則輸出的變數S和T的值依次是( )
A.2 500,2 500 B.2 550,2 550
C.2 500,2 550 D.2 550,2 500
10、程序框是程序框圖的一個組成部分,下面的對應正確的是 ( )
①終端框(起止框),表示一個演算法的起始和結束 ②輸入、輸出框,表示一個演算法輸入和輸出的信息 ③處理框(執行框),功能是賦值、計算 ④判斷框,判斷某一條件是否成立,成立時在出口處標明「是」或「Y」,不成立時標明「否」或「N」
A.(1)與①,(2)與②,(3)與③,(4)與④
B.(1)與④,(2)與②,(3)與①,(4)與③
C.(1)與①,(2)與③,(3)與②,(4)與④
D.(1)與①,(2)與③,(3)與④,(4)與②
二、填空題
1、已知函數f(x)=|x-3|程序框圖1-1-26表示的是給定x值,求其相應函數值的演算法.請將該程序框圖補充完整.其中①處應填_______________,②處應填_______________.
圖1-1-26
2、寫出下列程序框圖表示的演算法功能.
(1)如1-1-14圖(1)的演算法功能是(a>0,b>b)____________________.
(2)如1-1-14圖(2)的演算法功能是_____________________.
圖(1) 圖(2)
圖1-1-14
3、已知函數f(x)=|x-3|,下面的程序框圖表示的是給定x值,求其相應函數值的演算法.請將該程序框圖補充完整.其中①處應填___________________________________________________.
②處應填_______________________________________________________________________.
4、指出程序框圖1-1-24運行結果.
圖1-1-24
若輸入-4,則輸出結果為_______________.
三、解答題
1、寫出求方程ax2+bx+c=0的根的演算法,畫出相應的程序框圖,並要求輸出它的實根.
2、寫出一個求解任意二次函數y=ax2+bx+c(a≠0)的最值的演算法.
3、一把石子,3個3個地數,最後餘下2個;5個5個地數,最後餘下3個;7個7個地數,最後餘下4個.請設計一個演算法,求出這把石子至少有多少個.
2. 程序框圖(演算法流程圖)如圖所示,其輸出結果三=______
分析程序中各變數、各語句的作用,
再根據流程圖所示的順序,可知:
該程序的作用是利用循環計算並輸出2k-1的值.
由於退出循環時,k=6,
此時26-1=63,
故答案為:63.
3. 演算法流程圖
選B 首先排除C D 因為是輸出a是一個數 所以不可能是排列
再看A和B 該怎麼選
第一個判斷框先比較a和b
當a>b 則將b賦值給a 所以得到的是較小的 再比較a和c
若a>c 再將c賦值給a
若a<c 輸出a還是較小的 所以輸出的a是3個數中最小的
主要是先明白a←b是意思是把b的值賦於a 現在的教材中都寫成a=b
謝謝
4. 演算法設計題 要求:輸出三個數中最大的數 請畫出流程圖
rivate Sub Command1_Click()。
Dim a1, a2, a3, max1 As Integer。
a1 = InputBox("請輸入第1個數")。
max1 = a1。
a2 = InputBox("請輸入第2個數")。
If a2 > max1 Then max1 = a2。
a3 = InputBox("請輸入第3個數")。
If a3 > max1 Then max1 = a3。
MsgBox (max1)。
End Sub。
(4)演算法流程圖例題擴展閱讀:
作為診斷工具,它能夠輔助決策制定,讓管理者清楚地知道,問題可能出在什麼地方,從而確定出可供選擇的行動方案。
流程圖有時也稱作輸入-輸出圖。該圖直觀地描述一個工作過程的具體步驟。流程圖對准確了解事情是如何進行的,以及決定應如何改進過程極有幫助。這一方法可以用於整個企業,以便直觀地跟蹤和圖解企業的運作方式。
流程圖使用一些標准符號代表某些類型的動作,如決策用菱形框表示,具體活動用方框表示。但比這些符號規定更重要的,是必須清楚地描述工作過程的順序。流程圖也可用於設計改進工作過程,具體做法是先畫出事情應該怎麼做,再將其與實際情況進行比較。
5. 利用兩種循環寫出1+2+3+…+100的演算法,並畫出各自的流程圖
直到型循環演算法:
第一步:S←0;
第二步:I←1;
第三步:S←S+I;
第四步:I←I+1;
第五步:如果I不大於100,轉第三步;否則,輸出S。相應的流程圖如圖甲所示.當型循環演算法如
下:S1令i←1,S←0S2 。
當型循環演算法如下:
S1 令i←1,S←0
S2 若i≤100成立,則執行S3;否則,輸出S,結束演算法
S3 S←S+i
S4 i←i+1,返回S2
相應的流程圖如圖乙所示。
從1開始遞增依次與從100開始遞減、將兩個數進行相加配對、有50組為101的數。
1+100=101,2+99=101······50+51=101。從1加到100有50組這樣的數,所以50X101=5050。
等差數列求和公式:(1+100)*100/2=5050
6. 如圖是某演算法的流程圖,則執行該演算法輸出的結果是S=______
經過第一次循環得到結果為s=1,i=3,此時不滿足判斷框的條件
經過第二次循環得到結果為s=4,i=5,此時不滿足判斷框的條件
經過第三次循環得到結果為s=9,i=7,此時不滿足判斷框的條件
經過第四次循環得到結果為s=16,i=9,此時滿足判斷框的條件,執行輸出s,即輸出16
故答案為:16
7. 如圖所示,程序框圖(演算法流程圖)的輸出值 _______.