(1)考生文件夹下有一个工程文件sjt3.vbp,其功能是: ①单击“读数据”按钮,则将考生文件夹下in3.dat文件中的100个0一999的整数读入到数组a申; ②单击“计算”按钮,则找出这100个整数中的所有水仙花数,并将它们的最大值与最小

admin2015-06-30  31

问题  (1)考生文件夹下有一个工程文件sjt3.vbp,其功能是:
  ①单击“读数据”按钮,则将考生文件夹下in3.dat文件中的100个0一999的整数读入到数组a申;
    ②单击“计算”按钮,则找出这100个整数中的所有水仙花数,并将它们的最大值与最小值分别显示在文本框Text1、Text2中(注:当一个数的值等于该数中的各位数字的立方和时,此数被称为水仙花数。如:153=13+53+33,所以153就是一个水仙花数)。
    在窗体文件中已经给出了全部控件(如图所示)和“读数据”命令按钮的事件过程以及判断一个数是否为水仙花数的通用过程。要求编写“计算”命令按钮的事件过程。
    注意:考生不得修改窗体文件中已经存在的控件和程序,在结束程序运行前,必须进行“计算”,并且必须通过单击窗体右上角的“关闭”按钮结束程序,否则无成绩。最后,程序按原文件名存盘。

    (2)在考生文件夹下有一个工程文件sjt4.vbp。请在窗体上添加一个组合框,名称为cbl,并输入三个列表项:“3”、“7”、“11”(列表项的顺序不限,但必须是这三个数字);添加一个名为Text1的文本框;再添加一个标题为“计算”、名称为C1的命令按钮,如图所示。请编写适当的事件过程,使得在程序运行时,在组合框中选定一个数字后,单击“计算”按钮,则计算5000以内能够被该数整除的所有数之和,并放入Text1中。最后,按原文件名存盘。
    提示:由于计算结果较大,应使用长整型变量。
    注意:考生不得修改窗体文件中已经存在的程序,在结束程序运行之前,必须至少进行一次计算。并且必须用窗体右上角的关闭按钮结束程序,否则无成绩。

选项

答案(1)【操作步骤】 步骤1:打开本题工程文件。 步骤2:分析并编写程序代码。 程序提供代码 Dim a(100) As Integer Private Sub Command1_Click() Dim k As Integer Open App.Path & "\in3.dat" For Input As #1 For k = 1 To 100     Input #1, a(k) Next k Close #1 End Sub Private Sub Command2_Click() ’需考生编写 End Sub ’以下Function 过程用于判断某数是否为水仙花数 Function isnarc(p As Integer) x = Fix(p / 100) y = Fix((p - x * 100) / 10) z = p - x * 100 - y * 10 If p = x ^ 3 + y ^ 3 + z ^ 3 Then     isnarc = True Else     isnarc = False End If End Function Private Sub Form Unload(Cancel As Integer) Open App.Path & "\out3.dat" For Output As #1 Print #1, Val(Text1.Text) Print #1, Val(Text2.Text) Close #1 End Sub 程序结束 参考答案 Dim i As Integer Dim max As Integer, min As Integer max = -1 min = 1000 For i = 1 To 100 If isnarc(a(i)) Then If max <= a(i) Then max = a(i) If min >= a(i) Then min = a(i) End If Next i Text1 = max Text2 = min 步骤3:按照题目要求调试并运行程序。 步骤4:关闭程序后,按题目要求存盘。 (2)【操作步骤】 步骤1:打开本题工程文件,在窗体中添加一个文本框,一个组合框和一个命令按钮。 步骤2:设置窗体中控件的属性,控件的属性见表3.12。 [*] 步骤3:分析并编写程序代码。 程序提供代码 窗体代码 Private Sub Form_Unload(Cancel As Integer) unload sub End Sub 模块代码 Sub unload sub() Open "out4.dat" For Output As #1 Print #1, Val(Form1.Cb1.Text), Val(Form1.Text1. Text) Close #1 End Sub 程序结束 参考答案 Private Sub C1_Click() Dim sum As Long Dim n As Integer Dim i As Integer n = Val(Cb1.Text) For i = n To 5000 If i Mod n = 0 Then sum = sum + i End If Next i Text1.Text = sum End Sub 步骤4:调试并运行程序,关闭程序后按题目要求存盘

解析
转载请注明原文地址:https://jikaoti.com/ti/ul60FFFM
0

最新回复(0)