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

Post on 02-Jan-2016

94 Views

Category:

Documents

8 Downloads

Preview:

Click to see full reader

DESCRIPTION

§1.1.2 程序框图与算法的基本逻辑结构. 主讲教师 六安市新安中学 - 陈艳阳. 课前复习. 课前复习. 算法. 课前复习. 算法. 课前复习. 算法. 知识探究(一):算法的程序框图. 知识探究(一):算法的程序框图. 知识探究(一):算法的程序框图. 知识探究(一):算法的程序框图. 知识探究(一):算法的程序框图. 知识探究(一):算法的程序框图. 知识探究(一):算法的程序框图. 2. 我们将上述算法如下表示:. 2. 我们将上述算法如下表示:. 2. 我们将上述算法如下表示:. 2. 我们将上述算法如下表示:. - PowerPoint PPT Presentation

TRANSCRIPT

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

③高中新课程数学必修

第一章 算法初步

主讲教师 六安市新安中学 - 陈艳阳

课前复习

课前复习算法

课前复习算法

在数学中,按照一定规则解决某一类问题的明确和有限的步骤称为算法.

课前复习算法

在数学中,按照一定规则解决某一类问题的明确和有限的步骤称为算法.

我们可以用自然语言表述一个算法,但往往过程复杂,缺乏简洁性,因此,我们有必要探究使算法表达得更加直观、准确的方法,可以通过程序框图来实现.

知识探究(一):算法的程序框图

知识探究(一):算法的程序框图1:复习“判断整数n(n>2)是否为质数”的算法。

知识探究(一):算法的程序框图1:复习“判断整数n(n>2)是否为质数”的算法。第一步,给定一个大于2的整数n;

知识探究(一):算法的程序框图1:复习“判断整数n(n>2)是否为质数”的算法。第一步,给定一个大于2的整数n;第二步,令i=2;

知识探究(一):算法的程序框图1:复习“判断整数n(n>2)是否为质数”的算法。第一步,给定一个大于2的整数n;第二步,令i=2;第三步,用i除n,得到余数r;

知识探究(一):算法的程序框图1:复习“判断整数n(n>2)是否为质数”的算法。第一步,给定一个大于2的整数n;第二步,令i=2;第三步,用i除n,得到余数r;第四步,判断“r=0”是否成立.若是,则n不是

质数,结束算法;否则,将i的值增加1,仍用i表示;

知识探究(一):算法的程序框图1:复习“判断整数n(n>2)是否为质数”的算法。第一步,给定一个大于2的整数n;第二步,令i=2;第三步,用i除n,得到余数r;第四步,判断“r=0”是否成立.若是,则n不是

质数,结束算法;否则,将i的值增加1,仍用i表示;

第五步,判断“i>(n-1)”是否成立,若是,则n

是质数,结束算法;否则,返回第三步.

2. 我们将上述算法如下表示:

2. 我们将上述算法如下表示:开始开始

2. 我们将上述算法如下表示:开始开始

输入n输入n输入n

2. 我们将上述算法如下表示:开始开始

输入n输入n输入n

i=2i=2i=2

2. 我们将上述算法如下表示:开始开始

输入n输入n输入n

i=2i=2i=2

求n除以i的余数求n除以i的余数求n除以i的余数

2. 我们将上述算法如下表示:开始开始

输入n输入n输入n

i=2i=2i=2

求n除以i的余数求n除以i的余数求n除以i的余数

i的值增加1,仍用i表示i的值增加1,仍用i表示i的值增加1,仍用i表示

2. 我们将上述算法如下表示:开始开始

输入n输入n输入n

i=2i=2i=2

求n除以i的余数求n除以i的余数求n除以i的余数

i的值增加1,仍用i表示i的值增加1,仍用i表示i的值增加1,仍用i表示

i>n-1或r=0?i>n-1或r=0?i>n-1或r=0?

2. 我们将上述算法如下表示:

开始开始

输入n输入n输入n

i=2i=2i=2

求n除以i的余数求n除以i的余数求n除以i的余数

i的值增加1,仍用i表示i的值增加1,仍用i表示i的值增加1,仍用i表示

i>n-1或r=0?i>n-1或r=0?i>n-1或r=0?

