9512.net
甜梦文库
当前位置:首页 >> 数学 >>

11算法与程序框图 (1)



1.1.1 算法的概念
学习目标:

通过分析具体问题过程与步骤,体会算法 的思想,了解算法的含义,能用自然语言描述解 决具体问题的算法.
学习重点(难点): 通过实例体会算法思想,初步理解算法的 含义.

[问题1]请你写出解二元一次方程组的详细求解 过程. ? x ? 2 y ? ?1 ①

? ?2 x ? y ? 1



第一步:②-①×2得: 5y=3 ③ 3 第二步: 解③得: y ? 5 1 3 第三步: 将 y ? 代入①,解得 x ? . 5 5
? a1 x ? b1 y ? c1 对于一般的二元一次方程组 ?a x ? b y ? c ? 2 2 2 其中 a1b2 ? a2b1 ? 0 也可以按照上述步骤求解.

这些步骤就构成了解二元一次方程组的 算法,我们可以根据这一算法编制计算机程序, 让计算机来解二元一次方程组.

算法的概念与特征
算法(algorithm)这个词出现于12世纪, 指的是用阿拉伯数字进行算术运算的过程. 在数学上,现代意义上的“算法”通常是指可 以用计算机来解决的某一类问题的程序或步 骤,这些程序或步骤必须是明确和有效的,而 且能够在有限步之内完成.

说明:
(1)事实上算法并没有精确化的定义. (2)算法虽然没有一个明确的定义,但其特点 是鲜明的,不仅要注意算法的程序性、有限 性、构造性、精确性的特点,还应该充分 理解算法问题的指向性,即算法往往指向 解决某一类问题,泛泛地谈算法是没有意 义的。

算法学的发展
? 随着科学技术的日新月异,算法学也得到了前所未有的 发展,现在已经发展到了各个领域.有遗传算法,排序算法,加 密算法,蚁群算法等,与生物学,计算机科学等有着很广泛的 联系,尤其是在现在的航空航天中,更是有着更广泛的应用. 很多复杂的运算都是借助计算机和算法来完成的,在高 端科学技术中有着很重要的地位.

? 科学家王小云主导破解两大 密码算法获百万大奖
? 杨振宁教授为获得“求是杰出科学家奖”的山东大学 特聘教授王小云颁发了获奖证书和奖金100万元人民币, 表彰其密码学领域的杰出成就。

?

例1:任意给定一个大于1的整数n,试设计一个程 序或步骤对n是否为质数做出判定. 分析:请回顾这个问题的解题过程.

算法分析:
第一步:判断n是否等于2. 若n=2,则n是质数; 若n>2,则执行第二步. 第二步:依次检验2~(n-1)这些整数是不是n的 因素,即是不是整除n的数.若有这样的数,则n不是 质数;若没有这样的数,则n是质数. 说明:用语言描述一个算法,最便捷的方式就是按 解决问题的步骤进行描述.每一步做一件事情.

例2:用二分法设计一个求方程x2-2=0的近似根 的算法. 设所求近似根与精确解的差的绝对 算法分析: 值不超过ε=0.005. 第一步:令f(x)=x2-2. 因为f(1)<0,f(2)>0, 所以设a=1,b=2.
a?b , 第二步:令 m ? 2

判断f(m)是否为0. 若是,则m

为所求; 若否,则继续判断f(a) (m)大于0还是小于0. 第三步:若f(a) (m)>0,则令a=m;否则,令b=m. 第四步:判断|a-b|<ε是否成立?若是,则a或b为满 足条件的近似根;若否,则返回第二步.

点评: (1)上述算法也是求 2 的近似值的算法. (2)与一般的解决问题的过程比较,算法有以下 特征: ①设计一个具体问题的算法时,与过去熟悉地 解数学题的过程有直接的联系,但这个过程必 须被分解成若干个明确的步骤,而且这些步骤 必须是有效的.

②算法要“面面俱到”,不能省略任何一个细 小的步骤,只有这样,才能在人设计出算法后, 把具体的执行过程交给计算机完成.

