LOGO语言是一种计算机语言,是60年代由美国麻省理工学院西摩·佩帕特教授研制出的。由于LOGO语言既有较强的功能,又比较容易掌握,所以把它作为在小学进行程序设计语言教学的最佳选择。它不仅适合小学生学习,而且对于计算机初学者也适用。
LOGO语言
编辑20世纪60年代,美国麻省理工学院人工智能实验室的西摩尔·帕伯特专为孩子们设计了一种叫LOGO的计算机语言,是一种易学、易懂、易于掌握的结构化程序设计语言,出发点是将原本较为枯燥的程序设计形象化,希望学生不要机械地记忆事实,使学生在掌握了为数不多的LOGO原始命令后,能在发现和探索中学习,通过操纵屏幕上的海龟来学习编写程序,强调创造性的探索能给学生严密的计算思维和有趣的学习体验。它具有三部分功能:一是编辑功能,可以进行命令与过程的编辑,使学生们了解成年人是怎样进行文字编辑工作的;二是驱使海龟移动业绘出各种图形的功能,即海龟作图功能;三是字表处理与数值处理的功能。
LOGO语言是一种结构化程序设计语言。它是交互式的,为人们提供了良好的编程环境;它不仅具备多种优秀程序设计语就能掌握LOGO的基本绘图指令,高年级学LOGO程序设计自然不是难事。
特点
编辑LOGO语言具有如下的特点:
1.LOGO语言具有丰富的画图功能。为了激发初学者尤其是孩子们的兴趣,设计了一只可活动的“海龟”(turtle),各种有趣的图形恰是它爬行的轨迹。LOGO语言中有着许多海龟动作的命令,如forwardx表示海龟向前走x步,righty表示海龟向右转y度。用海龟作图,使孩子们从中学到许多形象直观的几何知识。
2.LOGO语言具有表(List)处理能力。表是一种不同于数和字(word)的特殊数据结构,它由数、字和表本身排列而成的。有了表处理功能,就很容易编制处理句子(Sentence)和字的程序。
3.LOGO语言具有很强的人机对话功能。每当给出一条LOGO命令,它都能及时响应和作出回答。这不仅激发了初学者的兴趣,还树立了他们学习的信心。
4.LOGO语言编写的程序是模块结构的。程序员可以把一个程序分为若干个称之为“过程”的模块。模块的独立性很强,既能独立编制、独立调试和修改,又允许在不同的过程中使用同名变量而不会相互混淆。程序员用LOGO固有命令定义了一个过程以后,该过程名(及其参数)就可作为用户定义的命令,和LOGO固有命令一样可供程序员使用。这种以LOGO固有命令为内核,逐步向外扩充LOGO命令的数量与功能的方式,体现了LOGO语言的可扩展性。
5.LOGO语言的过程可递归调用。利用这个特性,就能够方便地编制出高水平的、复杂的结构化程序。
6.LOGO语言中的变量允许以任意类型的数据赋值。不象BASIC语言,在字符型变是的名字后加后缀“$”,也不象其它高级语言,要预先说明变量的类型。即使是同一个变量,也可以先后赋以不同类型的值,使用起来非常灵活方便 。
教学思想
编辑首先,程序设计教学要遵循教学过程的一般规律和基本原则。只有遵循教学的一般规律才能增强教学工作的效率和质量,只有遵循正确的教学原则才能帮助教师创造教学的有利条件,从而达到预定的教学目的并获得良好的教学效果。
其次,LOGO语言符合小学生的年龄特点,也是比较通俗的计算机语言。LOGO语言的学习要为今后复杂软件工程的程序设计奠定基础,在教学中要渗透结构化程序设计的思想。LOGO语言的教学要突出程序的结构,要突出程序设计自顶向下逐步求精和模块化的基本方法,以及程序模块中只使用顺序、选择和循环三种基本结构。这样,不管程序中包含有多少个模块,它仍然具有清晰的结构。结构化程序设计的过程也就是对学生思维进行训练的过程。结构化程序设计的训练不仅可以让学生养成良好的程序设计习惯,而且可以培养学生思维的条理性和逻辑性 。
语言版本
编辑1、LOGO for Windows 10
这是应用在PC计算机上的基础的LOGO语言。与中华学习机、APPLE2型等计算机上使用的LOGO语言相差不多,主要是通过控制绘图区中央的小海龟来绘制几何图形。
2、通用LOGO
这一类LOGO语言是在基础型的LOGO语言上发展起来的。它的最大特点是利用基本命令控制机器人的前进、后退等动作,使机器人能按照命令完成不同的动作。
3、易乐谷
易乐谷是在基本LOGO语言中发展出来的。其特点是图形化界面、全中文菜单、有三维版本。在后续版本中甚至可以不用键盘输入|命令,只用鼠标就可以控制绘图人物的前进、后退、左转、右转等动作。
4、CX-LOGO
CX-LOGO进一步增加了很多功能。其特点是中文界面、可换主题人物、流程图编程、多对象和多任务的工作方式。此外还有三维版本和虚拟控制机器人 。
应用
编辑运行LOGO语言需要一个较大内存容量的解释程序,因此最早开发LOGO语言的工作是在大型计算机上进行的。但随着微型计算机的迅速发展和性能的提高,也其备了运行LOGO语言的条件。最先在在Apple Ⅱ型机上配了LOGO语言,现有计算机大多可运行LOGO语言。美国不少计算机公司正努力是LOGO语言帮助成年人熟悉电脑技术。
LOGO语言的教学能帮助学生掌握计算机的基本操作,理解有关概念,丰富学生的观察力和想象力,能训练他们的逻辑思维和抽象思维能力,进一步激发学生学习计算机的兴趣。LOGO语言具有模块化的程序结构和递归的特点,形象和直观性强是它的一大特色。LOG0语言的教学,在普及小学生计算机知识,激发小学生学习计算机的兴趣,培养和训练学生的思维能力,发展他们的智力及创造力等方面都能起到积极的作用。
语言介绍
编辑绘图是LOGO语言中最主要的功能,佩伯特博士就是希望能通过绘图的方式来培养学生学习电脑的兴趣和正确的学习观念。LOGO语言从开始发展到现在,已有Windows版本——MSWLogo,包括Windows 3.X版及Windows9X版等。在以前的LOGO语言中有一个海龟,它有位置与指向两个重要参数,海龟按程序中的LOGO指令或用户的操作命令在屏幕上执行一定的动作,现在,图中的海龟由小三角形所替代。上世纪90年代,台湾推出繁体版的LOGO语言,称之为:【葛拉堡/Gerlabau】,其后大陆也推出了中文化的LOGO语言,分别是“易乐谷/ELOGO”、“创新CX-LOGO/微世界”和“Flash版Logo语言”,发扬了中文编程的优势。
易乐谷
“易乐谷ELOGO中文编程系统”由大连大有吴涛易语言软件开发有限公司出品的汉语编程工具易语言开发的,是一个以LOGO语言语法为基本语法规则,易语言中文化为实现目标,以流程图为教学辅助,提供幼儿园、小学、退休人员及小学教学师作为入门级学习编程的一种简单工具。本程序由大连大有吴涛易语言软件开发有限公司向幼儿园、小学校、教师、退休人员等编程爱好入门者提供。
创新LOGO
CX-LOGO语言是一种结构化程序设计语言。它是交互式的,为少年儿童提供了良好的编程环境。
CX-LOGO语言独创的流程图工作方式和过程库的建立,可方便的使用“搭积木”的方法,构建“知识”,使学习更容易、操作更简便,学生只需简单的学习就可以操作。
CX-LOGO语言不仅具备多种优秀程序设计语言的优点,而且更接近自然语言,生动有趣,简单易学,它能用直观的运动来体现编程的结果,让少年儿童在游戏中进行思考,在趣味中学习,深受少年儿童的欢迎。通过CX-LOGO语言的教学,以学习一种“玩具”为出发点,可以培养学生学习计算机的兴趣,使他们初步了解计算机是如何工作的,为他们今后学习其他高级程序语言设计铺设道路
CX-LOGO语言是专为中国少年儿童开发的创新平台,孩子们可以在电脑上指挥七色瓢虫移动、转向、行走、发光、响应外界刺激等。这些具有创造性的学习工具所倡导的“做中学”的学习理念,非常适合课堂教学,极大地激发了孩子们学习的兴趣。
Flash版
Flash版LOGO语言是用Flash的As3语言编写的程序,模拟了PC-Logo语言中适合中小学生学习的命令,保留了过程、递归等重要概念,简化了一些格式要求,比如变量前不用加冒号和引号等。可以让学习过PC-Logo语言的学生快速接受。
在成功模拟Logo语言的基础上,填加了模拟智能机器人的命令。可以用已画好的图形转变成特定的机器人运行所必须的场地,比如可以图形变火焰,图形变障碍物,图形变水波等,可以实现机器人走迷宫,机器人灭火,机器人弹球等。
由于模拟机器人的命令简单易学,简单几条命令就可以实现有趣的机器人走迷宫,而且机器人的探测器是如何工作的也是简单明了,为以后实战机器人奠定基础。
Flash版Logo语言是位一线教师根据多年教学Logo语言的经验,花费三年多时间,在Flash As3 平台下编写的,由于是Flash版的,它可以在网页上运行,只要是支持Flash的系统都可以运行,比如现今在平板和手机上流行的安卓系统都可以运行,以后可以随时随地编写程序玩了。
基本命令
编辑我们在下面介绍一些LOGO语言中最基本的绘图命令:
1.与移动有关的指令:“前进”、“后退”和“归位”。前进命令可让海龟前移一定的单位数,例如:执行“FD(前进,forward的缩写) 50”命令后,小海龟则会向前移动50个单位;后退命令则可让小海龟向后移动,如果执行“BK(后退,back的缩写) 50”命令,那么小海龟的方向不会发生改变,而会向后退50个单位;执行归位命令后,不论当前小海龟的位置及方向怎样,它就会乖乖地回到绘图区的中央位置,并且朝向屏幕的正上方。
2.与转弯有关的指令:“右转”和“左转”。右转命令可让小海龟按要求向右边转动一定的角度,例如:执行“RT(右转 ,right的缩写) 45”命令则小海龟的朝向将向右转动45度角;而执行“LT(左转 ,left的缩写) 45”命令则小海龟的朝向将向左转动45度角。这两种命令可以驱使小海龟绕其中心旋转一定的角度。
3.与控制有关的命令有REPEAT(重复)、IF…THEN…ELSE…(条件执行)等。如执行REPEAT 4[FD 200 RT 9O]就能画出图2中的正方形,如果直接将移动命令和转弯命令相结合,则写出的语句就比较多,但都是一些重复地使用4次“FD 100”和“RT 90”命令。
语言特点
编辑LOGO语言之所以是儿童学习计算机编程最好的一种语言,就因为它是针对儿童而制作的编程语言,能使儿童在认知与技能上得到较大的发展。LOGO语言具有较强的针对性,因为对于儿童来说,“画画”比“文字处理”更具有活力,充分发挥自己的想象进行创作,而文字处理却比较枯燥,不适合儿童。LOGO则主要用于“图画”制作,并且采用了“海龟绘图”的方式,适合儿童的特点,能充分引起他们的兴趣和学习该门语言的积极性,达到寓教于乐的目的。在LOGO语言中,它的作图方式与现在所用的作图软件不一样,主要区别就在于LOGO语言的基本作图的方法可以不采用坐标方式,而是通过向前,后退、向左转、向右转、回家等儿童易于理解的语言和命令,这非常适合儿童的知识水平,使这些还未接触坐标为何物的儿童更容易上手。在用LOGO语言作图时,需要学习者对一些常见的几何特性进行理解,了解常用的距离、角度和度数的概念。
但是logo语言的功能不止于此,它拥有许多语言不可替代的作用,比如强大的计算能力、先进的视窗理念,并且logo语言的许多理念是可以代表着人类发展的规律的,学习这些,可以让人变聪明。
编写程序
编辑一般的编程语言都需要编写程序,当然,LOGO语言也不例外。由于指令容易输入错误,不易修改且无法保存,更不能重复使用,如果需要重新绘制相同的图形,那么必须输入与以前相同的指令,并且这些曾输入的指令不能加以组合。至于程序的内容,是由解决问题的步骤所需要的指令组合而成的,需由设计者赋予该程序以名称,以供识别。使用LOGO语言作图,虽然可以通过命令行方式进行,但这仅针对初学LOGO语言时,可以开始学一些常用命令,作出一些简单的图形,以引起儿童的兴趣。在对命令比较了解及熟悉以后,就可以进行针对性地学习一些简单的程序编写,作出更加漂亮的图形。下面我将以MSWLogo V6.4为例来介绍如何建立一个程序的基本语法:
1.作为一个程序是以“起始”为开始,“终止”为结束。当选择“编辑新程序”时,在程序编辑区中将会出现以下的字符,供程序者填入相应的命令。
To(起始)程序名称N //修改程序名称以供识别
(过程体)
End(终止)
2.绘制不同大小的图形时需要选择不同的参数,所以使用者在设计程序时,需要使用一个比较适合的并有意义的名称来代表,传给参数的数值资料不同则执行结果也就不同,并且程序在执行过程中,也会不断地变化参数的内容。在选择参数时,需要在参数名称前面加上冒号,用来与一般程序中的命令区别开。如:
起始 程序名称 N :参数1:参数2… //定义列
…………….
Repeat:参数 1[Forward:参数2…] //输入解决问题所需的命令
…………….
终止
当程序内容含有参数时,必须将所有参数写在定义列之后,以便执行时能接收必要的资料。
3.IF…THEN…ELSE…条件执行语句
基本格式为:IF条件表达式THEN [命令行1] ELSE [命令行2]
[命令行3]
当条件表达式:成立时,执行[命令行1]内的命令;不成立时,执行[命令行2]内的指令;在执行完[命令行1]或[命令行2]之后,则继续执行[命令行3]
命令简写
编辑DRAW - 清屏、海龟回起点位
CLEAN清除基本命令
CS 清屏并复位
CT 清除先前所有文字
FD 前进
BK 后退
RT 右转
LT 左转
PU 抬笔
PD 落笔
HT 隐龟
ST 显龟
HOME - 回出发点
Repeat - 重复
SS 图文混合屏
FS 全图形屏
TS 全文字屏
ND 全文字屏、清屏
WRAP - 环绕状态
WINDOW - 窗口状态
FENCE - 围栏状态
SHOW - 屏幕输出
TT - 在画图区显示文字
TO……END - 过程头、尾
IF…THEN…STOP-如果……那么……停止
PAUSE -正确
CONTINUE CO -
EDIT ALL - 进入编辑部
STOP - 停止
TOPLEVEL -
SETPC - 设置画笔颜色
SETBG - 设置屏幕底色
坐标作图
SETX - 指定海龟横向位置
SETY - 指定海龟纵向位置
SETXY - 指定海龟任意位置
SETHEADING SETH - 指定海龟方向
XCOR - 显示海龟当前位置的X坐标
YCOR - 显示海龟当前位置的Y坐标
GETXY - 显示海龟当前位置的X,Y坐标
HEADING - 显示海龟指向角度
文件管理
POTS - 显示工作区内所有过程的标题
POPS(PO ALL) - 显示工作区内所有过程的内容
PRINTOUT PO 显示工作区内过程的内容
ERASE(ER ALL) ER 删除工作区中的过程
DIRECTORY DIR 显示磁盘文件目录
DISK - 显示当前盘
SETDISK - 设置当前盘
SAVE - 把程序存盘
LOAD - 读程序文件
SAVEPIC - 图形存盘
LOADPIC - 读图形文件
DELETE -删除文件
RENAME REN 文件改名
数值计算
PRINT PR 换行打印
TYPE - 同行打印
SETCURSOR - 打印格式
OUTPUT OP 输出
INT - 取整函数
ROUND - 四舍五入函数
QUOTIENT - 求商函数
REMAINDER - 余数函数
RANDOM -随机函数
SQRT - 平方根函数
ABS -绝对值函数
MAKE -赋值
PRECISION - 数字显示精度
字表处理
FIRST - 取首
LAST - 取尾
BUTFIRST BF 去首
BUTLAST BL 去尾
EMPTY? - 判断是否为空
READ - 从键盘上接受一串字符
READCHAR RC 从键盘上接受一个字符
READLIST RL 从键盘上接受一个表
READQUOTE RQ 从键盘上接受一个字
RESULT:- 结果
TRUE - 真
FALSE - 假
COUNT - 测长函数
MAKE -赋值
ITEM - 输出表中第:K个元素
TEST - 测试条件
IFTRUE IFT 测试真
IFFALSE IFF 测试假
KEY? - 是否有键盘输入
NUMBER? - 是否是数
WORD? - 是否是字
LIST? - 是否是表
WORD - 连接字
SENTENCE SE 字与表、表与表的连接
FPUT - 连接到表(字)首
LPUT - 连接到表(字)尾
LIST - 组成表
RUN - 运行表
DEFINE - 定义过程
ASCII - 输出字符的ASCII码
CHAR - 输出ASCII码值的字符
参考资料
编辑展开[1]LOGO 语言.豆瓣读书. [2024-03-16].
[2]姚柳青. 基于微视频的任务驱动教学模式构建与实践研究[D]. 湖北大学, 2016
百科词条作者:小小编,如若转载,请注明出处:https://glopedia.cn/59345/