r=0?r=0?

2. 我们将上述算法如下表示:

开始开始

输入n输入n输入n

i=2i=2i=2

求n除以i的余数求n除以i的余数求n除以i的余数

i的值增加1,仍用i表示i的值增加1,仍用i表示i的值增加1,仍用i表示

i>n-1或r=0?i>n-1或r=0?i>n-1或r=0?

r=0?r=0?

输出“n不是质数”输出“n不是质数”

2. 我们将上述算法如下表示:

开始开始

输入n输入n输入n

i=2i=2i=2

求n除以i的余数求n除以i的余数求n除以i的余数

i的值增加1,仍用i表示i的值增加1,仍用i表示i的值增加1,仍用i表示

i>n-1或r=0?i>n-1或r=0?i>n-1或r=0?

r=0?r=0?

输出“n不是质数”输出“n不是质数”

结束结束结束

2. 我们将上述算法如下表示:

开始开始

输入n输入n输入n

i=2i=2i=2

求n除以i的余数求n除以i的余数求n除以i的余数

i的值增加1,仍用i表示i的值增加1,仍用i表示i的值增加1,仍用i表示

i>n-1或r=0?i>n-1或r=0?i>n-1或r=0?

r=0?r=0?

输出“n不是质数”输出“n不是质数”

否否

结束结束结束

2. 我们将上述算法如下表示:

开始开始

输入n输入n输入n

i=2i=2i=2

求n除以i的余数求n除以i的余数求n除以i的余数

i的值增加1,仍用i表示i的值增加1,仍用i表示i的值增加1,仍用i表示

i>n-1或r=0?i>n-1或r=0?i>n-1或r=0?

r=0?r=0?

输出“n不是质数”输出“n不是质数”

否否

结束结束结束

2. 我们将上述算法如下表示:

开始开始

输入n输入n输入n

i=2i=2i=2

求n除以i的余数求n除以i的余数求n除以i的余数

i的值增加1,仍用i表示i的值增加1,仍用i表示i的值增加1,仍用i表示

i>n-1或r=0?i>n-1或r=0?i>n-1或r=0?

r=0?r=0?

输出“n不是质数”输出“n不是质数”

否否

输出“n是质数”输出“n是质数”

结束结束结束

2. 我们将上述算法如下表示:

开始开始

输入n输入n输入n

i=2i=2i=2

求n除以i的余数求n除以i的余数求n除以i的余数

i的值增加1,仍用i表示i的值增加1,仍用i表示i的值增加1,仍用i表示

i>n-1或r=0?i>n-1或r=0?i>n-1或r=0?

r=0?r=0?

输出“n不是质数”输出“n不是质数”

否否

输出“n是质数”输出“n是质数”

结束结束结束

图形符号 名 称 功 能

终端框(起止框)

输入、输出框

处理框(执行框)

判断框

流程线

表示一个算法的起始和结束

表示一个算法输入和输出的信息

赋值、计算

判断某一条件是否成立,成立时在出口处标明“是”或“Y”;不成立时标明“否”或“N”

连接程序框,表示算法步骤的执行顺序

图形符号 名 称 功 能图形符号 名 称 功 能

终端框(起止框)

输入、输出框

处理框(执行框)

判断框

流程线

表示一个算法的起始和结束

表示一个算法输入和输出的信息

赋值、计算

判断某一条件是否成立,成立时在出口处标明“是”或“Y”;不成立时标明“否”或“N”

连接程序框,表示算法步骤的执行顺序

算法的基本逻辑结构:开始

r=0?

输出“n不是质数”

求n除以i的余数

i=2

输入n

i的值增加1,仍用i表示

i>n-1或r=0?

结束

输出“n是质数”

顺序结构

循环结构

条件结构

开始

r=0?

输出“n不是质数”

求n除以i的余数

i=2

输入n

i的值增加1,仍用i表示

i>n-1或r=0?

结束

输出“n是质数”

开始开始

r=0?r=0?

输出“n不是质数”输出“n不是质数”

求n除以i的余数求n除以i的余数求n除以i的余数

i=2i=2i=2

输入n输入n输入n

i的值增加1,仍用i表示i的值增加1,仍用i表示i的值增加1,仍用i表示

