Download presentation
Presentation is loading. Please wait.
1
VB程序设计语言 主讲教师:王 杨
2
For 循环格式 For j = 1 to 5 step 1 Print “*” For j =5 to 1 Next j step -1
循环变量 = 初值 To 终值 是否所有的循环都可以? 步长能否为0? 两种退出方式 循环语句块 Next [循环变量]
3
输入一个数,判断该数是否是素数 For i = 2 To n-1 Next i If n mod i = 0 then Exit for
End if If Then Print n; “是素数“ Else print n; “不是素数” End If i>n-1
4
思 考 找到第一个比n大,且能够被7整除的数
5
条件性循环 条件性循环 While循环 Do循环
6
Do 循环控制结构 i = 1 Do s = s + i i = i +1 Loop While i<=5 i = 1
Do While i<=5 s = s + i i = i +1 Loop i = 1 While i<=5 s = s + i i = i +1 Wend i = 1 Do s = s + i i = i +1 Loop until i > 5 i = 1 Do until i > 5 s = s + i i = i +1 Loop
7
课堂练习 Private Sub Form_Click() Dim n As Integer, s As Integer n = 8 s = 0 Do s = s + n n = n - 1 Loop While n > 0 Print s End Sub
8
编写一个猜数字游戏程序,让计算机产生一个100以内的随
机整数,用户从键盘输入一个数,由计算机判断输入的数是 大还是小,并给出提示,直到输入正确的数为止。 n = Int(Rnd * 100) Do x = Val(InputBox("输入一个100以内的整数")) If x = n Then ElseIf x > n Then Else End If Form1.Print "正确“ Form1.Print x; "太大" Form1.Print x; "太小" Exit do Loop
9
实验作业 编写一个简易计算器编写程序计算S=1+1/2+1/4+1/7+1/11+1/16+1/22+…当第i项的值<10-5时计算结束结束。 高次方程求根(P86)
10
求两个数的最大公约数 实例:求3与4的最大公约数 u v r 被除数 除数 商 余数 3 ÷ 4 = + 1 3与4的最大公约数 余数为0
11
u = 3: v = 4 r = u Mod v Do while r <> 0 u = v v = r loop Print v m = u: n = v Print m*n/v
13
组合框combo 事件 属性 方法 Click Text Additem DbClick List RemoveItem change
ListCount ListIndex style Additem RemoveItem Clear
14
课堂练习
15
列表框list 事件 属性 方法 Text Click Additem List DbClick RemoveItem ListCount
ListIndex Additem RemoveItem Clear
16
思考:找出200~1000范围内的所有素数 For n =200 to 1000 Next i
For a = 2 to n-1 if n mod a =0 then Exit For Next a If a > n-1 then Print n
17
For i = 1 to 10 Next i Print “*” ;
18
在窗体上输出5行10列星号 For i = 1 to 5 For j = 1 to 10 Print “*” Next j Print
输出1行10列星号 ; Print “*” For j = 1 to 10 Next j Print Next i
19
在窗体上输出5行10列星号 For i = 1 to 5 For j = 1 to 10 Print “*” Next j Print
; Print “*” For j = 1 to 10 Next j Print Next i
20
多重循环 For i = 1 to 5 For j = 1 to 10 2*i-1 Print “*” Next j Print
思考 For i = 1 to 5 1.i,j分别表示什么? ; Print “*” For j = 1 to 10 Next j 2*i-1 Print Next i
21
多重循环 For i = 1 to 5 For j = 1 to 10 Print “*” Next j 外循环执行一次 Print
思考 For i = 1 to 5 1.i,j分别表示什么? 1.共产生了多少个星号? ; Print “*” For j = 1 to 10 Next j 2.i取1时,j取了那些值 3.i为1时,j取了那些值 外循环执行一次 内循环执行一遍 Print Next i
22
窗体上打印出由数码1、2、3构成的所有3位数 思考 思考 为什么ATM取款机要限制输入密码次数? 为什么密码越长、各种符号都有更安全?
For a = 0 to 9 for b = 0 to 9 for c = 0 to 9 for d= 0 to 9 for e = 0 to 9 for f = 0 to 9 next f next e next d next c next b Next a For a = 1 To 3 Next a a b c 1 2 3 For b = 1 To 3 Next b For c = 1 To 3 Next c x = 100 * a + 10 * b + c
23
穷举法 a b c a+b+c=100 5×a+b+0.5×c=100 1~18 1~94 100-a-b 真题
将一张面值为100元的人民币等值换成100张5元、1元和0.5元的零钞,要求每种零钞不少于1张,问有哪几种组合? 真题 穷举法 a+b+c=100 5×a+b+0.5×c=100 1~18 a 1~94 b 100-a-b c 建立适当的数学模型; 构造穷举的框架(确定穷举范围,合理使用循环语句来实现算法); 通过逐步求精的过程,改善算法,使穷举过程变得更恰当。
24
if option1.value=true then
m=3 Elseif option2.value=true then m=5 Else m=7 End if n= text1.text n=n+1 If n mod m<>0 then For i = 1 to 5 Next i Do Loop While n mod m <>0 Picture1.print n
25
小结 什么时候需要使用循环? 有哪些循环结构? 列表框和组合框 多重循环 素数算法 最大公约数 穷举法
26
作 业
27
课后思考 求一个班100个学生的平均成绩,统计高于平均分的人数
Similar presentations