搜索
您的当前位置:首页正文

程序逻辑思维训练一

来源:爱够旅游网
信息技术

经典算法程序实现练习一

姓名:__________ 班级 : __________

1、填空完成程序,使得当单击窗体后,Label1上显示100以内(含100)偶数之和。 Private Sub Form_Click()

Dim i As Integer '定义变量i

Dim s As Integer '定义变量s,用于存放'100以内

(含100)偶数的和

s = 0

For i = 2 To 100_____________

s =________________

____________

Label1.Caption = ____________ End Sub

2、填空完成程序,编程计算1-1/2+1/3-1/4+...+1/99-1/100,单击窗体后,在窗体上显示结果。 Private Sub Form_Click()

Dim s As Single Dim i As Integer s =____________

For i = 1 To ____________Step 1

If i Mod 2 <> 0 Then

s = ___________________ Else

s = ___________________ End If

Next i Print \"s=\"&s End Sub

3、举重比赛中,60公斤级选手体重不能超过60公斤。填空完成程序,使得在文本Text1中输入一个大于60的数时,标签Label1显示\"超重!不能参赛!\";当输入一个小于等于60的数时,标签Label1显示\"合格,可以参赛!\"。 Private Sub Command1_Click()

Dim t As Single '定义变量t,值由文本框Text1读入 t =________________________ If __________________Then

Label1.Caption = \"超重!不能参赛!\" Else

Label1.Caption = \"合格,可以参赛!\" End if End Sub

4、这是一个显示评语程序,填空完成程序,在文本框Text1中

输入一个数后,单击\"评语\"按钮,在标签Label1显示评语。 '当输入一个小于60的数时,显示\"不及格\";

'当输入一个大于等于60且小于85的数,显示\"良好\"; '当输入一个大于等于85的数时,显示\"优秀\"。 Private Sub Command1_Click()

Dim Cj As Single '定义变量Cj,值由文本框Text1读入 Cj = Val(__________________) If Cj ____________ then Label1.Caption = \"不及格\"

ElseIf ___________________________________Then Label1.Caption = \"良好\" ElseIf Cj >= 85 Then

Label1.Caption = \"优秀\" End If End Sub

5、某公司2005年的总产值为2000万元,若总产值以每年5%的速度增长,多少年后总产值翻一倍?

填空完成程序,使得当单击窗体后,在窗体上输出问题答案。 Private Sub Form_Click()

Dim p As Single ' 变量p保存年产值 Dim n As Integer ' 整型变量n为所求年数 ____________

n = 0

Do While p < 4000 p = p *____________

n = ______________

Loop

Print \"n=\"&___________ End Sub

6、程序填空,使得当单击按钮后,Text1显示7!的值。 Private Sub Command1_Click() Dim a As Integer Dim i As Integer a = 1

For i = 1 To____________Step 1 a =____________ Next i

Text1.Text = Str((a)) End Sub

7、编程计算s=1!+2!+3!+„+8!的值并在窗体上打印出结果。 Private Sub Form_Click()

Dim s As Single 's变量用于存放计算结果 Dim p As Single

Dim i As Integer '定义一个循环变量 s =____________

'给s赋初值

1 / 4

信息技术

p = _____________ '给p赋初值 For i = 1 To 8 p = p * i s =____________

Next i Print \"s=\"; s End Sub

8、填空完成程序,使得当单击窗体后,计算1+2+3+„+N>500的N的最小值,并在文本框Text1中显示出来。 Private Sub Form_Click()

Dim s As Integer '变量s存放和 Dim n As Integer

s =____________ '为s赋初值 n =____________ '为n赋初值 Do While ____________ n = n + 1 s = s + n Loop

Text1.Text = Str(__________) End Sub

9、填空完成程序,使得单击窗体后,计算出1+2+3+„+N<500的N的最大值,并在文本框Text1中显示出来。 Private Sub Form_Click()

Dim s As Integer '变量s存放和 Dim n As Integer

