项目七 用计算机计算圆周率
——设计简单数值数据算法
■学习目标.
(1)掌握数值数据的常用运算,并熟练运用运算规则。
(2)利用Python语言编程实现计算圆周率的算法,探究和理解程序的选择结构和循环结构。
(3)熟练应用选择结构和循环结构实现简单算法,并感受不同算法的效率。
■教学准备
(1)软硬件环境:机房。
(2)教学素材:教材案例源代码。
■教学重点和难点
(1)重点:数值数据的常用运算,选择结构和循环结构的特点、应用环境和用法。
(2)难点:应用选择结构和循环结构实现算法。
■教学过程安排建议
课时 教学环节 教师活动 学生活动
第1
课时 1.导入 介绍祖冲之对圆周率的精确计算这一数学成就,引出本节的任务,并强调现在借助计算机,中学生可以完成古代只有数学家才能办到的事情。
倾听、观看、思考、讨论、回答。
2.分析欧拉计算圆周率的公式 给出求解圆周率的欧拉公式,引导学生思考求解过程,并使用自然语言描述算法。 思考、讨论。
3.设计算法 引导学生思考欧拉公式中可重复计算的规则,探究上述用自然语言所描述算法中的抽象规则。 倾听、观看、思考。
引导学生使用流程图描述算法。 绘制流程图。
4.学习数值数据的常用运算 讲解数值运算的相关知识。 倾听、思考。
指导学生阅读知识链接,学习数值数据的运算表达式和运算规则。 查阅知识链接,自主学习数值数据的常用运算。
5.编写并调试程序 给出参考代码。 观看、思考。
引导学生自主学习相关知识,依据参考代码完成程序,并指导学生调试程序,归纳学生在调试程序过程中出现的错误的类型。 使用Python实现算法,学习调试程序的方法和技巧。
6.总结 总结数值运算。 倾听、思考。
第2
课时 1.导入 给出N!的定义:N!=1×2×3×…×n=n×(n-1)!,让学生思考如何编写代码求解N!,引入本节课的任务——完成活动7.1。 倾听、观看、思考。
2.分析计算圆周率的沃利斯公式
展示沃利斯公式,组织学生观察公式,找出变化规律。 倾听、观看、思考。
第2
课时 3.用自然语言或流程图描述算法 学生完成用流程图或自然语言描述算法后,组织学生交流与评价。 用流程图或自然语言描述算法,并交流。
4.编写并调试程序 引导学生讨论如何使用for或while语句实现算法,总结for、while语句的使用方法,进而分析它们的使用条件。 选择for语句或while语句编写程序并调试。
5.总结 总结使用沃利斯公式求解圆周率的过程。 倾听、观看、思考。
第3
课时 1.导入 展示并运行用随机投点法求圆周率的代码,要求学生观察所投点的分布情况,引出本节课任务。 观看、思考、讨论。
2.学习新知识 引导学生讨论随机投点法求圆周率的原理。 交流、讨论。
组织学生依据教材中的用自然语言描述的算法,补充完善教材中的流程图和参考代码,并运行、调试代码。对学生的表现进行评价。 完善、运行和调试代码。
讲解random函数的使用及实现选择结构的语句。 倾听、思考。
3.对比两个计算圆周率的程序 指导学生完成活动7.2。 依据教师提供的学案(实验表)完成活动
7.2。
总结随机投点法求圆周率和数学公式法求圆周率在时间效率和求解精度上的不同。
4.总结 总法:求解问题的方法并不唯一,在设计算法时要综合考虑时间代价(时间效率)和运算结果的好坏等因素。 倾听、思考。