上機(jī)實(shí)驗(yàn)報(bào)告-_第1頁
上機(jī)實(shí)驗(yàn)報(bào)告-_第2頁
上機(jī)實(shí)驗(yàn)報(bào)告-_第3頁
上機(jī)實(shí)驗(yàn)報(bào)告-_第4頁
上機(jī)實(shí)驗(yàn)報(bào)告-_第5頁
已閱讀5頁,還剩3頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、高品質(zhì)文檔上機(jī)實(shí)驗(yàn)報(bào)告一 題目1 建立一個(gè)學(xué)生檔案,內(nèi)容包括學(xué)號,姓名,年齡,性別,數(shù)學(xué),物理和英語3門功課成果。要求實(shí)現(xiàn)以下功能:1) 數(shù)據(jù)輸入;2) 查詢某個(gè)學(xué)生的成果;3) 按平均排列輸出;4) 統(tǒng)計(jì)某門課各分?jǐn)?shù)段人數(shù);5) 刪除某個(gè)學(xué)生記錄;2 編程實(shí)現(xiàn)對二位數(shù)進(jìn)行加,減,乘運(yùn)算,每運(yùn)行一次程序做10道題,完成后給出成果(每題10分)。二 設(shè)計(jì)思想和模塊劃分1.1先定義所需要的條件,例如,姓名,學(xué)號,性別,三門功課的成果,平均分等。2輸入姓名,學(xué)號,性別,年齡,三門功課的成果后,就輸出相應(yīng)的姓名,學(xué)號,性別,年齡,三門功課的成果。3打印表頭;4在求出平均分,并打印出平均分。5在查找學(xué)生

2、,并打印出學(xué)生的相關(guān)資料;并根據(jù)平均分的凹凸排列;6在統(tǒng)計(jì)學(xué)生各科成果是否=60分,假如是就是通過,否就是沒通過,最終打印出最終的結(jié)果。7刪除學(xué)生,選中刪除的學(xué)生,假如確定要,那么該學(xué)生的一切記錄就變?yōu)?;21隨機(jī)調(diào)用函數(shù),產(chǎn)生兩個(gè)其值為10到99的隨機(jī)整數(shù)分別放在c,d中用作運(yùn)算時(shí)的運(yùn)算數(shù)。2隨機(jī)調(diào)用函數(shù),產(chǎn)生一個(gè)值為1到3 的隨機(jī)整數(shù)放入b中,用來選擇不同的運(yùn)算。依據(jù)b的值選擇不同的運(yùn)算。當(dāng)b=1時(shí),去進(jìn)行c+d的運(yùn)算練習(xí);當(dāng)b2 時(shí),去進(jìn)行c-d的運(yùn)算練習(xí);當(dāng)b=3時(shí),去進(jìn)行c×d的運(yùn)算練習(xí)。每完成一個(gè)算題就給出是否正確的信息。3依據(jù)答案正確與否統(tǒng)計(jì)。正確時(shí),顯示right;

3、錯(cuò)誤時(shí),顯示wrong。4步驟1. 2. 3. 4. 重復(fù)10次。5輸出學(xué)生成果。三 運(yùn)行結(jié)果1. Input the 1 student :num:03name:wfage:18sex:fmath:98phy:75eng:65Input the 2 student :num:06name:scage:17sex:fmath:78phy:45eng:65Input the 3 student :num:09name:ytage:17sex:mmath:69phy:75eng:501.readin 2.finds 3.del 4.tj 5.exit1 - table- num name age

4、sex math phy eng ave- 3 wf 18 f 98.0 75.0 65.0 79.3- 9 yt 17 m 69.0 75.0 50.0 64.7- 6 sc 17 f 78.0 45.0 65.0 62.7-1.readin 2.finds 3.del 4.tj 5.exit2Into number:3- num name age sex math phy eng ave- 3 wf 18 f 98.0 75.0 65.0 79.3-1.readin 2.finds 3.del 4.tj 5.exit3Into number:6- num name age sex math

5、 phy eng ave- 6 sc 17 f 78.0 45.0 65.0 62.6 -true? Y/Ny1 - table- num name age sex math phy eng ave- 3 wf 18 f 98.0 75.0 65.0 79.3- 9 yt 17 m 69.0 75.0 50.0 64.7- 0 0 0 f 0.0 0.0 0.0 0.0-1.readin 2.finds 3.del 4.tj 5.exit4 1.input the math 2.input the phy 3.input the eng 1math: pass num is :3 no pas

6、s num is :02.32+82=114right!97*15=1455right!99-58=41right!76-66=10right!58+13=71right!37+49=86right!99+52=151right!49*69=5462wrong!73-38=31wrong!86+34=120right!mark is 80四 主要錯(cuò)誤改正方法1.在本題的編寫過程中常消失begin 和end 不配對,只要始它們的個(gè)數(shù)相同就可以了,就可以了。在程序中常消失的unknown identifier沒有定義的錯(cuò)誤,只要在程序前加上定義,就可以了。還有就是type mismatch的類型不

7、匹配,只要依據(jù)前后內(nèi)容,重新定義,就可以了。2.在本題編寫中,題目要求是兩個(gè)兩位數(shù)運(yùn)算,假如寫成c:=random(100)在運(yùn)行過程中,就會消失一位數(shù)運(yùn)算,只要把它寫成c:=random(90)+10,就可以了。五 實(shí)習(xí)小結(jié)1第一題的程序編寫比較簡單,需要較多的定義,因而在后面的程序部分,就常消失標(biāo)識符重復(fù),而導(dǎo)致的類型不匹配。還有就是每個(gè)部分編好后,上下不能連接,而無法調(diào)用。2第二題較第一題簡潔,和書上的例題類似,所以,比較簡潔,但從中也消失一些不問題。以上兩大題中消失的問題,要在同學(xué)的關(guān)心下,才能完成??偟膩碚f兩題程序比較困難六 程序清單1.program twins;const m=3