n = ____________ '为n赋初值 s = ____________ '为s赋初值 Do While s < 500 n = n + 1 s =____________ Loop

Text1.Text = Str(___________) End Sub

10、打印出所有的“水仙花数”,所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个“水仙花数”,因为153=1^3+5^3+3^3。 Private Sub Command1_Click() Dim i As Integer

Dim a As Integer '百位 Dim b As Integer '十位 Dim c As Integer '个位

Dim x As Integer '统计找到的水仙花数的个数 List1.Clear'清空列表框 x = 0'计数变量赋初值0 For i = 100 To 999

a =_________________________ b =_________________________ c =_________________________

If i =____________________________________ Then List1.AddItem _______________ x =__________________ End If Next i

Text1.Text = Str(x) End Sub

11、求两正整数的最大公约数和最小公倍数。

求最大公约数可用辗转相除法: (1) 已知两数, A 除以 B 得余数 r

(2) 若 r = 0,则B为最大公约数,结束;否则执行(3) (3) A  B,B  r,再求余数并重复执行(2)

Private Sub Command1_Click()

Dim a As Integer, b As Integer '存放被除数和除数的变量 Dim x As Integer, y As Integer '存放原始数据 求公倍数用 Dim r As Integer '定义存放余数的变量 Dim t As Integer '定义两变量交换所需临时变

a = Val(Text1.Text) '从Text1获取第一个数 _________________________ '从Text2获取第二个数 If a < b Then '比较大小 确保a>=b _______________:______________:____________ End If

x = a: y = b '原始数据暂存 r =______________________ '获得初始余数

Do While _________________ '余数是否大于零 ______________________ '更新被除数 ______________________ '更新除数 ______________________ '更新余数 Loop

Text3.Text =___________ 'Text3显示最大公约数 _______________________ 'Text4显示最小公倍数 End Sub

12、填空完成程序,问:鸡兔同笼,共有100条腿,40个头,问鸡有几只,兔有几只?单击窗体后,在窗体上显示结果。 Private Sub Form_Click()

Dim Ji As Integer 'Ji变量表示鸡的个数 Dim Tu As Integer 'Tu变量表示兔的个数 Dim Leg As Integer 'Leg变量表示腿数

2 / 4

信息技术

For Ji = 1 To 40 Tu = ____________

Leg = ____________ + Tu * 4 '计算腿数

If Leg = __________ Then'如果腿正好100只,则打印。 Print \"鸡=\"+str(Ji)+\"只\兔=\"+str(Tu)+\"只\" End If Next Ji End Sub

13、在文本框Text1中输入一串字符,经过处理,在文本框Text2中逆序输出。如输入“abcd”,输出“dcba”。 (字符串叠加) Private Sub Command1_Click() Dim s As String Dim n As Integer Dim i As Integer

s = ___________________ '从Text1获取输入文本 n = __________ '获得输入字符串长度 For i = _______ To _______ Step _______ Text2.Text = ____________________________________ '提示:Mid函数每次取s中一个字母与text2进行连接,每一次循环是瞬间完成的,点击的一刹那就显示循环完成后最终的值。

Next i End Sub

14、在文本框Text1中输入一个整数,点击确定,在label1标签中显示。按上述方法输入多个整数,并显示在label1上。然后点击“逆序输出”,在列表框list1中逆序输出,编程实现,如下图。 (数组实现)

Label1.Caption = _______________________________ + \" \" Text1.Text = \"\"'清空text1以便输入新的整数 End Sub

Private Sub Command2_Click() For t = _________to________Step -1 List1.AddItem ___________ Next t End Sub

15、填空完成程序,使得单击\"显示\"按钮后,随机产生10个属于区间[0,100)的自然数,并保存于数组a中。然后在窗体上显示这10个数的平均值。 Private Sub Command1_Click() Dim a(9) As Integer Dim s As Single Dim i As Integer Me.Cls '清空窗体 s = 0

Randomize '随机发生器初始化 For i = 0 To____________Step 1 a(i) = Int(Rnd * 100) Print a(i) Next i For i = 0 To 9 s = ____________ Next i

