版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、請你讀懂下面的這個程序,說出程序的功能Program bijiaosangeshudaxiao (input, output)Vara, b, c, t: integer;beginwrite(input a, b, c:);readln(a, b, c);if ab thenbegin t:=a; a:=b; b:=t; end;if ac then begin t:=a; a:=c; c:=t; end;if bc then begin t:=b; b:=c; c:=t; end;writeln (The output is:, a, b, c)end.輸入數(shù)據(jù)10,3,21,請寫出輸出的
2、結(jié)果。作業(yè):給出三角形的三個邊長a, b, c,求出三角形的面積。提示:三角形的三邊必須滿足條件:a+bc and b+ca and c+ab給出三邊,則三角形的面積可按下面的公式計算:s=1/2(a+b+c)area(面積)sqrt (s (s-a)(s-b)(s-c)循環(huán)結(jié)構(gòu)(for語句、whiledo語句)for語句的執(zhí)行過程是:1、先將初值賦給循環(huán)變量2、判斷循環(huán)變量的值是否已超過終值,如已超過,則跳到步驟63、如果未超過終值,則執(zhí)行“do”后面的那個語句4、循環(huán)變量遞增(或者遞減)15、返回執(zhí)行步驟26、循環(huán)結(jié)束,執(zhí)行for循環(huán)下面的語句?;菊Z句舉例:for i:=1 to n d
3、o /i作為循環(huán)控制變量,當(dāng)條件不滿足i時即跳出循環(huán)begin readln(a); writeln(a);end;求n!。提示:n!=n*(n-1)*(n-2)*(n-3)*1program njiecheng ( input, output);var x: real; n, i : integer;begin write ( input n , calculat n!:); readln ( n ); if ( n0 ) then writeln (input n0, error!) else beginx:=1; /定義x的初值是1for i:=n downto 1 do /n的初值由程
4、序開始時讀入 x:=x*i;writeln(n!= , x); endend. 輸入兩個數(shù)x1、x2,判斷它們是否是互質(zhì)數(shù)分析:(1)如果x1/x2為整數(shù),則非互質(zhì)數(shù);(假設(shè)大數(shù)x1,小數(shù)x2) (2)如果x2和x1能同時被2x2/2間任一整數(shù)整除,則x1和x2非互質(zhì)。如36和27,能同時被3整除,故非互質(zhì)(以2到27/2,作為除數(shù),如x1和x2能被其中任一整除,則36,27非互質(zhì))program huzhishu (input, output);var x1, x2, t, n, i : integer; yes: Boolean;begin write ( input x1, x2:);
5、readln ( x1, x2 ); if ( x1x2 ) then begin t:=x1; x1:=x2; x2:=t end; yes:=true; if ( x1 mod x2 ) = 0 then yes:=false else begin n:=x2 div 2; for i:=2 to n do if (x1 mod i)=0) and (x2 mod i)=0) then yes:=false end; if yes then writeln (They are mutual prime numbers.)else writeln (They are not mutual n
6、umbers.)end.Input x1, x2: 23 189They are mutual prime numbers.Input x1, x2: 24 189They are not mutual prime numbers.循環(huán)語句的嵌套:某人想將手中一張面值100元的人民幣換成5元、1元和0.5元面值的票子,但要求100元換以上的零錢共100張,且要求每種不少于1張。問有幾種組合。設(shè)5元票i張,1元票j張,0.5元票k張program onehundred (output)p vari, j, k : integer;sum, rmb sum, real; beginwriteln
7、( i j k);for i := 1 to 100 do for j :=1 to 100 do for k := 1 to 100 do begin sum := i+j+k; rmb sum := 5*i+1*j+0.5*k; if (sum=100) and (rmb sum=100) then writeln ( i, j, k) end end.這就是計算機(jī)編程中經(jīng)常用到的窮舉法。用while語句寫程序求100到200間的素數(shù)。Program sushu ( output);Var i, k, kend, n : integer; yes : Boolean;begin write
8、ln ( The primary between 100 to 200:); n:=0 for i:=100 to 200 doif odd (i) then /測試奇數(shù)函數(shù),測試i值是否為奇數(shù),如果是則odd(i)=ture,反之false begin yes:= ture; kend:= trunc(sqrt(i); /取整數(shù)函數(shù),取根號i后的整數(shù) k:=2; while (k4,進(jìn)行對調(diào)5 4 7 3 8 6 7和3比較,73,進(jìn)行對調(diào)5 4 3 7 8 6 7和8比較,不進(jìn)行對調(diào)5 4 3 7 8 6 8和6比較,86,進(jìn)行對調(diào)5 4 3 7 6 8按上述算法進(jìn)行一趟兩兩比較并根據(jù)條件
9、進(jìn)行交換位置后,最大的數(shù)必然落在最后的位置上,對于6個數(shù),一趟需要進(jìn)行5次比較;對于10個數(shù)來說,一趟應(yīng)該進(jìn)行9次比較;由此可以推斷出,對于N個數(shù),總共需要進(jìn)行N1組相同的比較,每一趟應(yīng)該進(jìn)行N(第幾組比較數(shù))次比較操作。具體程序如下:program paixu ( input, output);const n=10;var a: array1.n of integer; i, j: integer;begin writeln (input 10 integer num:); for i:=1 to n do read ai; readln; for j:=1 to n-1 do /對n個數(shù)總
10、共需要進(jìn)行n1組比較for i:=1 to n-j do /對每一組比較需要進(jìn)行的比較次數(shù)是nj次if aiai-1 then begin t:=ai; ai:=ai-1; ai-1:=t end;writeln ( output new seq.:);for i:=1 to n do beginwrite ( ai:4);if i mod 5=0 then writeln end;writelnend.運行結(jié)果如下: input 10 integer num:7 6 23 21 19 18 10 16 5 13 the new seq.:5 6 7 10 1316 18 19 21 232、
11、選擇排序法:此算法指導(dǎo)思想是不急于調(diào)換位置,先從a1開始逐個檢查,看哪個數(shù)最小就記下該數(shù)所在的位置p,等到掃描一趟完畢,再把ap和a1對調(diào),這時a1到a10中的最小數(shù)就換到了最前面的位置上,算法步驟如下:(1)先假設(shè)a1中的數(shù)最小,記下此最小數(shù)的位置p=1;(2)依次把ap和ai(i從2變化到10)進(jìn)行比較,每次比較時,若ai中的數(shù)比ap中的數(shù)小,則把i的值賦給p,使p總是指向當(dāng)前掃視過的最小數(shù)的位置;因此ap總是代表當(dāng)前所掃視過的最小數(shù)。在依次一一比較完后,p就指向10個數(shù)中最小數(shù)所在的位置,ap就是10個數(shù)中最小的那個數(shù);(3)把ap和a1中的數(shù)對調(diào),最小數(shù)就放在a1中了。循環(huán)的設(shè)計:重復(fù)
12、此算法,只是每重復(fù)一次,進(jìn)行比較的數(shù)列范圍向后移動一個位置。即第二遍從第2到第n個數(shù)中去找最小數(shù)的位置,最后把ap與a2對調(diào),第三遍從第3到第n個數(shù)中去找最小數(shù)的位置,把ap和a3對調(diào),此過程重復(fù)n-1次后,即把a數(shù)組中的n個數(shù)按從小到大的順序拍好,這種排序的方法稱為選擇排序法。Program selectsort (input, output);Const n=10;Var a: array1.n of integer; i, j, p, t: integer;begin writeln ( input 10 integer num:); for i:=1 to n do read ( ai
13、); readln; /換行 for j:=1 to n-1 dobegin p:=j; /將p始終指向每一次比較的開頭 for i:=j to n do if aiap then p:=i; t:=ap; ap:=aj; aj:t;end; writeln (output squ.:); for i:=1 to n dobegin write(ai:5); if (i mod 5)=0 then writelnendend. 競賽模擬題一、讀程序,寫出結(jié)果var a:array1.3,1.4of integer; b:array1.4,1.3of integer; x,y:integer;b
14、egin for x:=1 to 3 dofor y:=1 to 4 do ax,y:=x-y; for x:=4 downto 1 dofor y:=1 to 3 do bx,y:=ay-x; writeln(b3,2);end.上列程序段的正確輸出是() A.-1 B.-2 C.-3 D.-4PROGRAM NOI_002;VAR I,J,L,N,K,S,T: INTEGER;B: ARRAY1.10 OF 0.9;BEGINREADLN(L,N); S:=L;K:=1;T:=L;WHILE S0 DO BEGINJ:=J-1;BJ:=N MOD L;N:=N DIV LEND;FOR I
15、:=10-K+1 TO 10 DO WRITE(CHR(ORD(A)+BI);END輸入:4167輸出:PROGRAM NOI_004;VARI,J,J1,J2,P,Q: INTEGER;P1: BOOLEAN;B,C: ARRAY1.100 OF INTEGER;BEGINREADLN(Q,P);J:=1;P1:=TRUE;BJ:=Q;J1:=0;WHILE(Q0) AND P1 DOBEGINJ1:=J1+1;CJ1:=Q*10DIV P;Q:=Q*10-CJ1*P;IF QQ THENBEGINJ2:=1;WHILE (BJ2Q) AND (J2=J) DOJ2:=J2+1;IF BJ2
16、=Q THENBEGIN P1:=FALSE;WRITE(0.); FOR I:=1 TO J2-1 DOWRITE(CI:1); WRITE(; FOR I:=J2 TO J1 DOWRITE(CI:1); WRITELN()ENDELSEBEGINJ:=J+1;BJ:=QENDENDEND; IF Q=0 THEN BEGINWRITE(0.);FOR I:=1 TO J1 DOWRITE(CI:1);WRITELN END;READLNEND.輸入18輸出輸入27輸出 1Program excpl; var x,y,y1,jk,j1,g,e:Integcr; a:arrayl20of 0
17、9; begin x:3465; y:264; jk:20; for j1:= 1 to 20 do ajl: 0; while y 0 do begin y1:=y mod 10; y:y div 10; while y10 do begin g:=x; for e: Jk downto l do begin g:gae; ae := g mod 10; g:= g div 10 end; y1: y1 l end; jk:jk-1 end; j1=1; while ajl0 do j1:=J1+1; for Jk:=j1 to 20 do write(ajk:4) WRITELN End. 程序輸出結(jié)果為: program excp2var l,J:integer;;a:array114 of;integer;procdure sw(i1,j1Integer); var k1: Integer;begin for k1:= 1to(j1- i1+1) div 2 do
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026四川廣安鑫鴻集團(tuán)有限公司招聘4人備考題庫及一套參考答案詳解
- 生產(chǎn)者價格管理制度
- 微信生產(chǎn)群制度
- 生產(chǎn)技術(shù)科班前會制度
- 安全生產(chǎn)工作例檢制度
- 城管科室安全生產(chǎn)制度
- 公司生產(chǎn)計劃中心制度
- 領(lǐng)導(dǎo)生產(chǎn)責(zé)任制度
- 窗簾生產(chǎn)檢查制度
- 2026四川九洲電器集團(tuán)有限責(zé)任公司招聘天線測試工程師1人備考題庫含答案詳解
- 2025中國機(jī)械工業(yè)集團(tuán)有限公司國機(jī)集團(tuán)總部社會招聘19人筆試參考題庫附帶答案詳解
- 城鎮(zhèn)老舊供水管網(wǎng)及附屬設(shè)施升級改造工程節(jié)能評估報告
- 紀(jì)委監(jiān)委辦案安全課件
- 2026年全國婦聯(lián)所屬在京事業(yè)單位公開招聘備考題庫含答案詳解
- 2025年輸血知識考試試題及答案
- 2025-2026學(xué)年人教版八年級上冊道德與法治期末試卷(含答案和解析)
- 幼兒園消防安全管理細(xì)則解讀
- 沈陽市2025遼寧沈陽市于洪區(qū)社區(qū)殘疾人工作專職干事招聘筆試歷年參考題庫典型考點附帶答案詳解(3卷合一)
- 腹部手術(shù)圍手術(shù)期疼痛管理指南(2025版)
- 2026年內(nèi)蒙古電子信息職業(yè)技術(shù)學(xué)院單招職業(yè)適應(yīng)性測試題庫附答案詳解
- 2025年綿陽市中考英語試題(附答案)
評論
0/150
提交評論