浙教版信息技术选修1 5.1 枚举算法的程序实现1 教案

文档属性

名称 浙教版信息技术选修1 5.1 枚举算法的程序实现1 教案
格式 docx
文件大小 69.3KB
资源类型 教案
版本资源 浙教版
科目 信息技术(信息科技)
更新时间 2021-01-12 14:34:25

图片预览

文档简介

《枚举算法的程序实现》教学设计
一、学情分析:
本节内容的教学对象是高一下学期,有一定算法基础的学生,已经掌握了程序的基本控制结构以及基本语句的应用。而C班是信息技术混合班,理解能力非常强,掌握了算法设计的基本原理,在高一上学期已经能够使用一些简单算法来解决实际问题,并能熟练应用单循环结构设计算法。
二、教材分析:
枚举算法是程序设计中最常用、最基本的一种算法,学生也必须掌握这个算法。利用计算机运算速度快而准确的特点,用枚举法可以十分容易地破解许多复杂的密码。在现实生活中,有一类问题可以采用搜索的方法解决,用枚举算法,把所有可能的结果一一罗列出来并逐一验证,排除不可能的结果,问题就能迎刃而解,这种算法就称为枚举算法。
二、 课程目标(知识目标、情感态度与价值观、过程与方法)
总体目标
以学生为主体,以“学为所用”为目标,通过《算法与程序设计》第5.1节《枚举算法的程序实现》的学习和应用,理解循环中嵌套分支的结构特点和执行过程;使学生熟练掌握枚举算法中“多重循环“的问题;熟悉枚举算法解决问题的基本思路;学会使用枚举算法解决现实生活、学习中所遇到的问题。
知识与技能
(1)、初步实现枚举算法的VB程序的编写和程序功能的实现。

情感态度与价值观
(1)、在枚举算法的设计过程中,培养学生思维逻辑能力和探究创新能力;
(2)、在利用枚举算法解决问题的过程中,感受枚举算法在日常生活中的广泛应用,体验它的价值,激发学生对计算机程序设计的学习兴趣;
(3)、学会优化算法设计,并养成反思的习惯,在反思中进步和提高自己的算法设计能力。
过程和方法
以培养学生的信息素养微前提,在教师的引导下,通过自学和微课视频帮助,学习枚举算法的基本思想、控制结构,从发现问题、思考问题、解决问题中归纳提升,最终能用枚举算法知识要点和控制结构。
三、教学重点难点:
重点:理解枚举算法思想;培养学生运用三步法来解决实际问题的能力。
难点:让学生理解多种控制结构的嵌套;让学生能够将枚举算法
四、教学方法与手段
教师以讲授、演示操作,部分内容学生可以通过微课自学提高
教学过程
教师活动
学生活动
设计意图
【复习循环语句】
循环语句分两种:For语句和do while语句
For 循环变量=初值 to 终值 step 步长
语句块
Next 循环变量
S=0
For i=2 to 10 step 2
s=s+i
Next i
程序中循环变量为 ,初值为 ,终值为 ,
循环体是 ,步长为 ,退出循环的条件是: 。
该程序段执行的功能为: .
思考和回忆循环语句的结构和应用?
完成《枚举算法讲义》一、知识回顾中,程序段①填空
复习和巩固循环结构
【复习循环语句】
Do While 条件表达式
语句块
Loop
完成《枚举算法讲义》一、知识回顾中,程序段①修改成Do While语句
理解For循环的前提是:知道循环次数。
【思考活动】双重循环(循环嵌套)
For i=1 to 3
for j=3 to 5
s=s+j
next j
Next i
i、j如何循环?
S=s+j总共循环几次?
完成《枚举算法及其实现》程序段②
引起学生的注意,发现语句结构嵌套的秘密。
【概念引入】
基本思想:把问题所有的可能解一一地罗列出来,并根据题目的条件,对每一个可能解进行判断,以确定这个可能解是否是问题的真正解。若是,就采纳这个解,否则就抛弃它。
【枚举概念注意事项】
注意:
(1)尽可能地使可能解的罗列范围最小,以提高解决问题的效率
(2)不能遗漏任何一个真正解
(3)不能重复
学生仔细听讲
阅读讲义中的枚举算法的事项和注意事项
直接展示枚举算法的概念和注意点
【思考活动】
1、为什么计算机能破解密码?
如何从残缺不全的信息中推算出需要的信息(如缺失的数字中推算出原有的、可能的数字)?

采用枚举算法。(即穷举)
例题1
下列问题适合使用枚举算法解决的是( )
A、计算已知半径的圆面积
B、计程车计费
C、校园歌曲大赛的成绩排名
D、找出1000以内的所有能被6整除的数
例题2
用枚举算法求解“找出所有满足各位数之和等于5的三位数”时,在下列所列举的数值范围,算法执行效率最高的是( )
A、从0 到999
B、从100到999
C、从100到500
D、从104到500
了解枚举的应用
完成讲义中例题1 和例题2的任务
以例题的形式展示枚举算法在生活中的应用
【解决实际问题】包装问题
例3:包装1200个变形金刚,要求:
1、小盒(可以装5个)和大盒(可以装12个)
2、每种规格的盒数任意,但每盒都必须装满,设计一个算法,输出所有可能的包装方案,并输出包装方案的个数。
思考解决:
(1)分析问题
设小盒x个,大盒y个,须满足: 5x+12y=1200
0<=x<=240 0<=y<=100
所以当x=0时,y=100,当y=0时,x=240.
解决实际问题:包装问题。
完成讲义中例题3的问题
思考和应用。
(2)确定算法(流程图)
确定算法
思考和应用
(3)算法程序实现
A、界面:

B、枚举算法基本思想:把问题所有的可能解一一地罗列出来
枚举算法关键在循环:
X:0—240,y:0—100,
判断是否是方案条件:5x+12y=1200
并根据题目的条件,对每一个可能解进行判断,若是,就采纳这个解,否则就抛弃它。
满足:5*x+12y=1200 则:
输出方案
方案个数计数器加1
C、程序上机实现VB程序
通过vb软件实现枚举算法的应用
思考和应用
【课后作业】一份单据中被涂抹的数字的推算。
最近警方抓获一批制造发票的犯罪分子,并发现制造发票用的模版,但是由于受到损坏,它的千位和百位的数字已经模糊不清,如下图所示:
根据犯罪分子交待,这个数能被37 或47除尽。请设计一个算法,找出该单据可能号码及个数。
巩固枚举算法的实现过程,下节课上机练
理解枚举算法的应用。
【总结】
基本思想:把问题所有的可能解一一地罗列出来,并根据题目的条件,对每一个可能解进行判断,以确定这个可能解是否是问题的真正解。若是,就采纳这个解,否则就抛弃它。
注意:
(1)尽可能地使可能解的罗列范围最小,以提高解决问题的效率
(2)不能遗漏任何一个真正解
(3)不能重复
学生回忆本节课的知识点
巩固知识点
【作业布置】
一份单据中被涂抹的数字的推算,下节课上机时间。
学生完成练习
掌握枚举算法的应用