8年级下册信息技术 算法实例(二) 逐字稿-2,458字
师:同学们好,今天我们来学习算法第三课时。先回顾一下上节课内容,我们知道算法是解决问题的方法和步骤,还学会用流程图描述算法。通过鸡兔同笼问题,学习了基本算法中的解析法,其关键步骤是找到解决问题的数学表达式并求出值。其实基本算法还有很多,今天咱们一起学习一种新的基本算法。来看这道题。
问题描述:若某三位数等于它每一位数字的立方之和,就称这个数为水仙花数。比如153 = 13 + 53 + 33 ,请找出所有这样的水仙花数。我们来分析下,可利用计算机运行速度快的特点,从100到999,逐个判断是否满足水仙花数的条件,满足就输出。具体来看,水仙花数范围是100 - 999 ,要分别得到三位数的百位a、十位b、个位c 。然后检验,若n等于a3 + b3 + c3 ,符合这个条件就输出。
下面设计该问题的算法。第一步,将n的初始值赋为100。第二步,如果n的个位数3加上十位数3,再加上百位数3等于n,就输出n值,否则转入第三步。若n小于等于999,将n的值加1转到第二步,否则转入第四步,输出运算结果结束程序。我们用流程图来描述水仙花算法。
双击桌面上流程图快捷图标,打开流程图软件,从图标工具箱拖入一个处理图标,输入n,把100赋值给n。再输入一个判断循环图标,在条件框中输入n小于等于999。在符合条件下面插入一个处理图标,对n的百位、十位、个位进行处理,把百位值复制给a,十位值赋值给b,个位值复制给c 。接着拖入一个判断选择图标,在条件框中对个位数、十位数、百位数与n之间的关系进行处理,即n等于a×a×a + b×b×b + c×c×c 。在条件满足下方,拖入一个输出图标,输出变量n,表示符合该条件时输出n 。不符合条件时,拖入一个处理图标,对n重新赋值,让n + 1赋值给n 。这样,水仙花数的流程图绘制完成。选择流程图菜单,另存为保存水仙花数的流程图,流程图绘制完毕。
这就是水仙花数的流程图。下面体验运行程序代码,大家会发现刚刚输入的程序代码里,取百位值、十位值用的是自然语言,流程图软件无法识别,要转换为软件可识别的代码。百位值取值用“\”运算和MOD运算,“\”运算指取整,n除以100保留整数部分,去掉小数部分;MOD表示取余,比如个位值n除以10,结果返回余数。这样就对百位值、十位值、个位值进行了处理,流程图就变成能让软件识别的了。我们来看运行程序代码。
对流程图中自然语言描述的百位数、十位数和个位数进行修改。n \ 100表示n除以100取整数部分赋值给a,也就是取百位值。拖入一个处理图标,对n的十位值处理,n \ 10 MOD 10,赋值给b 。再次拖入一个处理图标,对n的个位处理,n MOD 10,取n除以10的余数部分赋值给c 。选择计算机高级语言下的VB语言,选择语言菜单下面保存工程文件,保存为VBD工程文件。保存后,单击编辑工具、编译工具,保存VB模块文件,保存可执行文件,正在编译中。编译成功,确定符合条件的有153,题目中给的370满足条件,371满足条件,407满足条件。