计算机解决任何问题都要依 赖于算法.只有将解决问题的过程 分解为若干个明确的步骤,即算法, 并用计算机能够接受的“语言” 准确地描述出来,计算机才能够解 决问题.

练习一:任意给定一个正实数,设计一个 算法求以这个数为半径的圆的面积. 算法分析: 第一步:输入任意一个正实数r; 第二步:计算以r为半径的圆的面积S=πr2; 第三步:输出圆的面积.

练习二:任意给定一个大于1的正整数n, 设计一个算法求出n的所有因数.
算法分析: 第一步:依次从2~(n-1)为除数去除n,判断 余数是否为0,若是,则是n的因数;若不是, 则不是n的因数. 第二步:在n的因数中加入1和n; 第三步:输出n的所有因数.

练习三:为了加强居民的节水意识,某市制订了 以下生活用水收费标准:每户每月用水未超过 7m3时,每立方米收费1.0元,并加收0.2元的城 市污水处理费;超过7m3的部分,每立方米收费 1.5元,并加收0.4元的城市污水处理费,请你写 出某户居民每月应交纳的水费y(元)与用水量 x(m3)之间的函数关系,然后设计一个求该函 数值的算法.
解:y与x之间的函数关系为: (当0≤x≤7时) ?1.2 x,

y?? ?1.9 x ? 4.9 (当x>7时)

解:y与x之间的函数关系为: (当0≤x≤7时) ?1.2 x,

y?? ?1.9 x ? 4.9 (当x>7时)

求该函数值的算法分析: 第一步:输入每月用水量x;

第二步:判断x是否不超过7.若是,则y=1.2x; 若否,则y=1.9x-4.9.
第三步:输出应交纳的水费y.

作业:
课本P6页T2

(只需用自然语言写出算法步骤)

1.1.2

程序框图

学习目标:(1)在具体问题的解决过程中,掌握基本 的程序框图的画法,理解程序框图的三种基本逻辑 结构---顺序结构、条件结构、循环结构。 (2)通过模仿、操作、探索,经历通过设计程序框 图表达解决问题的算法的过程。 学习重点:通过模仿、操作、探索,经历通过设计 程序框图表达求解问题的过程,在具体问题解决 过程中,理解程序框图的三种基本逻辑结构. 学习难点:用程序框图清晰表达含有循环结构的算法.

从上节课我们知道:算法可以用自然语言 来描述.如例1 例1:任意给定一个大于1的整数n,试设计一个程 序或步骤对n是否为质数做出判定.

算法分析:
第一步:判断n是否等于2. 若n=2,则n是质数;
若n>2,则执行第二步. 第二步:依次检验2~(n-1)这些整数是不是n的 因素,即是不是整除n的数.若有这样的数,则n不是 质数;若没有这样的数,则n是质数. 为了使算法的程序或步骤表达得更为直观,我 们更经常地用图形方式来表示它.

开始 一般用i=i+1 表示. 输入n i=2

设n是一个大 于2的整数.

求n除以i的余数r
说明:i表示从2~(n-1) 1仍用i表示 i=i+1 的所有正整数,用以 i的值增加 判断例1步骤2是否终 否 i≥n或r=0? 止,i是一个计数变量, 是 有了这个变量,算法 否 r=0? 才能依次执行.逐步 是 考察从2~(n-1)的所 n是质数 n不是质数 有正整数中是否有n 的因数存在. 结束

思考?通过上述算法的两种不同表达方式的比 较,你觉得用程序框图来表达算法有哪些特点?
用程序框图表示的算法更加简练,直观,流向清楚. 程序框图又称流程图,是一种用规定的图形、 指向线及文字说明来准确、直观地表示算法的 图形. 通常,程序框图由程序框和流程线组成. 一个或几个程序框的组合表示算法中的一个步骤; 流程线是方向箭头,按照算法进行的顺序将程序 框连接起来.

基本的程序框和它们各自表示的功能如下:
图形符号 名称 功能

