算法与程序框图汇总Word格式文档下载.docx
《算法与程序框图汇总Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《算法与程序框图汇总Word格式文档下载.docx(17页珍藏版)》请在冰豆网上搜索。
例:
解一元二次方程:
2.画程序框图的规则:
为了使大家彼此之间能够读懂各自画出的框图,必须遵守一些共同的规则,下面对一些常用的规则做一简要介绍.
(1)实用标准的框图符号.
(2)框图一般按从上到下、从左到右的方向画.
(3)一个完整的程序框图必须有终端框,用于表示程序的开始和结束.
(4)除判断框外,大多数框图符号只有一个进入点和一个退出点,判断框是具有超过一个退出点的唯一符号,另外,一种判断框是“是”与“不是”两分支的判断,而且有且仅有两个结果;
还有一种是多分支判断,有几个不同的结果.
(5)在图形符号内用于描述的语言要非常简练清楚.
3.算法的三种基本逻辑结构:
(1)顺序结构
顺序结构是最简单的算法结构,语句与语句之间,
框与框之间是按从上到下的顺序进行的,它是由
若干个依次执行的处理步骤组成的,它是任何一
个算法离不开的基本结构.如图,只有在执行完步
骤n后,才能接着执行步骤n+1.
.已知梯形的上底、下底和高分别为5、8、9,写出求梯形的面积的算法,画出流程图.
解:
算法如下:
S1 a←5;
S2 b←8;
S3 h←9;
S4 S←(a+b)×
h/2;
S5 输出S.
流程图如下:
(2)条件结构
一些简单的算法可以用顺序结构来实现,顺序结构中所表达的逻辑关系是自然串行,线性排列的.但这种结构无法描述逻辑判断,并根据判断结果进行不同的处理的操作,(例如遇到十字路口看信号灯过马路的问题)因此,需要另一种逻辑结构来处理这类问题.
条件结构的结构形式如图,在此结构中含有一个判断框,算法执行到此判断框给定的条件P时,根据条件P是否成立,选择不同的执行框(步骤A,步骤B),无论条件P是否成立,只能执行步骤A或步骤B之一,不可以两者都执行或都不执行.步骤A和步骤B中可以有一个是空的.
某铁路客运部门规定甲、乙两地之间旅客托运行李的费用为
其中(单位:
)为行李的重量.
试给出计算费用(单位:
元)的一个算法,并画出流程图.
输入行李的重量;
如果,那么,
否则;
输出行李的重量和运费.
(3)循环结构
在一些算法中要求重复执行同一操作的结构称为循环结构.即从算法某处开始,按照一定条件重复执行某一处理过程.重复执行的处理步骤称为循环体.
北京成功举办了2008年第29届奥运会.你知道在申奥的最后阶段,国际奥委会是如何通过投票决定主办权归属的吗?
对筛选出的5个申办城市进行表决的操作程序是:
首先进行第一轮投票,如果有一个城市得票超过总票数的一半,那么该城市就获得举办权;
如果所有申办城市得票数都不超过总票数的一半,则将得票数最少的城市淘汰,然后重复上述过程,直到选出一个申办城市为止.怎样用算法结构表述上面的操作过程?
算法为:
投票;
统计票数,如果有一个城市得
票超过总票数的一半,那么该城
市就获得举办权,转,否则淘
汰得票数最少的城市,转;
宣布主办城市.
这里,“投票”就是一个循环体
循环结构有两种形式:
直到型循环结构(until型)和当型循环结构(while型)
(1)直到型循环结构
如图,直到型循环在执行一次循环体A之后,对控制循环的条件P进行判断,如果条件P不成立则返回继续执行循环体A,执行后,再判断条件P是否成立,依次重复操作,直到某一次给定的判断条件P成立为止.此时,不再返回来执行循环体A,离开循环结构,继续执行下面的结构.直到型循环,因其先执行一次循环体,再对控制循环的条件进行判断,然后根据判断的结果决定是否继续执行循环体.当条件不成立时继续执行循环体,当条件成立时,跳出循环结构,所以,
我们也把直到型循环称为“后测试型”循环.
(2)当型循环结构
如图,每次执行循环体A前,先对控制循环的条件P进行判断,当条件P成立时执行循环体A,循环体A执行完毕后,返回来再判断条件P是否成立,如果条件P仍然成立,那么再执行循环体A,如此反复执行循环体A,直到某一次返回来判断条件P不成立时为止,此时不再执行循环体A,离开循环结构,继续执行下面的结构.也正因为当型循环结构先对条件P进行判断,当条件P成立时,执行循环体;
当条件不成立时,跳出循环结构,我们常常把当型循环结构还称为“前测试型”循环.
区别:
“当型循环”结构中的循环条件时维持循环的;
“直到型循环”结构中的循环条件时终止循环的.
联系:
两个循环形式不同但功能和作用相同,一般情况下可以相互转化.
写出计算的算法及程序框图(分别用直到型循环和当
型循环)(全解P15)
解:
第一步:
设i的值为1;
第二步:
设sum的值为0;
第三步:
如果i≤100执行第四步,
否则转去执行第七步;
第四步:
计算sum+i并将结果代替sum;
第五步:
计算i+1并将结果代替i;
第六步:
转去执行第三步;
第七步:
输出sum的值并结束算法.
循环结构的应用:
(1)确定循环变量和初始条件;
(2)确定算法中反复执行的部分,即循环体;
(3)确定循环的条件;
(4)注意不要出现“死循环”.
二、基本算法语句
1、输入语句
2、输出语句
3、赋值语句
4、条件语句
IF-THEN-ELSE格式
IF-THEN格式
5、循环语句
(1)WHILE语句
(2)UNTIL语句
三、算法案例
1.任何一种程序设计语言都包含五种基本的算法语句,
它们是输入语句,输出语句,赋值语句,条件语句,循环语句
2.输入语句的一般格式是;
输出语句的一般格式是;
赋值语句的一般格式是;
条件语句的一般格式是或;
循环语句的一般格式是和.
输入语句、输出语句、赋值语句基本对应于程序框图中的顺序结构;
条件语句、循环语句分别用来表达程序框图中的条件结构和循环结构.
3.常用符号
运算符号:
加_+_,减-__,乘*__,除/__,乘方a^b,整数取商\,求余数MOD.
逻辑符号:
且AND,或OR,大于>
,等于=,小于<
,大于等于>
=,小于等于<
=,不等于<
>
.
常用函数:
绝对值ABS,平方根SQR,取整INT.
4.算法案例
(1)辗转相除法和更相减损术
辗转相除法和更相减损术都是求两个正整数的最大公约数的方法.
(1)辗转相除法就是对于给定的两个正整数,用大数除以小数,若余数不为0,则将小数和余数构成新的一对数,继续上面的除法,反复执行此步骤,直到大数被小数除尽,则这时较小的数就是原来两个数的最大公约数.
(2)更相减损术就是对于给定的两个正整数,若它们都是偶数,则将它们反复除以2(假设进行了k次),直到它们至少有一个不是偶数后,将大数减小数,然后将差和较小的数构成一对新数,继续上面的减法,反复执行此步骤,直到差和较小的数相等,此时相等的数再乘以原来约简的即为所求两数的最大公约数.
(2)秦九韶算法
秦九韶算法是求多项式值的优秀算法.
设,
改写为如下形式:
设
这样求n次多项式的值就转化为求n个一次多项式的值.当多项式中有些项不存在时,可将这几项看做,补齐后再利用秦九韶算法进行计算.对于一个n次多项式,只需做n次乘法和n次加法运算即可.
(3)进位制
K进制数的基数为k,k进制数是由之间的数字构成的.
将十进制的数转化为k进制数的方法是除k取余法.
一、典例精析
例1.写出用循环语句描述求的值的算法程序.
例2、某市对排污水进行综合治理,征收污水处理费,系统对各厂一个月内排出的污水量吨收取的污水处理费元,运行程序如下所示:
请写出y与m的函数关系,并求排放污水150吨的污水处理费用.
例3.
求三个数72,120,168的最大公约数.
变式:
试写出求正整数的最小公倍数的算法程序.
例4.用秦九韶算法求多项式在时的值.
例5.完成下列进制的转化
变式训练:
下面是把二进制数化为十进制数的一个程序框图,判断框内应填入的条件是
()
二、习题精练
(一)基本概念
1.下列关于算法的说法正确的是( )
A.某算法可以无止境地运算下去
B.一个问题的算法步骤可以是可逆的
C.完成一件事情的算法有且只有一种
D.设计算法要本着简单、方便、可操作的原则
2.任何一个算法都离不开的基本结构为( )
A.逻辑结构B.选择结构
C.循环结构D.顺序结构
3.下列图形符号表示判断框的是( )
4.能够使算法的程序和步骤表达更为直观的是( )
A.自然语言B.流程图
C.数学语言D.逻辑语言
5.下面的四种叙述不能称为算法的是()
A.广播的广播操图解
B.歌曲的歌谱
C.做饭用米
D.做米饭需要刷锅、淘米、添水、加热这些步骤
6.在流程图中,算法要处理数据或计算,可分别写在不同的( )
A.处理框内B.判断框内
C.输入、输出框内D.循环框内
(二)顺序结构及其应用
1.早上从起床到出门需要洗脸刷牙(5min)、刷水壶(2min)、烧水(8min)、泡面(3min)、吃饭(10min)、听广播(8min)几个步骤.从下列选项中选最好的一种算法( )
A.S1洗脸刷牙、S2刷水壶、S3烧水、S4泡面、S5吃饭、S6听广播
B.S1刷水壶、S2烧水同时洗脸刷牙、S3泡面、S4吃饭、S5听广播
C.S1刷水壶、S2烧水同时洗脸刷牙、S3泡面、S4吃饭同时听广播
D.S1吃饭同时听广播、S2泡面、S3烧水同时洗脸刷牙、S4刷水壶
2.写出求方程,()的算法步骤,,.
3.将两个数a=8,b=17交换,使a=17,b=8,下面语句正确一组是()
c=b
b=a
a=c
a=b
A.B.C.D.
4.右边流程图表示 算法,输出的 .
5.“鸡兔同笼”是我国隋朝时期的数学著作《孙子算经》中的一个有趣而具有深远影响的题目:
“今有雉兔同笼,上有三十五头,下有九十四足.问雉兔各几何.”
用方程组的思想不难解决这一问题,请你设计一个这类问题的通用算法.
(三)条件结构及其应用
1.给出以下四个问题,①输入一个数x,输出它的相反数.②求面积为6的正方形的周长.③求三个数a,b,c中的最大数.④求函数的函数值.其中不需要用条件语句来描述其算法的有()
A.1个B.2个C.3个D.4个
2.图中所示的算法的功能是______