算法与程序框图汇总_第1页
算法与程序框图汇总_第2页
算法与程序框图汇总_第3页
算法与程序框图汇总_第4页
算法与程序框图汇总_第5页
已阅读5页,还剩18页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、算法与程序框图一、程序框图与算法基本逻辑结构:1. 程序框图符号及作用:程序框图又称流程图,是一种用规定的图形、指向线及文字说明来准确、直观地表示算法的图形.图形符号名称功能终端框(起止框)表示一个算法的起始和结束,是任何算法程序框图不可缺少的表示一个算法输入和输出的信息,可用在算法中任何需输入、输出框要输入、输出的位置处理框(执行框)赋值、计算 . 算法中处理数据需要的算式、公式等,它们分别写在不同的用以处理数据的处理框内判断框判断某一条件是否成立,成立时出口处标明 “是”或“ Y”;不成立时标明“否”或“N”流程线连接程序框,表示算法进行的前进方向以及先后顺序连接点如果一个流程图需要分开来

2、画,要在断开处画上连接点,并标出连接的号码例:解一元二次方程:ax 2bx c 0(a 0)1开始12. 画程序框图的规则:为了使大家彼此之间能够读懂各自画出的框图, 必须遵守一些共同的规则, 下面对一些常用的规则做一简要介绍 .( 1)实用标准的框图符号 .( 2)框图一般按从上到下、从左到右的方向画.( 3)一个完整的程序框图必须有终端框,用于表示程序的开始和结束.( 4)除判断框外,大多数框图符号只有一个进入点和一个退出点,判断框是具有超过一个退出点的唯一符号,另外,一种判断框是“是”与“不是”两分支的判断,而且有且仅有两个结果;还有一种是多分支判断,有几个不同的结果.( 5)在图形符号

3、内用于描述的语言要非常简练清楚.3. 算法的三种基本逻辑结构:( 1)顺序结构顺序结构是最简单的算法结构,语句与语句之间,框与框之间是按从上到下的顺序进行的,它是由若干个依次执行的处理步骤组成的,它是任何一个算法离不开的基本结构 . 如图,只有在执行完步骤 n 后,才能接着执行步骤n+1.步骤 n步骤 n+1例: . 已知梯形的上底、下底和高分别为5、 8、9,写出求梯形的面积的算法,画出流程图.开始解:算法如下:S1a 5;S2b 8;S3h 9;a 5b 8h 9S4S( a+b) h/2 ;S5输出 S.流程图如下:S ( a+b) h/2输出 S结束( 2)条件结构一些简单的算法可以用

4、顺序结构来实现,顺序结构中所表达的逻辑关系是自然串行,线性排列的. 但这种结构无法描述逻辑判断,并根据判断结果进行不同的处理的操作,(例如遇到十字路口看信号灯过马路的问题)因此,需要另一种逻辑结构来处理这类问题.条件结构的结构形式如图,在此结构中含有一个判断框,算法执行到此判断框给定的条件P 时,根据条件 P 是否成立,选择不同的执行框(步骤A,步骤 B),无论条件P 是否成立,只能执行步骤A 或步骤 B之一,不可以两者都执行或都不执行. 步骤 A 和步骤 B 中可以有一个是空的.否否满足条件?满足条件?是是步骤 A步骤 B步骤 A例:某铁路客运部门规定甲、乙两地之间旅客托运行李的费用为c0.

5、53,50,(单位: kg )为行李的重量50 0.53(50)0.85,其中50,试给出计算费用c (单位:元)的一个算法,并画出流程图S1 输入行李的重量;S2如果50,那么 c0.53,否则 c500.53(50) 0.85 ;S3输出行李的重量和运费 c ( 3)循环结构在一些算法中要求重复执行同一操作的结构称为循环结构. 即从算法某处开始,按照一定条件重复执行某一处理过程. 重复执行的处理步骤称为循环体.例:北京成功举办了2008 年第 29 届奥运会 . 你知道在申奥的最后阶段,国际奥委会是如何通过投票决定主办权归属的吗?对筛选出的5 个申办城市进行表决的操作程序是:首先进行第一轮

6、投票,如果有一个城市得票超过总票数的一半,那么该城市就获得举办权;如果所有申办城市得票数都不超过总票数的一半,则将得票数最少的城市淘汰,然后重复上述过程,直到选出一个申办城市为止. 怎样用算法结构表述上面的操作过程?解:算法为:S1S2投票;统计票数,如果有一个城市得票超过总票数的一半,那么该城市就获得举办权,转S3 ,否则淘汰得票数最少的城市,转S1 ;S3 宣布主办城市这里,“投票”就是一个循环体循环结构有两种形式:直到型循环结构(until型)和当型循环结构(while型)( 1)直到型循环结构如图,直到型循环在执行一次循环体A 之后, 对控制循环的条件P 进行判断,如果条件P 不成立则

