算法设计(精品).ppt

上传人:hyn****60 文档编号:82467243 上传时间:2023-03-25 格式:PPT 页数:12 大小:464KB
返回 下载 相关 举报
算法设计(精品).ppt_第1页
第1页 / 共12页
算法设计(精品).ppt_第2页
第2页 / 共12页
点击查看更多>>
资源描述

《算法设计(精品).ppt》由会员分享,可在线阅读,更多相关《算法设计(精品).ppt(12页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、信息的编程加工信息的编程加工信息技术信息技术有趣的自然数有趣的自然数在自然数中有很多数都是有规律的在自然数中有很多数都是有规律的 +11回文数回文数 提问提问1:1:从从20022002年起年起,再过多少年,我们才能再碰到一个再过多少年,我们才能再碰到一个 “回文数回文数”的年份?的年份?提问提问2:2:两位的两位的“回文数回文数”有几个?有几个?三位的三位的“回文数回文数”又有几个?又有几个?有趣的自然数有趣的自然数还有一类数也很有特色:还有一类数也很有特色:首先,它是一个三位数;首先,它是一个三位数;其次,它的各位数字的立方和就是这个数其次,它的各位数字的立方和就是这个数 本身本身 。这类

2、数,有个好听的名称:这类数,有个好听的名称:水仙花数水仙花数。问题:请大家思考并写出所有的水仙花数问题:请大家思考并写出所有的水仙花数方程:方程:a a3 3+b+b3 3+c+c3 3=a*100+b*10+c=a*100+b*10+c求方程:求方程:a a3 3+b+b3 3+c+c3 3=a*100+b*10+c=a*100+b*10+c的解的解提示:可以用数学中的提示:可以用数学中的穷举法穷举法和和排除法排除法 方法:方法:首先,取数字首先,取数字100100,那么对应的,那么对应的a a,b b,c c分分别为别为1 1、0 0、0 0,判断这个方程是否成立;然后,再,判断这个方程是

3、否成立;然后,再取数字取数字101101,再进行判断,再进行判断如此反复,一直判断如此反复,一直判断到数字到数字999999。问题:问题:我们要进行多少次的验证才能够得出所我们要进行多少次的验证才能够得出所 有的水仙花数?有的水仙花数?求水仙花数的程序求水仙花数的程序我们可以利用计算机的优势:我们可以利用计算机的优势:高速度高速度和和大容量大容量来帮我们快速解决问题。来帮我们快速解决问题。演示程序:演示程序:算法设计算法设计 问题:计算机能快速地求出问题的解,是问题:计算机能快速地求出问题的解,是不是代表它有思维、知道如何解决问题不是代表它有思维、知道如何解决问题?答案是否定的,所以必须告诉它

4、解决问题的答案是否定的,所以必须告诉它解决问题的过程和方法。在程序设计中我们称之为过程和方法。在程序设计中我们称之为算法算法。例:小学有篇课文,里面提到过著名数学家华罗庚例:小学有篇课文,里面提到过著名数学家华罗庚“烧水泡茶烧水泡茶”的问题。对于这个问题,他是怎么解决的的问题。对于这个问题,他是怎么解决的?第一步:烧水;第一步:烧水;第二步:烧水过程中,洗刷茶具;第二步:烧水过程中,洗刷茶具;第三步:水烧开后沏茶。第三步:水烧开后沏茶。算法的设计分两个内容算法的设计分两个内容:一是寻找一种方法一是寻找一种方法;二是描述一下实现这个方法的步骤二是描述一下实现这个方法的步骤 算法设计算法设计那么在

5、求水仙花数的过程中,我们应该寻找什么那么在求水仙花数的过程中,我们应该寻找什么方法?该如何实现这个方法的步骤。其中要包括:方法?该如何实现这个方法的步骤。其中要包括:从何处着手从何处着手、解题步骤解题步骤以及以及结果处理结果处理。1 1、首先确定水仙花数的范围:是一个三位数,也就、首先确定水仙花数的范围:是一个三位数,也就是从是从100100到到999999;判断表达式是否成立,如果成立就;判断表达式是否成立,如果成立就是水仙花数;如果不成立就不是水仙花数。是水仙花数;如果不成立就不是水仙花数。2 2、思考、思考等式中等式中a a,b b,c c的值是从哪里来的?的值是从哪里来的?对于一个三位

6、数,计算机是不知道怎么分离出各位对于一个三位数,计算机是不知道怎么分离出各位上的数字的,所以还得向计算机说明如何分离。上的数字的,所以还得向计算机说明如何分离。请思考如何分离出一个三位数的各位上的数?请思考如何分离出一个三位数的各位上的数?算法设计算法设计3 3、然后对表达式的成立与否进行判断,、然后对表达式的成立与否进行判断,如果成立就显示出这个数。如果成立就显示出这个数。整个算法思想:整个算法思想:让计算机从让计算机从100100到到999999依次进依次进行百位、十位和个位数字的分离,然后对表行百位、十位和个位数字的分离,然后对表达式的成立与否进行判断,如果成立就显示达式的成立与否进行判

7、断,如果成立就显示出这个数。出这个数。编程实现编程实现 注:注:VBVB语言,提供的可视化设计工具,可以直接使用语言,提供的可视化设计工具,可以直接使用窗体和控件设计程序的界面,大大地提高了程序设计窗体和控件设计程序的界面,大大地提高了程序设计的效率。的效率。1 1、界面设计、界面设计标题标题说明性说明性文字文字按钮按钮用户界面是一个应用程序最重要的部分,界面是应用用户界面是一个应用程序最重要的部分,界面是应用程序呈现给用户的外观,也是实现人机交互的接口。程序呈现给用户的外观,也是实现人机交互的接口。编程实现编程实现 2 2、代码编写、代码编写Private Sub Command1_Clic

8、k()Dim i As Integer 定义自然数变量定义自然数变量Dim a As Integer 定义百位上的数的变量定义百位上的数的变量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=a-i Mod 10*10 分离百位、十位和个位数分别放入分离百位、十位和个位数分别放入a a、b b、c c If a=cThen Print

9、 i 如果表达式成立,就输出该自然数如果表达式成立,就输出该自然数 End If 如果表达式不成立,则不输出如果表达式不成立,则不输出Next i 变量变量i i增加增加1 1End Sub一个循环一个循环3 3、调试运行、调试运行编程实现编程实现 在代码编写过程中和编写完成后都需要不在代码编写过程中和编写完成后都需要不断调试运行,以确保数据排序无误。断调试运行,以确保数据排序无误。刚才我们是从刚才我们是从 100100到到999999将每个数,都重复如下将每个数,都重复如下操作:分离出百位、十位、个位上的数值,并判操作:分离出百位、十位、个位上的数值,并判断表达式是否成立,如果成立就输出,再

10、取下一断表达式是否成立,如果成立就输出,再取下一个数字进行同样的操作。个数字进行同样的操作。拓展与延伸拓展与延伸 请大家讨论除了这种算法还有没有其他算法?请大家讨论除了这种算法还有没有其他算法?提示:刚才是从数字出发分离出提示:刚才是从数字出发分离出 a a,b b,c c,能不能换,能不能换个角度从个角度从a a,b b,c c拼出数字?拼出数字?作为百位上的作为百位上的 a a可以取可以取1919之间的任意数,而之间的任意数,而b b和和c c可以可以取取0909之间的任意数,从已知的之间的任意数,从已知的a a,b b,c c求出求出100*a+10*100*a+10*b+cb+c,看是否等于它们的立方和,如果相等,看是否等于它们的立方和,如果相等就输出。就输出。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 生活常识

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