终端框 (起止框) 输入、输 出框 处理框 (执行框) 判断框 流程线 连接点

表示一个算法的起始 和结束 表示一个算法输入和 输出的信息 赋值、计算

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

连接程序框

连接程序框图的两部分

开始 输入n i=2

用程序框图来表示算法,有 三种不同的基本逻辑结构: 顺序结构

求n除以i的余数r i=i+1
i≥n或r=0?
是 否 否

循环结构

r=0?


条件结构
n是质数

n不是质数
结束

程序框图的三种基本的逻辑结构

顺序结构

条件结构
循环结构

(1)顺序结构-----是由若干个依次执行的处理 步骤组成的.这是任何一个算法都离不开的 基本结构.
例1:已知一个三角形的三边边长分别为2,3,4, 利用海伦-秦九韶公式设计一个算法,求出它的 面积,画出算法的程序框图. 算法分析: 第一步:计算p的值. 第二步:由海伦-秦九韶公式求出三角形的面积S. 第三步:输出S的值.

(1)顺序结构-----是由若干个依次执行的处理 步骤组成的.这是任何一个算法都离不开的 基本结构.
例1:已知一个三角形的三边边长分别为2,3,4, 利用海伦-秦九韶公式设计一个算法,求出它的 面积,画出算法的程序框图. 算法分析: 第一步:计算p的值. 第二步:由海伦-秦九韶公式求出三角形的面积S. 第三步:输出S的值.

程序框图:

开始

2?3? 4 p? 2

S?

p( p ? 2)( p ? 3)( p ? 4)
输出S 结束

画出:已知三角形的三 边长a,b,c,求它的面积 的程序框图.

开始
输入a,b,c

a?b?c p? 2

S?

p( p ? a)( p ? b)( p ? c)
输出S 结束
返回

已知三角形三边长分别为a,b,c,则三角 形的面积为

S?

p( p ? a)( p ? b)( p ? c)

a?b?c 其中 p ? 2

这个公式被称为海伦—秦九韶公式.

返回

(2)条件结构---在一个算法中,经常会遇到一 些条件的判断,算法的流向根据条件是否成 立有不同的流向.条件结构就是处理这种过 程的结构.
例2:任意给定3个正实数,设计一个算法,判断分 别以这3个数为三边边长的三角形是否存在.画 出这个算法的程序框图. 算法分析: 第一步:输入3个正实数a,b,c;
第二步:判断a+b>c,a+c>b,b+c>a是否同时成立, 若是,则能组成三角形;若否,则组不成三角形.

程序框图:

开始 输入a,b,c

a+b>c,a+c>b,b+c>a是否 同时成立? 是 存在这样的 三角形 结束



不存在这样的 三角形

例3:为了加强居民的节水意识,某市制订了以 下生活用水收费标准:每户每月用水未超过 7m3时,每立方米收费1.0元,并加收0.2元的城 市污水处理费;超过7m3的部分,每立方米收费 1.5元,并加收0.4元的城市污水处理费,请你写 出某户居民每月应交纳的水费y(元)与用水量 x(m3)之间的函数关系,然后设计一个求该函 数值的算法,并画出程序框图.
解:y与x之间的函数关系为: (当0≤x≤7时) ?1.2 x,

y?? ?1.9 x ? 4.9 (当x>7时)

解:y与x之间的函数关系为:
(当0≤x≤7时) ?1.2 x, y?? ?1.9 x ? 4.9 (当x>7时)

程序框图
开始

输入x
0<x≤7?

算法分析:
第一步:输入每月用水量 x; 第二步:判断x是否不超 过7.若是,则y=1.2x;若 否,则y=1.9x-4.9. 第三步:输出应交纳的水 费y.



是 y=1.2x

y=1.9x-4.9

输出y 结束

例4.画程序框图, 对于输入的x值, 输出相应的y值.

开始
输入x
x<0? 否 0≤x<1? 否 是

程序框图


?0( x ? 0) ? y ? ?1(0 ? x ? 1) ? x( x ? 1) ?

