把孩子打造成为码农
时间:2022-04-22
本文章向大家介绍把孩子打造成为码农,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
今天看到一个问卷调查,是问第一门学习的计算机语言是什么。本身想写QBasic,忽然想起曾经学习机时代的LOGO语言,以及看了很久的小乌龟。对啊,这才算是自己接触的第一门语言。
LOGO语言是为教育儿童编程开发的,所以语法很简单。它基于LISP,还附加有一个海龟绘图系统(Turtle Graphic)。我们通过编写的程序,可以控制屏幕上的小海龟的移动,并在画面上留下行动的轨迹。你可以用LOGO语言画出一幅不错的画来。
于是在Ubuntu下搜索,找到KTurtle,是LOGO的一个变体。它的语法是面向过程的,类似于C,支持数学和逻辑运算,可以实现循环 (for)或者选择 (if)。常见的命令包括forward, backward, turnleft, turnright,用于控制小海龟的前进后退和转向。另外也可以用ask和print来输入输出。变量用$a的形式表示。在绘图过程中,小海龟不断移动,同时左侧也会用黄色标明运行到哪一行了,非常有趣。一句话来形容,麻雀虽小,五脏俱齐。
KTurtle界面
你可以通过它的帮助菜单(需要安装)来查询具体的命令。
帮助菜单
画房子:
# 该例来自 http://banajim.myweb.port.ac.uk/recreation/logoscripts
# 画房子
reset # 清空画面
penup # 抬起笔,开始不留下痕迹
forward 50
pendown # 放下笔,开始留下痕迹
pw 2 # penwidth,线条粗细
go 200, 200 # 前往坐标点
# 房子主体
turnleft 90 # 左转90度
forward 100 # 前进100像素
turnright 90
forward 100
turnleft 90
forward 30
turnright 140
forward 105
turnright 80
forward 105
turnright 140
forward 30
turnleft 90
forward 100
# 窗户
go 120, 90
turnleft 90
forward 60
turnleft 90
repeat 90 {
forward 1.05
turnleft 2
}
# 窗户中线
go 150, 90
turnright 180
forward 30
# 窗户对角线
tr 45 # turnright的简写
go 135, 77
forward 10
go 135, 82
forward 10
go 160, 79
forward 10
go 160, 84
forward 10
tl 45
# 门
go 120,200
forward 50
tr 90
forward 30
tr 90
forward 50
# 门把手
go 145, 175
repeat 24 { # 循环24次
forward 1
tr 15
}
# 窗户
go 160,140
tr 180
forward 25
tr 90
forward 25
tr 90
forward 25
tr 90
forward 25
tr 90
# 窗户中线
go 172.5,140
forward 25
tr 90
go 160,127.5
forward 25
# 窗户对角线
# pw 1
tl 45
go 164, 134
forward 5
go 164, 138
forward 5
go 177, 121
forward 5
go 177, 125
forward 5
tr 45
go 230,150
再加上一个画螺旋线:
reset
for $x = 1 to 36 {
repeat 72 {
forward 4
turnright 5
}
penup
turnright 10
forward 2
pendown
}
go 0, 0
还可以继续开发出更多的图形。如果你数学不错,甚至可以写一个分形的绘图 (只不过速度真的很慢很慢)。
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法