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

下载本文档

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

文档简介

算法与程序框图

【学习目标】

1.初步建立算法的概念;

2.让学生通过丰富的实例体会算法的思想;

3.让学生通过对具体问题的探究,初步了解算法的含义;

4.掌握程序框图的概念;

5.会用通用的图形符号表示算法,掌握算法的三个基本逻辑结构;

6.掌握画程序框图的基本规则,能正确画出程序框图.

【要点梳理】

要点一、算法的概念

1、算法的定义:

广义的算法是指完成某项工作的方法和步骤,那么我们可以说洗衣机的使用说明书是操作洗衣机的算

法,菜谱是做菜的算法等等.

在数学中,现代意义的算法是指可以用计算机来解决的某一类问题的程序和步骤,这些程序或步骤必

须是明确和有效的,而且能够在有限步之内完成.

2、算法的特征:

(1)确定性:算法的每一步都应当做到准确无误、'‘不重不漏”.“不重”是指不是可有可无的、甚

至无用的步骤,“不漏”是指缺少哪一步都无法完成任务.

(2)逻辑性:算法从开始的“第一步”直到“最后一步”之间做到环环相扣,分工明确,“前一步”

是“后一步”的前提,“后一步”是“前一步”的继续.

(3)有穷性:算法要有明确的开始和结束,当到达终止步骤时所要解决的问题必须有明确的结果,也

就是说必须在有限步内完成任务,不能无限制的持续进行.

(4)不唯一性:求解某一个问题的算法不一定是唯一的,对于一个问题可以有不同的算法.

3、设计算法的要求

(1)写出的算法,必须能解决一类问题(如:判断一个整数35是否为质数;求任意一个方程的近似

解……),并且能够重复使用.

(2)要使算法尽量简单、步骤尽量少.

(3)要保证算法正确.且计算机能够执行,如:让计算机计算1X2X3X4X5是可以做到的.

4、算法的描述:

(1)自然语言:自然语言就是人们日常使用的语言,可以是汉语、英语或数学语言等.用自然语言

描述算法的优点是通俗易懂,当算法中的操作步骤都是顺序执行时比较容易理解.缺点是如果算法中包含

判断和转向,并且操作步骤较多时,就不那么直观清晰了.

(2)程序框图:所谓框图,就是指用规定的图形符号来描述算法,用框图描述算法具有直观、结构

清晰、条理分明、通俗易懂、便于检查修改及交流等特点.

(3)程序语言:算法最终可以通过程序的形式编写出来,并在计算机上执行.

要点诠释:

算法的特点:思路简单清晰,叙述复杂,步骤繁琐,计算量大,完全依靠人力难以完成,而这些

恰恰就是计算机的特长,它能不厌其烦地完成枯燥的、重复的繁琐的工作,正因为这些,现代算法的作

用之一就是使计算机代替人完成某些工作,这也是我们学习算法的重要原因之一.

事实上,算法中出现的程序只是用基本的语句把程序的主要结构描述出来,与真正的程序还有差距,

所以算法描述的许多程序并不能直接运行,要运行程序,还要把程序按照某种语言的严格要求重新改写

才行.

要点二、程序框图

1、程序框图的概念:

程序框图又称流程图,是一种用规定的图形、指向线及文字说明来准确、直观地表示算法的图形.

2、构成程序框的图形符号及其作用

程序框名称功能

表示一个算法的起始和结束,是任何算法

----起止框程序框图不可缺少的.

表示一个算法输入和输出的信息,可用在

LJ输入、输出框算法中任何需要输入、输出的位置.

赋值、计算.算法中处理数据需要的算式、

—处理框公式等,它们分别写在不同的用以处理数

据的处理框内.

判断某一条件是否成立,成立时在出口处

判断框标明“是"或"Y”;不成立时在出口处则

O标明“否”或“N”.

V流程线算法进行的前进方向以及先后顺序

O连结点连接另一页或另一部分的框图

3,程序框图的构成

一个程序框图包括以下几部分:实现不同算法功能的相对应的程序框;带箭头的流程线;程序框内必

要的说明文字.

4、算法的三种基本逻辑结构.

(1)顺序结构

顺序结构是最简单的算法结构,语句与语句之间,框与框之间是按从上到下的顺序进行的.它是由若

干个依次执行的步骤组成的,它是任何一个算法都离不开的一种基本算法结构.

见示意图和实例:

顺序结构在程序框图中的体现就是用流程线将程序框自上而下地连接起来,按顺序执行算法步骤.如

