欢迎来到天天文库
浏览记录
ID:36922019
大小:730.50 KB
页数:14页
时间:2019-05-11
《3.2-信息的编程加工》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、信息的编程加工信息技术有趣的自然数在自然数中有很多数都是有规律的19912002+11回文数提问1:从2002年起,再过多少年,我们才能再碰到一个“回文数”的年份?提问2:两位的“回文数”有几个?三位的“回文数”又有几个?110年9个90个有趣的自然数还有一类数也很有特色:首先,它是一个三位数;其次,它的各位数字的立方和就是这个数本身。这类数,有个好听的名称:水仙花数。问题:请大家思考并写出所有的水仙花数方程:a3+b3+c3=a*100+b*10+c求方程:a3+b3+c3=a*100+b*10+c的解提示:可以用数学中的穷举法和排除
2、法方法:首先,取数字100,那么对应的a,b,c分别为1、0、0,判断这个方程是否成立;然后,再取数字101,再进行判断……如此反复,一直判断到数字999。问题:我们要进行多少次的验证才能够得出所有的水仙花数?900次!!!求水仙花数的程序我们可以利用计算机的优势:高速度和大容量来帮我们快速解决问题。演示程序:算法设计问题:计算机能快速地求出问题的解,是不是代表它有思维、知道如何解决问题?答案是否定的,所以必须告诉它解决问题的过程和方法。在程序设计中我们称之为算法。例:小学有篇课文,里面提到过著名数学家华罗庚“烧水泡茶”的问题。对于这个
3、问题,他是怎么解决的?第一步:烧水;第二步:烧水过程中,洗刷茶具;第三步:水烧开后沏茶。算法的设计分两个内容:一是寻找一种方法;二是描述一下实现这个方法的步骤算法设计那么在求水仙花数的过程中,我们应该寻找什么方法?该如何实现这个方法的步骤。其中要包括:从何处着手、解题步骤以及结果处理。1、首先确定水仙花数的范围:是一个三位数,也就是从100到999;判断表达式是否成立,如果成立就是水仙花数;如果不成立就不是水仙花数。2、思考等式中a,b,c的值是从哪里来的?对于一个三位数,计算机是不知道怎么分离出各位上的数字的,所以还得向计算机说明如何
4、分离。请思考如何分离出一个三位数的各位上的数?算法设计3、然后对表达式的成立与否进行判断,如果成立就显示出这个数。整个算法思想:让计算机从100到999依次进行百位、十位和个位数字的分离,然后对表达式的成立与否进行判断,如果成立就显示出这个数。编程实现注:VB语言,提供的可视化设计工具,可以直接使用窗体和控件设计程序的界面,大大地提高了程序设计的效率。1、界面设计标题说明性文字按钮用户界面是一个应用程序最重要的部分,界面是应用程序呈现给用户的外观,也是实现人机交互的接口。编程实现2、代码编写PrivateSubCommand1_Clic
5、k()DimiAsInteger′定义自然数变量DimaAsInteger′定义百位上的数的变量DimbAsInteger′定义十位上的数的变量DimcAsInteger′定义十位上的数的变量Label1.Caption=“”′初始化文本框为空白Fori=100To999a=Int(i/100)b=Int(i/10)-a*10c=iMod10′分离百位、十位和个位数分别放入a、b、cIfa*a*a+b*b*b+c*c*c=iThenPrinti′如果表达式成立,就输出该自然数EndIf′如果表达式不成立,则不输出Nexti′变量i增加1
6、EndSub一个循环3、调试运行编程实现在代码编写过程中和编写完成后都需要不断调试运行,以确保数据排序无误。刚才我们是从100到999将每个数,都重复如下操作:分离出百位、十位、个位上的数值,并判断表达式是否成立,如果成立就输出,再取下一个数字进行同样的操作。拓展与延伸请大家讨论除了这种算法还有没有其他算法?提示:刚才是从数字出发分离出a,b,c,能不能换个角度从a,b,c拼出数字?作为百位上的a可以取1~9之间的任意数,而b和c可以取0~9之间的任意数,从已知的a,b,c求出100*a+10*b+c,看是否等于它们的立方和,如果相等就
7、输出。课堂作业打开程序----“猜数字”先玩一下这个游戏,得出这个游戏的规律,然后用自然语言写出这个游戏的算法思想。整个算法思想:让计算机从100到999依次进行百位、十位和个位数字的分离,然后对表达式的成立与否进行判断,如果成立就显示出这个数。例:求水仙花数的算法思想
此文档下载收益归作者所有