1.1.2 程序框图与算法的基本逻辑结构(四课时)

来源:网络收集 时间:2025-07-08 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xuecool-com或QQ:370150219 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

1.1.2 程序框图与算法的基本逻辑结构(四课时)

教学分析

用自然语言表示的算法步骤有明确的顺序性,但是对于在一定条件下才会被执行的步骤,以及在一定条件下会被重复执行的步骤,自然语言的表示就显得困难,而且不直观、不准确.因此,本节有必要探究使算法表达得更加直观、准确的方法.程序框图用图形的方式表达算法,使算法的结构更清楚、步骤更直观也更精确.为了更好地学好程序框图,我们需要掌握程序框的功能和作用,需要熟练掌握三种基本逻辑结构.

第2课时 条件结构

导入新课

思路1(情境导入)

我们以前听过这样一个故事,野兽与鸟发生了一场战争,蝙蝠来了,野兽们喊道:你有牙齿是我们一伙的,鸟们喊道:你有翅膀是我们一伙的,蝙蝠一时没了主意.过了一会儿蝙蝠有了一个好办法,如果野兽赢了,就加入野兽这一伙,否则加入另一伙,事实上蝙蝠用了分类讨论思想,在算法和程序框图中也经常用到这一思想方法,今天我们开始学习新的逻辑结构——条件结构. 思路2(直接导入)

前面我们学习了顺序结构,顺序结构像是一条没有分支的河流,奔流到海不复回,事实上多数河流是有分支的,今天我们开始学习有分支的逻辑结构——条件结构. 推进新课 新知探究 提出问题

(1)举例说明什么是分类讨论思想? (2)什么是条件结构?

(3)试用程序框图表示条件结构.

(4)指出条件结构的两种形式的区别. 讨论结果: (1)例如解不等式ax>8(a≠0),不等式两边需要同除a,需要明确知道a的符号,但条件没有给出,因此需要进行分类讨论,这就是分类讨论思想.

(2)在一个算法中,经常会遇到一些条件的判断,算法的流程根据条件是否成立有不同的流向.条件结构就是处理这种过程的结构. (3)用程序框图表示条件结构如下.

条件结构:先根据条件作出判断,再决定执行哪一种操作的结构就称为条件结构(或分支结构),如图1所示.执行过程如下:条件成立,则执行A框;不成立,则执行B框.

图1 图2

注:无论条件是否成立,只能执行A、B之一,不可能两个框都执行.A、B两个框中,可以有一个是空的,即不执行任何操作,如图2.

(4)一种是在两个“分支”中均包含算法的步骤,符合条件就执行“步骤A”,否则执行“步骤B”;另一种是在一个“分支”中均包含算法的步骤A,而在另一个“分支”上不包含算法的任何步骤,符合条件就执行“步骤A”,否则执行这个条件结构后的步骤. 应用示例

例1 任意给定3个正实数,设计一个算法,判断以这3个正实数为三边边长的三角形是否存在,并画出这个算法的程序框图.

算法分析:判断以3个任意给定的正实数为三条边边长的三角形是否存在,只需验证这3个数中任意两个数的和是否大于第3个数.这个验证需要用到条件结构. 算法步骤如下:

第一步,输入3个正实数a,b,c.

第二步,判断a+b>c,b+c>a,c+a>b是否同时成立.若是,则存在这样的三角形;否则,不存在这样的三角形. 程序框图如右图:

点评:根据构成三角形的条件,判断是否满足任意两边之和大于第三边,如果满足则存在这样的三角形,如果不满足则不存在这样的三角形.这种分类讨论思想是高中的重点,在画程序框图时,常常遇到需要讨论的问题,这时要用到条件结构.

例2 设计一个求解一元二次方程ax2+bx+c=0的算法,并画出程序框图表示. 算法分析:我们知道,若判别式Δ=b2-4ac>0,则原方程有两个不相等的实数根 x1=

?b???b??,x2=;

2a2ab; 2a若Δ<0,则原方程没有实数根.也就是说,在求解方程之前,可以先判断判别式的符号,根据判断的结果执行不同的步骤,这个过程可以用条件结构实现.

又因为方程的两个根有相同的部分,为了避免重复计算,可以在计算x1和x2之

若Δ=0,则原方程有两个相等的实数根x1=x2=?前,先计算p=?b?,q=. 2a2a解决这一问题的算法步骤如下: 第一步,输入3个系数a,b,c. 第二步,计算Δ=b2-4ac.