在示意图中,A框和B框是依次执行的,只有在执行完A框指定的操作后,才能接着执行B框所指定的

操作.

(2)条件结构

如下面图示中虚线框内是一个条件结构,此结构中含有一个判断框,算法执行到此判断给定的条件P

是否成立,选择不同的执行框(A框、B框).无论P条件是否成立,只能执行A框或B框之一,不可能

既执行A框又执行B框,也不可能A框、B框都不执行.A框或B框中可以有一个是空的,即不执行任何

操作.

见示意图

AB

要点诠释:

条件结构中的条件要准确,不能含混不清,要清楚在什么情况下需要作怎样的判断,用什么条件来

区分.

(3)循环结构

在一些算法中要求重复执行同一操作的结构称为循环结构.即从算法某处开始,按照一定条件重复执

行某一处理过程.重复执行的处理步骤称为循环体.

循环结构有两种形式:当型循环结构和直到型循环结构.

①当型循环结构,如左下图所示,它的功能是当给定的条件P成立时,执行A框,A框执行完毕后,

返回来再判断条件P是否成立,如果仍然成立,返回来再执行A框,如此反复执行A框,直到某一次

返回来判断条件P不成立时为止,此时不再执行A框,离开循环结构,继续执行下面的框图.

②直到型循环结构,如右下图所示,它的功能是先执行重复执行的A框,然后判断给定的条件P是

否成立,如果P仍然不成立,则返回来继续执行A框,再判断条件P是否成立,依次重复操作,直到

某一次给定的判断条件P成立为止,此时不再返回来执行A框,离开循环结构,继续执行下面的框图.

当型循环结构直到型循环结构

要点诠释:

循环结构中使用什么样的条件控制循环的开始和结束,要清楚满足某个条件的变量的次数与循环次数

的联系与区别.

误区提醒

1、框图中的流程线不能出现交叉的现象.若有交叉,则程序语句无法写出;

2、各种框图有其固定的格式和作用,不要乱用.如条件结构中不要忘了“是”与“否”,流程线不要

忘记画箭头;

3、条件分支结构的方向要准确;

4、循环结构中,计数变量要赋初值,计数变量的自加不要忘记,自加多少不能弄错.另外计数变量

一般只负责计数任务;

5、循环结构中循环的次数要严格把握,区分与等.循环变量的取值与循环结构(当型与

直到型)有关,需区分清楚.另外,同一问题用两种不同的结构解决时,其判断条件恰是相反的;

6、程序框图不要出现死循环(无限步的循环).

【典型例题】

类型一:算法的概念

例1.下列对算法的理解不正确的是()

A.算法有一个共同特点就是对一类问题都有效(而不是个别问题)

B.算法要求一步步执行,且每一步都能得到唯一的结果

C.算法一般是机械的,有时要进行大量重复的计算,它的优点是一种通法

D.任何问题都可以用算法来解决

【参考答案】D

【详细解答】算法是解决问题的精确的描述,但是并不是所有问题都有算法.

【总结升华】算法一般是机械的,有时需要进行大量的重复计算,只要按部就班去做,总能算出结

果.通常把算法过程称为“数学机械化”,数学机械化的最大优点是它可以借助计算机来完成.实际上处

理任何问题都需要算法,如:中国象棋有中国象棋的棋谱、走法、胜负的评判准则;而国际象棋有国际

象棋的棋谱、走法、胜负的评判准则;再比如申请出国有一系列的先后手续,购买物品也有相关的手续…….

举一反三:

【变式1]我们已学过的算法有求解一元二次方程的求根公式,加减消元法求二元一次方程组的解,二

分法求出函数的零点等,对算法的描述有:①对一类问题都有效;②算法可执行的步骤必须是有限的;

③算法可以一步一步地进行,每一步都有确切的含义;④是一种通法,只要按部就班地做,总能得到结

果.以上算法的描述正确的有().

A.1个B.2个C.3个D.4个

【参考答案】D

【变式2】下列哪个不是算法的特征()

A.抽象性B.精确性C.有穷性D.唯一性

【参考答案】D.

类型二:算法的描述

a.x+b,y=G

例2.写出求解二元一次方程组《'的一个算法.

a2x+b2y=c2

a.x+by=c,①

【详细解答】,1

a2x+Z?3y=c2②

因为是二元一次方程组,所以为、a?不能同时为0.

第一步,假设如片0(若由=0,可将第一个方程与第二个方程互换),

①X,+②,得到[「她[y=,2-丝二

<a\>Iay)4

axx+bxy=G

即方程组化为<

(他一她)》=——出《③

第二步,若a|b2—azbiWO,解③得丁=些二4④

aAb2-a2b]

