资源描述
请参考8_2.exe程序的运行结果,新建一个工程,完成"我的计算器"程序的设计,该程序可以对输入的两个数据进行+、-、×、÷的运算。将完成后的工程文件以Design.Vbp、窗体文件以Design.frm保存到D:\8_2目录下。
具体要求如下:
1. 程序界面设计参考图示。
2. 程序运行后或每次开始运算时,首先出现第一个文本框,其它文本框不出现;
3. 当在第一个文本框输入数据后,按"+","-","×","÷"按钮的任一个,将运算符显示出来并出现第二个文本框。要求4个运算符按钮用控件数组设计实现。
4. 在第二个文本框中输入数据后按"="按钮,出现第三个文本框并显示运算结果。
5. 按"清空"按钮后,可以做下一次计算。
6. 按"结束"按钮退出程序运行。
思考题:有哪些方法可以设计出控件数组?
提示:
1. 程序界面设计参考图示。
建议“+”,“-”,“×”,“÷”四个按钮组成运算键数组,编程简洁。参考例3-7“我的计算器”。
2. 程序运行后或每次开始运算时,首先出现第一个文本框,其它文本框不出现;
对有关控件的有关属性在Form_Load事件中设置或属性窗口中直接设置。
3. 当在第一个文本框输入数据后,按“+”,“-”,“×”,“÷”按钮的任一个,将运算符显示出来并出现第二个文本框。要求4个运算符按钮用控件数组设计实现。
运算键数组的单击事件除了要显示运算符、第二个文本框外,关键是需要一个模块级的变量保存运算符的运算要求。
4. 在第二个文本框中输入数据后按“=”按钮,出现第三个文本框并显示运算结果。
根据模块级变量所保存的运算要求进行运算并将计算结果显示在第三个文本框中。
说明:由于是简单计算器,界面上有一个显示运算符的标签,所以也可以不通过模块级变量读取运算要求,而直接去读取界面上那个标签所显示的运算符进行计算。
5. 按“清空”按钮后,可以做下一次计算。
恢复界面的初始属性设置。
6. 按“结束”按钮退出程序运行。
下载9_1.exe,9_1.frm
请参考9_1.exe程序的运行结果,下载9_1.frm窗体文件,完成"数组练习二"程序的设计,并将工程文件以Design.Vbp、窗体文件以Design.frm保存到D:\9_1目录下。
具体要求如下:
1. 下载的"9_1.frm"文件是写了一部分程序的窗体文件,已经产生了一个4*4的二维数组,请按以下说明编写四个命令按钮的单击事件过程。
2. 按钮"第一题":计算二维数组的两条对角线上的数据和
3. 按钮"第二题":找出二维数组中最大数以及它所在的行下标和列下标
4. 按钮"第三题":求每行的平均值、并把二维数组按行平均值从大到小重新排列
5. 按钮"第四题":将排序后的二维数组进行转置、即交换行和列(第1行和第1列交换、第2行和第2列交换……)
提示:
1. 下载的“9_1.frm”文件是写了一部分程序的窗体文件,已经产生了一个4*4的二维数组,请按以下说明编写四个命令按钮的单击事件过程。
下载的窗体已经编写了Form_Activate事件代码,为二维数组各元素进行赋值并输出了该数组。Form_Activate事件是在Form_Load事件之后窗体加载到内存后并成为活动窗体时触发的。
2. 按钮“第一题”:计算二维数组的两条对角线上的数据和
两对角线的元素分别各有4个,所以该问题是对4个数求和的问题。可以用循环结构完成。程序结构如下:
For i = 1 To 4
sr = sr + ? '对a(1,1)、a(2,2)、a(3,3)、a(4,4)累加
sl = sl + ? '对a(1,4)、a(2,3)、a(3,2)、a(4,1)累加
Next i
3. 按钮“第二题”:找出二维数组中最大数以及它所在的行下标和列下标
先假设最大数max=0;所在行下标row=0;列下标col=0;然后对二维数组的每个元素逐个进行比较,找出真正的max、row和col。程序结构如下:
max = 0: row = 0: col = 0
For i = 1 To 4
For j = 1 To 4
If a(i, j)>max Then
…… '刷新max、row和col
End If
Next j
Next i
4. 按钮“第三题”:求每行的平均值、并把二维数组按行平均值从大到小重新排列
参考成绩处理应用实例
5. 按钮“第四题”:将排序后的二维数组进行转置、即交换行和列(第1行和第1列交换、第2行和第2列交换……)
注意交换两个变量一定要借助第三个变量,交换时只要将左下三角区域(不含对角线)的数组元素与右上三角区域的对应数组元素进行交换即可。程序结构如下:
For i = 1 To 4
For j = i + 1 To 4
…… '交换a(i,j)和a(j,i)
Next j
Next i
展开阅读全文