
《常见算法的程序实现》教学设计 学 科 信息技术 年 级 高一 班 级 授课教师 章 节 第二章第四节 第二课时 课题名称 常见算法的程序实现二 课 型 新授课 授课时间 教材内容 分析 本节从体验探索开始 ,在已经实现“自助式人行过街红绿灯”基本功能的基础上,引导学生结合生活实际进行分析,探讨“绿灯时长的最优设置”,通过计算绿灯最短时长,认识解枚举法。随后,学习枚举法,通过实践活动“寻找1000以内的所有素数”,对两种方案的算法与程序实现的进行比较,感受算法效率。最后进行算法综合应用,掌握调试运行程序的基本方法。 学生情况 分析 学生具有强烈的求知欲和探索精神,兴趣广泛,思想活跃,有创意,有较好的发散思维,有一定的分析问题和解决问题的能力。经过前期的涫,他们已经掌握了Python语言编程的基本知识 ,并实现了编程模拟“自助式人行过街红绿灯”的基本功能。但对程序设计中的一些基本算法了解不深,对现实生活中较复杂问题的分析能力较弱,不能选择合适的算法进行问题的分析和算法实现。另外,在日常 和生活中,学生经常需要构建表达式解决较为复杂的问题,具有较强的解枚举法学习需要。 教学目标(核心素养) 理解解枚举法的含义与基本思想,能够通过编程实现算法。 掌握使用解枚举法解决问题的基本方法,能从日常生活和学习中民现或抽象出可以利用算法与程序设计解决的问题,形成主动应用算法和程序解决问题的意识。 能对自己和他人设计的算法与程序进行优化,开展合作,运用算法与程序实现设计问题求解方案,进行创造性探索。 能遵守与程序设计相关的偷道德与法律法规,负责任地使用信息技术。 教学重点 理解解枚举法的含义与基本思想,难免通过编号实现算法。 教学难点 掌握使用解枚举法解决问题的基本方法,能从日常生活、学习中发现或抽象出可以利用算法与程序设计解决的问题。 教学方法 合作探究、任务驱动 教学过程 教师活动 学生活动 设计意图 引 入 新 课 枚举法是依据问题的已知条件,确定答案的大致范围,在此范围内列举出它所有可能情况的方法。在列举过程中: 不能遗漏任何一个正确解; 通过逐一判断,验证哪些情况满足问题的条件,从而得出问题的答案。 观察思考 在老师的引导下,思考并回答问题。 新 课 学 习 新 课 学 习 枚举法在编程中,首先要确定枚举对象和枚举范围,验证问题成立的条件; 借助循环语句和条件语句进行相应的程序设计,实现问题解决。 例:票据中模糊数字推断问题。 一张票据上有一个4位数字组成的编号,甲说数字编号的前两位数字相同,但都不是零;乙说数字编号后的后两位数字是相同的,但与前两位不同;丙说数字编号是一个整数的二次方。试根据以上线索推断出编号。 分析问题 已知条件:假设4位数字的编号是AABB,其中A≠0, A≠B,且AABB是一个整数的二次方。 求解目标:票据中的数字; 已知与未知的关系:要求解的4位数字的编号必须同时满足所有的已知条件。 设计算法 编程实现与调试 Import math A=1 While A<10: B = 0 While B <10: If A !=B : K=A*1000+A*100+B*10 +B C = int(math.sqrt(k)) If C*C==K: Print(“票据编号是:”,K) B = B+1 A= A+1 保存文件,调试运行程序 师生总结:分析该问题的解决算法的核心思想———枚举法。它的基本特征:枚举对象、枚举范围、验证条件。 探究任务:判断一个数是不是素数 提出任务,小组合作进行任务分析,交流。 已知条件:素数的定义(只有1和它本身两个因数的数) 求解目标:判断这个数是不是素数。 求解方法:逐一判断 活动1:算法分析———理解枚举算法 绘制流程图 活动二:编写程序 K=1 N= Print(“请输入一个数:”) For j in range(2 , N): If N%j==0 K=0 If K==1; Print(N) K =1 学生根据流程图编写程 ... ...
~~ 您好,已阅读到文档的结尾了 ~~