第三步,将④代入①,整理得%=丝二姐.

6瓦-a2b]

第四步,输出结果x、y.

如果aib2—a2bl=0,从③可以看出,方程组无解或有无穷多组解.

【总结升华】一般化,得到求二元一次方程组[即"+4"’=?(?的高斯消去算法步骤:

a2}x+a22y=b2(2)

第一步:计算D=%]&2-;

叱_—〃2。12

X-

第二步:若。=0,则原方程组无解或有无穷多组解,否则(0x0),D

ba-h,a

y—2fl2l

[D

第三步:输出计算的结果x、y或者无法求解的信息.

举一反三:

x+y+z=12①

【变式1】试描述求解三元一次方程组卜x-3y-z=16

②的算法步骤.

x—y-z--2③

【详细解答】

算法1:第一步,①+③,得x=5.(4)

y+z=7⑤

第二步,将④分别代入①式和②式可得…

3y+z=-1(6)

第三步,⑥一⑤,得丫=-4.⑦

第四步,将⑦代入⑤可得z=ll.

x=5

第五步,得到方程组的解为<y=-4.

z=11

算法2:第一步,①+②,得2x—y=14.④

第二步,②一③,得x—y=9.⑤

第三步,④一⑤,得x=5.⑥

第四步,将⑥代入⑤式,得丫=-4.⑦

第五步,将⑥和⑦代入①式,得z=ll.

x=5

第六步,得到方程组的解为《>=-4.

z=11

【变式2】鸡兔同笼问题:一群小兔一群鸡,两群合到一群里,要数腿48,要数脑袋17,多少小兔

多少鸡?

48—17x2

【详细解答】算术算法:小兔的只数:----------=7;小鸡的只数:17-7=10.

2

应用解二元一次方程组的方法来求解鸡兔同笼问题的步骤.

x+y=17(1)

第一步:设有小鸡x只,小兔y只,则有《'

[2x+4y=48(2)

x+v=17

第二步:将方程组中的第一个方程两边乘一2加到第二个方程中去,得到《■,

(4-2)y=48-17x2

得到y=7;

第三步:将y=7代入(1)得x=10.

类型三:算法的设计

例3,给出求1+2+3+4+5的一个算法.

【详细解答】本题可以按照逐一相加的程序进行,也可以运用公式1+2+3+…+〃=幽土»直接计

2

算,还可以用循环方法求和.

算法1

第一步:计算1+2,得到3;

第二步:将第一步中的运算结果3与3相加,得到6:

第三步:将第二步中的运算结果6与4相加,得到10;

第四步:将第三步中的运算结果10与5相加,得到15.

算法2

第一步:取〃二5;

计算也3

第二步:

2

第三步:输出运算结果.

算法3

第一步:使S=l;

第二步:使i=2;

第三步:使5=5+人

第四步:使i=i+1;

第五步:如果i45,则返回第三步,否则输出S.

【总结升华】①一个问题的算法可能不唯一;

②若将本例改为“给出求1+2+3+…+100的一个算法”,则上述算法2和算法3表达较为方便.

举一反三:

【变式1】写出求1+,+」+…+与的一个算法.

23100

【参考答案】

第一步:使5=1,;

第二步:使i=2;

第三步:使〃=1;

i

第四步:使5=5+〃;

第五步:使,=,+1;

第六步:如果i<100,则返回第三步,否则输出S.

【变式2】求1X3X5X7X9X11的值,写出其算法.

【参考答案】

算法1:

第一步,先求1X3,得到结果3;

第二步,将第一步所得结果3再乘以5,得到结果15;

第三步,再将15乘以7,得到结果105;

第四步,再将105乘以9,得到945;

第五步,再将945乘以11,得到10395,即是最后结果.

算法2:

用P表示被乘数,i表示乘数.

第一步,使P=1;

第二步,使i=3;

第三步,使P=PXi;

第四步,使1=1+2;

第五步,若iWU,则返回到第三步继续执行;否则算法结束.

类型四:顺序结构的应用

例4.设计算法,求两底半径分别为1和4,且高为4的圆台的表面积及体积,并画出程序框图.

【详细解答】先求出斜高,再分别求出两个底面面积和侧面面积,则表面积与体

积可得.

|。=1,,2,4,方=4]

【参考答案】算法如下:

第一步,令12=4,h=4;2

l=^rz-r,y+h

第二步,计算斜高/=J(为一疗+好;

0,SK(小)2,

第三步,令S]=町2,52=711^,§3=4储+弓)/;,