i>n-1或r=0?i>n-1或r=0?i>n-1或r=0?

是是

是是

结束结束结束

否否

否否

输出“n是质数”输出“n是质数”

顺序结构

循环结构

条件结构

知识探究(二):算法的顺序结构

知识探究(二):算法的顺序结构1: 任何一个算法各步骤之间都有明确的顺序性,在算法的程序框图中,由若干个依次执行的步骤组成的逻辑结构,称为顺序结构,用程序框图可以表示为:

步骤n

步骤n+1

步骤n

步骤n+1

( )( )( )S p p a p b p c= - - -

例1若一个三角形的三条边长分别为a,b,c,令p=(a+b+c)/2,则三角形的面积

试用这个公式设计一个计算三角形面积的算法步骤.

( )( )( )S p p a p b p c

例1若一个三角形的三条边长分别为a,b,c,令p=(a+b+c)/2,则三角形的面积

试用这个公式设计一个计算三角形面积的算法步骤.

( )( )( )S p p a p b p c

( )( )( )S p p a p b p c= - - -

第一步,输入三角形三条边的边长 a, b, c.

例1若一个三角形的三条边长分别为a,b,c,令p=(a+b+c)/2,则三角形的面积

试用这个公式设计一个计算三角形面积的算法步骤.

( )( )( )S p p a p b p c

例1若一个三角形的三条边长分别为a,b,c,令p=(a+b+c)/2,则三角形的面积

试用这个公式设计一个计算三角形面积的算法步骤.

( )( )( )S p p a p b p c

( )( )( )S p p a p b p c= - - -

第一步,输入三角形三条边的边长 a, b, c.

第二步,计算 . 2

a b cp

+ +=

例1若一个三角形的三条边长分别为a,b,c,令p=(a+b+c)/2,则三角形的面积

试用这个公式设计一个计算三角形面积的算法步骤.

( )( )( )S p p a p b p c

例1若一个三角形的三条边长分别为a,b,c,令p=(a+b+c)/2,则三角形的面积

试用这个公式设计一个计算三角形面积的算法步骤.

( )( )( )S p p a p b p c

( )( )( )S p p a p b p c= - - -

第一步,输入三角形三条边的边长 a, b, c.

第二步,计算 . 2

a b cp

+ +=

第三步,计算 .( )( )( )S p p a p b p c= - - -

例1若一个三角形的三条边长分别为a,b,c,令p=(a+b+c)/2,则三角形的面积

试用这个公式设计一个计算三角形面积的算法步骤.

( )( )( )S p p a p b p c

例1若一个三角形的三条边长分别为a,b,c,令p=(a+b+c)/2,则三角形的面积

试用这个公式设计一个计算三角形面积的算法步骤.

( )( )( )S p p a p b p c

( )( )( )S p p a p b p c= - - -

第一步,输入三角形三条边的边长 a, b, c.

第二步,计算 . 2

a b cp

+ +=

第三步,计算 .( )( )( )S p p a p b p c= - - -

第四步,输出 S.

例1若一个三角形的三条边长分别为a,b,c,令p=(a+b+c)/2,则三角形的面积

试用这个公式设计一个计算三角形面积的算法步骤.

( )( )( )S p p a p b p c

例1若一个三角形的三条边长分别为a,b,c,令p=(a+b+c)/2,则三角形的面积

试用这个公式设计一个计算三角形面积的算法步骤.

( )( )( )S p p a p b p c

3. 将上述算法的用程序框图表示

3. 将上述算法的用程序框图表示开始开始

3. 将上述算法的用程序框图表示开始开始

输入a,b,c输入a,b,c

3. 将上述算法的用程序框图表示

2a b c

p+ +

=

开始开始

输入a,b,c输入a,b,c

3. 将上述算法的用程序框图表示

2a b c

p+ +

=

( )( )( )S p p a p b p c= - - -

开始开始

输入a,b,c输入a,b,c

3. 将上述算法的用程序框图表示

2a b c

p+ +

=

( )( )( )S p p a p b p c= - - -

开始开始

输入a,b,c输入a,b,c

输出S输出S

3. 将上述算法的用程序框图表示

2a b c

p+ +

=

( )( )( )S p p a p b p c= - - -

