书城科普读物探索未知丛书-计算机王国
45421700000074

第74章 怎样让计算机当老师

下面是一个做算术的LOGO程序,计算机出题,由你来做,它给你判对错,并记录做对和做错的题数。

TO ZSSMAKE“M 0MAKE“N 0MAKE“X RANDOM00MAKE“Y RANDOM100MAKE“H:X+:YPRINT1(SENTENCE:X[+]:Y[=])MAKE“DA RQMAKE“DA FIRST:DAIF:DA=:H THEN MAKE“M:M+1PR([DUI!])ELSE MAKE”N:N+1 PR(SEN TENCE[CUO!YING GASHI:]:H)PR[]PR(SENTENCE[DUI]:M[CUO]:N)PR[]ZSSEND下面我们来分析这个程序是怎么让计算机变成算术老师”的。

过程名ZSS是做算术三个字的汉语拼音的字头。

过程体共有13行。

第1行给变量M赋初值0,变量M将记录做对的题目个数。

第2行给变量N赋初值0,变量N将记录做错的题目个数。

第3行和第4行都使用了随机数承数RANDOM。RANDOM后面要跟一个正数N(本例是100),每次执行这个函数,它就产生一个1——N之间的整数,到底是1——N之间的哪个整数是没准的。例如当N是10时,它能可能产生1、2、3、4、5、6、7、8、9中随便哪个数。第3行将产生的随机整数赋给了变量X,第4行将产生的随机整数赋给变量Y。X和Y就是这位算术老师出的加法的加数。

第5行计算机先做一遍X+Y的和,并把它存在变量H中。

第6行的功能是显示出这个加法式子,例如:31+14=这里使用了SENTENCE命令。SENTENCE的中文含义是句子。它的功能是把跟在它后面的字和表等,按顺序组合成一个“句子”,并把表的[]去掉。

PRINT1同PRINT(可缩写为PR)的功能基本一样,只是PRINT1输出后不换行。所以你敲的得数将显示在算式“=”的右侧,而不是下一行。

第7行是从键盘输入一个表,并将它赋给变量DA(“答案”汉语拼音字头)

第8行是把变量DA表中的第一个元素再赋值给变量DA。经过这样的变换,从键盘敲入的内容(实际上敲入的就是数)才成为数字存在变量DA中。

第9行是一个较复杂的条件语句。条件是:从键盘输入的DA(答案)等于H(计算机自己算的和)

吗?如果条件满足,则做:

①将M+1赋给M,即变量M增加1(对题的数目加1)

②显示“DUI!”(对!)

①将N+1赋给N,即变量N增加1(错题的数目加1)

②显示“GUO!YINGSHI:”XX(错!应该是:XX)XX即H中存着的本题正确答数。

第10行输出一个空行。

第11行显示当前对题的个数和错题的个数。

第12行输出一个空行。

第13行是递归调用,使程序可以反复运行。可以用CTRL—G停止程序运行。

怎样用LOGO海龟绘图按规定的顺序(先开显示器、后开主机)开机,当屏幕上出现BASIC的提示符“[”,键入:LG按RETURN键后,可见屏幕上出现:CHINNESE EDUCATION COMPUTERLOGOVERSION 111987.6?

“?”号是LOGO语言的提示符。说明现在中华学习机已经工作在LOGO语言状态下。

键入:DRAW按回车键后,可以看到屏幕中心处出现一个箭头状的几何图形。这就是LOGO语言中大名鼎鼎的“海龟”。我们可以下命令叫它在屏幕上“爬行”(当然要比真海龟爬的快),它爬行留下的“足迹。就可以画出图来。让我们试试看。

下面每行的英文字符和数字是键入的命令,括弧中的汉字是解释这一命令。括弧和汉字都不需要输入。但不要忘了每个命令后都按RETURN(回车)键。同时要注意,命令和数字之间一定要有一空格。

FD100(向前走100步)

LT90(左转弯90度)

FD50(向前走50步)

LT90(左转弯90度)

FD100(向前走100步)

LT90(左转弯90度)

FD50(向前走50步)

现在,屏幕上出现了一个长100,宽50的长方形。如果嫌海龟“碍事儿”的话,可以键入HT按回车键后,可以发现小海龟藏起来了。

实际上,指挥海龟在屏幕上画图,就象指挥小朋友在操场上走步一样,只需要给海龟一些“口令”就可以了。可惜的是,这只海龟目前只懂英文(有懂汉语拼音的,不过那得使用一个专门的软件),所以我们应该首先记住这些口令。

下面是这些口令(括弧中是这些口令的英文原词,用这些原词,海龟也认识):FD前进(FORWARD)

BD后退(BACK)

RT右转(RIGHT)

LT左转(LEFT)

PU抬笔(PENUP)

PD落笔(PENDOWN)

HT藏海龟(HIDETURTLE)

ST显海龟(SHOWTURTLE)

CS清屏幕(CLEARSCREEN)

DRAW重新画图

下面顺序键入以下命令,屏幕上将画出一个三角形。

DRAWRT30FD90RT120FD90HT请使用上述命令画一个正方形,也可以画一些你喜欢的其它图形。

怎样用重复命令让海龟画图

画一个50步长的正方形,需要使用4遍下述命令:FD50RT90如果有一个能让海龟自动重复执行的命令该多好呵。想的不错。LOGO语言有这样一个命令:REPEAT重复请键入:PEPEAT 4[FD 50 RT 90]屏幕上立刻画出了正方形。

在上述命令中,方括弧中的内容叫命令表。表中各个命令之间要用空格隔开。方括弧外左边的数字(本例中是4)表示命令表被重复执行的次数。

请运行下边几个重复命令,看屏幕上将出现什么图形。每执行一个重复命令之前,执行一次DRAW命令,以免几个图形混在一起。

REPEAT10[REPEAT 4[FD 60 RT90]RT 36]REPEAT 3[FD 30 RT 120]REPEAT 3[REPEAT 3[FD 50 RT 120]RT120]REPEAT 5[FD 40 RT360/5]REPEAT 8[FD 40 RT360/5]REPEAT 100[FD 2 RT360/100]运行上述命令,并认真观察和思考,可以发现:1.REPEAT命令可以嵌套使用。

2.用REPEAT命令可以画正五边形,正八边形,也可以画任意多边的正多边形。画正N边形的命令是:REPEAT N[FD边长RT 360/N]表中的360/N,是360除以N,在许多计算机语言中“÷”号用“/”表示。

3.当N相当大时(即边数非常多时)例如N=100时,正多边形看起来就象圆了。