LOGO语言 是一种早期的编程语言,也是一种与自然语言非常接近的编程语言,它通过“绘图”的方式来学习编程,对初学者特别是儿童进行寓教于乐的教学方式。
在 LOGO 的世界里有一只小海龟,你可以通过输入指令,让海龟在画面上走动,可以向上下左右,或者是按照你指定的角度移动。你还可以让小海龟以加速或减速移动,也可以让小海龟重复某一个动作。这些指令看似简单,但假如能将其进行合理的组合和排序,你就可以创造出各种东西,包括人、房子、汽车、动物、抽象图案。
说到LOGO语言,就不得不提LOGO之父--西蒙·派珀特博士(Seymour Papert),美国麻省理工学院终身教授,教育信息化奠基人,数学家、计算机科学家、心理学家、教育家,近代人工智能领域的先驱者之一。
替换高清大图
在其1980年出版的著作《头脑风暴:儿童、计算机及充满活力的创意》中,他系统阐述了自己的建构主义观Learning by making,在他看来,好的教育不是如何让老师教得更好,而是如何提供充分的空间和机会让学习者去构建自己的知识体系。西蒙·派珀特把计算机作为帮助学习者形成算法、解决问题并在此过程中学习和锻炼智力的强有力的工具。
派珀特有一句非常著名的话,他说,我们要关心怎么才能让孩子对电脑进行编程,而不是让电脑对孩子进行编程。反观今天绝大多数给小孩开发的软件,本质上都是电脑对孩子编程,而非孩子对电脑编程。电脑的普及,并没有让孩子受惠,反而让他们成为了奴隶。
编程本身并不能使你成为更懂得思考的人,正如派珀特所说的“You can’t think about thinking without thinking about thinking about something.”(我们不能只是思考思考本身,除非我们有一个思考的对象,否则我们只是在那里思考就会一无所获)
派珀特所提倡的教育理念之核心,在于为孩子赋能,创造出能够让孩子发挥其好奇心的环境,而这本身就是对传统工业化教育理念的反思和颠覆。
LOGO 的环境就给孩子提供了一个非常好的场域,他们对程序的任何修改是否有效,马上就能看出来。其实帕普特最初是做了一个长得像海龟的机器人,孩子可以通过编程来指挥小海龟机器人运动,而对孩子来说,小海龟有足够的吸引力,他们只觉得自己在玩,而不是像在学校那样,被迫做很多自己搞不懂为什么的练习。
替换高清大图
下面,先列出LOGO小海龟的基本命令,从下期开始,我将通过一系列实例,带你进入LOGO的世界。
# 常用命令
## 前进命令:FD N
功能:命令小海龟向它的头 所指的方向前进N步。
例如:fd 100
## 左转命令:LT N
功能:使小海龟左转N度。
右转命令:RT N
功能:使小海龟右转N度。
## 清屏命令:CS 【如图也可以直接点击初始/cs按钮】
功能:清除绘图窗口中的所有内容,小海 龟回到原点(头向上)。
## 退出LOGO系统
命令方式:bye
# 算术
## 计算输出命令
格式:PR 空格 A数字或者算式
功能:如果A是数字,直接显 示A;如果A是算式,显示A的结果
## 输出命令
格式:PR 空格 [输出内容,字或句子或算式或符号等 ]
功能:原样显示输出内容。
## 输出多个内容
格式:(PR 内容1 内容2 ……)记住要加空格哦
功能:显示多个输出内容。如果,内容外有方括号,则原样显示输出内容;若内容外没有方括号,则显示结果。
# 演奏
## PLAY 曲谱
音乐简谱 1 2 3 4 5 6 7
对应字母 C D E F G A B
# 画图命令
## 笔粗命令
格式:SETW 空格 N (笔头型号,范围是1~999)
功能:设置画笔的粗细,N越大,画出的线越粗。 LOGO系统默认N是1。
## 隐藏、显身命令
格式:HT
功能:命令小海龟隐身,隐身后它的位置和头的方 向同隐身前一样。
格式:ST
功能:命令小海龟显身,它的位置和头的方向同隐身前一样。
## 抬笔命令
格式:PU 功能:命令小海龟起飞,头的方向保持不变,移动 时不再留下痕迹。
格式:PD 功能:命令海龟降落,继续画图,它的位置和头的 方向同落笔前一样。
## 笔擦命令
格式:PE 功能:小海龟变成橡皮, 边走边擦掉以前留下的痕迹。
## 初始化
格式:DRAW
功能:清空绘图窗口,小海龟回到原点, 恢复到刚进入 LOGO时的状态。
# 重复命令
格式:REPEAT N[ 需要重复的命令]
N 重复的次数
功能:把方括号里的命令重复执行N次。
# 矩形命令
格式:STAMPRECT N1 N2
N1 N2 矩形的两个边长
功能:在小海龟当前位置画边长分别为N1、N2的矩形,小海龟始终在所画矩形的左下角。
# 保存图形命令
格式:
SAVEPIC “文件名
功能:把绘图窗口中的图形按指定文件名存盘。
# 取出图形命令
格式:LOADPIC “文件名
功能:打开指定的图形文件,把图形显示到绘图窗口中。
# 重复命令套重复命令
REPEAT [REPEAT [REPEAT […]…]…]
# 椭圆命令
格式:STAMPOVAL N1 N2
椭圆的横半轴N1 竖半轴N2
功能:以小海龟现在所在位置为中心,画一个指定半轴长的椭圆。
# 改变背景色命令
格式:SETBG N 空格颜色代码
功能:设置绘图窗口背景的颜色,颜色代码为0~15。系统默认的背景色是白色,代码为“15”。
# 改变笔色命令
格式:
空格:SETPC N 颜色代码
功能:设置龟笔的颜色,颜色代码为0~15。系统默认的笔色是黑色,代码为“0”
# 填色命令
格式:FILL
功能:把小海龟所在的封闭区域内,填充上当前笔色。
# 保存过程命令
格式:SAVE “文件名
功能:把当前工作区已经定义过的所有过程 按指定文件名存盘。
# 取出过程命令
格式:LOAD“文件名
功能:打开指定的过程文件,这个文件中的 所有过程均可被调用。
# 定义带变量的过程方法
TO 过程名 :变量
一条或多条命令(命令中含有变量)
END
# 随机数命令
格式:RANDOM N
RANDOM:空格 N:0~32767的整数
功能:若N≠0,计算机自动产生一个1到N之间的自 然数;若N=0,产生数为0
# 激活命令 格式:
TELL 空格[编号1空格编号2空格……]
功能:指定哪一只或者几只小海龟成为可以活动的海龟
# 赋值命令
格式:MAKE 空格 "变量名 空格 表达式
功能:把表达式的值赋给指定的变量。
# 键盘输入命令
格式:READ
功能:等待从键盘输入数据
# 条件命令(格式1)
格式:IF 空格 条件 空格 THEN 空格 命令
功能:如果条件成立,就执行"THEN"后面的命令,接着再执行其它命令;如果不成立,就不执行"THEN"后面的命令,而直接执行其它命令。
# 条件命令(格式2)
格式:IF 空格 条件 空格 THEN 空格 命令1 空格 ELSE 空格 命令2
功能:如果条件成立,就执行"命令1",再接 着执行"其它命令";如果不成立,就不执行"命令1",而直接执行"命令2",再执行其它命令。
# 停止命令
格式:STOP
功能:在过程中,当执行到这一条命令 时,就要立即停止过程的执行。
# 音符
音符与英文字母的对照表:
音乐简谱 0 1 2 3 4 5 6 7
对应字母 P C D E F G A B
# 音区
“On”表示音区,n为0~6之间的整数,标示从低到高的7个音区。系统默认的音区是O3
音区练习
PLAY [O3C D E F G A B]
# 时值
“Ln”表示时值,n为1~64之间的整数,数字越大音长越短,系统默认的时值是L4
时值练习
PLAY [L2C D E F G A B]
PLAY [L4C D E F G A B]
PLAY [L6C D E F G A B]
# 音速
“Tn”表示音速,系统默认的音区是T120。当n>120时,演奏速度较快,当n
演奏速度较慢
音速练习
PLAY [T120 C D E F G A B]
PLAY [T200C D E F G A B]
PLAY [T100C D E F G A B]
领取专属 10元无门槛券
私享最新 技术干货