Programming 版 (精华区)

发信人: fzx (跛鸭), 信区: Programming
标  题: 软件世界 > 编程特例篇--LOGO语言
发信站: 紫 丁 香 (Thu Aug 12 07:37:49 1999), 转信


《 编程特例篇--LOGO语言 》
  LOGO语言是一种早期的编程语言,也是一种与自然语言非常接近的编程语言,它
通过"绘图"的方式来学习编程,对初学者特别是儿童进行寓教于乐的教学方式,所
以,本期将它作为一种编程语言的特例而选入。 
LOGO语言的概述
  LOGO语言创始于1968年,是美国国家科学基金会所资助的一项专案研究,在麻省
理工学院(MIT)的人工智能研究室完成。LOGO源自西腊文,原意即为思想,是由一名
叫佩伯特的心理学家在从事儿童学习的研究中,发现一些与他的想法相反的教学方法,
并在一个假日中出外散步时,偶然间看到一个像海龟的机械装置触发灵感,于是利用
他广博的知识及聪明的才智而最终完成了LOGO语言的设计。
  绘图是LOGO语言中最主要的功能,佩伯特博士就是希望能通过绘图的方式来培养
学生学习电脑的兴趣和正确的学习观念。LOGO语言从开始发展到现在,已有Windows
版本--MSWLogo,包括Windows 3.X版及Windows9X版(下载网址
http://www.softronix.com/logo.html)等。在以前的LOGO语言中有一个海龟,它有
位置与指向两个重要参数,海龟按程序中的LOGO指令或用户的操作命令在屏幕上执行
一定的动作,现在,图中的海龟由小三角形所替代。 
LOGO语言的基本命令
  我们在下面介绍一些LOGO语言中最基本的绘图命令:
  1.与移动有关的指令:"前进"、"后退"和"归位"。前进命令可让海龟前移一定
的单位数,例如:执行"Forward(前进) 50"命令后,小海龟则会向前移动50个单位;
后退命令则可让小海龟向后移动,如果执行"Back(后退) 50"命令,那么小海龟的方
向不会发生改变,而会向后退50个单位;执行归位命令后,不论当前小海龟的位置及
方向怎样,它就会乖乖地回到绘图区的中央位置,并且朝向屏幕的正上方。
  2.与转弯有关的指令:"右转"和 "左转"。右转命令可让小海龟按要求向右边转
动一定的角度,例如:执行"Right(右转) 45"命令则小海龟的朝向将向右转动45度
角;而左转命令则可让小海龟向左转动,如:执行"Left 45"命令则小海龟的朝向将
向左转动45度角。这几种命令可以驱动小海龟绕其中心旋转一定的角度。
  3.与控制有关的命令有REPEAT(重复)、IF...THEN...ELSE...(条件执行)等。如执
行REPEAT 4[FORWARD 200 RlGHT 9O]就能画出图2中的正方形,如果直接将移动命令
和转弯命令相结合,则写出的语句就比较多,但都是一些重复地使用4次"Forward 100"
和"Right 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]
下载本期推荐软件


--

   想集中阅读本期的《电脑报》所有文章的网友可到internet版的精华区

※ 来源:.紫 丁 香 bbs.hit.edu.cn.[FROM: heart.hit.edu.cn]
[百宝箱] [返回首页] [上级目录] [根目录] [返回顶部] [刷新] [返回]
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
页面执行时间:5.723毫秒