C++编程《第009课 循环结构(3)简单枚举》教学设计.docxVIP

  • 1
  • 0
  • 约3.9千字
  • 约 6页
  • 2026-03-10 发布于广西
  • 举报

C++编程《第009课 循环结构(3)简单枚举》教学设计.docx

循环结构(3)

——简单枚举

教学目标

1.知识与技能

枚举思想

因数和素数

枚举的简单应用

2.过程与方法:

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

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

教学重点、难点

【重点】

枚举的解题步骤

素数判定

N进制定义

【难点】

素数判定的平方根优化

N进制下数位的拆分

课时安排

课时安排:120分钟

四、上课准备

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

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

五、教学活动

活动时长

教学活动

注意事项

课前准备

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

提前10分钟准备

开场白

欢迎各位同学回到吉玛信息学课堂。今天我们开始接触算法思想,首先是暴力枚举。此外,要解决实际问题,还需要很多数学知识。

引入

【生活中的枚举】

PPT3。看电影片段,引出枚举问题。

【提问:孙悟空用了什么方法制造出假名字?】学生回答。

正解:枚举的方法。孙、行、者三个字的组合,通过枚举法得到很多很多名字。那么一共可以得到多少个名字呢?——第一个字的选择有3种,第二个字的选择有2种,第三个字没法选,那么根据乘法原理,一共可以组合出3*2=6个名字。

以上就是我们通过数学原理来简化算法,如果不借助数学原理,怎么统计有多少个名字呢。这就需要用到枚举:

第一个字是孙:孙行者,孙者行

第一个字是行:行孙者,行者孙

第一个字是者:者孙行,者行孙

一共六个名字,孙悟空用了其中三个比较顺口的。

注意积分奖励

学习内容(1)

枚举的概念PPT7

枚举:列出某些有穷序列集的所有成员,或者对一种特定类型对象的计数。

要点:

有限的范围

所有的成员

特定的类型

数图形的时候:

只在一个大图中数。——有限的范围

要求在各种几何形状数图形——所有的成员

从中统计矩形的数量——特定的类型

有同学可能会问:所有的成员为什么是各种几何图形,而不是所有的矩形呢?这个例子我们当然可以直接枚举矩形,这是更优化的算法哦,同学们已经知道优化方案了,很好!

但是,有些时候,我们并不方便直接枚举我们想要的特定类型,但我们枚举的对象一定要包括所有的特定类型的成员。这才是所有的成员的真正含义。归根结底就是枚举时宁可多,但不能漏!

枚举的思想和步骤

PPT8:

枚举法:如果能确定某个问题的答案在一定的范围内,那么我们就列举这个范围内的所有成员(或者确定能包括答案的特定成员),再通过筛选和判断锁定特定类型,最后得出答案。

一般步骤是:

定范围

列成员

选类型

算答案

PPT9:枚举实例

按照PPT介绍算术基本定理。

根据算术基本定理,我们计算得到36的因数一共有9个因数,接下来我们要枚举36的所有因数,验证算术基本定理是否正确。

根据PPT9讲解枚举过程。

因为36的因数肯定≤36,并且≥1,所以我们枚举的范围是[1,36];由于直接枚举36的因数无法做到,所以我们就枚举范围内所有的自然数,这个对象肯定包括36所有的因数。最后通过条件判断来筛选36的因数,并且统计答案即可。

具体过程可以参见PPT10:依次点击1,2,3,4......,36,不是36因数的数字会被“筛选”掉,剩下的就是36的因数。这个过程和程序执行过程是一致的。

质数的判定PPT11-15

质数判定的方法

【提问】质数的定义是什么?

【学生回答】除了1和他本身,没有其他因数的数是质数。

那么这个定义意味着我们应该如何判定质数呢?因为1和数字本身肯定是该数字的因数,如果因数只有2个,是否能证明这个数是质数?其实就是意味着从2到n-1之间不存在这个数的因数。我们得到的算法:

方法一:枚举可能是n的因数的数,统计有多少个因数。如果只有2个因数,那么这个数是质数,否则不是。

方法二:枚举2到n-1之间的自然数,如果存在n的因数,那么这个数肯定不是质数;如果不存在n的因数,那么这个数是质数。

那么我们怎么“定范围”?——按照方法一的话,范围就是1到这个数本身。

怎么列成员——列举所有的自然数

怎么选类型——判断是否能整除给定数字

怎么算答案——找到一个整除的,则统计因数增加一次,最后看有多少个因数。如果只有2个,那就是质数,否则是合数。

PPT12:这是用方法二做的一个程序,先运行一下给学生看结果,然后提问学生程序的bug在哪里?

Flag变量:标识变量,如果flag=1,代表这个数字是质数,如果flag=0,代表不是质数。

【学生回答】——这里,很多学生都无法找到bug,因为这是学生常犯的错误。

【正解】问题处在if-e

文档评论(0)

1亿VIP精品文档

相关文档