算法与程序综合应用教育部资源中心石沙算法与程序综合应用课件1_第1页
算法与程序综合应用教育部资源中心石沙算法与程序综合应用课件1_第2页
算法与程序综合应用教育部资源中心石沙算法与程序综合应用课件1_第3页
算法与程序综合应用教育部资源中心石沙算法与程序综合应用课件1_第4页
算法与程序综合应用教育部资源中心石沙算法与程序综合应用课件1_第5页
已阅读5页,还剩45页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

国家中小学课程资源算法与程序综合应用1(第十九课时)年 级:高一学 科:信息技术(人教/地图版)学

校某省市西城区教育研修学院课前准备2-1调出“自主学习任务单”,以配合本节课的学习内容,完成相关的学习任务。高某著名企业息技术

打开Anaconda管理器中Jupyter

Notebook,并新建一个Python3脚本;课前准备2-2高某著名企业息技术韩信是汉初著名军事家,传说他统计士兵数目有个独特的方法。例如,先令士兵排成5列纵队,结果余1人;接着,命令士兵排成6列纵队,结果余5人;再命令士兵排成7列纵队,结果余4人;最后命令士兵排成11列纵队,结果余10人。这样他便知道士兵的总人数了。这种计数的方法被后人称为“韩信点兵”。试编写程序计算士兵的数目。高某著名企业息技术提出问题—“物不知数”提出问题—“物不知数”求不出来。修改题目?士兵的总数是多少?高某著名企业息技术提出问题解决问题计算机解决问题的一般过程高某著名企业息技术计算机解决问题的一般过程提出问题分析问题设计方案编程调试解决问题高某著名企业息技术计算机解决问题的一般过程提出问题分析问题设计算法编程调试解决问题高某著名企业息技术物不知数。提出问题高某著名企业息技术物不知数。提出问题假设士兵总人数为X分析问题高某著名企业息技术分析问题设计算法计算机的特点之一:计算能力强、运算速度快算法一:枚举法提出问题高某著名企业息技术设计算法算法一:枚举法X÷5=a…1X÷6=b…5X÷7=c…4X÷11=d…

10高某著名企业息技术设计算法算法一:枚举法X:相应范围内依次取值否同时满足:X%5==1

,X%6==5,X%7==4,X%11==10是输出X高某著名企业息技术分析问题设计算法编程调试提出问题高某著名企业息技术forXinrange

(4000,5000):语句1:循环结构士兵人数的大致范围?编程调试高某著名企业息技术四千多人X%5==1语句2-1:表达式编程调试高某著名企业息技术语句2-2:条件限定print(X)ifX%5==1andX%6==5andX%7==4and

X%11==10:编程调试高某著名企业息技术forXinrange

(4000,5000):print(X)ifX%5==1andX%6==5andX%7==4and

X%11==10:编程调试高某著名企业息技术运行程序编程调试高某著名企业息技术4421解决问题分析问题设计算法编程调试提出问题高某著名企业息技术程序的改进高某著名企业息技术数据输入可否更灵活?程序界面可否更友好?计算机解决问题的一般过程提出问题分析问题设计算法编程调试解决问题高某著名企业息技术高某著名企业息技术程序的改进y5=int(input("排成5列纵队,余下的人数:"))y6=int(input("排成6列纵队,余下的人数:"))y7=int(input("排成7列纵队,余下的人数:"))y11=int(input("排成11列纵队,余下的人数:"))A=int(input("部队总人数有几千人左右?"))forXinrange(A-1000,

A+1000):ify5==X%5andy6==X%6andy7==X%7and

y11==X%11:print("部队士兵总数应该是:",

X

,

"人")任务一(“学习任务单”)高某著名企业息技术历史上的“韩信点兵”高某著名企业息技术计算机解决问题的一般过程提出问题分析问题设计算法编程调试解决问题高某著名企业息技术分析问题X÷3=a…1X÷5=b…1X÷7=c…

1高某著名企业息技术士兵人数(X)的大致范围:600余人设计算法算法一:枚举法简便高某著名企业息技术设计算法算法二:解析法提升算法的效率高某著名企业息技术设计算法X÷3=a…1X÷5=b…1X÷7=c…

