练习1:
1.本题中的数是整型,输入两个文本框,分别表示起始数和结束数,要求结束的数必须大于开始的数,将连续的数输出到listbox中
进一步提升1:将生成的数字对应生成ASCII码对应的字符,输出到第二个列表中。
asc函数:将字符转为ASCII码
chr函数:将ASCII码转为字符
进一步提升2:从生成的ASCII码字符数据中随机抽取一个字符,使用msgbox提示出来,同时提示在第几项。
经典记忆:
ASCII表中的排序:数字、大写字母、小写字母
0字符对应ASCII码值:48
A字符对应ASCII码值:65
a字符对应ASCII码值:97
随机数
随机数种子randomize 默认以系统时间作为种子
作用:增大随机数产生的不同的概率
随机数关键词 rnd 范围在[0,1)
[0,10)之间的随机数用rnd来表示:rnd*10
[10,100)之间的随机数用rnd来表示:rnd*(100-10)+10
[30,89)之间的随机数用rnd来表示:rnd*(89-30)+30
向下取整函数:int函数
什么叫向下取整?得到的数是比原来的数要小的整数
int(5.1)结果是5
int(5.9)结果是5
int(-5.1)结果是-6
[65,90]之间的随机整数:int(rnd*(90-64)+65)
[90,120]之间的随机整数:int(rnd*(120-89)+90)
一、for循环格式
首先需要声明一个初始化变量i
Dim i%
for 初始化变量i的值 to 变量的终值(用来比较的值) step 步长的值
'这里就是变量i<=终值条件为真(true)时要执行的代码
next 初始化变量i
举例:
Dim i%
For i = 0 To 2 Step 1
Next i
二、具体过程:
循环3次
第1次循环:
当i=0时,条件0<=2 为true(真),进入循环。
第2次循环:
当i=1时,条件1<=2 为true(真),进入循环。
第3次循环:
当i=2时,条件2<=2 为true(真),进入循环。
为什么i每次循环+1?
因为 step 后的值为 1 ,这个step表示步长。
步长表示:每次循环加上多少。
哪句话使得下次循环的step产生效果?
next i
三、如果是for循环的嵌套该怎么写?
dim i%,j% for i=0 to 3 step 1 for j=0 to 2 step 1 print "a" next j next i
软件设计界面:
源代码分享:
Private Sub Command1_Click() Dim a%, b%, i% a = Val(Text1.Text) b = Val(Text2.Text) If b > a Then '这里写循环 For i = a To b Step 1 List1.AddItem i List2.AddItem Chr(i) Next i Else MsgBox "要求结束数必须大于起始数!" End If End Sub Private Sub Command2_Click() '生成随机数 Randomize Dim z% z = Int(Rnd * 26) MsgBox "随机获取到的字符" & List2.List(z) & ",在第" & (z + 1) & "项" End Sub