四川省岳池县第一中学高中数学必修三学案:1.1.2 程序框图与算法
的基本逻辑结构(2)
学习目标 1. 通过设计流程图来表达解决问题的过程。 2. 掌握算法的条件结构和循环结构。 3. 能设计简单的流程图。
学习过程 一、课前准备 (预习教材P10~ P16,找出疑惑之处)
复习1:回顾程序框图的基本符号及功能表。 复习2:算法的三种基本逻辑结构:___________,
__________________, _______________________. 复习3:顺序结构的程序框图。 二、新课导学 ※ 探索新知
探究1:条件结构
问题:如何判断某个年份是否为闰年?写出该问题 的算法步骤。这个算法靠单一的顺序结构还能完成吗?
新知1:一些简单的算法可以用顺序结构来表示,但是这种结构无法对描述对象进行逻辑判
断,并根据判断结果进行不同的处理.因此,需要有另一种逻辑结构来处理这类问题,这种结构叫做条件结构.它是根据指定条件选择执行不同指令的控制结构. 思考:条件结构的框图如何画呢?
结论:常见的条件结构可以用程序框图表示为下面两种形式: 否 满足条件? 是 步骤A 步骤B 否 满足条件? 是 步骤A 探究2:循环结构 问题:北京获得了2008年第29届奥运会的主办权。你知道在申奥的最后阶段,国际奥委会是如何通过投票决定主办权归属的吗?对选出的5个申办城市进行表决的操作程序是:首先进行第一轮投票,如果有一个城市得票超过总票数的一半,那么该城市就获得举办权;如果所有申办城市得票数都不超过总票数的一半,则将得票数最少的城市淘汰,然后重复上述过程,直到选出一个申办城市为止。你能写出算法步骤,画出算法框图吗?
▃ ▄ ▅ ▆ ▇ █ █ ■ ▓点亮心灯 ~~~///(^v^)\\\\\\~~~ 照亮人生 ▃ ▄ ▅ ▆ ▇ █ █ ■ ▓
▁▂▃▄▅▆▇█▉▊▋▌精诚凝聚 =^_^= 成就梦想 ▁▂▃▄▅▆▇█▉▊▋▌
解:算法为:S1 投票; S2 统计票数,如果有一个城市得票超过总票数的一半,那么该城市就获得举办权,转S3,否则淘汰得票数最少的城市,转S1;S3 宣布主办城市.
上述算法可以用流程图表示为:
新知2:在一些算法中,经常会出现从某处开始,按照一定的条件反复执行某些步骤的情况,这就是循环结构,反复执行的步骤称为循环体。显然,循环结构中一定包含条件结构。 循环结构可细分为两类:
(1)直到型循环结构的特征:在执行了一次循环后,对条件进行判断,如果条件不满足,就继续执行循环体,直到条件满足时终止循环。框图模型如下:
循环体 满足条件? 是 (2)当型循环结构的特征:在每次执行循环体前,对条件进行判断,当条件满足时,执行否 循环体,否则终止循环。框图模型如下: 循环体 满足条件? 是
否
小结: 以上两种不同形式的循环结构可以看出,循环结构中一定包含条件结构,用于确定何时终止执行循环体。
▃ ▄ ▅ ▆ ▇ █ █ ■ ▓点亮心灯 ~~~///(^v^)\\\\\\~~~ 照亮人生 ▃ ▄ ▅ ▆ ▇ █ █ ■ ▓
▁▂▃▄▅▆▇█▉▊▋▌精诚凝聚 =^_^= 成就梦想 ▁▂▃▄▅▆▇█▉▊▋▌
※ 典型例题
例1 任意给定3个正实数,设计一个算法,判断以这3个正实数为三条边边长的三角形是否存在,并画出这个算法的程序框图.
例2 设计一个计算1+2+---+100的值的算法,并画出程序框图。(要求用循环结构)
※ 动手试试
练1.设计一个求解一元二次方程axbxc0的算法,并画出程序框图表示.
三、总结提升 ※ 学习小结
1. 在条件结构中,要注意对问题分析全面,特别是在分类中,常会出现由于分类不全或不分类而出现算法步骤不全的情况。
2. 循环结构它主要用在反复做某项工作的问题中。
3.用循环结构画流程图:确定算法中反复执行的部分,确定循环的转向位置和终止条件。 ※ 知识拓展
条件结构与循环结构的区别与联系:区别:条件结构通过判断执行分支,只是执行一次;循环结构通过条件判断可以反复执行;联系:循环结构是通过选择结构来实现的,循环结构中一定包含选择结构。
学习评价 ※ 当堂检测 1. 算法的三种基本结构是 ( )
A. 顺序结构、模块结构、条件结构 B. 顺序结构、循环结构、模块结构
C. 顺序结构、条件结构、循环结构 D. 模块结构、条件结构、循环结构 2.如图给出的是求
1214161202的值的一个程序框图,其中判断框内应填入的条件
是 ( )
A.i>10? B.i<10? C.i>20? D.i<20?
▃ ▄ ▅ ▆ ▇ █ █ ■ ▓点亮心灯 ~~~///(^v^)\\\\\\~~~ 照亮人生 ▃ ▄ ▅ ▆ ▇ █ █ ■ ▓
▁▂▃▄▅▆▇█▉▊▋▌精诚凝聚 =^_^= 成就梦想 ▁▂▃▄▅▆▇█▉▊▋▌
课后作业 1.设计一个算法求1299100的值,并画出程序框图。
§1.1.2 程序框图与算法的基本逻辑结构(3)
学习目标 1.掌握程序框图的概念;会用图形符号表示算法,掌握算法的三个基本逻辑结构。 2.掌握画程序框图的基本规则,能正确画出程序框图。
3.通过模仿、操作、探索,设计程序框图表达解决问题的过程;学会灵活、正确地画程序框图。 学习过程 一、课前准备 (预习教材P17~ P19,找出疑惑之处)
复习1:条件结构与循环结构的区别与联系是什么?区别:条件结构通过判断执行分支,只是执行一次;循环结构通过条件判断可以反复执行;联系:循环结构是通过选择结构来实现的,循环结构中一定包含选择结构。
复习2:在循环结构中计数变量和累加变量的作用是什么?
计数变量:用于记录循环次数,累加变量:用于输出结果。计数变量与累加变量一般是同步进行的,累加一次,计数一次。
二、新课导学 ※ 探索新知
探究1:多重条件结构的程序框图
问题1:解关于x的方程ax+b=0的算法步骤如何设计? 分析:
▃ ▄ ▅ ▆ ▇ █ █ ■ ▓点亮心灯 ~~~///(^v^)\\\\\\~~~ 照亮人生 ▃ ▄ ▅ ▆ ▇ █ █ ■ ▓
2222▁▂▃▄▅▆▇█▉▊▋▌精诚凝聚 =^_^= 成就梦想 ▁▂▃▄▅▆▇█▉▊▋▌
第一步,输入实数a,b.
第二步,判断a是否为0.若是,执行第三步;否则,计算xba,并输出x,结束算法.
第三步,判断b是否为0.若是,则输出“方程的解为任意实数”;否则,输出“方程无实数解”.
问题2:该算法的程序框图如何表示? 开始 输入a,b 是否 a=0?b=0? 否是 b输出“方程的解为输出“方程无实 x=-a任意实数”数根” 输出x 结束 探究2:混合逻辑结构的程序框图
问题3:用“二分法”求方程x220(x0)的近似解的算法如何设计?
第一步,令f(x)=x-2,给定精确度d.
第二步,确定区间[a,b],满足f(a)·f(b)<0. 第三步,取区间中点m.
第四步,若f(a)·f(m)<0,则含零点的区间为[a,m];否则,含零点的区间为[m,b].将新得到的含零点的区间仍记为[a,b].
第五步,判断[a,b]的长度是否小于d或f(m)是否等于0.若是,则m是方程的近似解;否则,返回第三步.
问题4:该算法中哪几个步骤可以用顺序结构来表示?这个顺序结构的程序框图如何? 问题5:该算法中第四步是什么逻辑结构?这个步骤用程序框图如何表示?
问题6:该算法中哪几个步骤构成循环结构?这个循环结构用程序框图如何表示? 问题7:根据上述分析,你能画出表示整个算法的程序框图吗?(见教科书18页.)
探究3:程序框图的阅读与理解
考察下列程序框图: 开始 n=1 S=0 n=n+1 S=S-n×nS=S+n×n 是 是否n≤100?n是偶数? 否 输出S2▃ ▄ ▅ ▆ ▇ █ █ ■ ▓点亮心灯 ~~~///(^v^)\\\\\\~~~ 照亮人生 ▃ ▄ ▅ ▆ ▇ █ █ ■ ▓ 结束▁▂▃▄▅▆▇█▉▊▋▌精诚凝聚 =^_^= 成就梦想 ▁▂▃▄▅▆▇█▉▊▋▌
问题8:怎样理解该程序框图中包含的逻辑结构?
问题9:该程序框图中的循环结构属于那种类型?
问题10:该程序框图反映的实际问题是什么?
※ 典型例题
例1 某工厂2010年的年生产总值为200万元,技术革新后预计以后每年的生产总值都比上一年增长5%,设计一个程序框图,输出预计年生产总值超过300万元的最早年份。
例2 设计并画出判断一个大于2的正整数是否为质数的程序框图.
※ 动手试试
练1.画出求三个不同实数中的最大值的程序框图.
▃ ▄ ▅ ▆ ▇ █ █ ■ ▓点亮心灯 ~~~///(^v^)\\\\\\~~~ 照亮人生 ▃ ▄ ▅ ▆ ▇ █ █ ■ ▓
▁▂▃▄▅▆▇█▉▊▋▌精诚凝聚 =^_^= 成就梦想 ▁▂▃▄▅▆▇█▉▊▋▌
三、总结提升 ※ 学习小结
设计一个算法的程序框图的基本思路: 第一步,用自然语言表述算法步骤.
第二步,确定每个算法步骤所包含的逻辑结构,并用相应的程序框图表示. 第三步,将所有步骤的程序框图用流程线连接起来,并加上两个终端框. ※ 知识拓展
本节课主要讲述了程序框图的画法,无论怎样复杂的算法,它都包含三种基本逻辑结构,即顺序结构、条件结构和循环结构。它们相互支撑的,共同构成了算法的基本结构。画完整的程序框图,应将问题化整为零,然后有机融合。 学习评价 ※ 当堂检测 且 1.执行右边的程序框图,若p=0.8,则输出的n=________.
2.给出以下四个问题:
①输入一个数x,输出它的相反数; ②求面积为6的正方形的周长; ③求三个数a,b,c,中的最大数;
x1(x0)f(x)④求函数的函数值; x2(x0)▃ ▄ ▅ ▆ ▇ █ █ ■ ▓点亮心灯 ~~~///(^v^)\\\\\\~~~ 照亮人生 ▃ ▄ ▅ ▆ ▇ █ █ ■ ▓
▁▂▃▄▅▆▇█▉▊▋▌精诚凝聚 =^_^= 成就梦想 ▁▂▃▄▅▆▇█▉▊▋▌
⑤求两个正整数a,b相除的商及余数.
其中不需要用条件语句来描述其算法的有____________. 课后作业 教材20页A组1 2
▃ ▄ ▅ ▆ ▇ █ █ ■ ▓点亮心灯 ~~~///(^v^)\\\\\\~~~ 照亮人生 ▃ ▄ ▅ ▆ ▇ █ █ ■ ▓
因篇幅问题不能全部显示,请点此查看更多更全内容