(信息學(xué)奧賽輔導(dǎo))程序設(shè)計(jì)試題匯編(答案)自然科學(xué)_第1頁(yè)
(信息學(xué)奧賽輔導(dǎo))程序設(shè)計(jì)試題匯編(答案)自然科學(xué)_第2頁(yè)
(信息學(xué)奧賽輔導(dǎo))程序設(shè)計(jì)試題匯編(答案)自然科學(xué)_第3頁(yè)
(信息學(xué)奧賽輔導(dǎo))程序設(shè)計(jì)試題匯編(答案)自然科學(xué)_第4頁(yè)
(信息學(xué)奧賽輔導(dǎo))程序設(shè)計(jì)試題匯編(答案)自然科學(xué)_第5頁(yè)
已閱讀5頁(yè),還剩3頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1/1(信息學(xué)奧賽輔導(dǎo))程序設(shè)計(jì)試題匯編(答案)-自然科學(xué)

信息學(xué)奧林匹克競(jìng)賽輔導(dǎo)——程序設(shè)計(jì)試題答案部分第1頁(yè)

程序設(shè)計(jì)試題及答案

(備注:試題難度評(píng)價(jià)實(shí)行五★級(jí)評(píng)價(jià)體系,分基礎(chǔ)、簡(jiǎn)單、一般、稍難、難五個(gè)等級(jí)。

其中的一、二、三★級(jí)都屬于程序設(shè)計(jì)的基礎(chǔ)試題級(jí)別,同學(xué)們稍加思索均有力量求得正確解答。

對(duì)于四★級(jí)試題屬于程序設(shè)計(jì)試題基礎(chǔ)級(jí)別的思索題.

五★級(jí)難度試題在此沒(méi)有涉及,在程序設(shè)計(jì)高級(jí)試題中另行講解。對(duì)于基礎(chǔ)和簡(jiǎn)單兩個(gè)級(jí)別的程序設(shè)計(jì)試題,若能夠給出語(yǔ)句分類(如If條件語(yǔ)句、條件語(yǔ)句嵌套、循環(huán)語(yǔ)句、多重循環(huán)語(yǔ)句等)的將盡量給出。若屬于13大類別的將盡量標(biāo)注。)

程序設(shè)計(jì)試題幾大分類:

1、素?cái)?shù)類問(wèn)題(求素?cái)?shù)的幾種算法):2、數(shù)據(jù)排序問(wèn)題(數(shù)據(jù)排序的幾種方法):3、最大公約數(shù)和最小公倍數(shù)問(wèn)題(幾種算法):

4、公式求解類問(wèn)題(如求圓周率π、自然常數(shù)e、解方程等等):5、編號(hào)相反處理問(wèn)題:

6、約瑟夫問(wèn)題(或猴子選大王問(wèn)題、密碼問(wèn)題):7、回文數(shù)問(wèn)題:

8、高精度數(shù)值計(jì)算問(wèn)題:9、數(shù)值計(jì)算問(wèn)題:

10、進(jìn)制相互轉(zhuǎn)換問(wèn)題:11、字符串倒置問(wèn)題:12、排列與組合類問(wèn)題:

13、因子、質(zhì)因子(質(zhì)因數(shù))類相關(guān)問(wèn)題:

答案部分:

(程序設(shè)計(jì)的源程序沒(méi)有統(tǒng)一的標(biāo)準(zhǔn)答案,實(shí)現(xiàn)程序的算法也是多種多樣,但結(jié)果是唯一的,算法也有優(yōu)劣之分,一個(gè)程序的優(yōu)劣,關(guān)鍵在于是否找到了好的算法,以下程序和算法不肯定就是最佳算法和最佳程序,只能僅供參考,盼望同學(xué)們能夠?qū)δ承┏绦蛱岢龈玫乃惴▉?lái)改進(jìn)程序)(常常遇到的推斷是否為素?cái)?shù)、是否為回文數(shù)、求兩個(gè)數(shù)的最大公約數(shù)、求兩個(gè)數(shù)的最小公倍數(shù)等問(wèn)題的子函數(shù)源程序,請(qǐng)務(wù)必記住?。?/p>

