在我们的程序中使用变量
如果我们的程序能够对用户的姓名说“你好”而不只是单纯的“世界你好”,那样不是更好吗?为了能那样做,我们必须首先让用户告知他/她的姓名并将其保存到某个地方,然后输出用户的姓名和“你好”。让我们一起来看看这是如何做到的:
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 – 变量重用
变量命名规则
[TODO] 未完成
使用数字
我们刚才看到如何用变量存储用户的姓名。在接下来的程序中,我们将看到如何用变量存储和操作数字。让我们从一个非常简单的程序开始:
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 – 温度转换
胡浩:Small Basic 入门指南 01 - 入门zhuanlan.zhihu.com文章版权归微软所有,艾氪森科技提供整理排版。