一VB的基本语句.
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
* ** *** **** ***** For i = 1 To 5 For j = 1 To 5 - i Print " "; Next j For k = 1 To i Print " *"; Next k Print Next i
* ** *** **** **** **** *** ** *
传说在很久以前,印度有个叫塞萨的人,为了 能使国王忘掉战争,精心设计了一种游戏(国际 象棋)献给国王。国王对这种游戏非常满意,决 定赏赐塞萨。国王问塞萨需要什么,塞萨指着象 棋盘上的小格子说:“就按照棋盘上的格子数, 在第一个小格内赏我1粒麦子,在第二个小格内赏 我2粒麦子,第三个小格内赏4粒,照此下去,每 一个小格内的麦子都比前一个小格内的麦子加一 倍。陛下,把这样摆满棋盘所有64格的麦粒,都 赏给我吧。”国王听后不加思索就满口答应了塞 萨的要求。
P=1
‘第1格 ‘第2格 ‘第3格
‘第64格
P = 1 ‘第1格 P = P * 2 ‘第2格 简化 P = P * 2 ‘第3格 … … P = P * 2 ‘第64格
64行代码
For i=1 to 63 ‘条件判断
P=P*2
Next
‘i=i+1,下一次循环
4行代码
for 语句 格式:for 循环变量=初值 to 终值 step 步长 语句块(又称循环体) next 循环变量
课后作业:以下的程序功能是求1+2+3+…+n, 现要求对 给出的程序进行修改,使之实现右边式子的功能。
n=val(text1.text) s=0 for I=1 to n s=s+I next I print s
一.VB的基本语句
1.赋值语句
变量名=表达式 或 对象名.属性名=表达式
2.选择语句(分支语句)if
(1)行if 语句 if 条件表达式 then 语句 if 条件表达式 then 语句1 else 语句2 (2)块if 语句 If 条件表达式 then 语句块1 Endif If 条件表达式 then 语句块1 Else 语句块2 Endif If 条件表达式 then 语句块1 Elseif 条件表达式2 语句块2 ……. Else 语句块0 Endif
下面,请同学们帮这位国王算一算,他 到底要赏给塞萨多少麦子?
2 + 2 + 2 + 2 + … + 2
0 1 2 3 63
人工计算这个问题会非常麻烦,即使用计 算器也不方便。 我们能不能用计算机来解决这个问题呢?
计算机程序
以计算麦粒数目的程序为例,为了简化程序,我 们先计算第64个格子中麦粒的数目。 p1 = 1 P2 = P1 * 2 P3 = P2 * 2 … … P64 = P63 * 2
ii+1
64个棋盘格子一共可以放
1.84467440737096E+19 粒麦子,约合5000多亿吨
小麦。
(我国2007年粮食总产 量10000亿斤)
循环语句的提高与拓展 --多重循环
• 输出如下图形: For i = 1 To 5
***** ***** ***** ***** *****
外 循 内 环 循 环
For j = 1 To 5 Print "*"; Next j Print Next i
提示:输出可用print 格式:print “要输出的字符”或变量名或表达式 如果要在一行内输出,则后面要加; print 后面什么都不加相当于起到换行的作用。
* ** *** **** *****
For i = 1 To 5 For j = 1 To i Print "*"; Next j Print Next i
循环 P=1 变量 初值 终 值
循环变量赋初值
循环变量未超出终值? N Y
For I=1 to 63 p=p*2 Next I
执行循环体
循环变量循环变量+步长
循环 变量
结束
步长为正时
开始
循环变量赋初值 循环变量<=终值?
s=0 for I=5 to 1 step -1 步长为负时 s=s+I 开始 next I
…
PP*2
P=1 For I=2 to 64 p=p*2 Next I Text1.text=p
麦粒问题算法分析(二)
第i格 第i格存ຫໍສະໝຸດ Baidu的麦粒数(设用p表示) 从第1格到第i格总共 需多少的麦粒数(设 用s表示)
1 2 3 4 5 … 64
1
2 4 8 16 PP*2
1
1+2 1+2+4 1+2+4+8 1+2+4+8+16 SS+P
…
…
开始
P:第i格存放的麦粒数 S:从第1格到第i格总共需多少的麦粒数
当前格子的麦粒数置初值:p1 总共需要的麦粒数置初值:s1 置初值:I2 I<=64?
p=1
s=1 For i=2 to 64 p=p*2
N
输出p和s 结束
s=s+p
Y
PP*2 SS+P
Next I
Text1.text=p Text2.text=s
for循环语句的执行过程是:首先把初值赋给循环变量 ,接着 判断循环变量的值是否超出终值,当循环变量的值未超过终值时, 就执行一次循环体的语句块,然后把循环变量的值加上步长,再赋 给循环变量,重复上述过程,直至循环变量的值超过终值,就结束 循环。 For 语句中循环次数: 开始
(终值-初值)/步长+1
循环变量赋初值
N
循环变量>=终值?
N
Y
执行循环体
循环变量循环变量+步长
Y
执行循环体
循环变量循环变量+步长
结束
例1、s=0 for I=1 to 5 s=s+I next I
结束
麦粒问题算法分析(-)
text1
第i格 第i格存放的麦粒数 (设用p表示)
1 2 3 4 5 … 64
1
2 4 8 16
then
故事背景
在印度有一个古老的传说:舍罕王打算奖赏国际 象棋的发明人——宰相西萨· 班· 达依尔。国王问他想 要什么,他对国王说:“陛下,请您在这张棋盘的 第1个小格里,赏给我1粒麦子,在第2个小格里给2 粒,第3小格给4粒,以后每一小格都比前一小格加 一倍。请您把这样摆满棋盘上所有的64格的麦粒, 都赏给您的仆人吧!”国王觉得这要求太容易满足了, 就命令给他这些麦粒。当人们把一袋一袋的麦子搬 来开始计数时,国王才发现:就是把全印度甚至全 世界的麦粒全拿来,也满足不了那位宰相的要求。 那么,宰相要求得到的麦粒到底有多少呢?