上机实验报告.docx
- 文档编号:10784288
- 上传时间:2023-02-22
- 格式:DOCX
- 页数:5
- 大小:16.50KB
上机实验报告.docx
《上机实验报告.docx》由会员分享,可在线阅读,更多相关《上机实验报告.docx(5页珍藏版)》请在冰豆网上搜索。
上机实验报告
上机实验报告
一.
题目1.建立一个学生档案,内容包括学号,姓名,年龄,性别,数学,物理和英语3门功课成绩。
要求实现以下功能:
1)
数据输入;2)
查询某个学生的成绩;3)
按平均排列输出;4)
统计某门课各分数段人数;5)
删除某个学生记录;2.编程实现对二位数进行加,减,乘运算,每运行一次程序做10道题,完成后给出成绩(每题10分)。
二.
设计思想和模块划分.先定义所需要的条件,例如,姓名,学号,性别,三门功课的成绩,平均分等。
2.输入姓名,学号,性别,年龄,三门功课的成绩后,就输出相应的姓名,学号,性别,年龄,三门功课的成绩。
3.打印表头;4.在求出平均分,并打印出平均分。
5.在查找学生,并打印出学生的相关资料;并按照平均分的高低排列;6.在统计学生各科成绩是否》=60分,如果是就是通过,否就是没通过,最后打印出最后的结果。
7.删除学生,选中删除的学生,如果确定要,那么该学生的一切记录就变为0;2.1.随机调用函数,产生两个其值为10到99的随机整数分别放在c,d中用作运算时的运算数。
2.随机调用函数,产生一个值为1到3的随机整数放入b中,用来选择不同的运算。
根据b的值选择不同的运算。
当b=1时,去进行c+d的运算练习;当b=2时,去进行c-d的运算练习;当b=3时,去进行c×d的运算练习。
每完成一个算题就给出是否正确的信息。
3.根据答案正确与否统计。
正确时,显示’right’;错误时,显示’wrong’。
4.步骤重复10次。
5.输出学生成绩。
三.
运行结果:
num:
03name:
wfage:
18sex:
fmath:
98phy:
75eng:
65Inputthe2student:
num:
06name:
scage:
17sex:
fmath:
78phy:
45eng:
65Inputthe3student:
num:
09name:
ytage:
17sex:
mmath:
69phy:
75eng:
50
-----------------------------table--------------------------------------------------------------------------------------------------------------------------------num
name
agesexmathphy
engave---------------------------------------------------------------------------------------------------
3
wf
18
f
---------------------------------------------------------------------------------------------------
9
yt
17
m
----------------------------------------------------------------------------------------------------
6
sc
17
f
----------------------------------------------------------------------------------------------------
3------------------------------------------------------------------------------------------------num
name
agesexmathphyengave-----------------------------------------------------------------
-------------------------------
3
wf
18
f
-------------------------------------------------------------------------------------------------
6------------------------------------------------------------------------------------------------num
name
agesexmathphyengave------------------------------------------------------------------------------------------------
6
sc
17
f
----------------------------------true?
y/Ny1
----------------table---------------------------------------------------------------------------------------------------------------num
name
agesexmath
phy
eng
ave-------------------------------------------------------------------------------------------------
3
wf
18
f
--------------------------------------------------------------------------------------------------
9
yt
17
m
--------------------------------------------------------------------------------------------------
0
0
0
f
--------------------------------------------------------------------------------------------------
1math:
passnumis:
3
nopassnumis:
+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!
markis80四.
主要错误改正方法1.在本题的编写过程中常出现begin和end不配对,只要始它们的个数相同就可以了,就可以了。
在程序中常出现的’unknownidentifier’没有定义的错误,只要在程序前加上定义,就可以了。
还有就是typemismatch’的类型不匹配,只要根据前后内容,重新定义,就可以了。
2.在本题编写中,题目要求是两个两位数运算,如果写成c:
=random在运行过程中,就会出现一位数运算,只要把它写成c:
=random+10,就可以了。
五.
实习小结1.第一题的程序编写比较复杂,需要较多的定义,因而在后面的程序部分,就常出现标识符重复,而导致的类型不匹配。
还有就是每个部分编好后,上下不能连接,而无法调用。
2.第二题较第一题简单,和书上的例题类似,所以,比较简单,但从中也出现一些不问题。
以上两大题中出现的问题,要在同学的帮助下,才能完成。
总的来说两题程序比较困难六.
程序清单;constm=3;n=3;typestudent=recordnum:
integer;name:
string[3];age:
integer;sex:
char;s:
array[1..n]ofreal;math,eng,phy:
real;ave:
real;end;sarr=array[1..m]ofstudent;ta=array[1..m]ofstudent;f=string[6];varstu:
sarr;ct:
ta;k,d:
integer;procedurereadin;constwrong='0stu[p].avethenp:
=i;tm[1]:
=stu[p];stu[p]:
=stu[j];stu[j]:
=tm[1];end;end;procedurehead;vari:
integer;beginwrite;fori:
=1to72dowrite;writeln;write;writeln;write;fori:
=1to72dowrite;writeln;withct[1]dobeginwrite;fori:
=1tondowrite;write;writeln;end;write;fori:
=1to72dowrite;writeln;end;procedurefind;varn,i:
integer;u:
boolean;beginu:
=true;whileudobeginwrite;readln;fori:
=1tomdobeginifstu[i].num=nthenbeginct[1]:
=stu[i];u:
=false;d:
=iend;end;end;end;proceduredel;vari:
integer;b:
char;beginhead;write;readln;ifb='y'thenbeginwrite;withstu[d]dobeginnum:
=0;name:
='0';age:
=0;sex:
='f';fori:
=1tondos[i]:
=0;ave:
=0end;endelseend;proceduretj;varw1,q1,q2,num,j:
integer;h1,h2,h3:
boolean;beginh1:
=false;h2:
=false;h3:
=false;q1:
=0;q2:
=0;writeln;readln;casew1of1:
h1:
=true;2:
h2:
=true;3:
h3:
=true;end;if
h1thenbeginbeginforj:
=1tomdowithstu[j]doifstu[j].math>=60thenq1:
=q1+1elseq2:
=q2+1;writeln;end;ifh2thenbeginbeginforj:
=1tomdowithstu[j]doifstu[j].phy>=60thenq1:
=q1+1elseq2:
=q2+1;writeln;end;ifh3thenbeginbeginforj:
=1tomdowithstu[j]doifstu[j].eng>=60thenq1:
=q1+1elseq2:
=q2+1;writeln;end;end;end;end;writeln;writeln;end;procedurehead1;varj,i:
integer;beginwriteln;writeln;write;fori:
=1to72dowrite;writeln;write;writeln;write;fori:
=1to72dowrite;writeln;forj:
=1tomdobeginwithstu[j]dobeginwrite;fori:
=1tondowrite;write;writeln;end;write;fori:
=1to72dowrite;writeln;end;end;beginreadin;ave;k:
=0;whilek5dobeginwriteln;read;readln;whileandandandanddobeginwriteln;readend;casekof1:
beginpx;head1end;2:
beginfind;headend;3:
beginfind;del;px;head1end;4:
begintj;end;5:
writeln;end;end;end..;vara,b,c,d,e:
integer;right:
boolean;procedures1;beginwriteln;right:
=trueend;procedures2;beginwriteln;right:
=falseend;procedures3;varh:
integer;beginwrite;readln;ifh=x+ythens1elses2end;procedures4;varh,w:
integer;beginifx =x;x: =y;y: =wend;write;readln;ifh=x-ythens1elses2end;procedures5;varh: integer;beginwrite;readln;ifh=x*ythens1elses2end;beginrandomize;e: =0;fora: =1to10dobeginc: =random+10;d: =random+10;b: =random;casebof0: s3;1: s4;2: s5;end;ifrightthene: =e+10;end;writelnend.
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 上机 实验 报告
![提示](https://static.bdocx.com/images/bang_tan.gif)