加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

“水仙花”数从ITEM开始变得无比精彩

(2023-06-15 10:09:02)
标签:

林老师

pclogo

mswlogo

fmslogo

c

分类: WinXP~7~8~10运行Logo语言
水仙花”数从ITEM开始变得无比精彩
“水仙花”数从ITEM开始变得无比精彩
     FMSLogo-MSWLogo-PCLogo语言中,ITEM“输出指定位置元素”命令简直是“独一无二”般的存在。在C++、PYTHON语言中数值153和“字符串”153是两种截然不同的“数据”,是严格区分的,决不允许混淆使用,否则程序就会“报错”停止运行。在LOGO语言中,ITEM属于“字表处理”命令,可以用它轻易地“剪取”数字、字符串、表数据任意位置的“元素”。但是在LOGO语言中ITEM命令可以对数字进行“剪取”,剪取出来的单个数字当然是属于“字符”、“字符串”性质的,但是在LOGO语言中这个单独被“剪取”下来的数字字符,竟然允许被当成“数值”进行计算。这种可以模糊“数值”和“字符”之间的界限的语法规定给我带来了极大的方便,大大减少了计算的工作量,使得一些复杂的计算有可能实现。下面举个例子:
    for[i 100 999][循环体]  ;产生出来的100~999的数字赋值给变量:i
    假设现在恰好:i的值循环到153
    make "s item 2 :i  这个命令剪取:i153中的第2个数字赋值给变量:s
    现在:s的值是5,实际上已经将153的十位数剪取下来了。
    显然,使用ITEM命令剪取一个数字串中的某一个数位,比使用remainder或者乘法*减法以及int命令要简单得多。
      使用item命令编程求解“水仙花数”的编程如下:
to sxh_d
  for[i 100 999][     ;产生出所有3位数
    make "b item 1 :i ;用字表处理命令item剪取出第1位百位数
    make "s item 2 :i ;剪取第2位十位数
    make "g item 3 :i ;剪取第3位个位数
    if :b*:b*:b+:s*:s*:s+:g*:g*:g=:i[ ;输出符合条件的3位自幂数
      pr :i]]
end
现在还看不能完全出来item命令编程的优势
在后面两篇的博客中你将会看到
如果不使用item命令 求解1~99999999自幂数简直是不可能的

精彩博文待续

“水仙花”数从ITEM开始变得无比精彩

“水仙花”数从ITEM开始变得无比精彩

LOGO编程画出来的动画:
“水仙花”数从ITEM开始变得无比精彩


“水仙花”数从ITEM开始变得无比精彩

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有