信息的编程加工

资源下载
  1. 二一教育资源

信息的编程加工

资源简介

(共15张PPT)
信息的编程加工
有趣的自然数
在自然数中有很多数都是有规律的
+11
回文数
提问1:从2002年起,再过多少年,我们才能再碰到一个
“回文数”的年份?
提问2:两位的“回文数”有几个?
三位的“回文数”又有几个?
有趣的自然数
还有一类数也很有特色:
首先,它是一个三位数;
其次,它的各位数字的立方和就是这个数
本身 。
这类数,有个好听的名称:水仙花数。
问题:请大家思考并写出所有的水仙花数
方程:a3+b3+c3=a*100+b*10+c
求方程:a3+b3+c3=a*100+b*10+c的解
提示:可以用数学中的穷举法和排除法
方法:首先,取数字100,那么对应的a,b,c分别为1、0、0,判断这个方程是否成立;然后,再取数字101,再进行判断……如此反复,一直判断到数字999。
问题:我们要进行多少次的验证才能够得出所 有的水仙花数?
求水仙花数的程序
我们可以利用计算机的优势:
高速度和大容量来帮我们快速解决问题。
演示程序:
算法设计
问题:计算机能快速地求出问题的解,是不是代表它有思维、知道如何解决问题?
答案是否定的,所以必须告诉它解决问题的过程和方法。在程序设计中我们称之为算法。
例:小学有篇课文,里面提到过著名数学家华罗庚“烧水泡茶”的问题。对于这个问题,他是怎么解决的?
第一步:烧水;
第二步:烧水过程中,洗刷茶具;
第三步:水烧开后沏茶。
算法的设计分两个内容:
一是寻找一种方法;
二是描述一下实现这个方法的步骤
算法设计
那么在求水仙花数的过程中,我们应该寻找什么方法?该如何实现这个方法的步骤。其中要包括:从何处着手、解题步骤以及结果处理。
1、首先确定水仙花数的范围:是一个三位数,也就是从100到999;判断表达式是否成立,如果成立就是水仙花数;如果不成立就不是水仙花数。
2、思考等式中a,b,c的值是从哪里来的?
对于一个三位数,计算机是不知道怎么分离出各位上的数字的,所以还得向计算机说明如何分离。
请思考如何分离出一个三位数的各位上的数?
算法设计
3、然后对表达式的成立与否进行判断,如果成立就显示出这个数。
整个算法思想:让计算机从100到999依次进行百位、十位和个位数字的分离,然后对表达式的成立与否进行判断,如果成立就显示出这个数。
编程实现
注:VB语言,提供的可视化设计工具,可以直接使用窗体和控件设计程序的界面,大大地提高了程序设计的效率。
1、界面设计
标题
说明性文字
按钮
用户界面是一个应用程序最重要的部分,界面是应用程序呈现给用户的外观,也是实现人机交互的接口。
编程实现
2、代码编写
Private Sub Command1_Click()
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 = 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
一个循环
3、调试运行
编程实现
在代码编写过程中和编写完成后都需要不断调试运行,以确保数据排序无误。
刚才我们是从 100到999将每个数,都重复如下操作:分离出百位、十位、个位上的数值,并判断表达式是否成立,如果成立就输出,再取下一个数字进行同样的操作。
拓展与延伸
请大家讨论除了这种算法还有没有其他算法?
提示:刚才是从数字出发分离出 a,b,c,能不能换个角度从a,b,c拼出数字?
作为百位上的 a可以取1~9之间的任意数,而b和c可以取0~9之间的任意数,从已知的a,b,c求出100*a+10*b+c,看是否等于它们的立方和,如果相等就输出。
课堂作业
打开程序----“猜数字”
先玩一下这个游戏,得出这个游戏的规律,
然后用自然语言写出这个游戏的算法思想。
整个算法思想:让计算机从100到999依次进行百位、十位和个位数字的分离,然后对表达式的成立与否进行判断,如果成立就显示出这个数。
例:求水仙花数的算法思想

展开更多......

收起↑

资源预览