下面是一个做算术的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时,正多边形看起来就象圆了。