y=x

y=1

y=0

输出y

结束

例5.设计一个求任意数的绝对值的算法,并画出 程序框图. 程序框图: ? x(当x ? 0时) 开始 | x |? ? ?? x(当x<0时) 算法分析: 第一步:输入数x; 第二步:判断x≥0是否 成立?若是,则|x|=x; 若否,则|x|=-x.
输入x
x≥0? 是 输出x 否

输出-x

结束

返回

作业:
课本P20页练习,
P21页A组T1; (画出程序框图)

(3)循环结构---在一些算法中,也经常会出 现从某处开始,按照一定条件,反复执行某 一步骤的情况,这就是循环结构.
反复执行的步骤称为循环体. 注意:循环结构不能是永无终止的“死循 环”,一定要在某个条件下终止循环,这 就需要条件结构来作出判断,因此,循环 结构中一定包含条件结构.

例3:设计一个计算1+2+3+……+100的值的算 法,并画出程序框图. 算法分析: 各步骤有共同的结构: 第1步:0+1=1; 第(i-1)步的结果+i=第i步的结果 第2步:1+2=3;
第3步:3+3=6; 第4步:6+4=10 ………… 为了方便有效地表示上述过程,我 们引进一个累加变量S来表示每 一步的计算结果,从而把第i步表 示为 S=S+i

S的初始值为0,i依次取1,2,…,100, 第100步:4950+100=5050.由于i同时记录了循环的次数,所 以i称为计数变量.

程序框图:

开始

开始

i=1 S=0 S=S+i
i=i+1 直到 型循 环结 构 否
i>100?

i=1 S=0 i=i+1
S=S+i
i≤100?



是 输出S
结束

否 输出S
结束

当型循环 结构

说明:(1)一般地,循环结构中都有一个计数变量 和累加变量.计数变量用于记录循环次数,同时它 的取值还用于判断循环是否终止,累加变量用于 输出结果.累加变量和计数变量一般是同步执行 的,累加一次,记数一次. (2)循环结构分为两种------当型和直到型. 当型循环在每次执行循环体前对循环条 件进行判断,当条件满足时执行循环体,不满足 则停止;(当条件满足时反复执行循环体) 直到型循环在执行了一次循环体之后,对 控制循环条件进行判断,当条件不满足时执行 循环体,满足则停止.(反复执行循环体,直到条件 满足)

程序框图:

开始

开始

i=1 S=0 S=S+i
i=i+1 直到 型循 环结 构 否
i>100?

i=1 S=0 i=i+1
S=S+i
i≤100?



是 输出S
结束

否 输出S
结束

当型循环 结构

开始 输入n i=2

用程序框图来表示算法,有 三种不同的基本逻辑结构: 顺序结构

求n除以i的余数r i=i+1
i≥n或r=0?
是 否 否

循环结构 直到型循 环结构

r=0?


条件结构
n是质数

n不是质数
结束

探究:画出用二分法求方程x2-2=0的近似根(精确 度为0.005)的程序框图.

算法分析:
第一步:令f(x)=x2-2. 因为f(1)<0,f(2)>0, 所以设a=1,b=2.
a?b , 第二步:令 m ? 2

判断f(m)是否为0. 若是,则m

为所求; 若否,则继续判断f(a) (m)大于0还是小于0. 第三步:若f(a) (m)>0,则令a=m;否则,令b=m. 第四步:判断|a-b|<ε是否成立?若是,则a或b为满 足条件的近似根;若否,则返回第二步.

开始 f(x)=x2-2
输入误差ε 和初值a,b

程序框图

1
|a-b|<ε?

2 3


a?b m? 2


输出a和b

f(m)=0?

是 否 b=m 2 3
输出m

结束


f(a) f(m)>0?

是 a=m 1

开始 f(x)=x2-2
输入误差ε 和初值a,b

程序框图

a?b m? 2

f(a) f(m)>0?

否 b=m

是 a=m
|a-b|<ε或f(m)=0?




输出m
结束