7、返回继续执行循环体A,执行后,再判断条件P 是否成立,依次重复操作, 直到某一次给定的判断条件P 成立为止 . 此时,不再返回来执行循环体 A,离开循环结构,继续执行下面的结构. 直到型循环,因其先 执行一次循环体,再 对控制循环的条件进行判断,然后根据判断的结果决定是否继续执行循环体 . 当条件不成立 时继续执行循环体 ,当条件成立时,跳出循环结构,所以, 我们也把直到型循环称为“后测试型”循环.( 2)当型循环结构如图,每次执行循环体A 前,先对控制循环的条件P 进行判断,当条件P 成立时执行循环体A,循环体A 执行完毕后,返回来再判断条件P 是否成立,如果条件 P 仍然成立, 那么再执行

8、循环体A,如此反复执行循环体A,直到某一次返回来判断条件P 不成立时为止,此时不再执行循环体A,离开循环结构,继续执行下面的结构 . 也正因为当型循环结构先对条件 P 进行判断, 当条件 P 成立时 ,执行循环体 ;当条件不成立时,跳出循环结构,我们常常把当型循环结构还称为“前测试型”循环 .循环体 A否满足条件?是循环体 A是满足条件?否区别:“当型循环”结构中的循环条件时维持循环的;“直到型循环”结构中的循环条件时终止循环的.联系:两个循环形式不同但功能和作用相同,一般情况下可以相互转化.100例:写出计算i 的算法及程序框图(分别用直到型循环和当i 1型循环)(全解 P15)解 : 第一

9、步 : 设 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 格式AB5、循环语句(1)WHIL

10、E 语句(2)UNTIL 语句三、算法案例1任何一种程序设计语言都包含五种基本的算法语句,它们是输入语句, 输出语句,赋值语句,条件语句,循环语句2. 输入语句的一般格式是 INPUT 提示内容 ; 变量 ;输出语句的一般格式是 PRINT 提示内容 ; 表达式 ;赋值语句的一般格式是变量表达式 ;IF条件THENIF 条件 THEN语句体 1条件语句的一般格式是语句体或;END IFELSE语句体 2ENDIFDOWHILE条件循环语句的一般格式是循环体和循环体.LOOPUNTIL条件WEND输入语句、输出语句、赋值语句基本对应于程序框图中的顺序结构;条件语句、循环语句分别用来表达程序框图中

11、的条件结构和循环结构.3. 常用符号运算符号:加_+_,减 -_ ,乘 *_ ,除 /_ ,乘方 ab,整数取商,求余数MOD.逻辑符号:且AND,或 OR,大于 ,等于 =,小于 =,小于等于 =,不等于 .常用函数:绝对值ABS,平方根 SQR,取整 INT.4. 算法案例( 1)辗转相除法和更相减损术辗转相除法和更相减损术都是求两个正整数的最大公约数的方法.( 1)辗转相除法就是对于给定的两个正整数,用大数除以小数,若余数不为0,则将小数和余数构成新的一对数,继续上面的除法,反复执行此步骤,直到大数被小数除尽,则这时较小的数就是原来两个数的最大公约数 .( 2)更相减损术就是对于给定的两

12、个正整数,若它们都是偶数, 则将它们反复除以 2( 假设进行了 k 次 ) ,直到它们至少有一个不是偶数后,将大数减小数,然后将差和较小的数构成一对新数,继续上面的减法,反复执行此步骤, 直到差和较小的数相等, 此时相等的数再乘以原来约简的2k 即为所求两数的最大公约数 .( 2)秦九韶算法秦九韶算法是求多项式值的优秀算法.设 f (x) an xnan 1xn 1 La1xa0 ,改写为如下形式:f ( x) (L (an x an 1) x an 2 ) xLa1 ) x a0 .设 v0an , v1v0 x an 1v2v1 xan 2v3v2 xan 3Lvnvn 1xa0这样求 n

13、 次多项式 f ( x) 的值就转化为求n 个一次多项式的值 . 当多项式中有些项不存在时,可将这几项看做 0 xn ,补齐后再利用秦九韶算法进行计算. 对于一个 n 次多项式, 只需做 n 次乘法和 n 次加法运算即可 .( 3)进位制K 进制数的基数为k, k 进制数是由 0k1 之间的数字构成的 .将十进制的数转化为k 进制数的方法是除k 取余法 .把 k进制数 anan 1 La1a0 (0ank,0an 1 ,L a1 , a0 k )化为十进制数的方法为an an 1 L a1a0( k)an k nan 1k n 1L a1 k a0 .一、典例精析例 1写出用循环语句描述求S

