第9章:循环语句
ξ 9.1 复习 repeat 循环
格式
repeat重复次数[ 要重复执行的语句 ]
示例
repeat 3 [ lt 90 fd 100 ]
;重复3次 左转90度,前进100像素
ξ 9.2 程序:随便画
to suibian_hua ;程序名叫“随便画”
lt 15 ;左转15度
fd 100 ;前进100像素
bk 20 ;后退20像素
lt 90 ;左转90度
fd 10 ;前进10像素
rt 90 ;右转90度
fd 30 ;前进30像素
rt 90 ;右转90度
pu ;抬笔
fd 10 ;前进10像素
lt 90 ;左转90度
bk 110 ;后退110像素
pd ;落笔
ht ;隐藏箭头
end
运行程序
repeat 25 [ suibian_hua ]
运行效果
ξ 9.3 for 循环介绍
格式
for [ 计数变量 初值 终值 步长 ] [ 语句 ]
示例
for [ i 1 3 1] [ lt 90 fd 100 ]
;重复3次 左转90度,前进100像素计数变量值分别是:1、2、3
for [ i 1 6 2] [ lt 90 fd 100 ]
;和上边语句一样,计数变量值分别是:1、3、5
ξ 9.4 程序:重画多边形
to duobianxing :bianshu :bianchang
;程序名duobianxing
;参数bianshu表示边数
;参数bianchang表示边长
local "jiaodu ;定义变量angel表示多边形内角角度
;duobianxing_neijiao以前的「计算多边形内角」程序
make "jiaodu 180 - (duobianxing_neijiao :bianshu)
;循环边数次
for [i 1 :bianshu 1] [
;每次绘一条边长,再旋转(180-内角度数)
fd :bianchang
lt :jiaodu
]
ht ;隐藏箭头
end
运行程序
duobianxing 8 100
运行效果
ξ 9.5 while 循环介绍
格式
while [ 逻辑表达式 ] [ 逻辑表达式成立时要执行的语句 ]
逻辑表达式:
逻辑表达式的运算结果是逻辑值:true 或 false;
false:退出循环;
true:执行语句,计算逻辑表达式,循环,直到退出。
要执行的语句说明:
一般会修改前面关系语句中的变量,当关系运算结果为false时退出循环体。
示例
make "i 1
while [ :i < 4] [
lt 90 fd 100
make "i = :i + 1
]
ξ 9.6 程序:画多边形一部分
to duobianxing_bufen :bianshu :bianchang
;程序名duobianxing_bufen,部分多边形;
;参数bianshu表示边数;
;参数bianchang表示边长;
local "jiaodu ;定义变量jiaodu表示角度
;duobianxing_neijiao以前的「计算多边形内角」程序
make "jiaodu 180 - (duobianxing_neijiao :bianshu)
local "yi_hua ;yi_hua表示已画的边数
local "yao_hua ;yao_hua表示要画的边数
make "yi_hua 0 ;已画边数初值为0
;随机生成要画的边数值
make "yao_hua (random (:bianshu-1)) + 1
ht ;隐藏箭头
pd ;落笔
while [ :yi_hua < :bianshu + 1 ] [
;变量yi_chuli等于边数时结束循环
;判断是否最后一条边,若是则退出循环,不是则画这条边
ifelse :yi_hua = :yao_hua [ stop ] [
fd :bianchang ;前进边长的长度,就是画线
lt :jiaodu ;左转
]
;处理一条边后,变量yi_hua加1
make "yi_hua :yi_hua + 1
]
end
运行程序
duobianxing_bufen 7 80
运行效果
下一篇
第10章:位置和坐标
ξ 10.1 坐标的概念
ξ 10.2 移动到指定位置
ξ 10.3 程序:画十字坐标轴
ξ 10.4 获取位置
ξ 10.5 计算距离