Print \"这10个自然数的平均值=\"; s / 10 End Sub

16、随机产生10个[10,99]之间的整数,找出最大值、最小值。 Private Sub Command1_Click() ___________________ Dim i As Integer

Dim Max As Integer,Min As Integer '定义最大值最小值变量

Dim i As Integer Dim t As Integer

Dim a(1 To 100) As Integer Private Sub Form_Load() i = 0

Label1.Caption = \"\" '清空Label1对象的显示 End Sub

Private Sub Command1_Click() i = i + 1

a(i) =_____________________'从Text1获取输入

For i = 1 To 10 '循环处理10次 '构造产生[10,99]内的随机整数存储到数组元素

a(__ ) = Int(Rnd *____ ) +____

List1.AddItem Str(a(i)) '将该整数显示到列表框 Next i

max =______ '设置初始最大值 min =______ '设置初始最小值

For i = To 10 '循环比较处理 If Max < a(i) Then Max = a(i) '更新最大值 If___________Then _________________ '更新最小值

____'定义包含10个元素的整型数组

3 / 4

信息技术

Next i

Label2.Caption = \"最大值:\" + Str(Max) '显示最大值 Label3.Caption = \"最小值:\"+___________ '显示最小值 End Sub

17、有一个有趣的兔子繁殖问题:第1个月买来1对小兔子,2个月后会生1对小兔子,以后每个月都会生1对小兔子;而生下来的小兔子,也是2个月后开始每月生1对小兔子,以此类推。试问:n个月以后,兔子的总数达到多少?

问题分析:设第n月兔子数为地f(n),则f(n)=f(n-1)+f(n-2) Private Sub Command1_Click() Dim i As Integer

________________________ '定义存储20个整数的数组a List1.Clear a(1) =__________ a(2) =__________ List1.AddItem Str(a(1)) List1.AddItem Str(a(2)) n =_______________

'从文本框Text1获得月份

For i =___________To__________ a(i) =______________ List1.AddItem Str(a(i)) Next i End Sub

18、每隔1秒显示一个[10,20]之间的正整数显示在label1中,并判断是否是质数,结果显示在label2中。 Private Sub Command1_Click()

Timer1.Enabled = _______'启动计时器 End Sub

Private Sub Command2_Click()

Timer1.Enabled = False End Sub

Private Sub Timer1_Timer() Dim n As Integer Dim i As Integer Dim f As Boolean Randomize

n = Int(Rnd() * 11) + 10 Label1.Caption = Str(n) f = True

For i=2 To__________

If __________ Then f = False Loop

If __________Then

Label2.Caption = \"Yes\" Else

Label2.Caption = \"No\" End If

Next i

Text3.Text = ________ '循环结束后,统计数输出 End Sub

'质数标志变量

Private Sub Command1_Click() Dim s As String, m As String Dim c As Integer, i As Integer

s = ____________ '输入字符串赋给变量s m = _____________ '需要找的字符串赋给变量m c = 0 '给用来计数的变量c 赋初值0 For i = 1 To ___________'确定匹配总次数

If______________________ Then c = c + 1 '对比每次

取出的字符是否为m ,若是则计数加1

'保存产生的随机正整数

Private Sub Command1_Click()

Dim y As Integer '用于存储输入的十进制自然数 Dim s As String '用于存储转换后的结果 Dim r As Integer'用于存储 余数 y = Val(Text1.Text) s = \"\"'字符串变量置空

Do While y <> 0 '采用除八取余法 r = _________________ '采用除八取余法 s = Str(r) + _________ y = y \\ 8 Loop

Text2.Text = s'输出s到文本框2 End Sub

若点击“转换”按钮,文本框内显示为:_____________。

20、以下为:在给定字符串中寻找某子串个数统计的VB程序。

End Sub

19、下面为用“辗转相除法”编写的十进制转换为八进制的VB 程序,请补充完整。

4 / 4

因篇幅问题不能全部显示,请点此查看更多更全内容

Top