1.1.2程序框图与算法的基本逻辑结构

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

条件结构
例5 设计一个求解一元二次方程
ax 2 bx c 0
的算法,并画出程序框图表示.
例5程序框图也可设计为
开始 输入a,b,c Δ=
b2-4ac
Δ≥0?


是 Δ=0? 否
x
b 2a
b x1 2a
x2
b 2a
方程无实数根
输出x
输出x1 , x2
结束
i的值增加1,仍用i表示
否 i>n-1或r=0? 是
顺序结构
是 r=0? 否 N是质数
循环结构
N不是质数
条件结构
你能说出这三种基本逻辑结构的特点吗? 条件结构与循环结构有什么区别和联系?
(1)顺序结构 顺序结构是最简单的算法结构,语句与语句 之间,框与框之间是按从上到下的顺序进行的, 它是由若干个依次执行的处理步骤组成的,它是 任何一个算法都离不开的一种基本算法结构。 顺序结构在程序框图中的体现就是用流程线 将程序框自上而下地连接起来,按顺序执行算法 步骤。
1、循环结构的特点 重复同一个处理过程
2、循环结构的框图表示
当型和直到型 3、循环结构该注意的问题 避免死循环的出现,设置好进入(结束) 循环体的条件。
练 习
1. 对任意正整数n, 设计一个算法求
开始
输入一个正整数n
1 1 1 S 1 2 3 n
的值,并画出程序框图.
S=0 i=1 S=S+1/i i=i+1 i≤n N 输出S的值 结束 Y
第一步、输入A、B
第二步、令X=A 第三步、令A=B
第四步、令B=X
第五步、输出A、B
1、已知摄氏温度C与华氏温度F之间的关系为 F=1.8C+32。设计一个由摄氏温度求华氏温度 的算法,并画出相应的程序框图。
算法步骤: 第一步:输入摄氏温度C; 第二步:计算1.8C+32, 并 将这个值记为华 氏温度F;
第一步:确定首数a,尾 数b,项数n; 第二步:利用公式“S=n (a+b) /2” 求和; 第三步:输出求和结果。
开始
输入a,b,n
S=n (a+b) /2
输出S
结束
例7 设计一个计算 1+2+3+…+100的值的算法, 并画出程序框图.
第1步,0+1=1. 第2步,1+2=3. 第3步,3+3=6. 第4步,6+4=10. …… 第100步,4950+100=5050.
s=s+i i=i+1 否 i>100? 是
循环结构中都有一个计数变量和累加变量, 判断是否已经加到了100,如果加到 计数变量用以记录循环次数,同时它的取值还 用于判断循环是否终止,累加变量用于输出结 了则退出,否则继续加。 果,累加变量和计数变量一般是同步执行的, 累加一次,计数一次. 请填上判断的条件。
步骤n
步骤n+1
例3、已知一个三角形的三边分别为a、b、c,利用海伦公式设 计一个算法,求出它的面积,并画出算法的程序框图。
开始 输入a,b,c
p=
a+b+c 2
S=
p(p - a)(p - b)(p - c) .
输出S
结束
例4、已知两个变量A和B的值,试设计一个交 换这两个变量的值的算法,并画出程序框图。
学习这部分知识的时候,要掌握各个图形的 形状、作用及使用规则,画程序框图的规则如下: 1、使用标准的图形符号。 2、框图一般按从上到下、从左到右的方向画。 3、除判断框外,大多数流程图符号只有一个进入 点和一个退出点。判断框是具有超过一个退出 点的唯一符号。 4、判断框分两大类,一类判断框是“是”与“否”两分 支的判断,而且有且仅有两个结果;另一类是 多分支判断,有几种不同的结果。 5、在图形符号内描述的语言要非常简练清楚。
练 习
第三步:输出华氏温度F。
2、已知变量A、B、C的值,试设计一个算法 程序框图,使得A为B的值,B为C的值,C为A 的值。
第一步、输入A、B、C 第二步、令X=A 第三步、令A=B 第四步、令B=C 第五步、令C=X 第六步、输出A、B、C的值
练 习
(2)条件结构 在一个算法中,经常会遇到一些条件的判断, 算法的流程根据条件是否成立有不同的流向.条件 结构就是处理这种过程的结构. 分类是算法中经常发生的事情,条件结构的 主要作用就是表示分类. 条件结构可用程序框图表示为下面两种形式.
练 习
1、下列关于程序框图的说法正确的是 A、程序框图是描述算法的语言 ( )
B、程序框图可以没有输出框,但必须要有输入框给变量赋值
C、程序框图可以描述算法,但不如自然语言描述算法直观 D、程序框图和流程图不是一个概念
2、下列功能“
A、赋值 B、计算
”没有功能的是 ( )
C、判断 D、 以上都不对
开始
n=1
输入50米跑成绩r N 输出r
r≥6.8
Y
n=n+1 n>9?
Y 结束 N
构成程序框的图形符号及其作用 图形符号 名 称 功 能
终端框(起止框) 输入、输出框 处理框(执行框) 判断框
一个算法的起始和结束 一个算法输入和输出的信息 赋值、计算 判断某一条件是否成立,出 口成立标“是”不成立标 “否” 连接程序框 连接程序框图的两部分

