算法与程序框图汇总

  • 格式:doc
  • 大小:1.49 MB
  • 文档页数:12

下载文档原格式

  / 12
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
算法与程序框图
一、程序框图与算法基本逻辑结构:
1.程序框图符号及作用:
程序框图又称流程图,是一种用规定的图形、指向线及文字说明来准确、直观地表示算法的图形.
图形符号
名称
功能
终端框(起止框)
表示一个算法的起始和结束,是任何算法程序框图不可缺少 的
输入、输出框
表示一个算法输入和输出的信息,可用在算法中任何需要输 入、输出的位置
循环体A
否 满足条件?

(2)当型循环结构 如图,每次执行循环体 A 前,先对控制循环的条件 P 进行判断,当条件 P 成立时执行 循环体 A,循环体 A 执行完毕后,返回来再判断条件 P 是否成立,如果条件 P 仍然成 立,那么再执行循环体 A,如此反复执行循环体 A,直到某一次返回来判断条件 P 不 成立时为止,此时不再执行循环体 A,离开循环结构,继续执行下面的结构.也正因为 当型循环结构先.对条件 P 进行判断,当条件 P 成.立.时.,执.行.循.环.体.;当条件不成立时, 跳出循环结构,我们常常把当型循环结构还称为“前测试型”循环.
S2 如果 50,那么 c 0.53 ,
否则 c 50 0.53 ( 50)0.85 ;
S3 输出行李的重量 和运费 c .
(3)循环结构
在一些算法中要求重复执行同一操作的结构称为循环结构.即从算法某处开始,按照一定条件重复执行某一处理 过程.重复执行的处理步骤称为循环体.
例:北京成功举办了 2008 年第 29 届奥运会.你知道在申奥的最后阶段,国际奥委会是如何通过投票决定主办权 归属的吗对筛选出的 5 个申办城市进行表决的操作程序是:首先进行第一轮投票,如果有一个城市得票超过总 票数的一半,那么该城市就获得举办权;如果所有申办城市得票数都不超过总票数的一半,则将得票数最少的 城市淘汰,然后重复上述过程,直到选出一个申办城市为止.怎样用算法结构表述上面的操作过程
输出语句的一般格式是 PRINT "提示内容";表达式 ;
赋值语句的一般格式是 变量 表达式;
IF 条件 THEN
条件语句的一般格式是
语句体

END IF
IF 条件 THEN 语句体1 ;
ELSE 语句体2
END IF
DO
循环语句的一般格式是
循环体

LOOP UNTIL 条件
WHILE 条件 循环体 .
否 满足条件?

步骤A
步骤B
否 满足条件?

