启用时间                
                           
   
面向对象程序设计
   
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中的sumsum+2中的sum值相等么?
sum+1中的sum0sum+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(条件表达式)
        {语句}
含义:
当条件表达式的值为真时,执行语句,并在此计算条件表达式的值,这一过程重复执行,直到条件表达式的值为假时,循环结束。
注意事项:
1while语句后面无分号“;”;
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=64sum=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小时内删除。