(共20张PPT)
3.1体验计算机解决问题的过程
韩信点兵
:
3.1体验计算机解决问题的过程
“韩信点兵”问题。
韩信是我国西汉初著名的军事家,刘邦得天下,军事上全依靠他。韩信点兵,多多益善,不仅如此,还能经常以少胜多,以弱胜强。在与楚军决战时韩信指挥诸侯联军,在垓下十面埋伏,击败楚军,楚霸王项羽因此自杀。
学生:阅读“韩信点兵”材料。
“韩信点兵”问题一:用现代语言这样表述:“求被3除时余2,被5除时余3,被7除时余2的最小自然数。”
韩信点兵,多多益善。如果这个数超过100000,又是多少呢?今天我们就来体验计算机解决问题的过程。先思考问题一。
3.1体验计算机解决问题的过程
筛选法.
首先写出“用3除余2”的数:
2,5,8,11,14,17,20,23,26,29,…
其中,“用5除余3”的数:8,23,…
其中,“用7除余2”的数:23,…
由此得到,23是最小的一个解。
至于下一个解是什么,要把“…”写出来才知道;
实践以后发现,是要费一点儿功夫的。
韩信点兵
:
3.1体验计算机解决问题的过程
分析问题
(
找出已知条件和未知条件、列出已知条件和未知条件之间的关系
)
写出解题步骤(算法)
设所求的数为
X,则
X
应满足:
X
整除3余2
X
整除5余3
X
整除7余2
1.
令
X
为1。
2.
如果
X
整除3余2,
X
整除5余3,
X
整除7余2,这就是题目要求的数,则记下这个
X
。
3.
令
X
为
X+1
(为下一次计算作准备)。
4.
如果算出,则结束;否则跳转2。
5.
写出答案。
3.1体验计算机解决问题的过程
for
x
in
range(100):
if
(x
%
3==2
and
x
%
5==3
and
x
%
7==2):
print("韩信点兵的士兵数是",x)
break
x=x+1
程序代码:
3.1体验计算机解决问题的过程
“刚才有些同学把题目解出来了,答案是23,韩信作为大将军,统率士兵当然不止23人,下面我们来解决一个计算结果较大的问题。”
“韩信点兵”问题二:求被3除时余2、被5除时余3、被7除时余2且超过100000的最小整数。
3.1体验计算机解决问题的过程
分析问题
解题步骤
设所求的数为X,则X应满足:
超过100000的一个最小正整数;
X整除3余2;
X整除5余3;
X整除7余2;
1、令X为100000;
2、如果X整除3余2,X整除5余3,X整除7余2,则X就是答案,并记下;
3、令X增加1(为算下一个作准备);
4、如果算出,则结束;否则跳转到第2步;
5、写出答案。
3.1体验计算机解决问题的过程
x=100000
while
x
>=100000:
if
(x
%
3==2
and
x
%
5==3
and
x
%
7==2):
print("韩信点兵的士兵数是",x)
break
x
=
x
+
1
程序代码:
3.1体验计算机解决问题的过程
a=int(input(“输入头数:"))
b=int(input(“输入脚数:"))
x=int(2
a-b/2)
y=int(b/2-a)
print
(“鸡的数量为:",x)
print
(“免的数量为:",y)
求解问题的方式
相同点
不同点
人工求解问题
用计算机求解问题
求解问题的方式
相同点
不同点
人工求解问题
分析问题、设计算法、得出结果、验证结果等。
每次只能对特定的问题进行解答,运算速度慢,不需要借助计算机工具。
用计算机求解问题
编写程序、调试程序、运行速度快,通用性强。
3.1体验计算机解决问题的过程
用计算机解决问题的基本过程包括哪些?
具
体
问
题
分
析
问
题
设
计
算
法
编
写
程
序
调
试
程
序
得
到
答
案
在利用计算机解决问题之前,我们首先要分析问题的需求情况、已知条件和需要解决的问题。
问题分析清楚后,需要给出解决问题的详细方法和步骤,这一过程称为设计算法。
有了清晰可操作的算法描述,就可以选择一种计算机语言工具来编写程序,实现算法。
程序编写完成以后,再通过键盘把程序输入计算机中运行,检查程序能否按预想的效果执行,这一过程称为程序的调试运行。
当程序能够顺利运行以后,我们还需要对程序运行的结果进行检查。因为如果程序语句符合语法规则,而程序中却有逻辑或计算方法等错误,计算机是检查不出来的。因此,如果结果不合理,还要对程序甚至算法进行修改,直到程序的功能符合设计要求为止。
1、关于用计算机程序解决问题说法中正确的是(
)
。
A.利用计算机的高速运算能力提高信息处理能力
B.提高信息加工的效率
C.
针对具体问题以专门的程序来实现信息加工的自动化
D.以上说法都正确
D
2、小明编写好解密程序后,调试运行时,程序没有报错且能顺利运行,但不能正确解密,造成这个结果的原因是(
)
A.解密算法逻辑错误
B.程序语句语法错误
C.程序过期了
D.程序设计窗口配置不对
A
韩信点兵
汉高祖刘邦曾问大将韩信:“你看我能带多少兵?”韩信斜了刘邦一眼说:“你顶多能带十万兵吧!”汉高祖心中有三分不悦,心想:你竟敢小看我!“那你呢?”韩信傲气十足地说:“我呀,当然是多多益善啰!”刘邦心中又添了三分不高兴,勉强说:“将军如此大才,我很佩服。现在,我有一个小小的问题向将军请教,凭将军的大才,答起来一定不费吹灰之力的。”韩信满不在乎地说:“可以可以。”刘邦狡黠地一笑,传令叫来一小队士兵隔墙站队,刘邦发令:“每三人站成一排。”队站好后,小队长进来报告:“最后一排只有二人。”“刘邦又传令:“每五人站成一排。”小队长报告:“最后一排只有三人。”刘邦再传令:“每七人站成一排。”小队长报告:“最后一排只有二人。”刘邦转脸问韩信:“敢问将军,这队士兵有多少人?”韩信脱口而出:刘邦大惊,心中的不快已增至十分,心想:“此人本事太大,我得想法找个岔子把他杀掉,免生后患。”一面则佯装笑脸夸了几句,并问:“你是怎样算的?”韩信说:“臣幼得黄石公传授《孙子算经》,这孙子乃鬼谷子的弟子,算经中载有此题之算法,口诀是:三人同行七十稀,五树梅花开一枝,七子团圆正月半,除百零五便得知。”
刘邦出的这道题,可用现代语言这样表述:“一个正整数,被3除时余2,被5除时余3,被7除时余2,如果这数不超过100,求这个数。”你知道了吗?
[返回]