14、111111234L的值的算法程序 .99100例 2、某市对排污水进行综合治理,征收污水处理费,系统对各厂一个月内排出的污水量m 吨收取的污水处理费 y 元,运行程序如下所示:INPUTm请写出 y 与 m的函数关系,并求排放污水150 吨的污水处理费用 .IF m50 THENy 13 mELSEIF m 100 THEN y 50 15*( m 50)ELSEy 150 25 (m 100)END IF END IF END例 3 求三个数 72,120,168 的最大公约数 .变式 : 试写出求正整数m, n(mn) 的最小公倍数的算法程序.解 :例 4. 用秦九韶算法求多项式f (x

15、)x52x43x34x25x6 在 x2 时的值 .例 5. 完成下列进制的转化(1)10202(3)_ (10) (2)101(10) _(8)变式训练:下面是把二进制数11111(2) 化为十进制数的一个程序框图, 判断框内应填入的条件是()A. i5?B.i4 ?C.i4?D .i5?二、习题精练(一)基本概念1. 下列关于算法的说法正确的是()某算法可以无止境地运算下去一个问题的算法步骤可以是可逆的完成一件事情的算法有且只有一种设计算法要本着简单、方便、可操作的原则2任何一个算法都离不开的基本结构为()逻辑结构选择结构循环结构顺序结构3下列图形符号表示判断框的是()A CD4能够使算法

16、的程序和步骤表达更为直观的是()自然语言流程图数学语言逻辑语言5下面的四种叙述不能称为算法的是()广播的广播操图解歌曲的歌谱做饭用米做米饭需要刷锅、淘米、添水、加热这些步骤6在流程图中,算法要处理数据或计算,可分别写在不同的()处理框内判断框内输入、输出框内循环框内(二)顺序结构及其应用1. 早上从起床到出门需要洗脸刷牙(5 min )、刷水壶( 2 min )、烧水( 8 min )、泡面( 3 min )、吃饭( 10min )、听广播( 8 min )几个步骤 . 从下列选项中选最好的一种算法()A.S1 洗脸刷牙、 S2 刷水壶、 S3 烧水、 S4 泡面、 S5 吃饭、 S6 听广播

17、B.S1 刷水壶、 S2 烧水同时洗脸刷牙、S3 泡面、 S4 吃饭、 S5 听广播C. S1 刷水壶、 S2 烧水同时洗脸刷牙、S3 泡面、 S4 吃饭同时听广播D.S1 吃饭同时听广播、S2 泡面、 S3 烧水同时洗脸刷牙、S4 刷水壶2.写出求方程axb0 ,( a0)的算法步骤S1, S2, S33. 将两个数 a=8,b=17交换 , 使 a=17,b=8,下面语句正确一组是 ( )A.B.C. c=bD.a=ca=bb=ab=ab=ac=ba=ca=bb=a4. 右边流程图表示算法,输出的s5. “鸡兔同笼”是我国隋朝时期的数学著作孙子算经中的一个有趣而具有深远影响的题目:“今有雉

18、兔同笼,上有三十五头,下有九十四足. 问雉兔各几何 . ”用方程组的思想不难解决这一问题,请你设计一个这类问题的通用算法.(三)条件结构及其应用1. 给出以下四个问题 , 输入一个数x, 输出它的相反数 . 求面积为6 的正方形的周长 . 求三个数 a,b,cx1.x0中的最大数 . 求函数 f (x) x2.x0 的函数值 .其中不需要用条件语句来描述其算法的有( )A. 1 个B. 2个C. 3个D. 4个2. 图中所示的算法的功能是 _( 求两个数中的最大数 )开始max=a输入 bNmaxb?max=b输出 max结束3. 根据题意,完成流程图填空:输入两个数,输出这两个数差的绝对值.开始输入 a, bYN输出 a - b输出 结束三、课后作业1. ( 2009浙江卷理) 某程序框图如图所示,该程序运行后输出的k 的值是()A4B 5C 6D 7(第一题)(第二题)2、( 2009 辽宁卷文) 某店一个月的收入和支出总共记录了N 个数据 a1 , a2 ,。 aN ,其中收入记为正数,支出记为负数。该店用右边的程序框图计算月总收入S 和月净盈利 V,那么在图中空白的判断框和处理框中,应分别填入( )下列四个选项中的A.A 0,V S TB. A 0,V S TC. A 0, V S TD.A 0, V

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论