程序框图与算法的基本逻辑结构_第1页
程序框图与算法的基本逻辑结构_第2页
程序框图与算法的基本逻辑结构_第3页
程序框图与算法的基本逻辑结构_第4页
程序框图与算法的基本逻辑结构_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

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

文档简介

1.1.2程序框图与算法的基本逻辑结构

教学分析

用自然语言表示的算法步躲有明确的顺序性,但是对于在一定条件下才会被

执行的步骤,以及在一定条件下会被重复执行的步骤,自然语言的表示就显得困

难,而且不直观、不准确.因此,本节有必要探究使算法表达得更加直观、准确

的方法.程序框图用图形的方式表达算法,使算法的结构更清楚、步骤更直观也

更精确.为了更好地学好程序框图,我们需要掌握程序框的功能和作用,需要熟

练掌握三种基本逻辑结构.

条件结构

导入新课

思路1(情境导入)

我们以前听过这样一个故事,野兽与鸟发生了一场战争,蝙蝠来了,野兽们

喊道:你有牙齿是我们一伙的,鸟们喊道:你有翅膀是我们一伙的,蝙蝠一时没

了主意.过了一会儿蝙蝠有了一个好办法,如果野兽赢了,就加入野兽这一伙,

否则加入另一伙,事实上蝙蝠用了分类讨论思想,在算法和程序框图中也经常用

到这一思想方法,今天我们开始学习新的逻辑结陶——条件结构.

思路2(直接导入)

前面我们学习了顺序结构,顺序结构像是一条没有分支的河流,奔流到海不

复回,事实上多数河流是有分支的,今天我们开始学习有分支的逻辑结构一条

件结构.

推进新课

新知探究

提出问题

(1)举例说明什么是分类讨论思想?

(2)什么是条件结构?

(3)试用程序框图表示条件结构.

(4)指出条件结阂的两种形式的区别.

讨论结果:

(1)例如解不等式ax>8(a/)),不等式两边需要同除a,需要明确知道a的符号,

但条件没有给出,因此需要进行分类讨论,这就是分类讨论思想.

(2)在一个算法中,经常会遇到一些条件的判断,算法的流程根据条件是

否成立rr不同的流向.条件结构就是处理这种过程的结构.

(3)用程序框图表示条件结构如下.

条件结构:先根据条件作出判断,再决定执行哪一种操作的结构就称为条件

结构(或分支结构),如图1所示.执行过程如下:条件成立,则执行A框;不成

立,则执行B框.

图1图2

注:无论条件是否成立,只能执行A、B之一,不可能两个框都执行.A、

B两个框中,可以有一个是空的,即不执行任何操作,如图2.

(4)一种是在两个“分支”中均包含算法的步骤,符合条件就执行“步骤A”,

否则执行“步骤B”;另一种是在一个“分支”中均包含算法的步骤A,而在另一个

“分支”上不包含算法的任何步骤,符合条件就执行“步骤A”,否则执行这个条件

结构后的步骤.

应用示例

例1任意给定3个正实数,设计一个算法,判断以这3个正实数为三边边

长的三角形是否存在,并画出这个算法的程序框图.

例2设计一个求解一元二次方程ax2+bx+c=0的算法,并画出程序框图表

示.

例3设计算法判断一元二次方程ax2+bx+c=0是否有实数根,并画出相应

的程序框图.

例4(1)设计算法,求ax+b=O的解,并画出流程图.

解:对于方程ax+b=O来讲,应该分情况讨论方程的解.

我们要对■一次项系数a和常数项b的取值情况进行分类,分类如下:

(1)当时0时,方程有唯一的实数解是-2;

a

(2)当a=0,b=0时,全体实数都是方程的解;

(3)当a=0,b#0时,方程无解.

联想数学中的分类讨论的处理方式,可得如下算法步骤:

第一步,判断存0是否成立.若成立,输出结果“解为一2”.

a

第二步,判断a=0,b=()是否同时成立.若成立,输出结果“解集为R”.

第三步,判断a=0,b#)是否同时成立.若成立,输出结果“方程无解”,结束

算法.

程序框图如下:

开始

/输入ab/

逊>----------/输出“评为一夕

点,砂输出“解集为R'/

㈣,吵输出“方程无解•/

[结束)

点评:这是条件结构叠加问题,条件结构叠加,程序执行时需依次对“条件