S=Si+Sz+S3

第四步,计算圆台的表面积S=S|+S2+S3,圆台的体积v=:(H+JSQ2+5)入;片}(s,+阿l+S的

第五步,输出S,V./输

该算法的程序框图如图所示.JL

举一反三:画

【变式1】半径为r的圆,面积公式为S="也当『10时,写出计算圆面积的牢

/•tis/

算法,画出程序框图.

【详细解答】算法如下:第一步:输入r=10.

第二步:计算S=Jtr2.

第三步:输出S.

程序框图如图所示.

【总结升华】本题主要考查算法结构中的顺序结构.对套用公式型的问题,关键是明确所给公式中变

量的个数及数值,以及输入、输出部分的设计.

类型五:条件结构的应用

'2x-\(x<0)

例5.已知函数>={/+1(0<x<l),写出求该函数的函数值的算法,并画出程序框图.

x3+2x(x>l)

【详细解答】该函数是分段函数,因此当给出一个自变量x的值时,需先判断x的范围,然后确定利

用哪一段的解析式求函数值.画程序框图时,必须采用条件分支结构,因为函数解析式分了三段,所以

需要两个判断框,即进行两次判断.

算法如下:

第一步,输入X.

第二步,如果XVO,那么使y=2x-l,输出y;否则,执行第三步.

第三步,如果OWx<l,那么使y=x2+l,输出y;否则,执行第四步.

第四步,y=X2+2X

第五步,输出y.

程序框图如下图所示.

【总结升华】凡是必须先根据条件作出判断,然后再决定进行哪一个步骤的问题,在画程序框图时,

必须引入判断框,采用条件结构.而像本题求分段函数的函数值的程序框图的画法,如果是分两段的函数,

只需引入一个判断框;如果是分三段的函数,需引入两个判断框;分四段的函数需引入三个判断框,依

此类推.判断框内的内容是没有固定顺序的.

举一反三:

—1(x>0)

【变式1】已知函数/(幻=<0(x=0),写出求函数/(x)的任一函数值的一个算法并画出程序

1(x<0)

框图.

【详细解答】记y=f(x).

算法:

第一步:输入X.

第二步:如果x>0,那么使y=-1;如果x=0,那么使y=0;如果x<0,那么使y=l.

第三步:输出函数值y.

程序框图如下图所示.

【变式2】设计算法判断一元二次方程以+c=0是否有实数根,并画出相应程序框图.

【详细解答】算法步骤如下:

第一步:输入一元二次方程的系数:a,b,c;

第二步:计算△=〃—4ac的值;

第三步:判断△》()是否成立.若ANO成立,输出“方程有实根”;否则输出“方程无

实根”.结束算法.相应的程序框图如图.

类型六:循环结构的应用

例6.给出20个数,1,3,7,13…,其规律是:第一个数是1,第二个数比第一个数大2,第三个数

比第二个数大4…,依此类推,试设计出求这20个数的和的算法,并画出程序框图.

【详细解答】算法如下:

SI:S=l,i=l;

S2:若i>20?,则执行S5,否则执行S4;

S3:S=S+2i,i=i+l;

S4:返回S3;

S5:输出S;

S6:结束.

程序框图如下图所示:

举一反三:

【变式1】(2016春辽宁锦州期末)用循环语句描述计算1+22+3?+…+/>10。的最小自然数〃的值的

一个算法,画出算法程序框图,并写出相应的程序.

【详细解答】算法如下:

第一步,5=0.

第二步,n=1.

第三步,S=S+〃2.

第四步,如果SW100,使"=〃+1,并返回第三步,否则输出〃一1.

相应的程序框图如图所示:

(W)

相应的程序如下:

5=0

n=1

WHILES<=100

S=5+淤2

n=H+1

WEND

PRINTn-l

END

类型七:三种结构的综合应用

例7.以下是某次考试中某班15名同学的数学成绩:72,91,58,63,84,88,90,55,61,

73,64,77,82,94,60.要求将80分以上的同学的平均分求出来并画出程序框图.

【详细解答】用条件分支结构来判断成绩是否高于80分,用循环结构控制输入的次数,同时引进两个

累加变量,分别计算高于80分的成绩的总和和人数.

程序框图如图所示.

TO

【总结升华】对于此类要求把所给的多个数据逐一检验是否满足条件的问题,可采用条件结构和循

环结构相结合的算法.

举一反三:

,flog-,x,x>2,一

【变式1]已知函数>=a'下

温馨提示

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

评论

0/150

提交评论