结束结束

开始开始

输入a,b,c输入a,b,c

输出S输出S

4.练习:已知下图是“求一个正奇数的平方加5的值”的程序框图,若输出的数是30,求输入的数n的值. 开始

结束

输入正整数n

输出y

y=x2+5

x=2n-1

开始

结束

输入正整数n

输出y

y=x2+5

x=2n-1

知识探究(三):算法的条件结构

知识探究(三):算法的条件结构

1.在某些问题的算法中,有些步骤只有在一定条件下才会被执行,算法的流程因条件是否成立而变化.在算法的程序框图中,由若干个在一定条件下才会被执行的步骤组成的逻辑结构,称为条件结构,用程序框图可以表示为下面两种形式:

满足条件?

步骤A 步骤B

否满足条件?

步骤A

否满足条件?

步骤A 步骤B

否满足条件?

步骤A 步骤B

否满足条件?

步骤A

否满足条件?

步骤A

2.例2: 判断“以任意给定的3个正实数为三条边边长的三角形是否存在”的算法步骤如何设计?

2.例2: 判断“以任意给定的3个正实数为三条边边长的三角形是否存在”的算法步骤如何设计?

第一步,输入三个正实数a,b,c.

2.例2: 判断“以任意给定的3个正实数为三条边边长的三角形是否存在”的算法步骤如何设计?

第二步,判断a+b>c,b+c>a,c+a>b是否同时成立. 若是,则存在这样的三角形;否则,不存在这样的三角形.

第一步,输入三个正实数a,b,c.

3 .请画出这个算法的程序框图。

2.例2: 判断“以任意给定的3个正实数为三条边边长的三角形是否存在”的算法步骤如何设计?

第二步,判断a+b>c,b+c>a,c+a>b是否同时成立. 若是,则存在这样的三角形;否则,不存在这样的三角形.

第一步,输入三个正实数a,b,c.

开始开始

开始开始

输入a,b,c输入a,b,c

开始开始

输入a,b,c输入a,b,c

a+b>c,b+c>a,c+a>b是否同时成立?

a+b>c,b+c>a,c+a>b是否同时成立?

开始开始

输入a,b,c输入a,b,c

a+b>c,b+c>a,c+a>b是否同时成立?

a+b>c,b+c>a,c+a>b是否同时成立?

存在这样的三角形

存在这样的三角形

开始开始

输入a,b,c输入a,b,c

a+b>c,b+c>a,c+a>b是否同时成立?

a+b>c,b+c>a,c+a>b是否同时成立?

存在这样的三角形

存在这样的三角形

结束结束

开始开始

输入a,b,c输入a,b,c

a+b>c,b+c>a,c+a>b是否同时成立?

a+b>c,b+c>a,c+a>b是否同时成立?

存在这样的三角形

存在这样的三角形

结束结束

不存在这样的三角形

不存在这样的三角形

开始开始

输入a,b,c输入a,b,c

a+b>c,b+c>a,c+a>b是否同时成立?

a+b>c,b+c>a,c+a>b是否同时成立?

存在这样的三角形

存在这样的三角形

结束结束

不存在这样的三角形

不存在这样的三角形

3. 练习题( 0)

( 0)

x xy

x x

画出求函数 的函数值的程序框图.

理论迁移

理论迁移例3设计一个求解一元二次方程ax2+bx+c=0的算法,并画出程序框图表示.

理论迁移

算法分析:

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

理论迁移

算法分析:第一步,输入三个系数 a, b, c.

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

理论迁移

算法分析:第一步,输入三个系数 a, b, c.

第二步,计算△ =b2 - 4ac.

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

理论迁移

算法分析:第一步,输入三个系数 a, b, c.

第二步,计算△ =b2 - 4ac.

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

第三步,判断△ ≥ 0是否成立.若是,则计算

否则,输出“方程没有实数根”,结束算法.

,2 2b

p qa a

第三步,判断△ ≥ 0是否成立.若是,则计算

否则,输出“方程没有实数根”,结束算法.

,2 2b

p qa a

理论迁移

算法分析:第一步,输入三个系数 a, b, c.

第二步,计算△ =b2 - 4ac.

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

