电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

logo语言的双刃剑go label 语句

6页
  • 卖家[上传人]:小**
  • 文档编号:89125255
  • 上传时间:2019-05-18
  • 文档格式:DOC
  • 文档大小:20KB
  • / 6 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 1、LOGO语言的双刃剑GO LABEL 语句LOGO语言的双刃剑GO-LABEL语句在LOGO语言中有一对十分重要的命令GO-LABEL,近来认识它、使用它的编程爱好者逐渐多起来了。可以这样讲:在LOGO语言中有些命题如果没有GO-LABEL命令,简直都没有办法编出程序来,所以它显得很好用、很重要。就连结构化编程实现得相当好的VB、PASCAL、C、C+语言中都保留了与GO-LABEL相类似的GOTO命令(例如用搜索引擎搜索PASCAL保留字或PASCAL关键字就能查出PASCAL语言的命令集中是否包含使用了GOTO命令)。由此可见GO-LABEL(或GOTO)命令的重要性。但是GO-LABEL命令又是许多计算机程序设计专家极力反对使用的程序设计命令,因为使用不当时,它将会严重破坏程序的结构化,所以用得不好就极其有害。GO-LABEL命令类似于其它计算机程序设计语言中的GOTO命令。所以有少数类型的计算机程序设计语言中干脆就没有类似的命令语言,其用意在于彻底杜绝这方面的危害。这两条LOGO命令使用的语法如下:GO-LABEL必须是成对使用的命令。格式:GO行号功能:LOGO系统在执行到G

      2、O命令时,就无条件地转向所指定的行号处继续执行程序。行号之前一律以一个符号标识。一组GO-LABEL命令所采用的行号必须完全对应一致。格式:LABEL行号功能:标注一个指定的行号。简单的应用举例:TOZFX8;主程序用无条件转向命令画正方形DRAW;清屏幕MAKEN0;先设定N为0,因为还没有开始画LABELHH;在还没有画完4条边时就返回到这里FD60RT90;画一条边MAKEN:N+1;已经画过的边数自动累加1IF:N=4THENSTOPELSEGOHH;控制总共画4条边END看懂了上面程序的可能会说,用REPEAT4FD60RT90就画出来了,何必这么麻烦?这说的也是。但是GO-LABEL命令不是用在这样的地方的。林老师编写的以下几个程序,假如没有GO-LABEL命令的话,根本不可能编出来。在这些举例的程序中几乎没有别的LOGO命令或编程方式能够替代GO-LABEL命令。计算兼画图的经典程序:挑战八皇后问题自定义海龟造型的工具程序:海龟是怎样DIY的至今还没被超越的纯计算程序:实战计算圆周率到小数下10000位一个至今还保持记录的25位数:寻找神秘的连锁数在上面的4个例子中GO-

      3、LABEL命令是其它命令所难以替代的大家可以点击以上链接查看这些程序在林老师的博客里还有其它例子,有劳自己找一找。下面还是通过一些例子来分析比较GO-LABEL命令和其他形式编程思路上的区别。示范例题:限定仅使用1个FOR循环找出所有3位数中3个数位的和等于16的所有3位数,并计算出它们的累加和。程序1:用标准的单重循环编程(评述:LOGO语言在REPEAT、FOR等命令的方括号中不允许分行写程序,大大限制了编写复杂程序的能力。那个FOR命令括号内红色部分的LOGO命令行实在太长了!这是LOGO语言的致命伤之一-也许原先设计给孩子们使用的LOGO语言的设计者,从来都没有准备让大家用它来设计这样繁琐的计算程序。)TOLEIJIA1;标准的单循环程序MAKEN0;计算符合条件的数的个数MAKES0;计算累加和FORI100999MAKEAINT(:I/100)MAKEBREMAINDER:I100MAKECREMAINDER:B10MAKEBINT(:B/10)IF:A+:B+:C=18TYPE:ITYPECHAR32MAKEN:N+1MAKES:S+:IPRTYPE总共有TYPE:NPR

      4、个符合条件的数。TYPE这些数的总和是:PR:SEND运行结果:LEIJIA1189198279288297369378387396459468477486495549558567576585594639648657666675684693729738747756765774783792819828837846855864873882891909918927936945954963972981990总共有54个符合条件的数。这些数的总和是:36531程序2:用GO-LABEL可以替代FOR循环编程(评述:一些复杂的长程序语句在使用GO-LABEL编程后,就允许分行编写了,方便了不少。在有些场合下,GO-LABEL编程是无可替代的。)TOLEIJIA2;用GO-LABEL替代FOR循环MAKEN0;计算符合条件的数的个数MAKES0;计算累加和MAKEI100LABELLOOPMAKEAINT(:I/100);剪取三位数的百位MAKEBREMAINDER:I100;剪取十位连同个位MAKECREMAINDER:B10;剪取个位MAKEBINT(:B/10);剪取十位IF:A+:B+:C=

      5、18TYPE:ITYPECHAR32MAKEN:N+1MAKES:S+:IMAKEI:I+1IF:I1000THENGOLOOP;这是向前GOTO正确应用的典型例子PRTYPE总共有TYPE:NPR个符合条件的数。TYPE这些数的总和是:PR:SEND程序3:使用转行符号编程(评述:这个程序实际上和LEIJIA1是一样的,仅仅是用符号把长程序截成几段连起来。但是,如果符号使用错误(例如缺少预留空格)或符号忘了写,将造成难以查找的出错。符号后面也不允许添加注解。符号是对LOGO程序难以写成很长的语言的一种改善。)TOLEIJIA4;使用转行符号编程MAKEN0;计算符合条件的数的个数MAKES0;计算累加和FORI100999MAKEAINT(:I/100)MAKEBREMAINDER:I100MAKECREMAINDER:B10MAKEBINT(:B/10)IF:A+:B+:C=18TYPE:ITYPECHAR32MAKEN:N+1MAKES:S+:IPRTYPE总共有TYPE:NPR个符合条件的数。TYPE这些数的总和是:PR:SEND关于使用程序换行转接号的技巧请参考以下文章的链接

      6、:重新塑造LOGO编程风格的程序换行转接号程序4:(评述:这是通常提倡的方式,也是最优化的结构化编程方式。使用子程序就把FOR循环括号内的长语句解放出来了。)TOLEIJIA4;添加了子程序的单循环程序MAKEN0;计算符合条件的数的个数MAKES0;计算累加和FORI100999ZCX:I;产生3位数的FOR循环命令组PRTYPE总共有TYPE:NPR个符合条件的数。TYPE这些数的总和是:PR:SENDTOZCX:I;计算子程序MAKEAINT(:I/100);剪取三位数的百位MAKEBREMAINDER:I100;剪取十位连同个位MAKECREMAINDER:B10;剪取个位MAKEBINT(:B/10);剪取十位IF:A+:B+:C=18TYPE:ITYPECHAR32MAKEN:N+1MAKES:S+:I;检查和等于18、显示、累加操作END滥用GO-LABEL将导致程序结构混乱的实例:程序5:(评述:这是个故意编造的滥用GO-LABEL的例子。整个程序从LOGO语法的角度来看,什么毛病也没有。但是运行了这个程序后发现它什么也没有干,只有在那里乱兜了几个圈子,程序甚至根本没有

      7、执行程序中的MAKE、PR命令。当程序的结构更加复杂时,滥用GO-LABEL命令最后连导致程序的毛病出在哪里都找不到。)TOLEIJIA5GOL1;转向L1行号处MAKEA5MAKEB3PR:A+:BLABELL2GOL3;转向L3行号处PR:A*:BLABELL1GOL2;转向L2行号处LABELL3END上面这个程序LEIJIA5看懂了吗?能看懂最好。看不懂也无所谓。反正这肯定是一个运行轨迹缠绕、没有明确目的地飞来飞去的程序。千万别没有目的地使用GO-LABEL!它虽然可能成为最好的东西,但没有用好也可能是非常有害的东西!小结:在LOGO语言中,GO-LABEL命令的正确应用可以大大提高编程的灵活性。GO语句一般都和IFTHENELSE联合使用,常常能达到其他语句无法达到的编程效果。编写程序时要十分慎重使用GO无条件转向语句。滥用GO无条件转向语句,可能会使程序的思路变得十分混乱。只有在以下两种目的性非常明确的情况下才能使用GO无条件转向语句:(1)向前GO:GO无条件转向语句指向在GO命令行之前的行号,可以构成循环重复执行前面的程序语句。(2)向后GO:GO无条件转向语句指向在GO命令行之后的行号,可以根据需要越过某些暂时不需要操作的程序语句。本文系应希望彻底了解GO-LABEL用途的读者的要求而撰写点击下面的页面查找详细分类目录的链接:林老师博客首页的链接:林正山老师邮箱:需要LOGO系统文件的可以发邮件给林老师文件包中还包括学习LOGO语言常用表格及工具程序文件声明:林正山老师发表的文章,媒体、网站或出版物未经本人许可谢绝进行任何形式的删节、改编、重组及转载。允许个人博客按原文(含图片及附注)进行完整转载,转载时敬请注明本博作者姓名、文章原始出处,并以链接形式标明来源。

      《logo语言的双刃剑go label 语句》由会员小**分享,可在线阅读,更多相关《logo语言的双刃剑go label 语句》请在金锄头文库上搜索。

      点击阅读更多内容
    最新标签
    信息化课堂中的合作学习结业作业七年级语文 发车时刻表 长途客运 入党志愿书填写模板精品 庆祝建党101周年多体裁诗歌朗诵素材汇编10篇唯一微庆祝 智能家居系统本科论文 心得感悟 雁楠中学 20230513224122 2022 公安主题党日 部编版四年级第三单元综合性学习课件 机关事务中心2022年全面依法治区工作总结及来年工作安排 入党积极分子自我推荐 世界水日ppt 关于构建更高水平的全民健身公共服务体系的意见 空气单元分析 哈里德课件 2022年乡村振兴驻村工作计划 空气教材分析 五年级下册科学教材分析 退役军人事务局季度工作总结 集装箱房合同 2021年财务报表 2022年继续教育公需课 2022年公需课 2022年日历每月一张 名词性从句在写作中的应用 局域网技术与局域网组建 施工网格 薪资体系 运维实施方案 硫酸安全技术 柔韧训练 既有居住建筑节能改造技术规程 建筑工地疫情防控 大型工程技术风险 磷酸二氢钾 2022年小学三年级语文下册教学总结例文 少儿美术-小花 2022年环保倡议书模板六篇 2022年监理辞职报告精选 2022年畅想未来记叙文精品 企业信息化建设与管理课程实验指导书范本 草房子读后感-第1篇 小数乘整数教学PPT课件人教版五年级数学上册 2022年教师个人工作计划范本-工作计划 国学小名士经典诵读电视大赛观后感诵读经典传承美德 医疗质量管理制度 2 2022年小学体育教师学期工作总结
    关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
    手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
    ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.