演算法語言a

2023-01-26 14:03:02 字數 3858 閱讀 2617

一、選擇題

1.我們已學過的演算法有求解一元二次方程的求根公式,加減消元法求二元一次方程組解,二分法求函式零點等.對演算法的描述有①對一類問題都有效;②對個別問題有效;③計算可以一步步地進行,每一步都有惟一的結果;④是一種通法,只要按部就班地做,總能得到結果.以上正確描述演算法的有

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

2. 下列關於演算法的說法中正確的個數有( )

①求解某一類問題的演算法是唯一的; ②演算法必須在有限步操作之後停止;

③演算法的每一步操作必須是明確的,不能有歧義或模糊; ④演算法執行後一定產生確定的結果。

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

3.演算法

s1 m=a

s2 若bs3 若cs4 若ds5 輸出m,則輸出m表示

a.a,b,c,d中最大值b.a,b,c,d中最小值

c.將a,b,c,d由小到大排序 d.將a,b,c,d由大到小排序

4.演算法:

s1 輸入n

s2 判斷n是否是2,若n=2,則n滿足條件,若n>2,則執行s3

s3 依次從2到n一1檢驗能不能整除n,若不能整除n,滿足上述條件的是 ( )

a.質數 b.奇數 c.偶數 d.約數

5. 用二分法求方程的近似根的演算法中要用哪種演算法結構( )

a.順序結構 b.條件結構 c.迴圈結構 d.以上都用

6.如下程式框圖是古代一數學家的演算法程式框圖,它輸出的結果s代表

a.乙個數列的和b.乙個n次多項式係數的和

c.自變數取x。時,n次多項式函式的值

d.自變數取x。時,n個代數式的值

7.我國古代數學發展一直處於世界領先水平,特別是宋、元時期的「演算法」,其中可以同歐幾里德輾轉相除法相媲美的是

a.割圓術 b.更相減損術 c.秦九韶演算法 d.孫子乘餘定理

8.學了演算法你的收穫有兩點,一方面了解我國古代數學家的傑出成就,另一方面,數學的機械化,能做許多我們用筆和紙不敢做的有很大計算量的問題,這主要歸功於演算法語句的( )

a.輸出語句 b.賦值語句 c.條件語句 d.迴圈語句

9.在上題條件下,假定能將甲、乙兩程式「定格」在i=500,即能輸出i=500 時乙個值,則輸出結果

a.甲大乙小 b.甲乙相同 c.甲小乙大 d.不能判斷

10.讀程式

甲:input i=1 乙:input i=1000

s=0s=0

while i≤1000 do

s=s+is=s+i

i=i+li=i一1

wendloop until i<1

print sprint s

endend

對甲乙兩程式和輸出結果判斷正確的是 ( )

a.程式不同結果不同 b.程式不同,結果相同c.程式相同結果不同d.程式同,結果同

二、填空題

11.你要乘火車去外地辦一件急事,請你寫出從自己房間出發到坐在車廂內的三步主要演算法

s1s2

s312.將51化為二進位制數得

13.右邊程式框圖輸出d的含義是

14.input x

if 9a=x\10

b=x mod 10

x=10※b+a

print x

end if

end(注:「\」是x除以10的商,「mod」是x 除以10的餘數)

上述程式輸出x的含義是

三、解答題

15. 兒童乘坐火車時,若身高不超過1.1 m,則不需買票;若身高超過1.1 m但不超過1.

4 m,則需買半票;若身高超過1.4 m,則需買全票.試設計乙個買票的演算法,並畫出相應的程式框圖及程式。

16.寫出求m=60和n=33的最大公約數的演算法和程式框圖.

17.有10個互不相等的數,寫出找出其中乙個最大數的演算法和程式

18.假定在銀行中存款10000元,按11.25%的利率,一年後連本帶息將變為11125元,若將此款繼續存人銀行,試問多長時間就會連本帶利翻一番?請用直到型和當型兩種語句寫出程式.

19.2023年我國大陸人口10億3千萬,程式設計上機計算,若人口增長率r=1%,則哪一年我國人口增長到12億,若r=o.5%,r=o.2%又是何年?

