如果我们的程序能够对用户的姓名说“你好”而不只是单纯的“世界你好”,那样不是更好吗?为了能那样做,我们必须首先让用户告知他/她的姓名并将其保存到某个地方,然后输出用户的姓名和“你好”。让我们一起来看看这是如何做到的:
TextWindow.Write("输入你的姓名:")
name = TextWindow.Read()
TextWindow.WriteLine(name + "你好")
当你输入并执行这个程序,你将看到如下输出:
图 7 – 询问用户姓名
当你输入你的姓名并按ENTER 键,你将看到如下输出:
图 8 – 一个温馨的问候
现在,如果你再运行这个程序,你将被再次问同样的问题。你可以输入一个不同的姓名,计算机将对这个姓名说你好。
在你刚刚运行的程序中,可能引起你注意的那行程序是:
name = TextWindow.Read()
Read() 看上去就像 WriteLine(),但是没有输入。它是一个操作并且基本上是告诉计算机等待用户输入些什么并按下 ENTER 键。一旦用户按下 ENTER 键,它将获取用户的输入并将其返回给程序。有趣的一点是无论用户输入的什么,现在都被存放在一个叫 name 的变量中。一个变量被定义为用来临时存储数值以备以后使用的地方。在上面的程序行中,name 被用来存储用户的姓名。
下面的一行也很有趣:
TextWindow.WriteLine(name + "你好")
这是我们使用存放在我们的变量,name 中的值的地方。我们取出 name 中的值并将它与“你好”一起写到 TextWindow。
一旦一个变量被设定,你可以多次使用它。例如,你可以如下这么做:
TextWindow.Write("输入你的姓名:")
name = TextWindow.Read()
TextWindow.Write("你好," + name + "。 ")
TextWindow.WriteLine("你最近怎么样," + name + "?")
你将会看到如下的输入:
图 9 – 变量重用
我们刚才看到如何用变量存储用户的姓名。在接下来的程序中,我们将看到如何用变量存储和操作数字。让我们从一个非常简单的程序开始:
number1 = 10
number2 = 20
number3 = number1 + number2
TextWindow.WriteLine(number3)
当你运行这个程序,你将得到下面的结果:
图 10 – 两数相加
在程序的第一行,你将变量 number1 赋值为10。在第二行,你将变量 number2 赋值为20。在第三行,你将 number1 和 number2 相加并将结果赋值给 number3。 因此,在这种情况下, number3 的值将是30。并且这就是我们输出到 TextWindow 的结果。
现在,让我们对程序做轻微的修改并看看结果:
number1 = 10
number2 = 20
number3 = number1 * number2
TextWindow.WriteLine(number3)
上面的程序将 number1 与 number2 相乘并将结果存放在 number3 中。你可以看到如下的程序运行结果:
图 11 – 两数相乘
相似的,你可以对数字作减法或除法。这是减法:
number3 = number1 - number2
除法的符号是‘/’。程序看上去就像这样:
number3 = number1 / number2
这个除法的结果是:
图 12 – 两数相除
下一个程序我们将用公式 将华氏温度转换成摄氏温度。
首先 ,我们从用户那里得到华氏温度并存放到一个变量中。这里有一个特殊的操作能让我们从用户那里读取数字,它就是 TextWindow.ReadNumber。
TextWindow.Write("输入华氏温度: ")
fahr = TextWindow.ReadNumber()
一旦我们有存放在变量中的华氏温度,我们可以像这样将它转换为摄氏温度:
celsius = 5 * (fahr - 32) / 9
圆括号告诉计算机先计算 fahr – 32 然后再处理其它的。现在我们需要做的就是将结果输出给用户。将所有这些放到一起,就是我们的程序:
TextWindow.Write("输入华氏温度: ")
fahr = TextWindow.ReadNumber()
celsius = 5 * (fahr - 32) / 9
TextWindow.WriteLine("摄氏温度是 " + celsius)
程序的运行结果是:
图 13 – 温度转换
PWM,英文名Pulse Width Modulation,是脉冲宽度调制缩写,它是通过调节占空比的变化来调节信号、能量等的变化。
事件就像被触发的信号,例如,为了应对类似移动或点击鼠标的用户操作。某种程度上说,事件同操作是相对的。对于操作,您作为一个程序员调用操作让计算机做一些事情;然后对于事件,计算机通知您一些有意思的事情发生了。
在编程时我们经常遇到需要重复执行相同一组步骤的情况。这种情况下,多次重写相同的语句是不合理的。这时我们需要借助子例程。
Small Basic 语言中也引入了 Turtle (龟标)对象,编程人员可以通过Small Basic 自带的很多命令调用这个对象。
在这一章节中,我们将运用前面学到的知识来做一些有趣的事。