LOGO字表处理我们位于先进行列

标签:
林老师pclogomswlogofmslogoc |
分类: WinXP~7~8~10运行Logo语言 |
LOGO字表处理我们位于先进行列

案例一:编制OP递归过程求解数值表中各元素的平均值。
参考答案:
TO PJS :DATA :N
:S
END
执行范例:
PR PJS [10 20] 0
0
15
PR PJS [75 100 26] 0
0
67
案例二:编制e68.lgo求解:a除以:b的商及余数。
B36.
参考答案: 分值系数:8分
to e68 :a :b
;求解商及余数的递归
end
分析:用连减替代除法,每减1次、商增加1。
执行范例:
SHOW E68 82
7
[11 5]
SHOW E68 101
9
[11 2]
SHOW E68 394
58
[6 46]
案例三:编制OP递归过程能够将任意的复表转换成单表。
B52.
参考答案: 分值系数:20分
TO DB :L
;将任意复表转换成单表
;否则继续对除了首元素外的后面的元素进行处理
END
执行范例:
SHOW DB [1 [2 [3]]
9567 [8 9 [A]]]
[1 2 3 9567 8 9
A]
SHOW DB [1 3 5 7
[8]]
[1 3 5 7
8]
范例四:编写递归程序,能够找出输入的字、表中最大的数字元素。需要特别指出的是:一般情况下如果将递归过程中的>号换成<号,或是<号换成>号,那么“找最大”就变成“找最小”了。
参考答案有多个,仅仅例举一个
:
TO ZD1 :X
;可以处理字或表,找出其中最大数的递归
IFELSE (FIRST
:X)>(LAST :X)[ZD1 BL :X][ZD1 BF :X]
END
执行范例:
ZD1
"13987426
;可处理字数据
9
ZD1 [-12 999 123 65
579] ;可处理表数据
999
范例五:编写OP递归过程,将一个数字表重排序后以降序输出。
参考答案:
分值系数:12分
TO JXA :B :K
;将数字表:B以降序输出 :K是装输出数据的空表 只能处理表数据
END
TO J2 :B
:N ;:N是先前取出来的表:B的首元素
END
执行范例:
SHOW JXA[9 4 1 8 3 7 5
20][]
[20 9 8 7 5 4 3
1]
SHOW JXA[35 16 58 331
976 2][]
[976 331 58 35 16
2]
范例六:高精度正整数加法
to jiafa
;高精度加法主程序
end
to jia :he :a :b
:j
;递归求和子程序
;判断当前加法是否有进位
;位数少的加数剪成空字时按0处理
end
to wei
:nn ;剪取尾字符子程序
当加数不是空字时剪取末位
end
Jiafa
327600007687230000176329869
;通过rw对话框输入:a超过15位
8760023762487667200054318700000
;通过rw对话框输入:b超过15位
8760351362495354430054495029869
如果上面的范例你都还看不懂
这全都是历年小学生考试竞赛用过的真题呀
你可得找几本林老师编著的教科书看一看了
前一篇:LOGO作图编程已经达到第一方队
后一篇:LOGO写生作图思维超前理念卓越