步骤A
例:某铁路客运部门规定甲、乙两地之间旅客托运行李的费用为
c
0.53, 50 0.53
(
50)
0.85,
50, 其中 (单位: kg )为行李的重量.
50,
试给出计算费用 c (单位:元)的一个算法,并画出流程图. S1 输入行李的重量 ;
WEND
输入语句、 输出语句、 赋值语句基本对应于程序框图中的顺序结构;条件语句、循环语句分别用来表达程序
框图中的条件结构和循环结构. 3.常用符号 运算符号:加_+_,减-__,乘*__,除/__,乘方 a^b,整数取商\,求余数 MOD. 逻辑符号:且 AND,或 OR,大于>,等于=,小于<,大于等于>=,小于等于<=,不等于<>. 常用函数:绝对值 ABS,平方根 SQR,取整 INT. 4.算法案例 (1)辗转相除法和更相减损术 辗转相除法和更相减损术都是求两个正整数的最大公约数的方法. (1)辗转相除法就是对于给定的两个正整数,用大数除以小数,若余数不为 0,则将小数和余数构成新的一对 数,继续上面的除法,反复执行此步骤,直到大数被小数除尽,则这时较小的数就是原来两个数的最大公约数. (2)更相减损术就是对于给定的两个正整数,若它们都是偶数,则将它们反复除以 2(假设进行了 k 次), 直到它们至少有一个不是偶数后,将大数减小数,然后将差和较小的数构成一对新数,继续上面的减法,
3.下列图形符号表示判断框的是( )
A.
B.
C.
D.
4.能够使算法的程序和步骤表达更为直观的是( ) A.自然语言 B.流程图 C.数学语言 D.逻辑语言
5.下面的四种叙述不能称为算法的是( )
A.广播的广播操图解 B.歌曲的歌谱 C.做饭用米 D.做米饭需要刷锅、淘米、添水、加热这些步骤
6.在流程图中,算法要处理数据或计算,可分别写在不同的( )
2、输出语句
3、赋值语句
4、条件语句 IF-THEN-ELSE 格式 IF-THEN 格式
5、循环语句 (1)WHILE 语句
(2)UNTIL 语句
三、算法案例 1.任何一种程序设计语言都包含五种基本的算法语句, 它们是输入语句 , 输出语句, 赋值语句,条件语句,循环语句
2.输入语句的一般格式是 INPUT "提示内容";变量 ;
处理框(执行框) 判断框 流程线
赋值、计算.算法中处理数据需要的算式、公式等,它们分别 写在不同的用以处理数据的处理框内 判断某一条件是否成立,成立时出口处标明“是”或“Y”; 不成立时标明“否”或“N” 连接程序框,表示算法进行的前进方向以及先后顺序
连接点
如果一个流程图需要分开来画,要在断开处画上连接点,并 标出连接的号码
设 v0 an , v1 v0 x an1 v2 v1x an2 v3 v2 x an3
vn vn1x a0 这样求 n 次多项式 f (x) 的值就转化为求 n 个一次多项式的值.当多项式中有些项不存在时,可将这几项看
做 0 xn ,补齐后再利用秦九韶算法进行计算.对于一个 n 次多项式,只需做 n 次乘法和 n 次加法运算即可.
否则转去执行第七步; 第四步:计算 sum+i 并将结果代替 sum; 第五步:计算 i+1 并将结果代替 i; 第六步:转去执行第三步; 第七步:输出 sum 的值并结束算法.
循环结构的应用:
确定循环变量和初始条件;
A
确定算法中反复执行的部分,即循环体;
确定循环的条件;
B
注意不要出现“死循环”.
二、基本算法语句 1、输入语句
开始
解:算法如下: S1 a←5; S2 b←8;
a5 b8
S3 h←9; S4 S←(a+b)×h/2;
h9
S5 输出 S.
S (a +b)×h/2
流程图如下:
输出S
结束
(2)条件结构 一些简单的算法可以用顺序结构来实现,顺序结构中所表达的逻辑关系是自然串行,线性排列的.但这种结构无 法描述逻辑判断,并根据判断结果进行不同的处理的操作,(例如遇到十字路口看信号灯过马路的问题)因此, 需要另一种逻辑结构来处理这类问题. 条件结构的结构形式如图,在此结构中含有一个判断框,算法执行到此判断框给定的条件 P 时,根据条件 P 是 否成立,选择不同的执行框(步骤 A,步骤 B),无论条件 P 是否成立,只能执行步骤 A 或步骤 B 之一,不可 以两者都执行或都不执行.步骤 A 和步骤 B 中可以有一个是空的.
例:解一元二次方程: ax2 bx c 0(a 0)
1
开始
1
2.画程序框图的规则: 为了使大家彼此之间能够读懂各自画出的框图,必须遵守一些共同的规则,下面对一些常用的规则做一简要介 绍. (1)实用标准的框图符号. (2)框图一般按从上到下、从左到右的方向画. (3)一个完整的程序框图必须有终端框,用于表示程序的开始和结束. (4)除判断框外,大多数框图符号只有一个进入点和一个退出点,判断框是具有超过一个退出点的唯一符号, 另外,一种判断框是“是”与“不是”两分支的判断,而且有且仅有两个结果;还有一种是多分支判断,有几 个不同的结果. (5)在图形符号内用于描述的语言要非常简练清楚.
(3)进位制
K 进制数的基数为 k,k 进制数是由 0~k 1之间的数字构成的.
将十进制的数转化为 k 进制数的方法是除 k 取余法.
把k进制数anan1 a1a0 (0 an k, 0 an1, a1, a0 k)化为十进制数的方法为
anan1 a1a0(k) ankn an1kn1 a1k a0 .
例 2、某市对排污水进行综合治理,征收污水处理费,系统对各厂一个月
内排出的污水量 m 吨收取的污水处理费 y 元,运行程序如下所示:
请写出 y 与 m 的函数关系,并求排放污水 150 吨的污水处理费用.
例 3. 求三个数 72,120,168 的最大公约数.
变式:试写出求正整数 m, n(m n) 的最小公倍数的算法程序.
3.算法的三种基本逻辑结构: (1)顺序结构 顺序结构是最简单的算法结构,语句与语句之间, 框与框之间是按从上到下的顺序进行的,它是由 若干个依次执行的处理步骤组成的,它是任何一 个算法离不开的基本结构.如图,只有在执行完步 骤 n 后,才能接着执行步骤 n+1.
步骤 n
步骤 n+1
例:.已知梯形的上底、下底和高分别为 5、8、9,写出求梯形的面积的算法,画出流程图.
一、典例精析
例 1.写出用循环语句描述求 S 1 1 1 1 234
1 1 的值的算法程序. 99 100
INPUT m IF m 50 THEN
y 13 m ELSE
IF m 100 THEN y 50 15*(m 50)
ELSE y 150 25 (m 100) END IF END IF END
解:
例 4.用秦九韶算法求多项式 f (x) x5 2x4 3x3 4x2 5x 6 在 x 2 时的值.
Fra Baidu bibliotek
例 5.完成下列进制的转化
(1)10202(3) ____ (10) (2)101(10) __________(8)
变式训练:下面是把二进制数11111(2) 化为十进制数的一个程序框图,判断框内应填入的条件是
区别: “当型循环”结构中的循环条件时维持循环的;“直到型循环”结构中的循环条件时 终止循环的. 联系: 两个循环形式不同但功能和作用相同,一般情况下可以相互转化.
循环体A
是 满足条件?

