2022年上机实验报告_第1页
2022年上机实验报告_第2页
2022年上机实验报告_第3页
2022年上机实验报告_第4页
2022年上机实验报告_第5页
已阅读5页,还剩3页未读 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、高品质文档2022年上机实验报告 一 题目1 建立一个学生档案,内容包括学号,姓名,年龄,性别,数学,物理和英语3门功课成果。要求实现以下功能:1) 数据输入;2) 查询某个学生的成果;3) 按平均排列输出;4) 统计某门课各分数段人数;5) 删除某个学生记录;2 编程实现对二位数进行加,减,乘运算,每运行一次程序做10道题,完成后给出成果(每题10分)。二 设计思想和模块划分1.1先定义所需要的条件,例如,姓名,学号,性别,三门功课的成果,平均分等。2输入姓名,学号,性别,年龄,三门功课的成果后,就输出相应的姓名,学号,性别,年龄,三门功课的成果。3打印表头;4在求出平均分,并打印出平均分。

2、5在查找学生,并打印出学生的相关资料;并根据平均分的凹凸排列;6在统计学生各科成果是否=60分,假如是就是通过,否就是没通过,最终打印出最终的结果。7删除学生,选中删除的学生,假如确定要,那么该学生的一切记录就变为0;21随机调用函数,产生两个其值为10到99的随机整数分别放在c,d中用作运算时的运算数。2随机调用函数,产生一个值为1到3 的随机整数放入b中,用来选择不同的运算。依据b的值选择不同的运算。当b=1时,去进行c+d的运算练习;当b2 时,去进行c-d的运算练习;当b=3时,去进行c×d的运算练习。每完成一个算题就给出是否正确的信息。3依据答案正确与否统计。正确时,显示r

3、ight; 错误时,显示wrong。4步骤1. 2. 3. 4. 重复10次。5输出学生成果。三 运行结果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 nam

4、e 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- 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 se

5、x math 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

6、no pass 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四 主要错误改正方法1.在本题的编写过程中常消失begin 和end 不配对,只要始它们的个数相同就可以了,就可以了。在程序中常消失的unknown identifier没有定义的错误,只要在程序前加上定义,就可以了。还有就是type mismat

7、ch的类型不匹配,只要依据前后内容,重新定义,就可以了。2.在本题编写中,题目要求是两个两位数运算,假如写成c:=random(100)在运行过程中,就会消失一位数运算,只要把它写成c:=random(90)+10,就可以了。五 实习小结1第一题的程序编写比较简单,需要较多的定义,因而在后面的程序部分,就常消失标识符重复,而导致的类型不匹配。还有就是每个部分编好后,上下不能连接,而无法调用。2第二题较第一题简洁,和书上的例题类似,所以,比较简洁,但从中也消失一些不问题。以上两大题中消失的问题,要在同学的关心下,才能完成。总的来说两题程序比较困难六 程序清单1.program twins;con

8、st m=3; 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:in

9、teger; a:student;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

10、:'); readln(age);write('sex:'); readln(sex);while (sex'm')and(sex'f') dobeginwrite('sex:'); readln(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

11、;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(si100)dobeginwriteln(wrong);write('eng:'); readln(si);end;end;end;end;stuj:=a;end;writeln;end;end;procedure ave

12、 (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 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;en

13、d;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,' '

14、,'eng':8,' ');writeln('ave':6,' ');write(' '); for i:=1 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,' &

15、#39;);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:');readln(n);for i:=1 to m dobeginif stui.num=n then beginct1:=stui;u:=false;d:=iend;end;end;end;proc

16、edure 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;endelseend;procedure tj (var stu:sarr);var w1,q1,q2,nu

17、m,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.math=60 thenq1:=q1+1elseq2

18、:=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(' ':

19、5,'pass num is :',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&#

20、39;:9,' ','age':8,' ','sex':5,' ','math':6,' ','phy':9,' ','eng':8,' ');writeln('ave':6,' ');write(' '); for i:=1 to 72 do write('-');writeln;for j:=1 to m do beginwith stuj dobegi

21、nwrite('',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 dobeginwrite

22、ln('1.readin 2.finds 3.del 4.tj 5.exit');read(k); readln;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

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论