内容正文:
算法与程序综合应用1(第十九课时)
课前准备2-1
调出“自主学习任务单”,
以配合本节课的学习内容,完成相关的学习任务。
打开Anaconda管理器中Jupyter Notebook,
并新建一个Python3脚本;
课前准备2-2
“物不知数”
韩信是汉初著名军事家,传说他统计士兵数目有个独特的方法。
例如,先令士兵排成5列纵队,结果余1人;接着,命令士兵排成6列纵队,结果余5人;再命令士兵排成7列纵队,结果余4人;最后命令士兵排成11列纵队,结果余10人。这样他便知道士兵的总人数了。这种计数的方法被后人称为“韩信点兵”。
试编写程序计算士兵的数目。
提出问题—
“物不知数”
提出问题—
求不出来。
修改题目?
士兵的总数是多少?
提
出
问
题
解决问题
计算机解决问题的一般过程
计算机解决问题的一般过程
提
出
问
题
分
析
问
题
设计
方案
编程调试
解决问题
计算机解决问题的一般过程
提
出
问
题
分
析
问
题
设计
算法
编程调试
解决问题
物不知数。
提出问题
物不知数。
提出问题
假设士兵总人数为X
分析问题
分析问题
设计算法
计算机的特点之一:计算能力强、运算速度快
算法一:枚举法
提出问题
设计算法
算法一:枚举法
X ÷ 5 = a … 1
X ÷ 6 = b … 5
X ÷ 7 = c … 4
X ÷11 = d … 10
设计算法
算法一:枚举法
输出X
X:相应范围内依次取值
是
否
同时满足:
X%5==1 ,X%6==5,
X%7==4,X%11==10
设计算法
分析问题
编程调试
提出问题
for X in range (4000,5000):
语句1:循环结构
士兵人数的大致范围?
编程调试
四千多人
X%5==1
语句2-1:表达式
编程调试
X%5==1 and X%6==5 and X%7==4 and X%11==10
语句2-2:条件限定
print(X)
if
:
编程调试
for X in range (4000,5000):
X%5==1 and