第三步,判断Δ≥0是否成立.若是,则计算p=?b?,q=;否则,输出“方程2a2a没有实数根”,结束算法.

第四步,判断Δ=0是否成立.若是,则输出x1=x2=p;否则,计算x1=p+q,x2=p-q,并输出x1,x2. 程序框图如下:

例3 设计算法判断一元二次方程ax+bx+c=0是否有实数根,并画出相应的程序框图.

解:算法步骤如下:

第一步,输入3个系数:a,b,c. 第二步,计算Δ=b2-4ac.

第三步,判断Δ≥0是否成立.若是,则输出“方程有实根”;否则,输出“方程无实根”.结束算法.

相应的程序框图如右:

2

点评:根据一元二次方程的意义,需要计算判别式Δ=b2-4ac的值.再分成两种情况处理:(1)当Δ≥0时,一元二次方程有实数根;

(2)当Δ<0时,一元二次方程无实数根.该问题实际上是一个分类讨论问题,根据一元二次方程系数的不同情况,最后结果就不同.因而当给出一个一元二次方程时,必须先确定判别式的值,然后再用判别式的值的取值情况确定方程是否有解.该例仅用顺序结构是办不到的,要对判别式的值进行判断,需要用到条件结构.

例4 (1)设计算法,求ax+b=0的解,并画出流程图. 解:对于方程ax+b=0来讲,应该分情况讨论方程的解.

我们要对一次项系数a和常数项b的取值情况进行分类,分类如下:

b(1)当a≠0时,方程有唯一的实数解是?;

a(2)当a=0,b=0时,全体实数都是方程的解; (3)当a=0,b≠0时,方程无解.

联想数学中的分类讨论的处理方式,可得如下算法步骤:

b第一步,判断a≠0是否成立.若成立,输出结果“解为?”.

a第二步,判断a=0,b=0是否同时成立.若成立,输出结果“解集为R”.

第三步,判断a=0,b≠0是否同时成立.若成立,输出结果“方程无解”,结束算法. 程序框图如下:

点评:这是条件结构叠加问题,条件结构叠加,程序执行时需依次对“条件1”“条件2”“条件3”……都进行判断,只有遇到能满足的条件才执行该条件对应的操作. 知能训练

设计算法,找出输入的三个不相等实数a、b、c中的最大值,并画出流程图. 解:算法步骤:

第一步,输入a,b,c的值.

第二步,判断a>b是否成立,若成立,则执行第三步;否则执行第四步.

第三步,判断a>c是否成立,若成立,则输出a,并结束;否则输出c,并结束. 第四步,判断b>c是否成立,若成立,则输出b,并结束;否则输出c,并结束. 程序框图如下:

点评:条件结构嵌套与条件结构叠加的区别:

(1)条件结构叠加,程序执行时需依次对“条件1”“条件2”“条件3”……都进行判断,只有遇到能满足的条件才执行该条件对应的操作.

(2)条件结构的嵌套中,“条件2”是“条件1”的一个分支,“条件3”是“条件2”的一个分支……依此类推,这些条件中很多在算法执行过程中根据所处的分支位置不同可能不被执行.

(3)条件结构嵌套所涉及的“条件2”“条件3”……是在前面的所有条件依次一个一个的满足“分支条件成立”的情况下才能执行的此操作,是多个条件同时成立的叠加和复合.

例5 “特快专递”是目前人们经常使用的异地邮寄信函或托运物品的一种快捷方式.某快递公司规定甲、乙两地之间物品的托运费用根据下列方法计算:

?0.53?,(??50),f=? ?50?0.53?(??50)?0.85,(??50).其中f(单位:元)为托运费,ω为托运物品的重量(单位:千克). 试画出计算费用f的程序框图.

分析:这是一个实际问题,根据数学模型可知,求费用f的计算公式随物品重量ω的变化而有所不同,因此计算时先看物品的重量,在不同的条件下,执行不同的指令,这是条件结构的运用,是二分支条件结构.其中,物品的重量通过输入的方式给出.

解:算法程序框图如右图: 拓展提升

百度搜索“70edu”或“70教育网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,70教育网,提供经典综合文库1.1.2 程序框图与算法的基本逻辑结构(四课时)在线全文阅读。

1.1.2 程序框图与算法的基本逻辑结构(四课时).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.70edu.com/wenku/262116.html(转载请注明文章来源)
Copyright © 2020-2025 70教育网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:370150219 邮箱:370150219@qq.com
苏ICP备16052595号-17
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:7 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:xuecool-com QQ:370150219