. 题目1. 建立学生档案容包括学号姓名年龄性数学物理英语3门功课成绩求实现功:1) 数输入2) 查询某学生成绩3) 均排列输出4) 统计某门课分数段数5) 删某学生记录2. 编程实现二位数进行加减运算运行次程序做10道题完成出成绩(题10分)二. 设计思想模块划分11.先定义需条件例姓名学号性三门功课成绩均分等2.输入姓名学号性年龄三门功课成绩输出相应姓名学号性年龄三门功课成绩3.印表头4.求出均分印出均分5.查找学生印出学生相关资料均分高低排列6.统计学生科成绩否60分果通否没通印出结果7.删学生选中删学生果确定该学生切记录变02.1.机调函数产生两值1099机整数分放cd中作运算时运算数2.机调函数产生值13 机整数放入b中选择运算根b值选择运算b1时进行c+d运算练b=2 时进行cd运算练b3时进行c×d运算练完成算题出否正确信息3.根答案正确否统计正确时显示’right’ 错误时显示’wrong’4.步骤1 2 3 4 重复10次5.输出学生成绩 三. 运行结果1 Input the 1 student num03namewfage18sexfmath98phy75eng65Input the 2 student num06namescage17sexfmath78phy45eng65Input the 3 student num09nameytage17sexmmath69phy75eng50 1readin 2finds 3del 4tj 5exit1 table num name age sex math phy eng ave 3 wf 18 f 980 750 650 793 9 yt 17 m 690 750 500 647 6 sc 17 f 780 450 650 627 1readin 2finds 3del 4tj 5exit2Into number3 num name age sex math phy eng ave 3 wf 18 f 980 750 650 793 1readin 2finds 3del 4tj 5exit3Into number6 num name age sex math phy eng ave 6 sc 17 f 780 450 650 626 true YNy1 table num name age sex math phy eng ave 3 wf 18 f 980 750 650 793 9 yt 17 m 690 750 500 647 0 0 0 f 00 00 00 00 1readin 2finds 3del 4tj 5exit4 1input the math 2input the phy 3input the eng 1math pass num is 3 no pass num is 0232+82114right97*151455right995841right766610right58+1371right37+4986right99+52151right49*695462wrong733831wrong86+34120rightmark is 80
四. 错误改正方法1题编写程中常出现begin end 配始数相程序中常出现’unknown identifier’没定义错误程序前加定义type mismatch’类型匹配根前容重新定义2题编写中题目求两两位数运算果写成crandom(100)运行程中会出现位数运算写成crandom(90)+10五. 实结1.第题程序编写较复杂需较定义面程序部分常出
现标识符重复导致类型匹配部分编连接法调2.第二题较第题简单书例题类似较简单中出现问题两题中出现问题学帮助完成总说两题程序较困难 六. 程序清单1program twinsconst m3 n3 typestudentrecordnumintegernamestring[3]ageintegersexcharsarray[1n] of realmathengphyrealaverealendsarrarray[1m] of studenttaarray [1m] of studentfstring[6]varstusarr ctta kdintegerprocedure readin (var stusarr)const wrong'0'm')and(sex<>'f') dobeginwrite('sex') readln(sex)endfor i1 to n do begincase i of1begin write('math') readln(s[i])while(s[i]<0)or(s[i]>100)dobeginwriteln(wrong)write('math') readln(s[i])endend2begin write('phy') readln(s[i])while(s[i]<0)or(s[i]>100)dobeginwriteln(wrong)write('phy') readln(s[i])endend3begin write('eng') readln(s[i])while(s[i]<0)or(s[i]>100)dobeginwriteln(wrong)write('eng') readln(s[i])endendendendstu[j]aendwritelnendendprocedure ave (var stusarr)var jiinteger krealbeginfor j1 to m dobegink0with stu[j] dobeginfor i1 to n do kk+s[i]aveknendendendprocedure px (var stusarr)var tmta jipintegerbeginfor j1 to m dobeginpjfor ij+1 to m doif stu[i]ave>stu[p]ave then pitm[1]stu[p] stu[p]stu[j] stu[j]tm[1]endendprocedure head (ctta)var iintegerbeginwrite(' ') for i1 to 72 do write('')writelnwrite(''' num'4' ''name'9' ''age'8' ''sex'5' ''math'6' ''phy'9' ''eng'8' ')writeln('ave'6' ')write(' ') for i1 to 72 do write('')writelnwith ct[1] dobeginwrite(''num7' 'name8' 'age8' 'sex5' ')for i1 to n do write(s[i]7' ')write(ave10' ')writelnendwrite(' ') for i1 to 72 do write('')writelnendprocedure find (var stusarr)var niinteger ubooleanbeginutruewhile u dobeginwrite('Into number')readln(n)for i1 to m dobeginif stu[i]numn then beginct[1]stu[i]ufalsediendendendendprocedure del (var stusarr)var iinteger bcharbeginhead(ct)write('true YN') readln(b)if b'y' then begin write('1')with stu[d] dobeginnum0 name'0' age0 sex'f'for i1 to n do s[i]0ave0endendelseendprocedure tj (var stusarr)var w1q1q2numjintegerh1h2h3booleanbeginh1falseh2falseh3falseq10q20writeln(' '30'1input the math 2input the phy 3input the eng ')readln(w1)case w1 of1h1true2h2true3h3trueendif h1 thenbeginbeginfor j1 to m dowith stu[j] doif stu[j]math>60 thenq1q1+1elseq2q2+1writeln('math')endif h2 thenbeginbeginfor j1 to m dowith stu[j] doif stu[j]phy>60 thenq1q1+1elseq2q2+1writeln('phy')endif h3 thenbeginbeginfor j1 to m dowith stu[j] doif stu[j]eng>60 thenq1q1+1elseq2q2+1writeln('eng')endendendendwriteln(' '5'pass num is 'q1)writeln(' '5'no pass num is 'q2)endprocedure head1 (var stusarr)var jiintegerbeginwriteln(' table'60)writelnwrite(' ') for i1 to 72 do write('')writelnwrite(''' num'4' ''name'9' ''age'8' ''sex'5' ''math'6' ''phy'9' ''eng'8' ')writeln('ave'6' ')write(' ') for i1 to 72 do write('')writelnfor j1 to m do beginwith stu[j] dobeginwrite(''num7' 'name8' 'age8' 'sex5' ')for i1 to n do write(s[i]71' ')write(ave101' ')writelnendwrite(' ') for i1 to 72 do write('')writelnendendbeginreadin(stu)ave(stu)k0while k<>5 dobeginwriteln('1readin 2finds 3del 4tj 5exit')read(k) readlnwhile (k<>1)and(k<>2)and(k<>3)and(k<>4)and(k<>5) dobeginwriteln(' mistakePlease again')read(k)endcase k of1 begin px(stu) head1(stu) end2 begin find(stu) head(ct) end3 begin find(stu) del(stu) px(stu) head1(stu) end4 begin tj(stu) end5 writeln('exit')endendend2program shadowvar abcdeintegerrightbooleanprocedure s1beginwriteln('right')righttrueendprocedure s2beginwriteln('wrong')rightfalseendprocedure s3 (xyinteger)var hintegerbeginwrite(x'+'y'')readln(h)if hx+y then s1else s2 endprocedure s4 (xyinteger)var hwintegerbeginif x
《香当网》用户分享的内容,不代表《香当网》观点或立场,请自行判断内容的真实性和可靠性!
该内容是文档的文本内容,更好的格式请下载文档