1、“高级语言程序设计”课程实习报告1石家庄经济学院“高级语言程序设计”课程实习报告班 级: 4101090302 姓 名: 李春平 学 号: 410109030222 日 期: 2011-10-19 “高级语言程序设计”课程实习报告2目录1.实习目的 32.实习题目与程序功能 33.算法设计 34. 主要数据结构和标识符及其说明 .35. 程序运行实例 .36. 源程序清单 .47. 实习体会 .4“高级语言程序设计”课程实习报告31.实习目的(1)掌握 if 语句的基本语法、语义。熟练使用 if 语句进行分支结构的程序设计。(2)掌握嵌套的分支结构。(3)熟练运用 if thenelse 语句
2、,以及 for 语句,while 语句 repeat 语句。 (4)掌握基本的程序调试技能。能够使用 Trace Into 控制程序的运行步骤,能够使用 Watch 监视表达式的值。(5)能够合理的设计程序的测试用例2.实习题目与程序功能实习题目:从键盘输入所练习的项目能够自己出题并判断答案的对错。功能描述:(1) 当输入 1 及所选项目为“加法”时自动输出十以内的加法运算并判断所输答案的对错并计算总得分。(2) 当输入 2 及所选项目为“减法”时输出十以内减法运算并判断所输答案得对错并计算总得分。(3) 当输入 3 及所选项目为“乘法”时输出十以内乘法运算并判断所输答案得对错并计算总得分。(
3、4) 当输入 4 及所选项目为“除法”时输出十以内除法运算,输入商和余数并判断所输答案得对错并计算总得分。性能要求:要保证程序有足够的健壮性。3.算法设计(1)分析首先判断运算是哪一种如果是加法、减法、乘法或除法则给出十个十以内的此种运算,给出对错信息和等级,结束程序;输入的是退出程序选项则自动退出。(2) 算法atrue;score10;score20;score30;score40;输入 所练习的项目循环:i 从 1 到 10 步长为 1 做判断若 n=1 做 x1random(10);x2random(10);读入 result若 rsultx1+x2,则输出正确 scorescore+
4、10 否则输出错误提示;执行步骤 5若 n=2 做 x1random(10);x2random(10);若 x1x2 则 resultx1-x2,若 输入的 result 正确则 scorescore+10否则输出错误提示,执行步骤 5; 若 x1x2 则若 x2=0 则跳过;否则 trade(x1-reminder) div x2;reminderx1 mod x2;若输入的(reminder,trade)正确则 score4score4+10;否则输出错误提示;执行步骤 5;若 x10 then 考虑到小学生不会做负数运算则通过比较 x1,x2 的大小只做正数运算beginwrite(x1
5、,-,x2,=);read(result);if result=x1-x2 thenbeginwriteln(正确);“高级语言程序设计”课程实习报告10score2:=score2+10;endelse writeln(错误,继续努力! );endelsebeginwrite(x2,-,x1,=);read(result);if result=x2-x1 thenbeginwriteln(正确);score2:=score2+10;endelse writeln(错误,继续努力! );end;endelse if n=3 thenbeginx1:=random(10);x2:=random(
6、10);write(x1,x,x2,=);read(result);if result=x1*x2 thenbeginwriteln(正确);score3:=score3+10;endelsewriteln(错误,继续努力!);endelse if n=4 thenbeginx1:=random(10);x2:=random(10);if x1-x20 thenbeginif x2=0 then continue;write(x1,/,x2,=);read(trade,reminder);if(reminder=x1 mod x2)and(trade=(x1-reminder) div x2)
7、 then 商和余数的运算beginwriteln(正确);score4:=score4+10;“高级语言程序设计”课程实习报告11endelse writeln(错误,继续努力! );end;if x1-x2=90)or(score2=90)or(score3=90)or(score4=90)thenwriteln(优秀)elseif(score1=70)or(score2=70)or(score3=70)or(score4=70)thenwriteln(良好)elseif(score1=60)or(score2=60)or(score3=60)or(score4=60)thenwritel
8、n(及格)elseif(score160)or(score260)or(score360)or(score460)thenwriteln(不及格);if n=1 thenwriteln(你的得分是,score1)else if n=2 thenwriteln(你的得分是,score2)else if n=3 thenwriteln(你的得分是,score3)else if n=4 thenwriteln(你的得分是,score4);end;writeln;“高级语言程序设计”课程实习报告12readln;readlnend. 7. 实习体会写作内容要求:实习中遇到的问题及解决过程、实习中产生的
9、错误及原因分析、实习的体会及收获、对搞好今后实习提出建设性建议等。(1) 当 if 语句要控制多条语句时,多条语句要使用 beginend,将多条语句变成一条符合语句。(2) For 语句 while 语句 repeat 语句等在控制多条语句时也要用到 begin end(3) 实习出现的问题对除法的要求除数不能是零的特殊情况,还有小学生会做题型的范围有界定问题要考虑到 x1,x2 的大小问题,当分母为零时系统自动返回到初始界面所以用到了 continue 语句。(4) 经过几周的上机实验对编程有了一定了解本次实验程序相对较长因此用到调试技术如 run to cursor(运行到光标所在处) 很重要大的程序不能只用 F7 来一步步追踪。