1、 1 / 4 专题教育: 第二课时:走进程序世界 一、专题分析 本专题是在信息学工作坊内开展的进编程世界的教学, 是在学生具备C+语言的基础上开展的, 通过制作一个班级点名程序开展为完整实例,进一步深入学习 C+语言基本函数的基本功能,体验 一件软件设计的加工过程。 本活动是该专题的第二个活动,重在随机函数的学习规划设计,分析程序的架构部分,尝试自 己设计一份随机点名程序,并完成调试。本活动分 2 个阶段完成: 1随机函数基础学习 学会随机函数,完成程序调试,分析随机点名程序的组成。 2联想现实生活中案例 通过分析现实生活中的问题,分析是否为随机,并设想能否通过程序来实现。 二、学情分析 通过
2、 2 个月的 C+语言基础的学习,学生已对 C+语言的基本调试有一定程度的掌握,也有过使 用 C+语言设计过小程序的经验,而且 C+语言功能强大,学生有着较为浓厚的兴趣,并愿意大胆尝 试、举一反三,设计自己喜爱的软件。 三、教学目标 1知识与技能 (1)了解软件开发流程。 (2)掌握随机函数的使用方法。 (3)学会分析随机产生的含义。 2过程与方法 (1)通过小组合作,掌握生活中随机产生相关软件的设计制作。 (2)体验随机点名软件,了解软件可移植性的重要。 3情感态度价值观 (1)通过随机函数过程学习的过程,培养发散思维,体验创作的快乐。 (2)通过制作的过程,培养团结合作,培养技术为生活服务
3、的意识。 四、重难点分析 1重点 掌握随机函数的使用方法,理解随机生成的概念并充分运用。 2难点 能举一反三,将现实生活中问题与随机函数有机组合,根据不同的需求创作出方便、高效、可 移植的作品。 2 / 4 五、设计思路 本活动第一部分内容是随机函数基础学习,教师组织学生上学习,然后进行讨论、交流,着重 分析随机函数的功能、用法、调用头文件及使用过程中的注意事项,再让学生通过程序来实现 现实生活中的问题,步步深入,达到强化随机函数使用的目的。第二部分内容,是让学生联想 现实生活中案例,建立软件设计需要创新,根据随机产生的意义,分析并解决现实生活中的问 题,然后进行调试。教学中可以让学生通过班级
4、随机点名软件的操作演示,激发学生兴趣,进 行小组合作学习,组间 PK 赛、同组相互指导、教师加以辅导,遇到共性问题时,教师再讲解, 也可以请悟性较好的学生讲解给其他学生。 六、教学策略与方法 激趣导入, 通过贴近生活的实例, 由任务驱动法, 促进学生主动学习, 组织学生小组合作探究、 相互探讨,引导学生大胆创新。 七、教学准备 1设计随机点名程序。 2课前准备好从简到深的源代码。 3生活中随机产生问题素材。 4DEV C+软件。 八、教学过程 教学环节 教师活动 学生活动 设计意图 激趣导入 1我们在现实生活中,那些事情是补课预见,随机产生的? 学生会说出随机事件,教师进行科学判断。 掷骰子、
5、班级点名、摸球、买彩票 (随机) 天机预报、地震(不随机,通过科学可以判断) 2展示教师自己开发的学校信息学工作坊自己的随机点名程序,激发 学生兴趣。 讨论,思考 发言 听讲、观看 示范作品 创设情景,激 发兴趣。 广泛发言,调 动课堂气氛。 提升学生科学 素养。 新知探究 任务一:学习任务一:学习 rand()函数函数 1函数rand()用法用法 功能:随机数发生器 用法:int rand(void) 所在头文件: stdlib.h rand()返回一随机数值的范围在 0 至 RAND_MAX 间。RAND_MAX 的 范围最少是在 32767 之间(int)。2设计海报版面 2. 上机练习
6、 随机产生 10 个数 巡视指导学生。检查学生程序,并展示参考程序,讨论分析存在问 题。 小组合作,互助修改完善,师总结并展示样例程序。 rand()产生的是伪随机数字,每次执行时是相同的;若要不相同, 用函数 srand()初始化它。 函数用法等 同与公式、定 理,记录笔 记。 观看、思考。 分组讨论,协 作,相互查错 分析程序存 在那些问题, 如何优化。 观看 培养学生自主 探究、分析问 题的能力,引 发学生思考。 提高学生的规 划设计能力。 通过对比,强 3 / 4 教学环节 教师活动 学生活动 设计意图 任务二任务二 : 学习学习 srand()函数 1.函数srand()用法用法 功
7、能:初始化随机数发生器 用法: void srand(unsigned int seed) 所在头文件: stdlib.h srand()用来设置 rand()产生随机数时的随机数种子, 引入通过时间函 数,因为时间是随时进行改变的。 任任务三务三 : 学习学习 time()函数 1.函数time()用法用法 使用当前时钟作为随机数种子 rand()产生的随机数在每次运行的时候都是与上一次相同的。若要不 同,用函数 srand()初始化它。 可以利用 srand(unsigned int)(time(NULL)的方法, 产生不同的随机数 种子,因为每一次运行程序的时间是不同的。 知识点回顾:知
8、识点回顾: 产生随机数的用法 (1)给 srand()提供一个种子,它是一个 int 类型; (2)调用 rand(),它会根据提供给 srand()的种子值返回一个随机数 (在 0 到 RAND_MAX 之间); (3)根据需要多次调用 rand(),从而不间断地得到新的随机数; (4)无论什么时候,都可以给 srand()提供一个新的种子,从而进一 步“随机化”rand()的输出结果。 任务四任务四 :产生:产生 0RAND_MAX 之间的随机数程序之间的随机数程序 巡视指导学生。检查学生程序,并展示参考程序,讨论分析存在问 题。引入产生特定区间的数字。 (rand() % (b-a)+
9、a;a,b) (rand() % (b-a+1)+ a;a,b (rand() % (b-a)+ a + 1; (a,b 通用公式:a + rand() % n;其中的 a 是起始值,n 是整数的范围。 学生通过运 行程序发现 问题。 观看,分析 讨论。 合作探究完 成任务。 讨论。 修改完善。 思考程序框 架。 头文件? 如何架构程 序? 需要注意的 事项? 化真正随机的 重要性。 提高学生口头 表达能力 自主学习,合 作探究。 自主学习,合 作探究。 拓展创新 问题 1.你爸爸喜欢买彩票吗? 问题 2.你玩过在盒子里摸球游戏吗? 问题 3.你到寺庙里摇过命运签吗? 根据给定的 问题合作探
10、究利用程序 设计如何解 决。 将所学知识给 予升华,激发 学生创新。 总结回顾 1本节课我到了什么? 2本节课我收获了什么? 部分学生向 大家介绍自 己的所学和 收获。 提高学生对课 堂的总结能 力。 巩固提升。 4 / 4 教学环节 教师活动 学生活动 设计意图 课后作业 采用随机函数编写一个班级随机点名的程序。报告老师后,将可执 行程序复制到班级电脑中,为教师授课服务,起到公开、公平、公正的 效果。 鼓励学生利用 所学知识,为 生活所用,激 发求知欲。 九、教学反思 通过本节课的讲解, 学生全部完成函数的基本应用, 4 位学生未掌握拓展部分, 也是下节课关注的重点,部分学生程序调试能力有待加强。 精讲多练,集中学生注意力,小组合作实际上是一种优、差的合理搭配。在共 同完成任务的过程中,优生发挥特长,施展才能,差生尽其所能,学有所得。下节 可充分调动这部分学生的用心性, 任命他们为小辅导员, 让他们在自我学好的同时, 辅导其他学生,并管好其他学生。