欢迎来到天天文库
浏览记录
ID:24920895
大小:902.50 KB
页数:23页
时间:2018-11-17
《实验6数组程序设计》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、实验6数组程序设计实验目的:1.掌握的定义方法。2.掌握静态和动态数组使用。3.掌握控件数组的产生方法4.明确控件数组中控件名称的特点5.掌握运用控件数组的编程方法。实验6.1一维数组实验任务:编程随机产生10个任意的两位正整数,并把它们保存在数组a(1To10)中,要求输出数组中所存放的10个数值,如图6-1所示。图6-1实验6.1的实验结果提示:可以根据Rnd函数的取值范围来确定如何随机产生两位正整数。实验6.2二维数组实验任务:编程用InputBox函数输入一个二维数组(矩阵),并在窗体上按如图6-2所示的标准格式输
2、出每行中最大的元素。109图6-2二维数组的输出提示:1.输入时InputBox上的提示信息要表明当前输入的是矩阵中的哪一个元素(动态显示方法),如图6-3所示。图6-3输入框2.数组输入和输出,一般情况下都要使用两重循环结构。外面一重循环对应于行的变化,里面一重循环对应于列的变化(列的变化比行的变化快)。标准输出方式是在Picture1.Print语句的输出项之间用逗号间隔,输出时要产生3行´4列的效果,还应该在两重循环之间添加一个无参数的Picture1.Print语句,用来换行。求每行的最大值也需要通过双重循环实现。
3、实验步骤:1.完善代码OptionExplicitPrivateSubForm_Click()Dima(4,3)AsInteger,iAsInteger,jAsInteger109DimmaxAsIntegerFori=1To4Forj=1To3a(i,j)=InputBox("请输入矩阵的第("&i&","&j&")元数","输入矩阵元数")Picture1.Printa(i,j),NextjNextiFori=1To4Forj=2To3Ifmax4、行最大的是:";maxNextiEndSub2.保存文件,调试运行。思考:如果要求显示每行最大元素的行列位置,应如何修改代码。实验6.3判断完数实验任务:已知一个数如果恰好等于它的因子之和,这个数就被称为“完数”。一个数的因子是指除了该数本身以外能够被其整除的数。例如6是一个完数,因为6的因子是1,2,3,而且6=1+2+3。要求编程对于任意输入的一个数,能够判断出该数是否是完数,并对不同结果进行输出;单击“输入下一个数”时,要清除文本框和图片框中的内容,并且光标在文本框中闪烁。提示:可以将输入的数的因子逐个求出,放到数组5、中,并对因子进行累加,若为完数或不是完数结果输出如图6-4所示。因为无法预知因数的个数,所以要使用动态数组。109图6-4运行结果界面实验步骤:1.窗体布局,在窗体上摆放Label、TextBox、Frame、PictureBox(用于显示结果)各一个,在将三个CommandButton拖放到窗体上,具体布局参见图6-4。2.完善代码PrivateSubCmdJudeg_Click()DimmAsInteger,iAsInteger,jAsInteger,kAsIntegerDima()m=Text1.TextReDima6、(1)'重定义数组a(1)=1‘k=1j=1Fori=2To‘m-1IfmModi=0Thenk=k+i'因数和j=j+1'因数个数ReDimPreservea(j)'重定义数组,且保留原有数据a(j)=i'将因数保存在数组中EndIfNextiIfm=kThenPicture1.Printm&"是完数,因为"Picture1.Printm;"=";109Fori=1ToUBound(a)-1'UBound(a)求数组上界函数Picture1.Printa(i);"+";NextIPicture1.Printa(i)'输出7、最后一个因数ElsePicture1.Printm&"不是完数"EndIfEndSubPrivateSubCmdExit_Click()UnloadMeEndSubPrivateSubCmdNext_Click()Picture1.Cls'清除图片框中内容Text1.Text=""‘Text1.SetFocusEndSub3.保存文件,调试运行。思考:如何修改程序求出1000以内的所有“完数”并将结果存入一个文件?试一试。实验6.4成绩统计实验任务:编程随机产生32个学生的计算机课程的成绩存放数组Mark(1To32)中,8、统计各分数段50~59、60~69、70~79、80~89、90~100的人数n以及求出最高分max和最低分min。结果输出要求:32名学生的成绩按每行8个显示在窗体上,第5行显示最高分和最低分,并以同样输出格式将结果存放于顺序文件out.dat中。提示:统计各分数段的人数,可以利用数组下标来实现。实验
4、行最大的是:";maxNextiEndSub2.保存文件,调试运行。思考:如果要求显示每行最大元素的行列位置,应如何修改代码。实验6.3判断完数实验任务:已知一个数如果恰好等于它的因子之和,这个数就被称为“完数”。一个数的因子是指除了该数本身以外能够被其整除的数。例如6是一个完数,因为6的因子是1,2,3,而且6=1+2+3。要求编程对于任意输入的一个数,能够判断出该数是否是完数,并对不同结果进行输出;单击“输入下一个数”时,要清除文本框和图片框中的内容,并且光标在文本框中闪烁。提示:可以将输入的数的因子逐个求出,放到数组
5、中,并对因子进行累加,若为完数或不是完数结果输出如图6-4所示。因为无法预知因数的个数,所以要使用动态数组。109图6-4运行结果界面实验步骤:1.窗体布局,在窗体上摆放Label、TextBox、Frame、PictureBox(用于显示结果)各一个,在将三个CommandButton拖放到窗体上,具体布局参见图6-4。2.完善代码PrivateSubCmdJudeg_Click()DimmAsInteger,iAsInteger,jAsInteger,kAsIntegerDima()m=Text1.TextReDima
6、(1)'重定义数组a(1)=1‘k=1j=1Fori=2To‘m-1IfmModi=0Thenk=k+i'因数和j=j+1'因数个数ReDimPreservea(j)'重定义数组,且保留原有数据a(j)=i'将因数保存在数组中EndIfNextiIfm=kThenPicture1.Printm&"是完数,因为"Picture1.Printm;"=";109Fori=1ToUBound(a)-1'UBound(a)求数组上界函数Picture1.Printa(i);"+";NextIPicture1.Printa(i)'输出
7、最后一个因数ElsePicture1.Printm&"不是完数"EndIfEndSubPrivateSubCmdExit_Click()UnloadMeEndSubPrivateSubCmdNext_Click()Picture1.Cls'清除图片框中内容Text1.Text=""‘Text1.SetFocusEndSub3.保存文件,调试运行。思考:如何修改程序求出1000以内的所有“完数”并将结果存入一个文件?试一试。实验6.4成绩统计实验任务:编程随机产生32个学生的计算机课程的成绩存放数组Mark(1To32)中,
8、统计各分数段50~59、60~69、70~79、80~89、90~100的人数n以及求出最高分max和最低分min。结果输出要求:32名学生的成绩按每行8个显示在窗体上,第5行显示最高分和最低分,并以同样输出格式将结果存放于顺序文件out.dat中。提示:统计各分数段的人数,可以利用数组下标来实现。实验
此文档下载收益归作者所有