Small Basic 编程入门 05 - 循环

For 循环

让我们再以前面章节用到的代码来举例说明。

i = 1 
start: 
TextWindow.WriteLine(i) 
i = i + 1 
If (i < 25) Then
  Goto start 
EndIf

这段代码的运行结果是:按顺序打印数字 1 到 24。在提供了便捷的变量递增方法的编程语言中,这样的变量递增过程是很常见的。以上这段程序与下面的程序输出结果相同:

For i = 1 To 24
  TextWindow.WriteLine(i) 
EndFor

输出结果是:

Small Basic 编程入门 05 - 循环

图 19 – 使用 For 循环

请注意,我们将 8 行的程序减少到 4 行,而实际运行结果与 8 行的程序完全相同!还记得前面我们提到的“完成一个任务通常会有多种方法”吗?这就是一个典型的例子。

For..EndFor 在编程术语中被称为一个循环。在循环中可以使用一个变量,给变量赋以初值和终值,并让计算机自动执行变量递增。变量每递增一次,计算机便执行一次 ForEndFor 之间的程序。

如果希望变量以 2(而不是以 1)为基准递增,例如,要输出 1 至 24 之间的所有奇数,即可以使用循环来实现。

For i = 1 To 24 Step 2
  TextWindow.WriteLine(i) 
EndFor
Small Basic 编程入门 05 - 循环

图 20 – 仅输出奇数

For 语句中的 Step 2 告诉计算机以 2 为基数对变量 i 递增(而不是以 1)。通过使用 Step 可以根据需要指定任意递增基数。甚至可以指定负增量来进行倒数,示例如下:

For i = 10 To 1 Step -1
  TextWindow.WriteLine(i) 
EndFor
Small Basic 编程入门 05 - 循环

图 21 – 倒数

While 循环

While 循环是另一种循环方法,该方法在无法预测循环次数的情况下非常实用。前面介绍的 For 循环按照预先定义的次数执行程序,而 While 循环则是在指定条件为真的情况下重复运行程序。以下示例中,我们将在指定变量大于 1 的情况下,对变量进行等分。

number = 100 
While (number > 1)
  TextWindow.WriteLine(number)
  number = number / 2 
EndWhile
Small Basic 编程入门 05 - 循环

图 – 等分循环

在以上程序中,对变量 number 赋以初值 100,在 number 大于 1 的情况下重复运行 While 循环。在循环中,输出 number 的值,再除以 2,对其进行有效地等分。正如预期,程序的输出结果为逐步被等分的序列数字。

因为我们无法事先得知程序要循环运行的次数,如果用 For 循环实现以上程序就会相当困难。通过使用 While 循环,可以方便地检查条件,再确定是否要继续执行循环或退出。

有趣的是,每个 While 循环都可以分解成一组 If..Then 语句。例如,可以将以上程序重写如下,其输出结果相同:

number = 100 
startLabel: 
TextWindow.WriteLine(number) 
number = number / 2 
If (number > 1) Then
  Goto startLabel 
EndIf

实际上,计算机内部会将每个 While 循环重写成一组带有一个或多个 Goto 语句的 If..Then 语句。

- 本文来自网络,如有侵权,请联系本站处理。

2022-05   阅读(2)   评论(0)
 标签: program Basic

涨知识
I2C

I2C总线是由Philips公司开发的一种简单、双向二线制同步串行总线。它只需要两根线即可在连接于总线上的器件之间传送信息。

评论:
相关文章
Small Basic 编程入门 11 - 事件(Events)和交互(Interactivity)

事件就像被触发的信号,例如,为了应对类似移动或点击鼠标的用户操作。某种程度上说,事件同操作是相对的。对于操作,您作为一个程序员调用操作让计算机做一些事情;然后对于事件,计算机通知您一些有意思的事情发生了。



Small Basic 编程入门 09 - 子例程(Subroutines)

在编程时我们经常遇到需要重复执行相同一组步骤的情况。这种情况下,多次重写相同的语句是不合理的。这时我们需要借助子例程。


Small Basic 编程入门 08 - Turtle Graphics (海龟绘图法)

Small Basic 语言中也引入了 Turtle (龟标)对象,编程人员可以通过Small Basic 自带的很多命令调用这个对象。


Small Basic 编程入门 07 - 绘制图形

在这一章节中,我们将运用前面学到的知识来做一些有趣的事。