第三步,判断△ ≥ 0是否成立.若是,则计算

否则,输出“方程没有实数根”,结束算法.

,2 2b

p qa a

第三步,判断△ ≥ 0是否成立.若是,则计算

否则,输出“方程没有实数根”,结束算法.

,2 2b

p qa a

第四步,判断△ =0是否成立.若是,则输出x1=x2=p,否则,计算x1=p+q,x2=p-q,并输出x1、x2.

程序框图:

程序框图:

开始

程序框图:

开始

输入a,b,c输入a,b,c

程序框图:

开始

输入a,b,c输入a,b,c

△ = b2-4ac△ = b2-4ac

程序框图:

开始

输入a,b,c输入a,b,c

△ = b2-4ac△ = b2-4ac

△≥ 0?△≥ 0?

程序框图:

开始

输入a,b,c输入a,b,c

△ = b2-4ac△ = b2-4ac

△≥ 0?△≥ 0?是

2b

pa

2b

pa

程序框图:

开始

输入a,b,c输入a,b,c

△ = b2-4ac△ = b2-4ac

△≥ 0?△≥ 0?是

2b

pa

2b

pa

2q

a

2

qa

程序框图:

开始

输入a,b,c输入a,b,c

△ = b2-4ac△ = b2-4ac

△≥ 0?△≥ 0?是

2b

pa

2b

pa

2q

a

2

qa

△ =0?△ =0?△ =0?

程序框图:

开始

输入a,b,c输入a,b,c

△ = b2-4ac△ = b2-4ac

△≥ 0?△≥ 0?是

2b

pa

2b

pa

2q

a

2

qa

△ =0?△ =0?△ =0?否x1=p+q否x1=p+q

程序框图:

开始

输入a,b,c输入a,b,c

△ = b2-4ac△ = b2-4ac

△≥ 0?△≥ 0?是

2b

pa

2b

pa

2q

a

2

qa

△ =0?△ =0?△ =0?否x1=p+q否x1=p+q

x2=p-qx2=p-q

程序框图:

开始

输入a,b,c输入a,b,c

△ = b2-4ac△ = b2-4ac

△≥ 0?△≥ 0?是

2b

pa

2b

pa

2q

a

2

qa

△ =0?△ =0?△ =0?否x1=p+q否x1=p+q

x2=p-qx2=p-q

输出x1,x2输出x1,x2

程序框图:

开始

输入a,b,c输入a,b,c

△ = b2-4ac△ = b2-4ac

△≥ 0?△≥ 0?是

2b

pa

2b

pa

2q

a

2

qa

△ =0?△ =0?△ =0?否x1=p+q否x1=p+q

x2=p-qx2=p-q

输出x1,x2输出x1,x2

结束结束

程序框图:

开始

输入a,b,c输入a,b,c

△ = b2-4ac△ = b2-4ac

△≥ 0?△≥ 0?是

2b

pa

2b

pa

2q

a

2

qa

△ =0?△ =0?△ =0?否x1=p+q否x1=p+q

x2=p-qx2=p-q

输出x1,x2输出x1,x2输出x1=x2=p输出x1=x2=p

结束结束

程序框图:

开始

输入a,b,c输入a,b,c

△ = b2-4ac△ = b2-4ac

△≥ 0?△≥ 0?是

2b

pa

2b

pa

2q

a

2

qa

△ =0?△ =0?△ =0?否x1=p+q否x1=p+q

x2=p-qx2=p-q

输出x1,x2输出x1,x2输出x1=x2=p输出x1=x2=p

输出“方程没有实数根”

输出“方程没有实数根”

结束结束

练习题

0 ( 0)

1 (0 1)

( 1)

x

y x

x x

画出求函数 的函数值的程序框图.

知识探究(四):算法的循环结构

知识探究(四):算法的循环结构

思考1:在算法的程序框图中,由按照一定的条件反复执行的某些步骤组成的逻辑结构,称为循环结构,反复执行的步骤称为循环体,那么循环结构中一定包含条件结构吗?

思考2:某些循环结构用程序框图可以表示为:

循环体

满足条件?

循环体

满足条件?

思考2:某些循环结构用程序框图可以表示为:

循环体

满足条件?

循环体

满足条件?

