编程练习一到四及答案

更新时间:2023-10-13 18:09:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

编程练习一

1.按指定方法编程序实现如下分段函数。

lnx x>5

x

y= e 1≤x≤5 x3?2x?1 x<1

方法一:用单行If语句实现运行时,从文本框Text1输入x值,单击“计算”按钮Command1按以上公式计算y值,计算结果保留三位小数,显示于标签Label2上。

Private Sub Command1_Click() Private Sub Command1_Click() Dim x As Single, y As Single x = Val(Text1.Text)

'If x > 5 Then y = Log(x) Else If x >= 1 Then y = Exp(x) Else y = Sqr(Abs(x ^ 3 = 2 * x + 1))

If x > 5 Then y = Log(x)

If x >= 1 And x <= 5 Then y = Exp(x)

If x < 1 Then y = Sqr(Abs(x ^ 3 + 2 * x + 1)) Label2.Caption = Format(y, \End Sub

方法二:用块If语句实现运行时,用输入框(InputBox)输入x值,单击“计算”按钮Command1按以上公式计算y值,计算结果保留三位小数,显示于文本框Text2中。

Private Sub Command1_Click() Private Sub Command2_Click() Dim x As Single, y As Single

x = Val(InputBox(\请输入x的值\If x > 5 Then y = Log(x)

ElseIf x >= 1 Then y = Exp(x) Else

y = Sqr(Abs(x ^ 3 + 2 * x + 1)) End If

Text2.Text = Format(y, \End Sub

End Sub

方法三:用多分支选择语句实现运行时,用输入框(InputBox)输入x值,单击“计算”按钮Command1按以上公式计算y值,计算结果保留三位小数,显示于窗体上。

Private Sub Command1_Click() Private Sub Command3_Click()

Dim x As Single, y As Single

x = Val(InputBox(\请输入x的值\Select Case x Case Is > 5 y = Log(x) Case Is >= 1 y = Exp(x) Case Else

y = Sqr(Abs(x ^ 3 + 2 * x + 1)) End Select

Form1.ScaleHeight = 100 Form1.ScaleWidth = 100 CurrentX = 35 CurrentY = 90

Print Format(y, \End Sub

编程练习二

1.编程序实现:运行时单击窗体,用输入框(InputBox)输入n的值,求

1111?????的值,计算结果打印在当前窗体上。 1352n?1Private Sub Form_Click()

1

Private Sub Form_Click()

Dim n As Integer, s As Single, i As Integer n = Val(InputBox(\请输入n的值:\For i = 1 To n

s = s + 1 / (2 * i - 1) Next i

CurrentX = 200 CurrentY = 2200

Print \End Sub

2.编程序实现:运行时单击窗体,用文本框Text1输入x的值,求

1?3?5???(2n?1)小于x的最大值,计算结果显示于标签Label3上。

Private Sub Form_Click() 2

Private Sub Command1_Click()

Dim x As Double, F As Double, i As Integer x = Val(Text1.Text) F = 1

While F < x i = i + 1

F = F * (2 * i - 1) Wend

F = F / (2 * i - 1)

Label3.Caption = Str(F) End Sub

Private Sub Command2_Click()

Dim x As Double, F As Double, i As Integer x = Val(Text1.Text) F = 1: i = -1 While F < x i = i + 2 F = F * i

3、编写程序在窗体上输出如下图所示的图形。要求:通过输入框函数InputBox输入打印图形的行数和构成图形的字符,通过循环实现图形输出。

Private Sub Command1_Click()

Dim N As Integer, S As String, i As Integer N = Val(InputBox(\请输入行数:\S = InputBox(\请输入构成图形的字符\For i = 1 To N Print Tab(i);

For j = 1 To 2 * N - 2 * i + 1 Print S; Next j Print Next i End Sub

Private Sub Command2_Click()

Dim N As Integer, S As String, i As Integer N = Val(InputBox(\请输入行数:\S = InputBox(\请输入构成图形的字符\For i = N To 1 Step -1 Print Tab(N - i + 1); For j = 1 To 2 * i - 1 Print S; Next j Print Next i

End Sub

Private Sub Command3_Click()

Dim N As Integer, S As String, i As Integer N = Val(InputBox(\请输入行数:\S = InputBox(\请输入构成图形的字符\For i = N To 1 Step -1

Print Tab(N - i + 1); String(2 * i - 1, S) Next i End Sub

编程练习三

1.编程序实现:运行时,单击命令按钮Command1从键盘输入N个学生的成绩并显示于带水平滚动条的文本框Text1中,统计其中大于平均分的学生人数并显示于标签Label2中。 1

Dim A() As Single, N As Integer Private Sub command1_Click() Text1.Text = \

Dim num1 As Integer

Dim total As Single, average As Single num1 = 0

N = Val(InputBox(\请输入学生的人数:\ ReDim A(1 To N) For i = 1 To N

A(i) = Val(InputBox(\请输入第\& Str(i) & \个学生的成绩\\请输入成绩\\

Text1.Text = Text1.Text & Str(A(i)) & \ \ total = total + A(i) Next i

average = total / N For i = 1 To N Select Case A(i) Case Is > average num1 = num1 + 1 End Select Next i

Label2.Caption = \大于平均分的学生人数为\

End Sub

Private Sub Command2_Click() End End Sub

2. 编写程序实现:运行时,单击第一个按钮“生成随机数”(Command1),生成100个[100,199]之间的随机整数,存于一维数组B中显示于文本框Text1中,单击第二个按钮“求最小数”(Command2),求出这100个随机整数的最小数,并将结果显示在文本框Text2中。 2

Dim B(1 To 100) As Integer

Private Sub Command1_Click() Text1.Text = \ Randomize For i = 1 To 100

B(i) = Int(Rnd * 100 + 100)

Text1.Text = Text1.Text & Str(B(i)) & Space(2) Next i

End Sub

Private Sub Command2_Click() Dim Min As Integer

Min = B(1) ' 设变量Min的初始值为数组中的第一个元素值 ' 通过循环依次比较,求最小值 For i = 1 To 100

If B(i) < Min Then Min = B(i) Next i

Text2.Text = Str(Min) ' 显示最小值 End Sub

3.编程序实现:运行时,单击命令按钮Command1生成100个[-10,10]之间的随机整数,保存到数组A中,同时显示于带水平滚动条的文本框Text1中,单击命令按钮Command2对这100个数按从大到小的顺序排序,结果显示于带水平滚动条的文本框Text2中。 Dim C(1 To 100) As Integer Private Sub Command1_Click() Text1.Text = \ Randomize For i = 1 To 100

C(i) = Int(Rnd * 21 - 10)

Text1.Text = Text1.Text & Str(C(i)) & Space(3) Next i End Sub

Private Sub Command2_Click() For i = 1 To 99

For j = i + 1 To 100

本文来源:https://www.bwwdw.com/article/ec1f.html

Top