100
例:写出计算 i 的算法及程序框图(分别用直到型循环和当 i 1
型循环)(全解 P15)
解:第一步:设 i 的值为 1; 第二步:设 sum 的值为 0; 第三步:如果 i≤100 执行第四步,
()
A. i 5? B. i 4 ? C. i 4? D. i 5?
二、习题精练 (一)基本概念 1.下列关于算法的说法正确的是( ) A.某算法可以无止境地运算下去 B.一个问题的算法步骤可以是可逆的 C.完成一件事情的算法有且只有一种 D.设计算法要本着简单、方便、可操作的原则 2.任何一个算法都离不开的基本结构为( ) A.逻辑结构 B.选择结构 C.循环结构 D.顺序结构
A.处理框内
B.判断框内
C.输入、输出框内
D.循环框内
(二)顺序结构及其应用 1.早上从起床到出门需要洗脸刷牙(5 min)、刷水壶(2 min)、烧水(8 min)、泡面(3 min)、吃饭(10 min)、 听广播(8 min)几个步骤.从下列选项中选最好的一种算法( ) 洗脸刷牙、S2 刷水壶、S3 烧水、S4 泡面、S5 吃饭、S6 听广播 刷水壶、S2 烧水同时洗脸刷牙、S3 泡面、S4 吃饭、S5 听广播 C. S1 刷水壶、S2 烧水同时洗脸刷牙、S3 泡面、S4 吃饭同时听广播 吃饭同时听广播、S2 泡面、S3 烧水同时洗脸刷牙、S4 刷水壶
解:算法为:
S1 投票; S2 统计票数,如果有一个城市得
票超过总票数的一半,那么该城
市就获得举办权,转 S3,否则淘 汰得票数最少的城市,转 S1; S3 宣布主办城市.
这里,“投票”就是一个循环体 循环结构有两种形式:直到型循环结构(until 型)和当型循环结构(while 型)
(1)直到型循环结构 如图,直到型循环在执行一次循环体 A 之后,对控制循环的条件 P 进行判断,如果条 件 P 不成立则返回继续执行循环体 A,执行后,再判断条件 P 是否成立,依次重复操 作,直到某一次给定的判断条件 P 成立为止.此时,不再返回来执行循环体 A,离开循 环结构,继续执行下面的结构.直到型循环,因其先.执行一次循环体,再.对控制循环的 条件进行判断,然后根据判断的结果决定是否继续执行循环体.当条件不.成.立.时继续执. 行.循.环.体.,当条件成立时,跳出循环结构,所以, 我们也把直到型循环称为“后测试型”循环.
反复执行此步骤,直到差和较小的数相等,此时相等的数再乘以原来约简的 2k 即为所求两数的最大公约数.
(2)秦九韶算法 秦九韶算法是求多项式值的优秀算法.
设 f (x) an xn an1xn1 a1x a0 ,
改写为如下形式:
f (x) ( (an x an1)x an2 )x a1)x a0.