这种循环结构称为直到型循环结构,你能指出直到型循环结构的特征吗?

思考2:某些循环结构用程序框图可以表示为:

循环体

满足条件?

循环体

满足条件?

这种循环结构称为直到型循环结构,你能指出直到型循环结构的特征吗?

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

思考3:还有一些循环结构用程序框图可以表示为:

循环体

满足条件?是

循环体

满足条件?是

思考3:还有一些循环结构用程序框图可以表示为:

循环体

满足条件?是

循环体

满足条件?是

这种循环结构称为当型循环结构,你能指出当型循环结构的特征吗?

思考3:还有一些循环结构用程序框图可以表示为:

循环体

满足条件?是

循环体

满足条件?是

在每次执行循环体前,对条件进行判断,如果条件满足,就执行循环体,否则终止循环.

这种循环结构称为当型循环结构,你能指出当型循环结构的特征吗?

第1步,0+1=1.第2步,1+2=3.第3步,3+3=6.第4步,6+4=10.

……第100步,4950+100=5050.

思考4:计算1+2+3+…+100的值可按如下过程进行:

第1步,0+1=1.第2步,1+2=3.第3步,3+3=6.第4步,6+4=10.

……第100步,4950+100=5050.

思考4:计算1+2+3+…+100的值可按如下过程进行:

我们用一个累加变量S表示每一步的计算结果,即把S+i的结果仍记为S,从而把第i步表示为S=S+i,其中S的初始值为0,i依次取1,2,…,100,通过重复操作,上述问题的算法如何设计?

第一步,令 i=1 , S=0.

第一步,令 i=1 , S=0.

第二步,计算 S+i ,仍用 S 表示 .

第一步,令 i=1 , S=0.

第二步,计算 S+i ,仍用 S 表示 .

第三步,计算 i+1 ,仍用 i 表示 .

第一步,令 i=1 , S=0.

第二步,计算 S+i ,仍用 S 表示 .

第三步,计算 i+1 ,仍用 i 表示 .

第四步,判断i>100是否成立.若是,则输出S,结束算法;否则,返回第二步.

思考5:用直到型循环结构,上述算法的程序框图如何表示?

思考5:用直到型循环结构,上述算法的程序框图如何表示? 开始

思考5:用直到型循环结构,上述算法的程序框图如何表示? 开始

i=1

思考5:用直到型循环结构,上述算法的程序框图如何表示? 开始

i=1

S=0

思考5:用直到型循环结构,上述算法的程序框图如何表示? 开始

i=1

S=0

S=S+i

思考5:用直到型循环结构,上述算法的程序框图如何表示? 开始

i=1

S=0

i=i+1

S=S+i

思考5:用直到型循环结构,上述算法的程序框图如何表示? 开始

i=1

i>100 ?

S=0

i=i+1

S=S+i

思考5:用直到型循环结构,上述算法的程序框图如何表示? 开始

i=1

i>100 ?是

输出 S

S=0

i=i+1

S=S+i

思考5:用直到型循环结构,上述算法的程序框图如何表示? 开始

i=1

i>100 ?是

输出 S

结束

S=0

i=i+1

S=S+i

思考5:用直到型循环结构,上述算法的程序框图如何表示? 开始

i=1

i>100 ?是

输出 S

结束

S=0

i=i+1

S=S+i

思考6:用当型循环结构,上述算法的程序框图如何表示?

开始

思考6:用当型循环结构,上述算法的程序框图如何表示?

开始

i=1

思考6:用当型循环结构,上述算法的程序框图如何表示?

开始

i=1

S=0

思考6:用当型循环结构,上述算法的程序框图如何表示?

开始

i=1

S=0

i≤100 ?

思考6:用当型循环结构,上述算法的程序框图如何表示?

开始

i=1

输出 S

S=0

i≤100 ?

思考6:用当型循环结构,上述算法的程序框图如何表示?

开始

i=1

结束

输出 S

S=0

i≤100 ?

思考6:用当型循环结构,上述算法的程序框图如何表示?

开始

i=1

结束

输出 S

S=0

S=S+i

i≤100 ?

思考6:用当型循环结构,上述算法的程序框图如何表示?

开始

i=1

结束

输出 S

S=0