课堂小结
? 本节主要讲述了程序框图的基本知识:包括常用的图形符 号、算法的基本逻辑结构. ? 算法的基本逻辑结构有三种,即顺序结构、条件结构和循 环结构. 其中顺序结构是最简单的结构,也是最基本的结构, 循环结构必然包含条件结构,所以这三种基本逻辑结构是 相互支撑的,它们共同构成了算法的基本结构,无论怎样 复杂的逻辑结构,都可以通过这三种结构来表达

作业:
课本P12页A组T2; P40页A组T4.

习题练习

1.(P12页A组T3)

程序框图:
开始 输入x
x>3? 否

?5(当1 ? x ? 3时) y?? ?1.2 x ? 1.4(当x ? 3时)

是 y=1.2x+1.4

y=5

输入y

结束

2.(P40页A组T3)

程序框图:
开始 输入t
0<t≤3? 是

?0.3(当0<t ? 3时) y?? ?0.1t (当t ? 3时)

否 y=0.1t

y=0.3

输入y

结束

3.(P40页A组T1(1)

开始
输入x
x<0? 否 0≤x<1? 否 是

程序框图


?0( x ? 0) ? y ? ?1(0 ? x ? 1) ? x( x ? 1) ?

y=x

y=1

y=0

输出y

结束

4.(P40页A组T1(2)

开始
输入x
x<0? 否 x=0? 否 是

程序框图


?( x ? 2) ( x ? 0) ? y ? ?4( x ? 0) ?( x ? 2)2 ( x ? 0) ?
2

y=(x-2)2

y=4

y=(x+2)2

输出y

结束

5.P12页A 组T2.

开始

开始

i=1 S=0 S=S+i2
i=i+1

i=1 S=0 i=i+1
S=S+i2
i≤100?

直到 型循 环结 构





i>100?

是 输出S
结束

否 输出S
结束

当型循环 结构

6.P40页A 组T4.

开始

开始

输入n
i=1 S=0
1 S=S+ i

输入n i=1 S=0

i=i+1
1 S=S+ i

i=i+1 直到 型循 环结 构 否
i>n?

i≤n?



是 输出S
结束

否 输出S
结束

当型循环 结构

7(P12BT1).某高中男子体育小组的50m跑成绩(单位:s) 为: 6.4, 6.5, 7.0, 6.8, 7.1, 7.3, 6.9, 7.4, 7.5. 设计一个算法,从这些成绩中搜出小于6.8s的成绩.

算法分析:
第一步:把计数变量n的初值设为1.

第二步:输入一个成绩r,判断r与6.8的大小.若 r≥6.8,则执行下一步;若r<6.8,则输出r,并执行下 一步.
第三步:使计数变量n的值增加1. 第四步:判断计数变量n与成绩个数9的大小;若 n≤9,则返回第二步;若n>9,则结束.

程序框图

开始

n=1 输入r
r≥6.8?

否 输出r

是 n=n+1 否 直到型循 环结构
n>9?

是 结束

8(P12BT2)设计一个求解二元一次方程组

其中

? a1 x ? b1 y ? c1 ① ? ? a2 x ? b2 y ? c2 ② a1b2 ? a2b1 ? 0 的算法,并画出程序框图.

a2 第一步:判断a1是否等于0. 如果a1≠0, 令u=- , a1 由②+①×u,得 (b2+b1u)y=c2+c1u; ③ c1 如果a1=0, 计算y= , 执行第三步. b1 c2 ? c1u , 输出y. 第二步:解③,得 y= b2 ? b1u c2 ? b2 y , 输出x. 第三步:将y值代入②,得 x= a2

算法分析:

程序框图

开始

输入a1,b1,c1,a2,b2,c2 a1≠0? 是


u=-a2/a1 b=b2+b1u c=c2+c1u
y=c/b

y=c1/b1
输出x,y 结束

x=(c2-b2y)/a2

9(P41页B组T3)设计一个算法,判断一个正的n(n>2) 位数是不是回文数,用自然语言描述算法步骤. 算法步骤:
第一步:输入一个正整数x和它的位数.

第二步:判断n是不是偶数,如果是偶数,令 m=n/2;如果是奇数,令m=(n-1)/2. 第三步:当i从1取到m值时,依次判断x的第i 位与第(n+1-i)位上的数字是不是相等,如果 都相等,则x是回文数;否则,x不是回文数.

程序框图

开始

输入正整数x和它的位数n
n是偶数?





m=n/2

m=(n-1)/2

第i位与第(n+1-i)(i=1,2,…,m)位上的数字相等?



是 x是回文数

x不是回文数

结束

回文数是指从左到右读与从 右到左读都是一样的正整数,如 121,676,94249,234432等。

返回



更多相关文章:
【师说】2015高考数学(理)一轮复习课后练习:11.1 算法与程序框图]
【师说】2015高考数学(理)一轮复习课后练习:11.1 算法与程序框图]_高中教育_教育专区。【师说】2015高考数学(理)一轮复习课后练习:11.1 算法与程序框图]....
2015届高三一轮复习教学案11.1算法与程序框图
十一单元 算法与复数 学案 11.1 算法与程序框图学习目标: 1.了解算法的含义与思想,理解程序框图的三种基本逻辑结构,并能正确进行流程分析; 2.理解几种基本算法...
11-1算法与框图
11-1 算法与框图 基础巩固强化 1.(文)(2011· 北京西城区高三一模)阅读如图的程序框图,如果输 1 1 出的函数值在区间[4,2]内,则输入的实数 x 的取值范围...
11.1 算法与框图
11.1 算法与框图_数学_高中教育_教育专区。第1讲 算法与框图 1.读下面程序框图,其输出结果为( ) A.1 B.3 C.4 D.6 【答案】 C 【解析】 按顺序阅读...
2014高考数学总复习(人教新课标理科)课时作业84 第11章 算法框图及推理与证明1 Word版含解析]
2014高考数学总复习(人教新课标理科)课时作业84 第11算法框图及推理与证明1 Word版含解析]课时作业(八十四) 1.(2012· 福建文)阅读如图所示的程序框图,运行...
历年高考专题汇编:11算法与框图
历年高考专题汇编:算法与框图 1.阅读右图所示的程序框图,运行相应的程序,输出的.... 试卷第 4 页,总 6 页 11.下图是一个算法流程图,则输出的 k 的值是 ...
【高考总复习必备】2013年高考数学闯关密练特训11-1算法与框图新人教A版(含解析)
11-1 算法与框图闯关密练特训 1 1.(文)(2011·北京西城区高三一模)阅读如图的程序框图,如果输出的函数值在区间[ , 4 1 ]内,则输入的实数 x 的取值范围...
1.1.2 程序框图与算法的基本逻辑结构试题及答案
答案:10 10.画出计算函数 y=|x-1|的函数值的程序框图(x 由键盘输 入). 11.设计算法,求表达式 12+22+32+?+102 的值,画出 程序框图. 12.有十件...
第十一章逻辑代数初步、十二章算法与程序框图复习卷
十一章逻辑代数初步、十二章算法与程序框图复习卷_中职中专_职业教育_教育专区。第十一章【知识点】 第一节 二进制及其转换 1、数位: 2、基数: 3、位权数:...
1.1.3算法的三种基本逻辑结构和框图表示(练习题)
1.1.3算法的三种基本逻辑结构和框图表示(练习题)_理化生_高中教育_教育专区。...答案:i≥11 13.如图程序框图的运算结果为___. 解析:∵a 的初值为 5,每循环...
更多相关标签:
1.1算法与程序框图    算法与程序框图    算法与程序框图ppt    算法与程序框图教案    秦九韶算法程序框图    算法与程序框图课件    算法程序框图    算法与程序框图高考题    

All rights reserved Powered by 甜梦文库 9512.net

copyright ©right 2010-2021。
甜梦文库内容来自网络,如有侵犯请联系客服。zhit325@126.com|网站地图