流程线 连接点
程序框图范例:
开始
判断整数n(n>2)是否为质数
练 习
1、设计一个算法判断任意给定一个整数N是 奇数还是偶数,并画出程序框图; 2、已知函数 y x - 3 ,设计一个算法求相应 的函数值,并画出程序框图。 3、 P.20 习题A组第3题
4、 P.20 习题1.1B组第1题
P.20 习题A组第3题
算法步骤: 第一步,输入人数x,设收取的卫生费 为y元.
循环体
循环体 否 是
ห้องสมุดไป่ตู้
满足条件? 是
满足条件? 否
执行一次循环体后,对条件进行 判断,如果条件不满足,就继续执行 循环体,直到条件满足时终止循环.
在每次执行循环体前,对条件进行 判断,当条件满足,执行循环体,否则 终止循环.
例7 设计一个计算1+2+3+…+100的值的算法,并画 出程序框图.
算法1:
输入n
设n是一个大于2的整数
i=2
求n除以i的余数r
一般用i=i+1表示
i的值增加1,仍用i表示 i>n-1或r=0? 是 是 r=0? 否 N是质数 结束 否
N不是质数
开始
输入n
i=2 求n除以i的余数r 是
r=0? 否 i的值增加1, 仍用i表示 i>n-1? 是

输出“n不 是质数”
输出“n 是质数” 结束
开始 输入n
i=2 顺序结构
求n除以i的余数r i的值增加1,仍用i表示 i>n-1或r=0? 是 是 r=0? 否 N是质数 结束 2.算法的三种基本逻辑结构:顺序结构、条件结构、循环结构。 否 循环结构
N不是质数
条件结构
算法千差万别,但都是由这 三种基本逻辑结构构成的.
输入n
i=2
求n除以i的余数r
满足条件? 是 否 满足条件? 否

