C++编程《第008课 循环结构(2)简单统计问题》教学设计.docxVIP

  • 0
  • 0
  • 约4.92千字
  • 约 7页
  • 2026-03-10 发布于广西
  • 举报

C++编程《第008课 循环结构(2)简单统计问题》教学设计.docx

循环结构(2)

——简单统计问题

教学目标

1.知识与技能

多数据输入和处理

求最大值和最小值

求和问题与平均值问题

复合运算符

2.过程与方法:

学习流程:讲授——模仿——练习

通过课堂练习,巩固课堂内容。

教学重点、难点

【重点】

多数据输入和处理

打擂台求最大值和最小值

复合运算符的含义

【难点】

打擂台算法的初始化问题

求平均值问题的变量声明

符合运算符的运算优先级

课时安排

课时安排:120分钟

四、上课准备

课程相关PPT、白板、白板笔、积分卡

课前检查电脑、投影仪、网络是否有故障,及时修复。

五、教学活动

活动时长

教学活动

注意事项

课前准备

老师准备学生电脑,保证电脑能正常使用;打开投影仪,打开上课课件,以最饱满的热情迎接学生!

提前10分钟准备

开场白

欢迎各位同学回到吉玛信息学课堂。今天我们继续学习C++语法.

引入

【生活中的统计】

PPT3。看电影片段,通过提问引出统计问题。

【提问:影片中的场面通常在什么情况下发生?】学生回答。

正解:公开比赛的时候,比如歌唱大赛、厨艺大赛、奥运会等。

PPT4:同学们还记得跳水比赛吗?运动员跳水完成以后,很多裁判会给出评分。然后,去掉一个最高分,去掉一个最低分,剩下的评分才是有效的,才会计入选手的得分。这个过程,需要查询裁判打分的最高分、最低分,还需要计算有效得分的总和。这个得分会马上显示在屏幕上,怎么会这么快呢?

当然是计算机计算的啦!这时候,需要我们编写一个程序来处理这个问题。今天,我们就专门解决这种简单的统计问题。

学习内容(1)

多数据输入

输入n个数据,其实就是重复做n次输入数据。我们的逻辑很简单。利用上一次课学的for循环,设计一个程序,把输入数据的操作重复n次即可。

程序逻辑参照PPT7.

其中,n是输入值,由人工输入确定。预先知道数据一共有n组,输入n值,然后重复输入n次数据,就可以输入n组数据。这个过程和PPT上显示的流程图是一样的。

【演示】打开devc++,演示例程《输入n个数据》。学生跟随老师的节奏敲代码。PPT8

观察程序运行的结果。

【实验小结】PPT8.不难发现,我们重复输入数据时:

①可以一次性输入多个数据,用空格分开,按“回车”键后程序才会去读入。根据我们设计的流程,程序只会读入前n个,多余的数据不会读入。

②我们用同一个变量承担读入数据的职责。读入的数据应当在循环内立即使用,否则后面读入的数据会覆盖前面读入的。

【设问】我们读入n组数据,因为后面读入的数据会覆盖前面读入的数据,那么,会不会影响我们求数据中的最大值和最小值呢?是否应该根据数据的组数,设定n个不同变量才行呢?

不必!我们就只用一个变量进行输入就可以了,因为我们会想办法立即使用掉刚刚输入的数据,并且不依赖用过的数据,扔掉也没事!怎么做的呢?这就是“打擂台”算法。

打擂台算法

(1)

观看PPT9,看打擂台的过程。

【播放动画前提示】同学们,我们来看这个画面。有上方是一系列数字,我们通过“打擂台”的方式角逐最大数字的称号!

我们的擂台相当于一个变量,站在擂台上的只能有一个数字,刚开始的时候,擂台上有一只乌龟,编号是-1,这个乌龟必须输给后面输入3,7,9,1。

对照动画讲解:

第一个输入的是3,3打败了乌龟,站上了擂台;

第二个输入的是7,7打败了3,站上擂台;

第三个输入的是9,9打败了7,站上擂台;

第四个输入的是1,1打不过9,擂台上仍然是9;

所以,最大值是9,也就是最后站在擂台上的那个数字。

我们把擂台下面,看做用于输入的变量,这个变量其实只是在新数字上擂台的时候才用到,上过擂台的数字,要么站在擂台上,要么就被“打飞了”,其实用不着所有的数字同时站在擂台下,一个个上就可以了。所以我们只用一个变量进行输入,打一次擂台换一个数字,后面的覆盖前面的,不影响我们获取最大值的信息,因为最大值已经保存在“擂台”了。

“打擂台”求最大值算法流程PPT10

①设定变量Max,初始化为INT_MIN;

这里,Max其实就是英文里最大值的缩写。我们让M大写,是为了避免和数学函数max重名。另外,一定要强调一点,INT_MIN,INT_MAX,LLONG_MIN,LLONG_MAX这几个极限值都被声明在头文件limits.h中,我们在使用这几个值时要注意声明头文件,或者直接使用万能头。

②输入变量a,如果aMax,那么Max=a;

这就是打擂台;输入一个数据就打一次擂台;我们最终只需要“擂台”上的数据信息,其余数据打过擂台以后都是可以覆盖的。

③重复第②个步骤,直到所有的数据输入完毕为止。

【设问】我们用Max变量作为求最大值的擂台,为什么要把擂台初始化为一个最小值呢?如果随

文档评论(0)

1亿VIP精品文档

相关文档