算法与程序框图.docx
- 文档编号:4105665
- 上传时间:2022-11-27
- 格式:DOCX
- 页数:10
- 大小:106.29KB
算法与程序框图.docx
《算法与程序框图.docx》由会员分享,可在线阅读,更多相关《算法与程序框图.docx(10页珍藏版)》请在冰豆网上搜索。
算法与程序框图
第一讲算法与程序框图
一、基础知识回顾
1.算法的概念
(1)算法的含义
在数学中,现代意义上的“算法”通常是指可以用计算机来解决的某一类问题的程序或步骤,这些程序或步骤必须是明确和有效的,而且能够在有限步骤之内完成。
注:
①算法一般是机械的,有时要进行大量重复的计算,只要按部就班地去做,总能算出结果。
通常把算法过程称为“数学机械化”。
数学机械化的最大优点是他可以让计算机来完成。
本章主要以计算机能够实现的算法作为讨论的内容。
②实际上,处理任何问题都需要算法,中国象棋有中国象棋的棋谱,国家象棋有国家象棋的棋谱。
再比如,邮寄物品有其相应的手续,购买飞机票也有一系列的手续等。
③求解某个问题的算法不唯一。
(2)算法的要求
我们现在学习的算法不同于求解一个具体问题的方法,它有如下的要求:
1写出的算法,必须能解决一类的问题(如:
判断一个整数n(n﹥1)是否为质数,求任意一个方程的近仕=似解。
。
。
。
。
。
),并且能够重复使用。
2要使算法尽量简单,步骤尽量少。
3要保证算法正确,且计算机能够执行,如:
让计算机计算1×2×3×4×5是可以做到的,但让计算机去执行“倒一杯水”“替我理发”等则是做不到的。
(3)算法的描述
描述算法可以有不同的方式,常用的有自然语言、框图、程序设计语言、防伪代码等。
1自然语言
自然语言就是人们日常使用的语言,可以是汉语、英语或数学语言等,用自然语言描述算法的优点是通俗易懂,当算法中的操作步骤都是顺序执行时比较容易理解。
缺点是如果算法中包含判断和转向,并且操作步骤较多时,就不那么直观清晰了。
2框图(流程图)
所谓框图,就是用规定的图形符号来描述算法(这在下一节将学习),用框图描述算法,具有直观、结构清晰、条例分明、通俗易懂、便于检查修改及交流等优点。
3程序设计语言
算法最终可以通过程序编写出来,并在计算机上执行,程序设计语言和高级语言。
低级语言包括机器语言和汇编语言。
2.程序框图
(1)程序框图的概念
程序框图又称流程图,是一种用规定的图形、指向线及文字说明来准确、直观地表示算法的图形。
1算法可以用自然语言来描述,但为使算法的程序或步骤表达得更为直观,我们通常用图形方式来表示它。
2用框图来表示算法,直观、形象,容易理解。
通常说“一图胜万言”,就是说用流程图能更清楚地展现算法的逻辑结构。
(2)用框图表示算法步骤的一些常用的图形符号
图形符号
名称
符号表示的意义
起止框
流程图的开始或结束
输入、输出框
数据的输入或结果的输出
处理框
赋值、执行计算语句、结果的传送
判断框
根据给定条件判断
流程线
流程进行的方向
循环线
程序做重复运算
连接点
连接另一页或另一部分的流程图
注释框
帮助理解流程图
(3)
构成程序框图的图形符号及其作用
①起止框用,表示,是任何流程图不可少的,表明算法的开始或结束。
②输入、输出框用““表示,可用在算法中任何需要输入、输出的位置,需要输入的字母、符号、数据都填在框内。
③处理框用“”表示,算法中处理数据需要的算式、公式等可以分别写在不同的用以处理数据的处理框内;另外,对变量进行赋值时,也用到处理框。
④当算法要求你对两个不同的结果进行判断时,需要将实现判断的条件写在判断框内,判断框用“”表示。
⑤一个算法步骤到另一个算法步骤用流程线连接。
如果一个流程图需要分开来画,要在断开处画上连接点,并标出连接的号码(图1-1-1)。
6注释图不是流程图中必须要的部分,不反映流程和操作,只是为了对流程图中某些框的操作作必要的补充说明,以帮助阅读流程图的人更好得理解流程图的作用。
3.算法的三种基本逻辑结构及其框图表示
(1)顺序结构
顺序结构是最简单的算法结构,语句与语句之间,框与框之间是按从上到下的顺序惊醒的,它是由若干个依次执行的处理步骤组成的,它也是任何一个算法都离不开的一种算法结构,可以用图1-1-2表示顺序结构的示意图,其中我A和B两个框是依次执行的,只有在执行晚A框所指定的操作后,才能接着执行B框所指定的操作。
(2)条件结构
在一个算法中,经常会遇到一些条件的判断,算法的流程根据是否成立有不同的流向。
这种先根据条件做出判断,再决定执行哪一种操作的结构称为条件结构(或称为分支结构)。
如图1-1-3所示ahi一个条件结构,此结构中包含一个判断框,根据给定的条件结构,此结构中包含一个判断框,根据给定的条件p是否成立而选择执行A框或B框。
请注意,无论p条件是否成立,只能执行A框或B框之一,不可能既执行A框又执行B框,也不可能A框、B框都不执行。
无论走哪一条路径,在执行完A框或B框之后,脱离本条件结构。
A或B两个框中,可以有一个是空的,即不执行任何操作。
(3)循环结构
(4)需要重复执行同一操作的结构称为循环结构,即从某处开始,按照一定条件反复执行某一处理步骤,反复执行的处理步骤称为循环体。
循环过程非常适合计算机处理,因为计算机的运算速度非常快,执行成千上万次的重复计算,只不过是一瞬间的事,且能保证每次的结果都正确。
由此引出算法的第三种结构。
根据指定条件决定是否重复执行一条或多条指令的控制结构称为循环结构。
常见的循环结构有三种:
计数型循环、当型循环和直到型循环。
需要重复执行同一操作的结构称为循环结构,即从某处开始,
按照一定的条件反复执行某一处理步骤,
反复执行的处理步骤称为循环体.
右图是一种常见的循环结构。
直到型循环结构
直到型循环:
它的功能是先执行A框,然后判断给定的条件是否成立,如果p条件不成立,则再执行A,然后再对p条件作判断,如果p条件仍然不成立,又执行A,……,直到给定的条件成立为止,从而脱离循环结构。
当型循环:
下图所示的框图也是常见的一种循环结构,它的功能是先判断条件p是否成立,若成立,则执行A框;再判断,再执行,……,直到不符合条件时,就终止循环,执行本循环结构后的下一步程序。
4.算法的写法
(1)算法的要求,也可说为算法的特性,可细分如下:
①概括性:
写出的算法必须能解决一类问题,并且能重复使用
②有穷性;一个算法必须在执行有穷次运算后结束。
当型循环结构
③逻辑性:
即算法必须有正确性和顺序性,从开始到结束,分为若干明确的步骤,前一步是后一步的基础,只有执行完前一步才能执行下一步,并且每一步都有确切的含义,从而组成一个具有很强逻辑的序列。
④不唯一性:
求解某个问题的算法不一定是唯一的,一个问题可以有不同的算法。
⑤普遍性:
很多具体的问题,都可以设计合理的算法去解决。
5.框图的画法
(1)程序框图主要由程序框和流程线组成。
基本的程序框有终端框、输入框、输出框、处理框、判断框、其中起、止框是任何流程图不可缺少的,而输入、输出框可以用在算法中任何需要输入、输出的位置。
(2)画流程图的规则
为了使大家籰之间能够读懂各自画出的框图,必须遵守一些共同的规则,下面对一些常用的规则作一简单的介绍:
1使用标准的框图符号。
2框图一般按从上到下、从左到右的方向画。
3除判断框外,大多数流程图符号只有一个进入点和一个退出点。
判断框是具有超过一个退出点的唯一的符号。
4一种判断是对“是”与“否”两个分支的判断,而且有且仅有两个结果;另一种是多分支判断,有几种不同的结果。
5在图形符号内描述的语言要非常简练清楚。
(3)一个流程图包括的几个部分:
①表示相应的操作的框;
②带箭头的流程线;
③框内外必要的文字说明。
需要提醒的是流程线不要忘记画箭头,因为它是反映流程执行先后次序的,如不画出箭头就难以判定各框的执行顺序了。
2、典型例题
题型1.算法概念及性质运用
1.以下对算法的描述中,正确的有( )
①对一类问题都有效;②对个别问题有效;③计算可以一步步地进行,每一步都有唯一的结果;④是一种通法,只要按部就班地做,总能得到结果
A.1个 B.2个C.3个D.4个
2.程序框图说法正确的是( )
A.程序框图是描述算法的语言
B.在程序框图中,一个判断框最多只能有个退出点
C.程序框图虽可以描述算法,但不如用自然语言藐视算法直观
D.程序框图和流程图是不同的两个概念
题型2.数值型问题算法的描述
3已知梯形的上底、下底和高分别为4、8、7,写出求梯形的面积的算法,并画出程序框图.
4.设计一个判断直线
和圆
的位置关系的算法
题型3.非数值型问题算法的描述
5.将
三个数中最大值输出
6.现有有限个正整数,试设计一个求这些正整数中的最大数的算法
题型4.程序框图的概念
7.若输入x=-1,则按下图所示程序框图运行后,输出的结果是( )
A.-1 B.0C.1 D.2
8.如图所示程序框图,如果x=5,则循环的次数为( )
A.2 B.3C.4 D.5
9.(2010·新课标全国文,8)如果执行如下图所示的框图,输入N=5,则输出的数等于( )
A.
B.
C.
D.
题型5.顺序结构
10.半径为r的圆,面积公式为,当r=10时,写出计算圆面积的算法,画出程序框图。
11.画出解下列方程组的程序框图
题型6.条件结构
12.如图1-1-26所示程序框图表示的算法是()
A、输出c,b,aB、输出最大值C、输出最小值D、比较a,b,c的大小
13、下列问题的算法适宜用条件结构表示的是()
A、求点P(-1,3)到直线l:
3x-2y=0的距离B、由直线三角形的两条直角边求斜边
C、求不等式ax+b﹥0(a≠0)D、计算100个数的平均数
14、阅读下列程序框图:
输出的结构为()
A、20B、3C、515D、
15.在音乐唱片超市中,每张唱片售价25元,如果购买5张以上(含5张),则按九折收费,若购买10张以上(含10张),则按八五折收费,请设计一个完成计费工作的算法,画出程序框图。
题型7.循环结构
16.画出一个计算
(共6个2)的值的算法的程序框图。
17.以下是某次某班15名同学考试的数学成绩(单位:
分):
72,91,58,63,84,88,90,55,61,73,64,77,82,94,60.要求将80分以上的同学的平均分求出来,画出该问题算法的程序框图。
18.设计一个算法:
输出1000以内所有能被3和5整除的正整数,画出程序框图。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 算法 程序 框图