版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、信息的编程加工,信息技术组 2012-12-12,有趣的自然数,在自然数中有很多数都是有规律的.,1991,2002,提问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的值是从哪里来的?,对于一个三位数,计算机是不知道怎么分离出各位上的数字的,所以还得向计算机说明如何分离。 请思考如何分离出一个三位数的各位上的数?,算法设计,3、然后对表达式
4、的成立与否进行判断,如果成立就显示出这个数。,整个算法思想:让计算机从100到999依次进行百位、十位和个位数字的分离,然后对表达式的成立与否进行判断,如果成立就显示出这个数。,编程实现,注:VB语言,提供的可视化设计工具,可以直接使用窗体和控件设计程序的界面,大大地提高了程序设计的效率。,1、界面设计,标题,说明性文字,按钮,用户界面是一个应用程序最重要的部分,界面是应用程序呈现给用户的外观,也是实现人机交互的接口。,编程实现,2、代码编写,Private Sub Command1_Click() Dim i As Integer 定义自然数变量 Dim a As Integer 定义百位上
5、的数的变量 Dim b As Integer 定义十位上的数的变量 Dim c As Integer 定义个位上的数的变量 Label1.Caption = “” 初始化文本框为空白 For i = 100 To 999 a = Int(i / 100) b = Int(i / 10) - a * 10 c = i Mod 10 分离百位、十位和个位数分别放入a、b、c If a * a * a + b * b * b + c * c * c = i Then Print i 如果表达式成立,就输出该自然数 End If 如果表达式不成立,则不输出 Next i 变量i增加1 End Sub,
6、3、调试运行,编程实现,在代码编写过程中和编写完成后都需要不断调试运行,以确保数据排序无误。,刚才我们是从 100到999将每个数,都重复如下操作:分离出百位、十位、个位上的数值,并判断表达式是否成立,如果成立就输出,再取下一个数字进行同样的操作。,拓展与延伸,请大家讨论除了这种算法还有没有其他算法?,提示:刚才是从数字出发分离出 a,b,c,能不能换个角度从a,b,c拼出数字? 作为百位上的 a可以取19之间的任意数,而b和c可以取09之间的任意数,从已知的a,b,c求出100*a+10*b+c,看是否等于它们的立方和,如果相等就输出。,课堂作业,打开程序-“猜数字”,先玩一下这个游戏,得出这个游戏的规律, 然后用自然语言写出这个游戏的算法思想。,整个算法思想:让计算机从100到999依次进行百位、十位和个位数字的分离,然后对表达式的成立与否进行判断,如果成立就显示出这个数。,例:求水仙花数的算法思想,Visual Basic 的水仙花数实现代码:,Private Sub Form_Click() Dim a, b, c As Integer a(个)b(十)c(百) For a = 0 To 9 For b = 0 To 9 For c = 1 To 9 If a
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年新疆交通职业技术学院单招职业适应性测试备考题库及答案解析
- 2026年山东科技职业学院单招职业适应性考试参考题库及答案解析
- 2026年内蒙古体育职业学院单招职业适应性考试备考试题及答案解析
- 2026年廊坊职业技术学院单招职业适应性测试参考题库及答案解析
- 2026年重庆交通职业学院单招职业适应性测试备考题库及答案解析
- 2026年湖南劳动人事职业学院单招职业适应性测试模拟试题及答案解析
- 2026年新乡医学院三全学院单招职业适应性测试模拟试题及答案解析
- 2026年重庆对外经贸学院单招职业适应性测试模拟试题及答案解析
- 2026年江西经济管理干部学院单招职业适应性考试模拟试题及答案解析
- 医疗健康产业投资与展望
- 公司人员优化原因分析报告
- 小型混凝土搅拌机毕业设计
- 小学数学主题图
- 天津泰达股权激励的案例分析
- 卧床病人的护理即翻身技巧课件
- 智能信报箱系统施工方案
- 严歌苓作品:霜降
- 西尔斯怀孕百科(升级版)
- 楼梯工程量计算表(模板、砼计算)
- 孔型设计的基本知识
- 百富系列灌装培训手册
评论
0/150
提交评论