20.我國《算經十書》之一《孫子算經》中有這樣乙個問題:「今有物不知其數,三三數之剩二,五五數之剩三,七七數之剩二.問物幾何?

答曰:二十三.」你能用程式解決這個問題嗎?

21.(i)用輾轉相除法求840與1 764的最大公約數.

(ii)用更相減損術求440 與556的最大公約數

演算法語言測試題答案

一、選擇題

1.c 2.d 3.b 4.a 5.d 6.c 7.b 8.d 9.b 10.c

二、填空題

11.乘車去火車站買車票憑票上車,

對號入座

12.110011(2)

13.點( x。,y。)到直線ax+by+c=o的距離

14.交換十位數與個位數

三、解答題

15.【解】

s1:洗淨番茄

s2:切碎番茄

s3:打好雞蛋並調勻

s4:洗淨鍋,放在灶上

s5:點好煤氣,開啟油煙機

s6:倒人適量油,燒熱

s7:倒入雞蛋,用鏟子炒勻

s8:倒入番茄,炒勻

s9:放入鹽和調料,炒勻到鍋中間水沸騰時,熄火

s10:盛到盤中

16.【解法一】

s1:以n 除m,得餘數r=27

s2:判斷r是否為零,若r=0,則n為解,若r≠0,則重複s3操作(r=27)

s3:以n作為新的m(33),以r作為新的,l(27),求新的m/n的餘數r=6

s4:判斷r是否為零,若r=o,則前乙個n即為解,否則要繼續s5操作

s5:以n 作為新的m(即m=27),以r作為新的n(即n=6),求新的餘數r=3

s6:判斷上乙個r 是否為零,若r=o,則前乙個n即為解,否則要執行s7操作

s7:以n作為新的m(m =6),r作為新的n(n=3),求新的r= o

s8:判斷r是否為零,這裡r=o,演算法結束,得,n=3是60與33的最大公約數程式框圖略

【解法二】

s1:輸入60,33,將m=60,n=33

s2:求m/n餘數r

s3:若r=0,則n就是所求最大公約,輸出n,若r≠o,執行下一步

s4:使n 作為新的m,使r作為新的n,執行s2

程式框圖(當型)

【解法三】

s1:令m=60,n=33

s2:重複執行下面序列,直到求得r=0為止

s3:求m/n的餘數r

s4:令m=n,n=r

s5:輸出m

(直到型)

17.【解】(一)演算法

s1:輸入乙個數,放在max中

s2:i=1

s3:輸入第1個數,放入x中

s4:若x>max,則max=z

s5: i=i+1

s6:若i≤9,返回s3繼續執行,否則停.

(二)程式框圖

18.【解】

19.【解】

r=1% 輸出y=8,p=12.0681

r=o.5% 輸出y=11,p=12.1329

r=o.2% 輸出y=31,p=12.0222

20.【解】(一)演算法

s1:輸入乙個年份x

s2:若z能被100整除,則執行s3否則執行 s4

s3:若x能被400整除,則x為閏年,否則x不為閏年

s4:若x能被4整除,則x為閏年,否則x不為閏年

(二)程式框圖

(三)程式

程式設計與演算法語言上機試題abc

1 10個人的成績存放在score陣列中,編寫函式fun,求出平均分,並作為函式值返回,且輸出不及格人數。include float fun int a 10 void main float er for i 0 i 10 i if a i 60 j er fun a printf 10個人的成績平...

C語言經典演算法詳解

分而治之方法與軟體設計的模組化方法非常相似。為了解決乙個大的問題,可以 1 把它分成兩個或多個更小的問題 2 分別解決每個小問題 3 把各小問題的解答組合起來,即可得到原問題的解答。小問題通常與原問題相似,可以遞迴地使用分而治之策略來解決。下列通過例項加以說明。例 利用分而治之演算法求乙個整數陣列中...

C語言常用演算法大全

1 非數值計算常用經典演算法 1 窮舉 也稱為 列舉法 即將可能出現的每一種情況一一測試,判斷是否滿足條件,一般採用迴圈來實現。例1 用窮舉法輸出所有的水仙花數 即這樣的三位正整數 其每位數字上的數字的立方和與該數相等,比如 13 53 33 153 法一 main 解析 此方法是將100到999所...