1.1.2 程序框图与算法的基本逻辑结构
第1课时 程序框图、顺序结构
课时目标 1.理解程序框图的含义.2.掌握各类程序框的功能.3.掌握算法的顺序结构.
1.程序框图
(1)程序框图又称流程图,是一种用程序框、流程线及文字说明来表示算法的图形.
(2)在程序框图中,一个或几个程序框的组合表示算法中的一个步骤;带有方向箭头的流程线将程序框连接起来,表示算法步骤的执行顺序.
2.常见的程序框、流程线及各自表示的功能
图形符号
名称
功能
终端框(起止框)
表示一个算法的起始和结束
输入、输出框
表示一个算法输入和输出的信息
处理框(执行框)
赋值、计算
判断框
判断某一条件是否成立,成立时在出口处标明“是”或“Y”;不成立时标明“否”或“N”
流程线
连接程序框
○
连接点
连接程序框图的两部分
3.顺序结构
(1)顺序结构的定义
由若干个依次执行的步骤组成的,这是任何一个算法都离不开的基本结构.
(2)结构形式
一、选择题
1.下列关于程序框图的说法正确的是( )
A.程序框图是描述算法的语言
B.程序框图中可以没有输出框,但必须要有输入框给变量赋值
C.程序框图虽可以描述算法,但不如用自然语言描述算法直观
D.程序框图和流程图不是一个概念
答案 A
2.尽管算法千差万别,但程序框图按其逻辑结构分类共有( )
A.2类B.3类
C.4类 D.5类
答案 B
3.对终端框叙述正确的是( )
A.表示一个算法的起始和结束,程序框是
B.表示一个算法输入和输出的信息,程序框是
C.表示一个算法的起始和结束,程序框是
D.表示一个算法输入和输出的信息,程序框是
答案 C
4.下列程序框图所对应的算法和指向线分别为( )
A.5步,5条 B.5步,4条
C.3步,5条 D.3步,4条
答案 D
5.下列关于流程线的说法,不正确的是( )
A.流程线表示算法步骤执行的顺序,用来连接程序框
B.流程线只要是上下方向就表示自上向下执行可以不要箭头
C.流程线无论什么方向,总要按箭头的指向执行
D.流程线是带有箭头的线,它可以画成折线
答案 B
6.给出下列程序框图:
若输出的结果为2,则①处的执行框内应填的是( )
A.x=2 B.b=2
C.x=1 D.a=5
答案 C
解析 因结果是b=2,∴2=a-3,即a=5.
当2x+3=5时,得x=1.
二、填空题
7.以下给出对程序框图的几种说法:
①任何一个程序框图都必须有起止框;
②输入框只能紧接开始框,输出框只能紧接结束框;
③判断框是唯一具有超出一个退出点的符号;
④对于一个问题的算法来说,其程序框图判断框内的条件的表述方法是唯一的.
其中正确说法的个数是________个.
答案 2
解析 ①③正确.因为任何一个程序框图都有起止框;输入、输出框可以在程序框图中的任何需要位置;判断框有一个入口、多个出口;判断框内的条件的表述方法不唯一.
8.下面程序框图表示的算法的运行结果是________.
答案 6
解析 由题意P==9,
S===6.
9.根据下边的程序框图所表示的算法,输出的结果是______.
答案 2
解析 该算法的第1步分别将X,Y,Z赋于1,2,3三个数,第2步使X取Y的值,即X取值变成2,第3步使Y取X的值,即Y的值也是2,第4步让Z取Y的值,即Z取值也是2,从而第5步输出时,Z的值是2.
三、解答题
10.已知半径为r的圆的周长公式为C=2πr,当r=10时,写出计算圆的周长的一个算法,并画出程序框图.
解 算法如下:
第一步,令r=10.
第二步,计算C=2πr,
第三步,输出C.
程序框图如图:
11.已知函数y=2x+3,设计一个算法,若给出函数图象上任一点的横坐标x(由键盘输入),求该点到坐标原点的距离,并画出程序框图.
解 算法如下:
第一步,输入横坐标的值x.
第二步,计算y=2x+3.
第三步,计算d=.
第四步,输出d.
程序框图如图:
能力提升
12.画出用现代汉语词典查阅“仕”字的程序框图.
解 现代汉语词典检字有多种方法,如部首检字法、拼音检字法等.现以部首检字法为例加以说明.
13.如图所示的程序框图,当输入的x的值为0和4时,输出的值相等,根据该图和下列各小题的条件回答下面的几个问题.
(1)该程序框图解决的是一个什么问题?
(2)当输入的x的值为3时,输出的f(x)的值为多大?
(3)要想使输出的值最大,输入的x的值应为多大?
(4)按照这个程序框图输出的f(x)值,当x的值大于2时,x值大的输出的f(x)值反而小,为什么?
(5)要想使输出的值等于3,输入的x的值应为多大?
(6)要想使输入的值与输出的值相等,输入的x的值应为多大?
解 (1)该程序框图解决的是求二次函数
f(x)=-x2+mx的函数值的问题.
(2)当输入的x的值为0和4时,输出的值相等,即f(0)=f(4).
因为f(0)=0,f(4)=-16+4m,所以-16+4m=0,
所以m=4.所以f(x)=-x2+4x.
因为f(3)=-32+4×3=3,
所以当输入的x的值为3时,输出的f(x)的值为3.
(3)因为f(x)=-x2+4x=-(x-2)2+4,
当x=2时,f(x)max=4,
所以要想使输出的值最大,输入的x的值应为2.
(4)因为f(x)=-(x-2)2+4,
所以函数f(x)在[2,+∞)上是减函数.
所以在[2,+∞)上,x值大的对应的函数值反而小,
从而当输入的x的值大于2时,x值大的输出的f(x)值反而小.
(5)令f(x)=-x2+4x=3,解得x=1或x=3,
所以要想使输出的值等于3,
输入的x的值应为1或3.
(6)由f(x)=x,即-x2+4x=x,得x=0或x=3,
所以要想使输入的值和输出的值相等,输入的x的值应为0或3.
1.画程序框图实际上是将问题的算法用程序框图符号表示出来,所以首先要搞清楚需要解决什么问题,采用什么算法可以解决.其次要弄清楚初值、循环情况、条件、表达式、程序的结构、流向等.
2.顺序结构描述的是最简单的算法结构,语句与语句之间、框与框之间是按从上到下的顺序进行的.