算法的三种基本逻辑和框图表示(1)??顺序、条件分支
2.理解算法中的顺序、条件分支,并能用这两种解决有关问题.
3.能对给定的程序框图进行分析,说明其特点和功能.
1.程序框图的概念
通常用一些通用图形符号构成一张图来表示算法.这种图称作程序框图(简称框图).
一些常用的程序框图符号(如下表):
图形符号
名称
符号表示的意义
起、止框
框图的开始或结束
输入、输出框
数据的输入或者结果的输出
处理框
赋值、执行计算语句、结果的传送
判断框
根据给定条件决定执行两条路径中的某一条,条件成立时在出口处标明“是”;不成立时标明“否”
流程线
流程进行的方向
连接点
连接另一页或另一部分的框图
注释框
帮助理解框图
名师点拨流程线是带箭头的线,它从一个程序框指向另一个程序框,表示程序执行的顺序或者方向.它可以不具有从上到下的特点,它是根据箭头的指向而执行相应的程序.
【做一做1】 如图所示的程序框中,判断框是( )
答案:B
2.画程序框图的规则
(1)使用标准的框图的符号.
(2)框图一般按从上到下、从左到右的方向画.
(3)除判断框外,其他框图符号只有一个进入点和一个退出点,判断框是具有超过一个退出点的唯一符号.
(4)判断框分两大类,一类判断框是二择一形式的判断,有且仅有两个可能结果;另一类是多分支判断,可能有几种不同的结果.
(5)在图形符号内描述的语言要非常简练清楚.
名师点拨如果一个框图需要分开来画,要在断开处画上连接点,并标出连接的号码,如图所示,在图中有两个以$○$为标志的连接点(在连接点中写上“1”),它表示这两个点是互相连接在一起的.实际上它们是同一个点,只是画不下才分开来画.用连接点,可以避免流程线的交叉或过长,使框图更清晰.
【做一做2】 以下对程序框图画法的描述正确的有 .(填序号)
①不一定要使用标准的框图符号;
②框图一般按从上到下、从左到右的方向画;
③除判断框外,其他框图符号只有一个进入点和一个退出点,判断框是具有超过一个退出点的唯一符号;
④在图形符号内描述的语言要非常简练清楚.
答案:②③④
3.顺序、条件分支
(1)顺序:描述的是最简单的算法,语句与语句之间,框与框之间按从上到下的顺序进行.
(2)条件分支:要对描述对象进行逻辑判断,并根据判断结果进行不同处理的逻辑.它是依据指定条件选择执行不同指令的控制.
【做一做3-1】 如图所示,程序框图运行的结果为______.
【做一做3-2】 已知函数$y=\left\{\begin{array}{l}{\log _{2} x, x \geq 2} \\ {2-x, x < 2}\end{array}\right.$图中表示的是给定$$x的值,求其对应的函数值$y$的程序框图.$①$处应填写________;②处应填写________.
解析:框图中的$①$就是分段函数解析式两种形式的判断条件,故填写$x < 2$,$②$就是函数的另一段表达式$y=\log _{2} x.$
答案:$x < 2 \quad y=\log _{2} x$
1.解读画程序框图的“三要素”
剖析:组成任何一个程序框图的三要素是“四框”“一线”“文字说明”,因此,首先要抓住它们各自的特征与意义.
“四框”的特征与意义:①起、止框的特征是fun88网上娱乐角矩形,表示框图的开始或结束,是任何程序框图不可缺少的;②输入、输出框的特征是平行四边形,表示算法中输入和输出的信息,可放在任何需输入、输出的位置;③处理框的特征是矩形,表示赋值和计算等,算法中要处理的数据或计算可分别写在不同的处理框内;④判断框的特征是菱形,用在当算法要求对两个不同的结果进行判断时.
“一线”的特征与意义:流程线的特征是带有方向箭头的线,用以连接程序框,直观地表示算法的流程.
“文字说明”的特征与意义:在框图内加以说明的文字、算式等,也是每个框图不可缺少的内容.
程序框图的画法规则:①用标准,即使用标准的框图符号;②按顺序,即框图一般按从上到下、从左到右的顺序画;③看出入,即大多数框图的图形符号只有一个进入点和一个退出点,判断框是唯一具有超过一个退出点的符号,条件分支中要在出口处标明“是”或“否”;④辨流向,即流程线的箭头表示执行的方向,不可缺少;⑤简说明,即在图形符号内的描述语言要简练清楚.
画程序框图的总体步骤:第一步,设计算法,因为算法的设计是画程序框图的基础,所以在画程序框图前,首先写出相应的算法步骤;第二步,把算法步骤转化为对应的框图,在这种转化过程中往往需要考虑很多细节,是一个将算法“细化”的过程.
记忆口诀:抓特征,明规则,依步骤.
2.条件分支的特点及表现形式
剖析:(1)条件分支的特点
如图所示的虚线框表示条件分支的示意图,此中包含一个判断框,根据给定的条件p是否成立而选择执行A或B.无论条件p是否成立,只能执行A或B之一,不可能既执行A又执行B,也不可能出现A与B都不执行的情形,无论走哪一条路径,在执行完A或B后,都要脱离本条件分支.但A或B中可以有一个是空的,即不执行任何操作.
条件分支中的判断只有“是”和“否”两种情况,不会出现第三种情况,因此对于两种以上的情况判断,必须采用条件分支的嵌套来完成.另外虽然判断框有两个退出点,但整个条件分支只有一个退出点,所以我们认为条件分支只有一个退出点.
(2)常见条件分支的形式
①单分支
在上述中,如果A和B中有一个为空时称为单条件分支,即不对称的条件分支,该是按着某个条件是否成立来决定某语句是否执行的,用框图来表示如图a所示.
②双分支
在上述中,如果A和B都不为空时称为双条件分支,即对称的条件分支,该是按照某个条件是否成立,从两个语句中选择其中一个语句执行,用框图来表示如图b所示.
③多分支(嵌套的)
用框图来表示如图c所示.
程序框图的概念
【例1】 关于程序框图,有以下说法:
①判断框只有一个入口,也只有一个出口;
②判断框内的条件是唯一的;
③一种判断框是二择一形式的判断,有且仅有两种可能结果,另一种是多分支判断,可能有几种不同的结果.
其中正确说法的个数为( )
A.1 B.2
C.3 D.0
【变式训练1】 下列关于程序框图的说法正确的是( )
A.程序框图是描述算法的语言
B.程序框图中可以没有输出框,但必须要有输入框给变量赋值
C.程序框图虽可以描述算法,但不如用自然语言描述算法直观
D.在程序框图中,所有框必须有必要的文字说明
顺序的框图
【例2】 已知$f(x)=x^{2}-2 x-3$,求$f(3), f(-5), f(5)$,并计算$f(3)+f(-5)+f(5)$的值.设计出解决该问题的一个算法,并画出程序框图.
分析:该题是求函数值的问题,代入计算即可,求出值后再去求和.
反思该算法是给出一个自变量的值,求相应的函数值,最后求各函数值的和,此题要明确求值的先后顺序.
【变式训练2】 已知直角三角形的两条直角边长分别为a,b,设计一个求直角三角形内切fun88网上娱乐的面积的算法,并画出程序框图.
条件分支的框图
【例3】 写出解方程$p x+q=0$(其中$p,q$为常数)的一个算法,并画出该算法的程序框图.
分析:方程$p x+q=0$的根与$p,q$的值关系密切.此问题考查的是方程根的情况,需对$p,q$为0与不为0进行讨论,当p≠0时,方程的根为$x=-\frac{q}{p}$;当$p=0$时,若$q=0$,则方程有无数多个根,若$q \neq 0$,则方程无实数根.由此可知,算法中会多次应用判断框引入条件分支.
反思解决此类关于方程根的问题需对参数的情况作全面的讨论.又如,求方程$a x^{2}+b x+c=0(a \neq 0)$根的情况时需分$\Delta>0, \Delta=0, A < 0$三种情况讨论.
【变式训练3】 已知函数$y=\left\{\begin{array}{l}{-x+1, x>0} \\ {0, x=0} \\ {x+3, x < 0}\end{array}\right.$试设计算法及程序框图,要求输入自变量$x$,输出函数值$y$.
易错辨析
易错点:条件分支中不注意分类讨论致错
【例4】 如图所示的程序框图,其作用是:输入$x$的值,输出相应的$y$值.若要使输入的$x$的值与输出的$y$值相等,则这样的$x$值有( )
真题
1.条件分支不同于顺序的特征是含有( )
A.处理框
B.判断框
C.输入、输出框
D.起止框
2.阅读下面的程序框图,则输出的结果是( )
A.4 B.5 C.6 D.13
3.如图所示的程序框图中含有的基本有( )
A.顺序 B.条件分支
C.模块 D.顺序与条件分支
4.在如图所示的程序框图中,若$f(x)=2^{x}, g(x)=x^{2}$,则$h(3)$等于_________.
5.如图所示的程序框图的功能是_________.
6.已知函数$y=\left\{\begin{array}{l}{-x^{2}, x>0} \\ {0, x=0} \\ {x^{2}, x < 0}\end{array}\right.$写出求该函数值的算法并画出程序框图.