上机实验报告.doc_第1页
上机实验报告.doc_第2页
免费预览已结束,剩余6页可下载查看

下载本文档

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

文档简介

工作报告/实习报告 上机实验报告 一 题目1 建立一个学生档案,内容包括学号,姓名,年龄,性别,数学,物理和英语3门功课成绩。要求实现以下功能:1) 数据输入;2) 查询某个学生的成绩;3) 按平均排列输出;4) 统计某门课各分数段人数;5) 删除某个学生记录;2 编程实现对二位数进行加,减,乘运算,每运行一次程序做10道题,完成后给出成绩(每题10分)。二 设计思想和模块划分1.1先定义所需要的条件,例如,姓名,学号,性别,三门功课的成绩,平均分等。2输入姓名,学号,性别,年龄,三门功课的成绩后,就输出相应的姓名,学号,性别,年龄,三门功课的成绩。3打印表头;4在求出平均分,并打印出平均分。5在查找学生,并打印出学生的相关资料;并按照平均分的高低排列;6在统计学生各科成绩是否=60分,如果是就是通过,否就是没通过,最后打印出最后的结果。7删除学生,选中删除的学生,如果确定要,那么该学生的一切记录就变为0;21随机调用函数,产生两个其值为10到99的随机整数分别放在c,d中用作运算时的运算数。2随机调用函数,产生一个值为1到3 的随机整数放入b中,用来选择不同的运算。根据b的值选择不同的运算。当b=1时,去进行c+d的运算练习;当b2 时,去进行c-d的运算练习;当b=3时,去进行cd的运算练习。每完成一个算题就给出是否正确的信息。3根据答案正确与否统计。正确时,显示right; 错误时,显示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 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- 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 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 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 mismatch的类型不匹配,只要根据前后内容,重新定义,就可以了。2.在本题编写中,题目要求是两个两位数运算,如果写成c:=random(100)在运行过程中,就会出现一位数运算,只要把它写成c:=random(90)+10,就可以了。五 实习小结1第一题的程序编写比较复杂,需要较多的定义,因而在后面的程序部分,就常出现标识符重复,而导致的类型不匹配。还有就是每个部分编好后,上下不能连接,而无法调用。2第二题较第一题简单,和书上的例题类似,所以,比较简单,但从中也出现一些不问题。以上两大题中出现的问题,要在同学的帮助下,才能完成。总的来说两题程序比较困难六 程序清单1.program twins;const 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:integer; 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:); readln(age);write(sex:); readln(sex);while (sexm)and(sexf) 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;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 (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;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 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:);readln(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;endelseend;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.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 :,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;for 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); 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,c,d,e:integ

温馨提示

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

评论

0/150

提交评论