《(二)-程序调试(参考复习资料)概要.docx》由会员分享,可在线阅读,更多相关《(二)-程序调试(参考复习资料)概要.docx(12页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、(二)程序调试(参考答案)程序调试题的操作步骤是:(1)建立一标准工程,将这一模块程序添加到工程中。假如你是通过双击标准模块程序 1进入 系统的,则首先须要添加一个窗体模块。(2)将该标准模块程序1中代码的指定的错误修改正确或在指定的空位填上适当的语 句,并在窗体模块中编写代码(经常写在窗体的()事务中)调用标准模块中的过程或用 户自定义函数(假如在标准模块程序1有多个过程或函数,要留意调用的先后依次,否 则得不到正确结果),调试运行程序,使其能输出正确结果。(3)按试题要求保存工程。假如你的计算机中没有模块程序1,你必需先自己新建一工程,再添加一个默认标准模 块,将题目所附的参考程序输入(可
2、复制粘贴),将其中用(n为1, 2, 3, 4, 5)部分 删除后改为合适的内容或将用*错误n*标示的下一语句中的错误改正,然后调 试运行程序使其达到该题目的要求。1.已有一模块文件。该模块中的过程是用于计算1220!,并打印出计算结果,但不完整, 请在横线上填入必要的内容,使其完整。模块中的函数过程用于计算n!。程序如下:(n )11i = 1 n二 * i*101nn = 20i = 1 n=+ (i)11 &2.已有一模块文件。该模块中的过程是产生100个0, 99范围内的随机整数,统计个 位上的数字分别为1, 2, 3, 4, 5, 6, 7, 8, 9, 0的数的个数并打印出来。程序
3、如下:0a(l 100)x(l 10) i ,P产生100个0, 99范围内的随机整数每行10个打印出来i = 1 100错误1错误1n =()vL*T|X TX XTX XfX XT1*Ts Tx Jx rx= +i = i + i a(j)a (j)1 a(i)11 a(i) 或a(10)即最终一个(a , b )=aa = bb =14.已有一模块文件。该模块中的过程是用于打印一个5行5列的数字方阵,并使两对角 线上元素均为1,其余均为2。要求打印的数字方阵两列数字之间空3格,两行之间空一 行。程序如下:0下面程序用于打印5行5列的数字方阵使两对角线上元素均为1,其余均为2要求打印的数字
4、方阵两列数字之间空3格,两行之间空一行只要修改标出出错位置的下面那一条语句a(5, 5) 1 , Ji = 1 5j = 1 5* 错误 1 *i j i 6 - ja(i, j) = 2 a(i, j) = 16, 7, 8, 9, 0的数的个数 将统计结果打印出来i = 1 100,TS XTX XT XTX XTX XTX ZT ZTp 二(a(i)P = o p, zts Is xTs xTs xTx zts zTs错误210) =10 错误3slzviz sixXTX XTX X7X XTX XTX XT% XTX XTS XTX XT*求个位上的数字slz six six six
5、xlx vtxr% Js XjSZtS TS ZjS zjs XiSa(i) ( * 100)a(i) Jx six !z 1* six six xlz xjx X7X XTX XjX XTX XjX XjX XTS* 错误 4+ 个个位数为0统计结果保存1 个位数为 +(P)+ 共 + (x(i) 在x(10)中13.已有一模块文件。该模块中的过程是用于在一个字符串变量中查找,并用消息框给 出查找结果的报告:没有找到或找到的个数,但不完整,请在横线上填入必要的内容, 使其完整。程序如下:0在字符串1中查找 1字符串长度查到的个数11二(请输入一个字符串)=(1)1 二 1=0i二(1,2)二
6、=+ 1没有找到!找到了 & () & 个4.已有一模块文件。该模块中的 过程是猜数嬉戏,由计算机产生一个1, 100的随意 整数,输入猜数后计算机给出提示,假如5次后还没有猜中就结束嬉戏并公布正确答案。 程序如下:0错误 1 *100+1)产生一个1100的随意整数或(*100)+1(输入猜数X) XR1 猜中了5* 错误 2 * R1 太大了,接着猜!1 太小了,接着猜!错误 3 *1* six slz xtz xlz sL* vlx xlx xjx xjx xjx Tx xjx xjx xjx+ *2 + *5 = 60 * 错误 3 * 错误 4 * 1 ; k7 .已有一模块文件。该
7、模块中的过程是将一批数据中小于零的数与它们的积打印出来, 但不完整,请在横线上填入必要的内容,使其完整。模块中的过程是产生数据,数据的 取值范围为7010之间的随机数。程序如下:n = 10a(l n)过程是将一批数据中小于零的数与它们的积打印出来数据由过程产生,数据的取值范围为-1010之间的随机整数0*1t i = 1 10t = t * a(i)11 t01 原始数据1Ji = 1 n随机产生0或1,为o时取负,为I时取正j =(* 2)0 j = -1a(i)= j * ( * (n + 1)1 a(i);18.已有一模块文件。该模块中的过程是用于统计一个有7个工作人员的餐厅发工资所需
8、 的100元、50元、10元、5元和1元的票面数,但不完整,请在横线上填入必要的内容, 使其完整。八模块中的过程是给出7个员工的工资。(工资单位是元)程序如下:(7)0, 100元票面数量、总数量, 50元票面数量、总数量, 10元票面数量、总数量, 5元票面数量、总数量, 1元票面数量、总数量工资总计*1 ,=0二 0=0=0=0=0i = 1 7=(i )二(/ 100)二-* 100二(/ 50)二一* 50二(/ 10)二 一 * 101一一=(/ 5)一 * 5+ +-二+-1X 1X IX 1X 1X IX& & 元 o o IX 7 7()/( z(O7GO7G一兀.-10 11
9、 -ID 11长 引长长 引引长长 rtr元 & 17 &()(1) = 1398(2) = 1765(3) = 689(4) = 1500(5) = 832(6) = 590(7) = 12009.已有一模块文件。该模块中的 过程用于查找一个5行4列的二维数组中行平均值最 大的行,并将该行全部数据调整到第一行的位置。模块中的过程用于产生原始数据;过程用于计算各行的平均值;过程用于打印二 维数组和行平均值。程序如下:a(l 5, 1 4)(1 5)01J最大平均值的行号 找出最大平均值所在行错误 1 * 错误 2 *,交换第一行与最大平均值所在行 j = 1 4二 a(l, j)* 错误 3
10、*a(l, j)= a (, j)a (, j)=J交换对应行的平均值=(1)(1) = 00 =打印交换后的数据1 交换后的数据和平均值01J产生5*4数组i 二 1 5j = 1 4a(i, j)=(100 * )*J01J计算各行平均值i 二 1 5=0j = 1 4* 错误 4 * 二 + a(i, j)J(i) = / 41将数组和平均值打印出来1 原始数据和平均值1 a(i, j) ; (3);J1 平均值=;(i)110 .已有一模块文件。该模块中的 过程用于推断一个字符串是否“回文”。所谓“回 文”是指字符串顺读与倒读都是一样的,如“潮起潮落,落潮起潮。程序如下:011二n青输
11、入随意的字符串)输入随意字符串,如“潮起潮落,落潮起潮=(1, k, 1)从左边起逐个取出一个字符*错误 3*(1, +1 - kJ)从右边起逐个取出一个字符*错误 4*k = k + 1k / 21 1 & 是回文1 1 & 不是回文11.已有一模块文件。该模块中的过程是冒泡排序法;过程产生10个1, 20之间互不相 同的随机整数;过程交换两个变量的数值。程序如下:n = 10a(l n)过程是冒泡排序过程交换两个变量数值过程产生10个1, 20之间互不相同的随机整数0 1 , Ji = 1j = i + 1 na(j) a(i)* 1 a(j)kL* XL*Tx XTX XT Ts TX
12、XTX Xi% a去掉括号,或改为(a(j), a(i)i = i + 1xl* vtx kIx vl viz 1*xj、xtx xTx xTx Jx/zTx Tx xTx xTx zrx ztsi n1 排序结果i = 1n1 a(i);*1.Jbi = 1 n b = ba(i) = (20 * + 1) b =不不不不不不 J 不不不不不不 j = 1 i - 1a(i) = a(j) b =*J1 a(i)*1XTX XTX TXXTX XTX XTX(a , b )去掉,数组不能以传递12.已有一模块文件。该模块中的 过程用于将一个十六进制整数转换为十进制整数;函 数过程用于将一个十六进制符号转换为数值。程序如下:0十六进制数十进制数(输入一个十六进制整数)