教 案
教 学 系
教 研 室
启用时间 年 月 日
教 师
学 科 | 面向对象程序设计 |
教 材 | C++面向对象程序设计 |
课 题 | 循环程序流程———while语句 |
课 时 | 1 学 时 |
课 型 | 新 授 课 |
教 法 | 启发引导与讲授相结合 |
教 具 | 多媒体课件 计算机 |
授课时间 | |
授课班级 | |
教学目标 | 知识目标:1.while语句的格式. 2.while语句的执行过程. |
能力目标:1.使学生掌握while语句的格式,能够编制循环. 2.使学生能够使用while循环语句解决问题,能够编制完整的程序并能够上机实践. | |
德育目标: 1.培养学生观察、逻辑推理的思维能力. 2.培养学生程序设计思想,提高信息素养. | |
教学重点 | 1. while语句的格式. 2. while语句中循环体及条件表达式的确定. |
教学难点 | while语句中对循环体及条件表达式的确定. |
教 学 过 程 | 主 要 教 学 内 容 | 时间 分配 |
I 引入 | 当满足一定条件时周而复始产生的现象称为循环,在我们身边有很多循环,如春天树叶绿了,秋天树叶黄了,落了……在计算机中也有循环,当一些操作需要重复执行时,就需要使用循环结构。 sum=1+2+4+8+16+32+……(共64项) 从上式中出存在的规律: sum为累加器,其中存储的是每次两个数相加的和,sum赋予初值为0; 每次均为两个数相加; 两个相邻操作数的关系为后一个数是前一个数的2倍。 这个式子源于一个故事: 《国王数米》 教师讲解故事。 | 5ˊ |
II新课 | 一、对《国王数米》的式子进行分析 以棋盘的形式对国王数米的式子进行分析。 第一格中的米粒数:1 当前总数目为sum+1; 第二格中的米粒数:2 当前总数目为sum+2; …… sum+1中的sum和sum+2中的sum值相等么? sum+1中的sum为0,sum+2中的sum存储的是上一次0+1的和,如何对sum的值进行更新呢? 赋值语句=:可以将表达式的值赋给变量,使变量具有新的值。 上面的式子可以更改为:sum=sum+1,sum=sum+2; 如果每一次相加的格中的米粒数用变量n表示, 上面的式子可以更改为:sum=sum+n; 每个格子中的米粒数是如何变化的?后面格子的米粒数是前面格子的米粒数的2倍,表示为while循环语句的程序流程图n*2;同样需要更新:n=n*2; 直到第k个格子,计算的语句是:sum=sum+n;n=n*2; 这样两条语句共需要执行64次。k=1~k=64。 二、while语句 语句格式: while(条件表达式) {语句} 含义: 当条件表达式的值为真时,执行语句,并在此计算条件表达式的值,这一过程重复执行,直到条件表达式的值为假时,循环结束。 注意事项: (1)while语句后面无分号“;”; (2)如果循环体中的语句为多条,那么循环体应使用一对花括号括起来; (3)为了使循环最终能够结束,而不至于产生“死循环”,每执行一次循环体,表达式的值都应有所变化,使其趋向于假,正常退出循环; (4)循环体中的语句顺序也很重要。 .流程图: 三、根据分析及while语句的格式写出程序 #include<iostream.h>//装入iostream.h输入输出类文件 void main() { double sum=0;//米粒的总数目 double n=1;//每个格子米粒数 int k=1;//循环变量 while(k<=64) {sum=sum+n; n=n*2; k=k+1;} cout<<sum; } 程序执行过程: (以图形的方式表示出执行过程,有助于学生理解) 初值:sum=0 n=1 k=1 k=1: sum=0+1 n=2 k=2: sum=0+1+2 n=4 k=3: sum=0+1+2+4 n=8 ……… k=64:sum=0+1+2+4+8+…… k=65:退出循环 四、在VC环境中运行程序 第一步:打开visual c++环境。 开始—程序—Microsoft Visual C++ 6.0— Microsoft Visual C++6.0。 第二步:新建工程。 文件—新建—工程—Win32 Console Application —输入工程名称kuaidian1—完成。 第三步:新建源文件。 文件—新建—文件—C++ Source File—输入文件名国王数米—确定。 第四步:输入程序。(提醒学生注意程序的格式) 第五步:编译。组建—编译。 第六步:组建。组建—组建。 第七步:运行程序。组建—执行。 程序运行结果:1.84467×1019。 一斤大米约为25000粒,一吨为2000斤,我国去年稻米产量为1.93亿吨。装满棋盘的米粒数目按照每年1.93亿吨的产量一共需要1911年。 | 25ˊ |
III 练习 | 计算1+2+3+…+99+100的和。 答案: #include<iostream.h> void main() { int sum=0; int i=1; while(i<=100) {sum=sum+i; i=i+1;} cout<<sum; } | 10ˊ |
IV 小结 | 我们这节课学习了循环程序流程中的while语句,在使用while语句时应注意while语句的格式;设计循环程序时要注意需要重复执行的语句定义为循环体,在循环体中应有改变条件表达式值的语句,使程序能够正常结束。 | 3ˊ |
V 课后 作业 | 编写程序,5万元钱定期存款一年,利率为2.79%,一年后自动转存一年,依此类推,在5年后本息共计多少钱? | 2ˊ |
VI 课后 总结 | ||
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论