8、; n=3 ;typestudent=recordnum:integer;name:string3;age:integer;sex:char;s:array1.n of real;math,eng,phy:real;ave:real;end;sarr=array1.m of student;ta=array 1.m of student;f=string6;varstu:sarr; ct:ta; k,d:integer;procedure readin (var stu:sarr);const wrong=0=data=100 ,again!;var j,i:integer; a:studen

9、t;beginwriteln;writeln(Input ,m, num name sex math phy eng, of student.);for j:=1 to m dobeginwriteln;writeln(Input the ,j, student :);with a dobeginwrite(num:); readln(num);write(name:); readln(name);write(age:); readln(age);write(sex:); readln(sex);while (sexm)and(sexf) dobeginwrite(sex:); readln(

10、sex)end;for i:=1 to n do begincase i of1:begin write(math:); readln(si);while(si0)or(si100)dobeginwriteln(wrong);write(math:); readln(si);end;end;2:begin write(phy:); readln(si);while(si0)or(si100)dobeginwriteln(wrong);write(phy:); readln(si);end;end;3:begin write(eng:); readln(si);while(si0)or(si10

11、0)dobeginwriteln(wrong);write(eng:); readln(si);end;end;end;end;stuj:=a;end;writeln;end;end;procedure ave (var stu:sarr);var j,i:integer; k:real;beginfor j:=1 to m dobegink:=0;with stuj dobeginfor i:=1 to n do k:=k+si;ave:=k/nend;end;end;procedure px (var stu:sarr);var tm:ta; j,i,p:integer;beginfor

12、j:=1 to m dobeginp:=j;for i:=j+1 to m doif stui.avestup.ave then p:=i;tm1:=stup; stup:=stuj; stuj:=tm1;end;end;procedure head (ct:ta);var i:integer;beginwrite( ); for i:=1 to 72 do write(-);writeln;write(, num:4, ,name:9, ,age:8, ,sex:5, ,math:6, ,phy:9, ,eng:8, );writeln(ave:6, );write( ); for i:=1

13、 to 72 do write(-);writeln;with ct1 dobeginwrite(,num:7, ,name:8, ,age:8, ,sex:5, );for i:=1 to n do write(si:7, );write(ave:10, );writeln;end;write( ); for i:=1 to 72 do write(-);writeln;end;procedure find (var stu:sarr);var n,i:integer; u:boolean;beginu:=true;while u dobeginwrite(Into number:);rea

14、dln(n);for i:=1 to m dobeginif stui.num=n then beginct1:=stui;u:=false;d:=iend;end;end;end;procedure del (var stu:sarr);var i:integer; b:char;beginhead(ct);write(true? Y/N); readln(b);if b=y then begin write(1);with stud dobeginnum:=0; name:=0; age:=0; sex:=f;for i:=1 to n do si:=0;ave:=0end;endelse

15、end;procedure tj (var stu:sarr);var w1,q1,q2,num,j:integer;h1,h2,h3:boolean;beginh1:=false;h2:=false;h3:=false;q1:=0;q2:=0;writeln( :30,1.input the math 2.input the phy 3.input the eng );readln(w1);case w1 of1:h1:=true;2:h2:=true;3:h3:=true;end;if h1 thenbeginbeginfor j:=1 to m dowith stuj doif stuj

16、.math=60 thenq1:=q1+1elseq2:=q2+1;writeln(math:);end;if h2 thenbeginbeginfor j:=1 to m dowith stuj doif stuj.phy=60 thenq1:=q1+1elseq2:=q2+1;writeln(phy:);end;if h3 thenbeginbeginfor j:=1 to m dowith stuj doif stuj.eng=60 thenq1:=q1+1elseq2:=q2+1;writeln(eng:);end;end;end;end;writeln( :5,pass num is

17、 :,q1);writeln( :5,no pass num is :,q2);end;procedure head1 (var stu:sarr);var j,i:integer;beginwriteln(- table-:60);writeln;write( ); for i:=1 to 72 do write(-);writeln;write(, num:4, ,name:9, ,age:8, ,sex:5, ,math:6, ,phy:9, ,eng:8, );writeln(ave:6, );write( ); for i:=1 to 72 do write(-);writeln;f

18、or j:=1 to m do beginwith stuj dobeginwrite(,num:7, ,name:8, ,age:8, ,sex:5, );for i:=1 to n do write(si:7:1, );write(ave:10:1, );writeln;end;write( ); for i:=1 to 72 do write(-);writeln;end;end;beginreadin(stu);ave(stu);k:=0;while k5 dobeginwriteln(1.readin 2.finds 3.del 4.tj 5.exit);read(k); readl

19、n;while (k1)and(k2)and(k3)and(k4)and(k5) dobeginwriteln( mistake,Please again);read(k)end;case k of1: begin px(stu); head1(stu) end;2: begin find(stu); head(ct) end;3: begin find(stu); del(stu); px(stu); head1(stu) end;4: begin tj(stu); end;5: writeln(exit!);end;end;gram shadow;var a,b,c,d,e:integer;ri

溫馨提示

  • 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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論