程序框图、顺序结构
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1.1.2程序框图与算法的基本逻辑结构
第1课时程序框图、顺序结构
1.掌握程序框图的概念.
2.熟悉各种程序框及流程线的功能和作用.
3.能用程序框图表示顺序结构的算法.
1.程序框图
(1)程序框图又称流程图,是一种用程序框、流程线及文字说明来表示算法的图形.
(2)在程序框图中,一个或几个程序框的组合表示算法中的一个步骤;带有方向箭头的流程线将程序框连接起来,表示算法步骤的执行顺序.
(3)常见的程序框、流程线及各自表示的功能
(4)算法的逻辑结构
顺序结构、条件结构和循环结构是算法的基本逻辑结构,所有算法都是由这三种基本结构构成的.
2.顺序结构
(1)顺序结构的定义
由若干个依次执行的步骤组成的.这是任何一个算法都离不开的基本结构.
(2)结构形式
判断正误.(正确的打“√”,错误的打“×”)
(1)有的程序框可以不用流程线连接.()
(2)程序框只有一个进入点和一个退出点.()
(3)流程线是直线或折线,可以不带箭头.()
[提示](1)×各程序框必须用流程线依次连接.
(2)×判断框有一个进入点,两个退出点.
(3)×流程线必须带箭头.
题型一程序框图的认识和理解
【典例1】下列关于程序框图中图形符号的理解正确的有()
①任何一个流程图必须有起止框;
②输入框只能放在开始框后,输出框只能放在结束框前;
③判断框是唯一的具有超过一个退出点的图形符号;
④对于一个程序框图来说,判断框内的条件是唯一的.
A.1个B.2个C.3个D.4个
[思路导引]根据程序框图的概念,逐一验证每个选项是否正确.
[解析]①任何一个程序必须有开始和结束,从而流程图必须有起止框,正确.②输入、输出框可以用在算法中任何需要输入、输出的位置,错误.③正确.④判断框内的条件不是唯一的,错误.故选B.
[★答案★] B
(1)理解程序框图中各框图的功能是解此类题的关键,用程序框图表示算法更直观、清晰、易懂.
(2)起止框用“”表示,是任何流程不可少的,表明程序的开始和结束.
(3)输入、输出框用“”表示,可用在算法中任何需要输入、输出的位置,需要输入的字母、符号、数据都填在框内.
(4)处理框用“”表示,算法中处理数据需要的算式、公式等可以分别写在不同的用以处理数据的处理框内,另外,对变量进行赋值时,也用到处理框.
(5)判断框用“”表示,是唯一具有超过一个退出点的图形符号.
[针对训练1]下列说法正确的是()
A.程序框图中的图形符号可以由个人来确定
B.也可以用来执行计算语句
C.程序框图中可以没有输出框,但必须要有输入框
D.用程序框图表达算法,其优点是算法的基本逻辑结构展现得非常直接
[解析]一个完整的程序框图至少要有起止框和输入、输出框,输入、输出框只能用来输入、输出信息,不能用来执行计算.
[★答案★] D
题型二利用顺序结构表示算法
【典例2】已知P0(x0,y0)和直线l:Ax+By+C=0,写出求点P0到直线l的距离d 的算法,并用程序框图来描述.
[思路导引]先用自然语言将算法步骤表示出来,然后将每个步骤包含的逻辑结构用程序框表示出来,最后将所有的程序框用流程线连接起来,并加上起止框.[解]第一步,输入x0,y0,A,B,C;
第二步,计算m=Ax0+By0+C;
第三步,计算n=A2+B2;
;
第四步,计算d=|m|
n
第五步,输出d.
程序框图如图所示.
应用顺序结构表示算法的步骤
(1)仔细审题,理清题意,找到解决问题的方法.
(2)梳理解题步骤.
(3)用数学语言描述算法,明确输入量、计算过程、输出量.
(4)用程序框图表示算法过程.
[针对训练2]写出解不等式2x+1>0的一个算法,并画出程序框图.
[解]第一步,将1移到不等式的右边;
;
第二步,不等式的两端同乘1
2
第三步,得到x>-1
并输出.
2
程序框图如图所示:
题型三程序框图的应用
【典例3】如图所示是解决某个问题而绘制的程序框图,仔细分析各框图内的内容及框图之间的关系,回答下面的问题:
(1)该框图解决的是怎样的一个问题?
(2)若最终输出的结果y1=3,y2=-2,当x取5时输出的结果5a+b的值应该是多大?
(3)在(2)的前提下,输入的x值越大,输出的ax+b是不是越大?为什么?
(4)在(2)的前提下,当输入的x值为多大时,输出结果ax+b等于0?
[思路导引]只需弄清各种程序框、流程线的功能,再依次执行一下程序,不难读懂该图所要表达的算法.
[解](1)该框图解决的是求函数f(x)=ax+b的函数值的问题.其中输入的是自变量x 的值,输出的是x对应的函数值.
(2)y1=3,即2a+b=3.①
y2=-2,即-3a+b=-2.②
由①②得a=1,b=1.
∴f(x)=x+1.
∴当x取5时,5a+b=f(5)=5+1=6.
(3)输入的x值越大,输出的函数值ax+b越大,
因为f(x)=x+1是R上的增函数.
(4)令f(x)=x+1=0,得x=-1,因此当输入的x值为-1时,输出的函数值为0.
根据算法功能求输出结果或根据输出结果求框图中某一步骤,应注意以下几点:
(1)要明确各框图符号的含义及作用;
(2)要明确框图的方向流程;
(3)要正确认图,即根据框图说明该算法所要解决的问题.
其中明确算法功能是解决此类问题的关键.
[针对训练3]写出下列算法的功能:
(1)图①中算法的功能是(a>0,b>0)_________________.
(2)图②中算法的功能是__________________________.