①推斷是否為素?cái)?shù),若是素?cái)?shù)則返回true,若不是素?cái)?shù)則返回false:

functionprime(x:longint):boolean;var

j,y:longint;begin

prime:=true;

ifxa[i-j+1]then

beginhuiwen:=false;exit;end;end;

③求最大公約數(shù)子函數(shù),返回兩個(gè)正整數(shù)的最大公約數(shù),采納輾轉(zhuǎn)相除法算法;functiongcd(a,b:longint):longint;begin

ifb=0thengcd:=a

elsegcd:=gcd(b,amodb);end;

④求最小公倍數(shù):lcm=a*bdivgcd(a,b);

(以下程序設(shè)計(jì)試題來(lái)自《奧賽經(jīng)典(語(yǔ)言篇)》)第2章基本語(yǔ)句與程序結(jié)構(gòu)

例題部分:

1、求梯形的面積。(梯形面積公式:S?(★,測(cè)試數(shù)據(jù)①

1h(a?b))2?b?b2?4ac2、求一元二次方程ax+bx+C=0的兩個(gè)實(shí)根。(求根公式:x1,2?)

2a2

(★,測(cè)試數(shù)據(jù)a=1,b=-5,c=6;答案:x1=2、x2=3)

3、輸入一個(gè)三位的自然數(shù),然后把這個(gè)數(shù)的百位與個(gè)位對(duì)調(diào),輸出對(duì)調(diào)后的結(jié)果。

(★)

4、輸入三個(gè)數(shù)a、b、c,首先推斷這三個(gè)數(shù)能否構(gòu)成三角形,若能,則求出三角形的面積。(提示:海倫公式S?d(d?a)(d?b)(d?c),其中d?a?b?c,a、b、c為邊長(zhǎng))2(★,If條件語(yǔ)句,測(cè)試數(shù)據(jù)a=5,b=6,c=7;答案:14.7)

信息學(xué)奧林匹克競(jìng)賽輔導(dǎo)——程序設(shè)計(jì)試題答案部分第3頁(yè)

5、從鍵盤讀入三個(gè)數(shù),按從大到小的挨次把它們打印出來(lái)。(★,If條件語(yǔ)句)6、輸入三角形的三邊,推斷它是否是直角三角形。

(★,If條件語(yǔ)句,測(cè)試數(shù)據(jù)①3、4、5;②4、5、6;答案①Yes;②No)programex7;vara,b,c:integer;begin

reanln(a,b,c);

if(a*a+b*b=c*c)or(b*b+c*c=a*a)or(c*c+a*a=b*b)thenwriteln(‘yes’)elsewriteln(‘no’);end.

7編寫(xiě)一個(gè)依據(jù)用戶鍵入的兩個(gè)操作數(shù)和一個(gè)運(yùn)算符,由計(jì)算機(jī)輸出運(yùn)算結(jié)果的程序。(★★★)

programex71;

vara,b,s:integer;(real)begin

reanln(a,b);s:=a+b;writeln(s);end.

programex72;

vara,b,s:integer;(real)begin

reanln(a,b);s:=a-b;writeln(s);end.

programex73;

vara,b,s:integer;(real)begin

reanln(a,b);s:=a*b;writeln(s);end.

programex74;vara,b,s:(real);begin

reanln(a,b);s:=a/b;writeln(s);end.

8輸入一個(gè)年號(hào),推斷它是否為閏年。

(★,If條件語(yǔ)句,測(cè)試數(shù)據(jù)①1900;②2000;③2023;答案:①No;②Yes;③Yes)programex8;vara:integer;

信息學(xué)奧林匹克競(jìng)賽輔導(dǎo)——程序設(shè)計(jì)試題答案部分第4頁(yè)

beginreadln(a);

if(amod4=0)and((amod100)mod400=0)thenwriteln(‘yes’)elsewriteln(‘no’);end.

9編程計(jì)算S=1+2+3+?+100。(★,循環(huán)語(yǔ)句,答案:5050)

programe;varI,s:integer;begins:=0;

fori:=1to100dos:=s+I;writeln(s);end.

相關(guān)練習(xí):

(1)S?1?111????;23100programe1;

varI:integer;s:real;begins:=0;

fori:=1to100dos:=s+1/I;writeln(s);end.

(2)S?1?2???100;programe2;varI,s:integer;begins:=0;

fori:=1to100dos:=s+I*i;writeln(s);end.

(3)S?2?4?6???100;programe3;varI,s:integer;begins:=0;

fori:=1to50dos:=s+I*2;

222信息學(xué)奧林匹克競(jìng)賽輔導(dǎo)——程序設(shè)計(jì)試題答案部分第5頁(yè)

writeln(s);end.

(4)S?1?4?7?10???100;programe;varI,s:integer;begins:=0;

fori:=1to100doifImod3=1thens:=s+I;writeln(s);end.

(相關(guān)練習(xí)答案:(1)5.19(保留2為小數(shù));(2)338350;(3)2550;(4)1717)a)依據(jù)公式

