资源描述
算法与程序框图(1)
__________________________________________________________________________________
__________________________________________________________________________________
1.正确理解算法的概念,掌握算法的基本特点。
2.熟悉各种程序框及流程线的功能和作用。
1. 算法的概念
算法(algorithm)一词出现于12世纪,源于算术(algorism),即算术方法。指的是用阿拉伯数字进行算术运算的过程。在数学中,算法通常是指按照一定的规则解决某一类问题的明确的和有限的步骤。现在,算法通常可以编成计算机程序,让计算机执行并解决问题。后来,人们把它推广到一般,把进行某一工作的方法和步骤称为算法。
广义地说,算法就是做某一件事的步骤或程序。菜谱是做菜肴的算法,洗衣机的使用说明书是操作洗衣机的算法,歌谱是一首歌曲的算法。在数学中,主要研究计算机能实现的算法,即按照某种机械程序步骤一定可以得到结果的解决问题的程序。比如解方程的算法、函数求值的算法、作图的算法,等等。
在数学中,按照一定规则解决某一类问题的明确和有限的步骤称为算法。
思路简单清晰,叙述复杂,步骤繁琐,计算量大,完全依靠人力难以完成。而这些恰恰就是计算机的特长,它能不厌其烦地完成枯燥的、重复的繁琐的工作。 正因为这些,现代算法的作用之一就是使计算机代替人完成某些工作,这也是我们学习算法的重要原因之一。
算法具有五个重要特点:
(1)______:算法应由有限步组成,至少对某些输入,算法应在有限多步内结束,并给出计算结果。
(2)______:算法对每一个步骤都有确切的,能有效执行且得到确定结果的,不能模棱两可。
(3)______:算法从初始步骤开始,分为若干明确的步骤,每一步都只能有一个确定的后续步骤,前一步是后一步的前提,只有执行完前一步才能进入到后一步,并且每一步都确定无误后,才能解决问题。
(4)______:求解某一个问题的解法不一定是唯一的,对于同一个问题可以有不同的解法。
(5)______:很多具体的问题,都可以设计合理的算法去解决。
2. 程序框图
(1)程序框图的概念
程序框图又称流程图,是一种用规定的图形、指向线及文字说明来准确、直观地表示算法的图形。
(2)常见的程序框图(ANSI,美国国家标准化协会)
程序框
名称
功能
______
流程进行的方向
连接点
连接另一页或另一部分
______
表示一个算法的起始和结束,是任何流程图不可少的。
输入、输出框
表示一个算法输入和输出的信息,可用在算法中任何需要输入、输出的位置。
______
赋值、计算,算法中处理数据需要的算式、公式等分别写在不同的用以处理数据的处理框内。
______
判断某一条件是否成立,成立时在出口处标明“是”或“Y”;不成立时标明“否”或“N”。
(3)四种基本的图形及其功能用法:
①起止框:框内填写开始、结束,任何程序框图中,起止框是必不可少的;
②输入、输出框:框内填写输入、输出的字母、符号等;
③处理框(执行框):算法中需要的算式、公式、对变量进行赋值等要用执行框表示。
④判断框:当算法要求在不同的情况下执行不同的运算时,需要判断框。框内填写判断条件。
(4)画流程图的规则
为了使大家彼此之间能够读懂各自画出的框图,必须遵守一些共同的规则,下面对一些常用的规则作简单的介绍。
①使用标准的框图符号。
②框图一般按从上到下、从左到右的方向画。
③除判断框外,其它框图符号只有一个进入点和一个退出点,判断框是具有超过一个退出点的唯一符号。
④一类判断框是“是”与“否”两分支的判断,而且有且仅有两个结果;另一类是多分支判断,有几种不同的结果。
⑤在图形符号内描述的语言要非常简练清楚。
⑥起始框只允许一条流出线,终止框只允许一条流入线,输入框、输出框、处理框只有一条流入线和一条流出线,判断框有一条流入线和两条流出线,但任何时候只有一条流出线起作用。
⑦一个程序框图包括以下几部分:表示相应操作的程序框;带箭头的流程线;程序框外必要的文字说明。
类型一 算法的概念
例1:我们已学过的算法有一元二次方程的求根公式、加减消元法求二元一次方程组的解、二分法求函数零点等.对算法的描述有:
(1)对一类问题都有效;
(2)对个别问题有效;
(3)计算可以一步一步进行,每一步都有唯一结果;
(4)是一种通法,只要按部就班地做,总能得到结果.以上描述正确的有( )
A.1个 B.2个 C.3个 D.4个
练习1:下列可以看成算法的是________(填序号).
(1)某人乘车去公园,先遛弯,再买菜,最后带着菜回家;
(2)利用三角形的面积公式S=×底×高,求解边长分别为3、4、5的三角形的面积;
(3)解不等式2x-3>0;
(4)已知圆经过点A(0,0)、B(2,1)、C(0,2),设出圆的一般方程,利用待定系数法求出圆的方程.
练习2:算法的有限性是指( )
A.算法的最后包含输出
B.算法中每个操作步骤都是可执行的
C.算法的步骤必须有限
D.以上说法都不正确
类型二 数值性问题的算法
例2:写出解不等式≤2的一个算法.
练习1:写出求1+2+3+4+5+6的一个算法.
练习2:求过P(a1,b1)、Q(a2,b2)两点的直线斜率k有如下算法,请在横线上填上适当的步骤:
S1 取x1=a1,y1=b1,x2=a2,y2=b2;
S2 判断“x1=x2”是否成立,若是,输出“斜率不存在”,否则执行S3;
S3 ______________________________________;
S4 输出k.
类型三 非数值性问题的算法
例3:有蓝和黑两个墨水瓶,但是错把黑墨水装在了蓝墨水瓶里面,而蓝墨水装在了黑墨水瓶里面.请你设计一个算法,将其互换.
练习1:一位商人有9枚银元,其中有1枚略轻的是假银元,你能用天平(无砝码)将假银元找出来吗?写出解决这一问题的一种算法.
类型四 算法的要求与设计
例4:给出求解下列方程组的一个算法:
练习1:设火车托运行李,当行李重量为m(kg)时,每千米的费用(单位:元)标准为
y=,试写出当托运路程为S千米时计算运费的算法.
练习2:已知直线l的倾斜角是60°,且l过点(1,2),写出求l的方程的一个算法.
类型五 程序框图的概念
例5:关于程序框图,有以下说法:
①程序框图只有一个入口,也只有一个出口;
②输入框只能在开始框之后,输出框只能在结束框前;
③判断框内的条件是惟一的;
④在程序框图中,大多数框图符号只有一个进入点和一个退出点,判断框是惟一具有超过一个退出点的一个符号;
⑤一种判断框是“是”与“不是”两分支的判断,而且有且仅有两个结果,另一种是多分支判断,有几种不同的结果;
⑥在图形符号内描述的语言要非常简练、清楚.
其中正确说法的个数为( )
A.2 B.3 C.4 D.5
练习1:下列关于程序框图的说法正确的是( )
A.程序框图是描述算法的语言
B.在框图中,一个判断框最多只能有两个退出点
C.程序框图虽可以描述算法,但不如用自然语言描述算法直观
D.程序框图和流程图不是一个概念
练习2:下列关于程序框图的说法中正确的个数是( )
①用程序框图表示算法直观、形象、容易理解;
②程序框图能够清楚地展现算法的逻辑结构,也就是通常所说的一图胜万言;
③在程序框图中,起止框是任何流程不可少的;
④输入和输出框可用在算法中任何需要输入、输出的位置.
A.1个 B.2个 C.3个 D.4个
类型六 程序框图的画法
例6:已知f(x)=x2-2x-3,画出求f(3)、f(-5)、 f(5)的值的一个程序框图.
练习:已知两点A(x1,y1)、B(x2,y2),求线段AB的长度d及中点P的坐标.请设计算法并画出框图.
类型七 判断框的应用
例7:画出一个求一个数绝对值的程序框图.
练习:下面的程序框图描述的算法的运行结果是( )
A.-5 B.-1 C.-6 D.不确定
1.下面四种叙述中,能称为算法的是( )
A.在家里一般是妈妈做饭
B.做米饭需要刷锅、淘米、添水、加热这些步骤
C.在野外做饭叫野炊
D.做饭必须有米
2.下面对算法描述正确的是( )
A.算法只能用自然语言来描述
B.算法只能用图形方式来表示
C.同一个问题可以有不同算法
D.同一个问题算法不同,结果必不同
3.在程序框图中,算法中间要处理数据或计算,可分别写在不同的( )
A.处理框内 B.判断框内 C.输入、输出框内 D.循环框内
4.如下算法:
S1 输入x的值;
S2 若x≥0,则y=x;
S3 否则,y=x2;
S4 输出y的值.
若输出的y值为9,则x=________.
5.已知圆柱的底面半径r和高h,设计一个算法,求圆柱的表面积.
6.画出计算22+42+62+…+1002的算法程序框图.
7.给出如图所示的程序框图,根据该图回答以下问题:
(1)该程序框图表示的算法的功能是什么?
(2)若输入a=-2,那么输出结果是什么?
(3)能否使输入的a的值与输出的y的值相等?
_________________________________________________________________________________
_________________________________________________________________________________
基础巩固(1)
一、选择题
1.指出下列哪个不是算法( )
A.从广州到北京旅游,先坐火车,再坐飞机抵达
B.解一元二次方程的步骤是去分母、去括号、移项、合并同类项、系数化为1
C.方程x2-1=0有两个实根
D.求1+2+3+4的值,先计算1+2=3,再由3+3=6,6+4=10得最终结果是10
2.计算下列各式中的S值,能设计算法求解的是( )
①S=1+2+3+…+100;
②S=1+2+3+…+100+…;
③S=1+2+3+…+n(n≥1,且n∈N).
A.①② B.①③
C.② D.②③
3.早上从起床到出门需要洗脸、刷牙(5 min),洗水壶(2 min),烧水(8 min),泡面(3 min),吃饭(10 min),听广播(8 min)几个过程,下列选项中最好的一种算法是( )
A.第一步,洗脸刷牙;第二步,刷水壶;第三步,烧水;第四步,泡面;第五步,吃饭;第六步,听广播
B.第一步,刷水壶;第二步,烧水同时洗脸刷牙;第三步,泡面;第四步,吃饭;第五步,听广播
C.第一步,刷水壶;第二步,烧水同时洗脸刷牙;第三步,泡面;第四步,吃饭同时听广播
D.第一步,吃饭同时听广播;第二步,泡面;第三步,烧水同时洗脸刷牙;第四步,刷水壶
4.对于一般的二元一次方程组,在写求此方程组解的算法时,需要我们注意的是( )
A.a1≠0 B.a2≠0
C.a1b2-a2b1≠0 D.a1b1-a2b2≠0
5.下面是对高斯消去法的理解:
①它是解方程的一种方法;
②它只能用来解二元一次方程组;
③它可以用来解多元一次方程组;
④用它来解方程组时,有些方程组的答案可能不准确.
其中正确的是( )
A.①② B.②④
C.①③ D.②③
6.一个算法步骤如下:
S1 S取值0,i取值2;
S2 如果i≤10,则执行S3,否则执行S6;
S3 计算S+i并将结果代替S;
S4 用i+2的值代替;
S5 转去执行S2;
S6 输出S.
运行以上步骤输出的结果为( )
A.25 B.30
C.35 D.40
二、填空题
7.已知直角三角形两条直角边长分别为a、b,求斜边长c的算法如下:
S1 输入两直角边长a、b的值.
S2 计算c=的值;
S3 ________.
将算法补充完整,横线处应填________.
8.一个算法步骤如下:
S1 S取值0,i取值1;
S2 如果i≤12,则执行S3,否则执行S6;
S3 计算S+i并将结果代替S;
S4 用i+3的值代替i;
S5 转去执行S2;
S6 输出S.
运行以上步骤输出的结果为S=________.
三、解答题
9.某年青歌赛流行唱法个人组决赛中,某歌手以99.19分夺得金奖.青歌赛在计算选手最后得分时,要去掉所有评委对该选手所打分数中的最高分和最低分,试设计一个找出最高分的算法.
基础巩固(2)
一、选择题
1.在画程序框图时,如果一个框图需要分开来画,要在断开处画上( )
A.流程线 B.注释框
C.判断框 D.连接点
2.关于程序框图的图形符号的理解,不正确的有( )
①任何一个程序框图都必须有起止框;
②输入框只能在开始框之后,输出框只能放在结束框前;
③判断框是惟一具有超过一个退出点的图形符号;
④对于一个程序来说,判断框内的条件是惟一的.
A.1个 B.2个
C.3个 D.4个
3.在程序框图中,一个算法步骤到另一个算法步骤的连接用( )
A.连结点 B.判断框
C.流程线 D.处理框
4.一个完整的程序框图至少应包括( )
A.起止框和处理框 B.起止框和输入、输出框
C.处理框和判断框 D.起止框和判断框
5.如图所示的程序框图的运行结果是( )
A.2 B.2.5
C.3.5 D.4
6.给出以下一个算法的程序框图,该程序框图的功能是( )
A.求出a、b、c三数中的最大数
B.求出a、b、c三数中的最小数
C.将a、b、c按从小到大排列
D.将a、b、c按从大到小排列
二、填空题
7.在如图所示的程序框图中,若输出的z的值等于3,那么输入的x的值为________.
8.如图是求一个数的百分之几的程序框图,则(1)处应填________.
三、解答题
9.已知球的半径为1,求其表面积和体积,画出其算法的程序框图.
能力提升(1)
一、选择题
1.在数学上,现代意义的算法通常指可以用计算机来解决一类问题的程序或步骤,这些步骤是( )
A.三步 B.四步
C.有限步 D.无限步
2.算法:
S1 输入n;
S2 判断n是否是2.若n=2,则n满足条件;若n>2,则执行S3;
S3 依次从2到n-1检验能不能整除n,若不能整除n,则满足条件.
上述满足条件的数是( )
A.质数 B.奇数
C.偶数 D.4的倍数
3.下列说法正确的是( )
A.算法是计算的方法
B.算法是计算机语言
C.算法是与计算机有关的问题的解决方法
D.算法通俗地讲是解决问题的程序与过程
4.现用若干张扑克牌进行扑克牌游戏.小明背对小亮,让小亮按下列四个步骤操作:
第一步:分发左、中、右三堆牌,每堆牌不少于两张,且各堆牌的张数相同;
第二步:从左边一堆拿出两张,放入中间一堆;
第三步:从右边一堆拿出一张,放入中间一堆;
第四步:左边一堆有几张牌,就从中间一堆拿出几张牌放入左边一堆.
这时,小明准确地说出了中间一堆牌现有的张数,你认为中间一堆牌的张数是( )
A.4 B.5
C.6 D.8
二、填空题
5.下面算法运行后输出结果为________.
S1 设i=1,P=1;
S2 如果i≤6则执行S3,否则执行S5;
S3 计算P×i,并将结果代替P的值;
S4 用i+1的值代替i的值,转去执行S2;
S5 输出P.
6.下面是解决一个问题的算法:
S1 输入x;
S2 若x≥4,转到S3;否则转到S4;
S3 输出2x-1;
S4 输出x2-2x+3.
当输入x的值为____________输出的数值最小值为____________.
三、解答题
7.设计一个算法,求表面积为16π的球的体积.
8.已知函数y=,请设计一个算法,输入x的值,求对应的函数值.
9.韩信是汉高祖刘邦手下的大将,他英勇善战,智谋超群,为汉朝立下了汗马功劳.据说他在点兵的时候,为了保证军事,不让敌人知道自己部队的实力,采用下述点兵从1~3方法:先令士兵报数,结果最后一个士兵报2;再令士兵从1~5报数,结果最后一个士兵报3;又令士兵从1~7报数,结果最后一个士兵报4;这样,很快就算出了自己部队士兵的总数.请设计一个算法,求出士兵有多少人.
能力提升(2)
一、选择题
1.下列所画程序框图是已知直角三角形两条直角边a、b求斜边的算法,其中正确的是( )
2.如图所示,若a=-4,则输出结果是( )
A.是正数 B.是负数
C.-4 D.16
二、填空题
3.如图,程序框图的功能是________.
4.如图所示是一个算法的程序框图,回答下面的问题:当输入的值为3时,输出的结果为________.
三、解答题
5.利用梯形的面积公式计算上底为2,下底为4,高为5的梯形的面积.设计出该问题的算法及程序框图.
6.如图所示的程序框图,根据框图和各题的条件回答下面的问题:
(1)该框图解决的是一个什么问题?
(2)当输入的x值为0和4时,输出的值相等,问当输入的x值为3时,输出的值为多大?
7.某居民区的物业部门每月向居民收取卫生费,计费方法是:3人和3人以下的住户,每户收取5元;超过3人的住户,每超出1人加收1.2元.设计一个算法,根据输入的人数,计算应收取的卫生费,并画出程序框图.
14
展开阅读全文