第四十六章:绿色光標
“这就是我们这节课要学习的basic语言环境。basic,初学者通用符號指令代码,是一种简单易学的程式语言。”张老师开始讲解开关机注意事项、键盘布局,以及最基础的几条命令:print(列印)、let(赋值)、input(输入)、goto(跳转)。“现在,大家打开自己面前的机器。开关在主机箱右侧。注意,开机后不要隨便按动,听我指挥。”张老师叮嘱。
一阵咔噠声,二十几台显示器陆续亮起,绿色的萤光映照著一张张年轻而专注的脸。
房间里充满了机器启动的低鸣和风扇的嗡嗡声,有种奇异的科幻感。
陆沉按下开关。
熟悉的启动过程,熟悉的ready提示符。
他轻轻抚摸著粗糙的键盘,前世在终端前编写代码、调试电路的感觉似乎隔著时空隱隱呼应。
basic语言,对他而言简单得像儿歌。
但他没有表现出任何异样,只是安静地听著张老师的讲解,看著他在投影墙上演示如何输入10 print“hello“然后按下回车,屏幕上果然显示出了hello。
“现在,大家试试,用print语句,让屏幕显示出你的名字。”张老师布置了第一个任务。
教室里立刻响起噼里啪啦的敲键声,夹杂著兴奋的低呼和偶尔的抱怨。
“哎,我按错了!”
“这引號是哪个键?”
“我的名字怎么显示一半?”
“老师,它显示syntax error是啥意思?”
张老师忙不迭地在过道里走动,解答著各种初级问题。
陆沉很快在键盘上找到了对应的键,缓慢但准確地输入:10 print“lu chen“,然后按下回车。
绿色的光標跳动,下一行果然显示出了lu chen。
“很好,陆沉同学第一个完成了。”张老师正好走到他旁边,看了一眼屏幕,点点头,声音里有一丝不易察觉的惊讶——这孩子不仅输入快,格式也完全正確,连名字中间的引號都用对了。
要知道,很多学生第一次接触,大小写、引號、空格都能出错。
接下来是更复杂的,用let语句给变量赋值,然后列印出来。
张老师演示了如何计算a=5, b=3, print a+b。
这个对不少同学来说有点绕,需要理解变量的概念。
陆沉听完,没有立刻照做。
他看著屏幕上闪烁的光標,忽然想起了什么。
他刪掉刚才的语句,重新输入了几行:
10 let a=5
20 let b=3
30 let c=a+b
40 print a;“+“; b;“=“; c
50 let d=ab
60 print a;““;b;“=“; d
70 let e=a^b
80 print a;“^“;b;“=“; e
输入完,运行。
屏幕上依次显示出:
5+3=8
5*3=15
5^3=125
他不仅完成了加法,还顺手把乘法、乘方也演示了,並且输出的格式更友好,带上了运算符號。
张老师再次踱步过来,本想看看大家的进度。
当他的目光落在陆沉的屏幕上,看到那几行简洁清晰、还包含了乘方运算(^符號)的代码,以及下方整齐的列印结果时,脚步停住了。
他俯下身,仔细看了看陆沉写的程序。
“你……自己想到要加乘法和乘方的?”张老师问,语气有些惊讶。
乘方运算在初学basic时很少被立刻用到。
“嗯,想试试看。”陆沉回答。
“格式也弄得很清楚。你以前接触过计算机?或者……编程书?”张老师推了推眼镜。
他知道陆沉是特招生,但没听说他接触过计算机。
“看过一点介绍basic的书,自己想像过。”陆沉说。
这是实话,周教授寄的资料里有提到。
张老师深深看了陆沉一眼,没再说什么,只是点点头:“很好,理解得很快。有兴趣的话,可以试试用input语句,让程序能接受你从键盘输入的数字进行计算。”
这是下一步才计划讲的內容。
陆沉点点头,立刻开始修改程序。
他加入了input语句,让用户输入两个数,然后程序自动计算並输出加减乘除和乘方的结果。
他还加了一个简单的循环和判断,防止除数为零。
虽然代码在行家看来极其幼稚,但对於第一次上机课的学生来说,这已经是飞跃了。
当陆沉演示他的改良版计算器程序,从键盘输入两个数,屏幕立刻给出五种运算结果时,不仅张老师愣住了,连旁边几个伸头看的同学也惊呆了。
“我靠!陆沉,你这就会写程序了?”孙鹏的大嗓门忍不住响起来。
“这……这比老师刚才讲的难多了吧?”陈浩也凑过来看,脸上写满了难以置信。
张老师看著陆沉屏幕上那虽然不长、但逻辑清晰、甚至考虑了异常情况(除零)的程序,心里的震撼难以言表。
他自己也是这几年才开始自学计算机,教学生basic入门。
这个十岁的孩子,只听了一次最基础的讲解,就能举一反三,写出这样结构完整的交互程序?这已经不是学得快能解释的了,这简直就是……为这玩意儿而生的?
“陆沉同学,”张老师的语气变得非常郑重,“你这个程序写得非常好。逻辑清晰,考虑周到。你是怎么想到要判断除数是否为零的?”
“除法定义里除数不能为零,所以加个判断比较安全。”陆沉回答得很自然。
“很好,安全意识,是编程中非常重要的习惯。”张老师当著全班同学的面表扬了陆沉,然后对大家说,“大家看到没有?编程不仅仅是敲命令,更重要的是逻辑思维和对问题全面的考虑。陆沉同学给我们做了一个很好的示范。当然,大家刚开始,不必追求这么复杂,先把基础打好。”
后半节课,张老师开始正式讲解input和简单的条件判断语句。
而陆沉,在完成了自己的计算器后,开始尝试一些更有趣的东西。
他用print语句配合循环,在屏幕上列印出了一个由*號组成的简单三角形。
又尝试用两个变量控制,列印了一个会移动的简单图案(其实是清屏后在不同位置列印)。
虽然受限於basic的功能和单色文本界面,效果很粗糙,但那跳动的绿色字符,却让他找回了一丝久违的、用代码创造和控制世界的乐趣。
下课铃响,同学们依依不捨地关机。
很多人还在琢磨著刚才没搞懂的语句。
陆沉是最后几个离开的,他仔细检查了机器是否正常关闭。
“陆沉,你留一下。”张老师叫住了他。