1”“条件2”“条件3”……都进行判断,只有遇到能满足的条件才执行该条件对应

的操作.

知能训练

设计算法,找出输入的三个不相等实数a、b、c中的最大值,并画出流

程图.

解:算法步骤:

第一步,输入a,b,c的值.

第二步,判断a>b是否成立,若成立,则执行第三步;否则执行第四步.

第三步,判断a>c是否成立,若成立,则输出a,并结束;否则输出c,并

结束

第四步,判断b>c是否成立,若成立,则输出b,并结束;否则输出c,并

结束.

程序框图如下:

点评:条件结构嵌套与条件结构叠加的区别:

(1)条件结构叠加,程序执行时需依次对“条件条件2”“条件3”……都

进行判断,只有遇到能满足的条件才执行该条件对应的操作.

(2)条件结构的嵌套中,“条件2”是“条件1”的一个分支,"条件3”是"条件

2”的一个分支……依此类推,这些条件中很多在算法执行过程中根据所处的分支

位置不同可能不被执行.

(3)条件结构嵌套所涉及的“条件2”“条件3”……是在前面的所有条件依次

一个一个的满足“分支条件成立,,的情况下才能执行的此操作,是多个条件同时成

立的叠加和复合.

课堂小结

(1)理解两种条件结构的特点和区别.

(2)能用学过的两种条件结构解决常见的算法问题.

循环结构

导入新课

思路1(情境导入)

我们都想生活在一个优美的环境中,希望看到的是碧水蓝天,大家知道

工厂的污水是怎样处理的吗?污水进入处理装置后进行第一次处理,如果达不到

排放标准,则需要再进入处理装置进行处理,直到达到排放标准.污水处理装置

是一个循环系统,对于处理需要反复操作的事情有很大的优势.我们数学中有很

多问题需要反复操作,今天我们学习能够反复操作的逻辑结构一循环结构.

思路2(直接导入)

前面我们学习了顺序结构,顺序结构像一条没有分支的河流,奔流到海

不复回;上一节我们学习了条件结构,条件结构像有分支的河流最后归入大海;

事实上很多水系是循环往复的,今天我们开始学习循环往复的逻辑结构——循环

结构.

推进新课

新知探究

提出问题

(1)请大家举出•些常见的需要反复计算的例子.

(2)什么是循环结构、循环体?

(3)试用程序框图表示循环结构.

(4)指出两种循环结构的相同点和不同点.

讨论结果:

(1)例如用二分法求方程的近似解、数列求和等.

(2)在一些算法中,经常会出现从某处开始,按照一定的条件反复执行某

些步骤的情况,这就是循环结构.反莫执行的步躲称为循环体.

(3)在一些算法中要求重复执行同一操作的结构称为循环结构.即从算法某

处开始,按照一定条件重复执行某一处理的过程.重复执行的处理步骤称为循环

体.

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

1°当型循环结构,如图(1)所示,它的功能是当给定的条件P成立时,执

行A框,A框执行完毕后,返回来再判断条件P是否成立,如果仍然成立,返

回来再执行A框,如此反复执行A框,直到某一次返回来判断条件P不成立时

为止,此时不再执行A框,离开循环结构.继续执行下面的框图.

2°直到型循环结陶,如图(2)所示,它的功能是先执行重复执行的A框,

然后判断给定的条件P是否成立,如果P仍然不成立,则返回来继续执行A框,

再判断条件P是否成立.继续重复操作,直到某一次给定的判断条件P时成立为

止,此时不再返回来执行A框,离开循环结构.继续执行下面的框图.

见不意图:

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

(4)两种循环结构的不同点:直到型循环结构是程序先进入循环体,然后对

条件进行判断,如果条件不满足,就继续执行循环体,直到条件满足时终止循环.

当型循环结构是在每次执行循环体前,先对条件进行判断,当条件满足时,

执行循环体,否则终止循环.

两种循环结构的相同点:两种小同形式的循环结构可以看出,循环结构中一

定包含条件结构,用于确定何时终止执行循环体.

应用示例

例1设计一个计算1+2+……+100的值的算法,并画出程序框图.

'点评:这是一个典型的用循环结构解决求和的问题,有典型的代表意义,

可把它作为一个范例,仔细体会三种逻辑结构在程序框图中的作用,学会画程序