?26?1?111????,計(jì)算圓周率的π值。2232n2(★★,循環(huán)語(yǔ)句,測(cè)試數(shù)據(jù)n=10000;答案:3.1414971639)

programe;vari:longint;s:real;begin

writeln;s:=0;

fori:=1to10000dos:=s+1/(i*i);writeln(sqrt(6*s));end.

b)計(jì)算n!。(n!=1×2×3×?×n,取n=10)

(★★,循環(huán)語(yǔ)句,10?。?628800)programe11;constn=10;varI,s:integer;begins:=1;

fori:=1tondos:=s*i;writeln(s);end.

c)已知一對(duì)兔子,每個(gè)月可以生一對(duì)小兔,而小兔過(guò)一個(gè)月后也可生一對(duì)小兔。即兔子的對(duì)數(shù)

是:第一個(gè)月1對(duì),其次個(gè)月2對(duì),第三個(gè)月3對(duì),第四個(gè)月5對(duì),??,假設(shè)兔子的生育期是12個(gè)月,并且不死,問(wèn)一年后,這對(duì)兔子有多少對(duì)活著的后代?(Fibonacci數(shù)列問(wèn)題)(★★,循環(huán)語(yǔ)句,1、2、3、5、8、13、21、34、55、89、144、233;答案233)

programwork(input,output);vari:integer;{循環(huán)變量}

信息學(xué)奧林匹克競(jìng)賽輔導(dǎo)——程序設(shè)計(jì)試題答案部分第46頁(yè)

(測(cè)試數(shù)據(jù):25?。?5511210043330985984000000;)programe;var

a,b,c:array[0..1000]ofbyte;n,i,j,k:integer;procedurecheng;var

i,j,k:integer;begin

fori:=1toa[0]doforj:=1tob[0]dobegin

c[i+j-1]:=c[i+j-1]+(a[i]*b[j]mod10);

c[i+j]:=c[i+j]+(a[i]*b[j]div10)+(c[i+j-1]div10);c[i+j-1]:=c[i+j-1]mod10;end;end;

procedureshuchu;var

i:integer;begin

whilec[c[0]]=0dodec(c[0]);

fori:=c[0]downto1dowrite(c[i]);end;

{============main=========}begin

writeln;writeln('inputn(1)and(plan[i]procedurefindj;beginj:=n;

whileplan[j]procedurechange;var

k,h:integer;begin

k:=plan[i-1];plan[i-1]:=plan[j];plan[j]:=k;fork:=ito((n+i)div2)do

beginh:=plan[k];plan[k]:=plan[n+i-k];plan[n+i-k]:=h;end;end;begin

write('pleaseinputn:');readln(n);total:=0;

for

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論