步骤A
步骤B
步骤A
例4 任意给定3个正 实数,设计一个算法,判 断分别以这3个数为三 边边长的三角形是否存 在.画出这个算法的程 序框图.
条件结构
算法步骤如下: 第一步,输入3个正实数a,b,c. 第二步,判断a+b>c,a+c>b, b+c>a是否同时成立. 若是,则存在这样的三角形; 否则,不存这样的三角形.
0( x 0) 例6、设计一个算法计算分段函数 y 1(0 x 1) x( x 1) 序框图。
, 的函数值,并画出程
第一步、输入x 第二步、判断“x<0”是否成立, 若 是,则输出y=0,否则执行第三步; 第三步、判断“x<1”是否成立, 若 是,则输出y=1,否则输出y=x。
解决方法就是加上一个判断,
直到型结构
例8 某工厂2005年的年生产总值为 200万元,技术革新后预计以后每年的年 生产总值都比上一年增长5℅.设计一个程 序框图,输出预计年生产总值超过300万 元的最早年份. 算法步骤: 第一步,输入2005年的年生产总值. 第二步,计算下一年的年生产总值. 第三步,判断所得的结果是否大于 300.若是,则输出该年的年份;否则,返 回第二步. (1)确定循环体:设a为某年的年生产 总值,t为年生产总值的年增长量,n为 年份,则循环体为t=0.05a,a=a+t,n=n+1. (2)初始化变量: n=2005, a=200. (3)循环控制条件: a>300
算法2: 第一步,令i=1,S=0. 第二步,若i ≤100成立,则执 行第三步;否则,输出S,结束算法. 第三步,S=S+i. 第四步,i=i+1,返回第二步.
开始 i=1
(1)确定循环体:i=i+1 s=s+i (2)初始化变量:i=1 s=0 (3)循环控制条件:i≤100
S=0 i=i+1
S=S+i
算法步骤有明确的顺序性,而且有些步骤只 有在一定条件下才会被执行,有些步骤在一定条 件下会被重复执行.算法可以用自然语言来描述, 但为了使算法的程序或步骤表达得更为直观、准 确,我们更经常地用图形方式来表示它。
1.程序框图
程序框图又称流程图,是一种用程序框、流 程线及文字说明来表示算法的图形 一个程序框图包括以下几部分:表示相应操 作的程序框;带箭头的流程线;程序框外必要的 文字说明。
开始
输入a1,b1,c1, a2
。b2,
c2 N
a1b2-a2b1≠0?
Y x=(c2b1 -c1b2)/(a1b2 -a2b1)
y=(c2b1 -c1b2)/(a1b2 -a2b1)
输出“x=
”; ,“y=
”;
输出“输入数据不合题意
结束
(3)循环结构
循环结构指的是按照一定的条件反复执行的某些算法步骤. 反复执行的步骤称为循环体.
开始
输入x N
第二步,判断x与3的大小,若x>3,则 费用为m= 5+(x-3)×1.2=1.2x+1.4; 若x≤3,则费用为m=5. 第三步,输出m.
x>3? Y
y=1.2x+1.4
y=5
输出y
结束
P.20 习题1.1B组第1题
算法步骤: 第一步,输入a1,b1,c1, a2,b2,c2. 第二步,计算 x=(c2b1 -c1b2)/(a1b2 -a2b1) y=(c2b1 -c1b2)/(a1b2 -a2b1) 第三步,输出x,y
开始
n=2005
a=200
t=0.05a
a=a+t
n=n+1
a>300? Y 输出n
结束
N
开始
n=2005
当型
开始
n=2005
直到型
a=200 n=n+1
a=200
t=0.05a
a=a+t a=a+t t=0.05a a≤300? N 输入n 结束 Y n=n+1
a>300? Y 输入n
结束
N
小结
当型结构
在解题的过程中,用累加变量S表示 每一步的计算结果,即把S+i的结果仍记 为S,从而把第i步表示为S=S+i,其中S s = s + i 的初始值为0,i依次取1,2,…,100. 由于i同时记录了循环的次数,所以也称 i=i+ 1 为计数变量.
i≤100? 是 s =s+i i=i+1

练 习
2.设计一算法,求积: 1×2×3×…×100,画出流程图.
开始
i=0,S=1 i = i + 1
S=S*i 否
i≥100? 是 输出S
结束
3、P.20习题A组第2题
求 1 2 99 100 的值
2 2 2 2
开始
i=1
解:算法步骤: 第一步,令i=1,s=0. 第二步,若成立,则执行第三步, 否则,输出s. 第三步,计算s=s+i2 第四步,计算i=i+1,返回第二步.
i≤100? 否 输出S 结束
当型循环结构

例7 设计一个计算1+2+3+…+100的值的算法,并画 出程序框图.
开始 开始 i=0;S=0 否 S=s+i
i=0;S=0
i≤100? 是 s = s+i i=i+1 否
循 环 结 构
i=i+1
i>100? 是 输出S 当型结构 结束 直到型结构
输出S 结束
S=0
i=i+1 S=S+i2
i≤100? 否
输出S 结束

当型循环结构
P.20习题1.1B组第2题
算法步骤: 第一步,令计算变量n=1. 第二步,输入一个成绩r,判断r与 6.8的大小,若r≥6.8,则执行下一步; 若r<6.8,则输出r,并执行下一步. 第三步,令n=n+1. 第四步,判断计数变量n与成绩个数 9的大小,若n≤9,则返回第二步,若 n>9,则结束算法.
相关文档
最新文档