框图.

变式训练

1,设计框图实现1+3+5+7+...+131的算法.

2,已知有一列数号?…,号’设计框图实现求该列数前20项的和.

3,设计一个算法,求1+2+4+…+249的值,并画出程序框图.

例2某厂2005年的年生产总值为200万元,技术革新后预计以后每年的

年生产总值都比上一年增长5%,设计一个程序框图,输出预计年生产总值超过

3()()万元的最早年份.

分析:由于“第二步”是重复操作的步骤,所以木例可以用循环结构来实现.我们

按照“确定循环体”“初始化变量”“设定循环控制条件''的顺序来构造循环结构.

例2高中某班一共有40名学生,设计算法流程图,统计班级数学成绩良

好(分数>80)和优秀(分数>90)的人数.

分析:用循环结构实现40个成绩的输入,每循环一次就输入一个成绩s,

然后对s的值进行判断.设两个计数器m,n,如果s>90,则m=m+l,如果80Vss90,

则n=n+l.设计数器i,用来控制40个成绩的输入,注意循环条件的确定.

解:程序框图如下图:

点评:(1)如果算法问题里涉及的运算进行了许多次重复的操作,且先后参

与运算的数之间有相同的规律,就可引入变量循环参与运算(我们称之为循环变

量),应用于循环结构.在循环结构中,要注意根据条件设计合理的计数变量、累

加和累乘变量及其个数等,特别要求条件的表述要恰当、精确.

(2)累加变量的初始值一般取0,而累乘变量的初始值一般取1.

课堂小结

(1)熟练掌握两种循环结构的特点及功能.

(2)能用两种循环结构画出求和等实际问题的程序框图,进一步理解学习

算法的意义.

程序框图的画法

导入新课

思路1(情境导入)

一条河流有时像顺序结构,奔流到海不复回;有时像条件结构分分合合

向前进;有时像循环垢构,虽有反复但最后流入大海.一个程序框图就像一条河

流包含三种逻辑结构,今天我们系统学习程序框图的画法.

瑞面我们学习了顺序结构、条件结构、循环结构,今天我们系统学习程

序框图的画法.

推进新课

新知探究

提出问题

(1)请大家回忆顺井结构,并用程序框图表示.

(2)请大家回忆条件结构,并用程序框图表示.

(3)请大家回忆循环结构,并用程序框图表示.

(4)总结画程序框图的基本步骤.

讨论结果:

(1)顺序结构是由若干个依次执行的步骤组成的,这是任何一个算法都离不开

的基本结构.框图略.

(2)在一个算法中,经常会遇到一些条件的判断,算法的流程根据条件是否

成立有不同的流向.条件结构就是处理这种过程的结构.框图略.

(3)在一些算法中要求重复执行同一操作的结构称为循环结构.即从算法某处

开始,按照一定条件重复执行某一处理过程.重复执行的处理步骤称为循环体.

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

(4)从前面的学习可以看出,设计一个算法的程序框图通常要经过以下步骤:

第一步,用自然语言表达算法步骤.

第二步,确定每一个算法步骤所包含的逻辑结构,并用相应的程序框表

示,得到该步骤的程序框图.

第三步,将所有步骤的程序框图用流程线连接起来,并加上终端框,得

到表示整个算法的程序框图.

应用示例

例1结合前面学过的算法步骤,利用三种基本逻辑结构画出程序框图,表

示用“二分法”求方程X2-2=O(X>0)的近似解的算法.

点评:在用自然语言表述一个算法后,可以回出程序框图,用顺序结构、条

件结构和循环结构来表示这个算法,这样表示的算法清楚、简练,便于阅读和交

流.

例2相传古代的印度国王要奖赏国际象棋的发明者,问他需要什么.发明者

说:陛下,在国际象棋的第一个格子里面放1粒麦子,在第二个格子里面放2

粒麦子,第三个格子放4粒麦子,以后每个格子中的麦粒数都是它前一个格子中

麦粒数的二倍,依此类推(国际象棋棋盘共有64个格子),请将这些麦子赏给我,

我将感激不尽.国王想这还不容易,就让人扛了一袋小麦,但不到一会儿就没了,

最后一算结果,全印度一年生产的粮食也不够.国王很奇怪,小

温馨提示

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

评论

0/150

提交评论