S=S+i

i≤100 ?

i=i+1

思考6:用当型循环结构,上述算法的程序框图如何表示?

例4:某工厂2005年的年生产总值为200万元,技术革新后预计以后每年的年生产总值都比上一年增长5%. 设计一个程序框图,输出预计年生产总值超过300万元的最早年份.

算法分析:

例4:某工厂2005年的年生产总值为200万元,技术革新后预计以后每年的年生产总值都比上一年增长5%. 设计一个程序框图,输出预计年生产总值超过300万元的最早年份.

第一步, 输入 2005 年的年生产总值 .

算法分析:

例4:某工厂2005年的年生产总值为200万元,技术革新后预计以后每年的年生产总值都比上一年增长5%. 设计一个程序框图,输出预计年生产总值超过300万元的最早年份.

第一步, 输入 2005 年的年生产总值 .

第二步,计算下一年的年生产总值 .

算法分析:

例4:某工厂2005年的年生产总值为200万元,技术革新后预计以后每年的年生产总值都比上一年增长5%. 设计一个程序框图,输出预计年生产总值超过300万元的最早年份.

第一步, 输入 2005 年的年生产总值 .

第二步,计算下一年的年生产总值 .

算法分析:

例4:某工厂2005年的年生产总值为200万元,技术革新后预计以后每年的年生产总值都比上一年增长5%. 设计一个程序框图,输出预计年生产总值超过300万元的最早年份.

第三步,判断所得的结果是否大于300. 若是,则输出该年的年份;否则,返回第二步.

循环结构:

循环结构:

(1)循环体:设a为某年的年生产总值,t为年生产总值的年增长量,n为年份,则t=0.05a,a=a+t,n=n+1.

( 2 )初始值: n=2005 , a=200.

循环结构:

(1)循环体:设a为某年的年生产总值,t为年生产总值的年增长量,n为年份,则t=0.05a,a=a+t,n=n+1.

( 3 )控制条件:当“ a>300” 时终止循环 .

( 2 )初始值: n=2005 , a=200.

循环结构:

(1)循环体:设a为某年的年生产总值,t为年生产总值的年增长量,n为年份,则t=0.05a,a=a+t,n=n+1.

程序框图:

开始

程序框图:

开始

n=2005程序框图:

开始

n=2005

a=200

程序框图:

开始

n=2005

a=200

t=0.05a

程序框图:

开始

n=2005

a=200

t=0.05a

a=a+t

程序框图:

开始

n=2005

a=200

t=0.05a

a=a+t

n=n+1

程序框图:

开始

n=2005

a=200

t=0.05a

a=a+t

n=n+1

a>300 ?

程序框图:

开始

n=2005

a=200

t=0.05a

a=a+t

n=n+1

a>300 ?

输 出n

程序框图:

开始

n=2005

a=200

t=0.05a

a=a+t

n=n+1

a>300 ?

结束

输 出n

程序框图:

开始

n=2005

a=200

t=0.05a

a=a+t

n=n+1

a>300 ?

结束

输 出n

程序框图:

顺序结构的程序框图的基本特征:

小 结

顺序结构的程序框图的基本特征:

小 结

(1)必须有两个起止框,穿插输入、输出框和处理框,没有判断框.

顺序结构的程序框图的基本特征:

小 结

( 2 )各程序框从上到下用流程线依次连接 .

(1)必须有两个起止框,穿插输入、输出框和处理框,没有判断框.

条件结构的程序框图的基本特征:

小 结

条件结构的程序框图的基本特征:

小 结

(1)程序框图中必须有两个起止框,穿插输入、输出框和处理框,一定有判断框.

( 2 )条件结构的程序框图各有两种形式 .

条件结构的程序框图的基本特征:

小 结

(1)程序框图中必须有两个起止框,穿插输入、输出框和处理框,一定有判断框.

循环结构的程序框图的基本特征:

小 结

循环结构的程序框图的基本特征:

小 结

(1)循环结构中包含条件结构,条件结构中不含循环结构.

( 2 )循环结构的程序框图各有两种形式 .

循环结构的程序框图的基本特征:

小 结

(1)循环结构中包含条件结构,条件结构中不含循环结构.

作业 : 习案

top related