1算法二:解析法X-1=3

aX-1=5

bX–1=7

c同余问题X-1同时满足被3、5、7整除。高某著名企业息技术设计算法算法二:解析法X=105*n+1同余问题Xmin=3×5×7+1=105+1=106高某著名企业息技术n=(600+100)//105任务二(“学习任务单”)高某著名企业息技术解析式:X

=

105

*

n

+余数尝试画出流程图A

=int(input("士兵约有几百来人?"))y

=

int(input("排好3列、5列、7列纵队后,所余人数为:"))n=(A+100)//

105X=105*n+

yprint("这群士兵有:",

X,"人。")编程调试高某著名企业息技术同余问题编程调试解决问题高某著名企业息技术新问题如果不同余?X÷3=a…y1X÷5=b…y2X÷7=c…

y3高某著名企业息技术设计算法算法二:解析法“物不知数”(《经》)“诀”(明·程大位)高某著名企业息技术设计算法算法二:解析法诀除百零五便得知。三人同行七十稀,五树梅花廿一支,七子团圆正半月,X+y1=3aX+y2=5bX+y3=7

c高某著名企业息技术设计算法算法二:解析法除百零五便得知。三人同行七十稀,五树梅花廿一支,七子团圆正半月,y1×70y2×21y3×15y1×70+y2×21+y3×15-105n70=2×(5×7)高某著名企业息技术21=3×715=3×5高某著名企业息技术A

=

int(input("士兵约有几百人?"))y1

=

int(input("排3列纵队,所余人数为:"))y2

=

int(input("排5列纵队,所余人数为:"))y3

=

int(input("排7列纵队,所余人数为:"))forninrange((A-100)//105,

(A+100)//105):X=y1*70+y2*21+y3*15-105*

nifX>A-100andX<

A+100:print("这群士兵有:",X,"人。")编程调试编程调试高某著名企业息技术A

=

int(input("士兵约有几百人?"))……forninrange((A-100)//105,

(A+100)//105):X=y1*70+y2*21+y3*15-105*

nifX>A-100andX<

A+100:print("这群士兵有:",X,"人。")解析算法高某著名企业息技术A

=

int(input("士兵约有几百人?"))……forninrange((A-100)//105,

(A+100)//105):X=y1*70+y2*21+y3*15-105*

nifX>A-100andX<

A+100:print("这群士兵有:",X,"人。")解析算法枚举算法高某著名企业息技术A

=

int(input("士兵约有几百人?"))……forninrange((A-100)//105,

(A+100)//105):X=y1*70+y2*21+y3*15-105*

nifX>A-100andX<

A+100:print("这群士兵有:",X,"人。")枚举算法解析算法多种算法思想综合应用高某著名企业息技术完善程序高某著名企业息技术A

=

int(input("士兵约有几百人?"))y1

=

int(input("排3列纵队,所余人数为:"))……fornin((A-100)//105,

(A+100)//105):X=y1*70+y2*21+y3*15-105*

nifX>A-100andX<A+100

:print("这群士兵有:",

X

,"人。")编程调试高某著名企业息技术任务三(“学习任务单”)修改此程序,使之运行的结果准确!A

=

int(input("士兵约有几百人?"))高某著名企业息技术……fornin((A-100)//105,

(A+100)//105):X=y1*70+y2*21+y3*15-105*

nifX>A-100andX<A+100

:print("这群士兵有:",

X

,

"人。")任务三(“学习任务单”)高某著名企业息技术提示:X

=

y1

*

70

+

y2

*

21

+

y3

*

15

-

105*

nX=y1*70+y2*21+y3*15+105*

n新程序要实现的功能如下:输入士兵人数的大约数量(整百值);输入士兵排成3、5、7列纵队后分别得到的余数;程序运行后,输出士兵准确的人数。课堂小结韩信点兵体验计算机解决问题的过程提分设编解出析计程决问问算调问题题法试题综合应用1——数值计算高某著名企业息技术课堂小结枚举法实践算法解析

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论