当前位置:文档之家› 算法与程序框图 ppt

算法与程序框图 ppt


课本5页 2
练习二:任意给定一个大于1的正整数n, 设计一个算法求出n的所有因数. 算法分析:
第一步:依次以2~(n-1)为除数去除n,判断 余数是否为0,若是,则是n的因数;若不是, 则不是n的因数.
第二步:在n的因数中加入1和n;
第三步:输出n的所有因数.
计算机解决任何问题都要依 赖于算法.只有将解决问题的过程 分解为若干个明确的步骤,即算法, 并用计算机能够接受的“语言” 准确地描述出来,计算机才能够解 决问题.
第三步, 用4除7,得到余数3.因为余数不为0, 所以4不能整除7.
第四步, 用5除7,得到余数2.因为余数不为0, 所以5不能整除7.
第五步, 用6除7,得到余数1.因为余数不为0, 所以6不能整除7.因此,7是质数.
应用举例
例1.(2)设计一个算法判断35是否为质数.
第一步, 用2除35,得到余数1.因为余数不为0, 所以2不能整除35.
m 1.5 1.25 1.375 1.4375 1.40625 1.421875 1.4140625 1.41796875 1.41601563
f(m) 0.25 -0.4375 -0.109375 0.06640625 -0.02246094 0.021728516 -0.00042725 0.010635376 0.00510025
1.1.2 程序框图
从上节课我们知道:算法可以用自然语言 来描述.如例1
例1:任意给定一个大于1的整数n,试设计一个程 序或步骤对n是否为质数做出判定.
算法分析:
第一步:判断n是否等于2. 若n=2,则n是质数;
若n>2,则执行第二步.
第二步:依次检验2~(n-1)这些整数是不是n的 因素,即是不是整除n的数.若有这样的数,则n不是 质数;若没有这样的数,则n是质数.
第二步:判断a+b>c,a+c>b,b+c>a是否同时成立, 若是,则能组成三角形;若否,则组不成三角形.
程序框图: 开始
输入a,b,c
a+b>c,a+c>b,b+c>a是否

同时成立?

存在这样的 三角形
不存在这样的 三角形
结束
课本50页1(1)
0(x 0) y 1(0 x 1)
x(x 1)
为了使算法的程序或步骤表达得更为直观,我 们更经常地用图形方式来表示它.
开始 输入n
i=2
求n除以i的余数r
i的值增加i=1i+仍1用i表示
i≥n或r=0?

r=0?

n不是质数
否 否
n是质数
结束
程序框图又称流程图,是一种用规定的图形、 指向线及文字说明来准确、直观地表示算法的 图形.
通常,程序框图由程序框和流程线组成.
第二步, 用3除35,得到余数2.因为余数不为0, 所以3不能整除35.
第三步, 用4除35,得到余数3.因为余数不为0, 所以4不能整除7.
第四步, 用5除35,得到余数0.因为余数为0, 所以5能整除35.因此,35不是质数.
任意给定一个大于1的整数n,试设计一个程序或步骤
对n是否为质数做出判定.
一个或几个程序框的组合表示算法中的一个步骤;
流程线是方向箭头,按照算法进行的顺序将程序 框连接起来.
基本的程序框和它们各自表示的功能如下:
图形符号
名称 终端框 (起止框) 输入、输 出框 处理框 (执行框)
判断框
流程线
功能 表示一个算法的起始 和结束 表示一个算法输入和 输出的信息
赋值、计算
判断某一条件是否成立,成立 时在出口处标明“是”或 “Y”;不”成立时标明“否”
结束
S=S+i 是
当型循环 结构
说明:
循环结构分为两种------当型和直到型.
直到型循环在执行了一次循环体之后,对 控制循环条件进行判断,当条件不满足时执行 循环体,满足则停止.
(反复执行循环体,直到条件满足)(UNTIL)
当型循环在每次执行循环体前对循环条 件进行判断,当条件满足时执行循环体,不满足 则停止;
第五步,
得到方程组的解得
x
y
23 12
x y 35
(1)
解方程 2x 4y 94 (2)
第一步, (1) 2 (2)得: -2 y 24 (3) 第二步, 解(3)得: y 12
第三步, (1) 4 (2)得: 2x 46 (4)
第四步, 解(4)得: x 23
第五步,
x y 35
(1)
2x 4y 94 (2)
x y 35
(1)
解方程 2x 4y 94 (2)
第一步,由(1)得 x 35 y (3)
第二步, 将(3)代入(2)得
2(35 y) 4y 94 (4)
第三步, 解(4)得 y 12 (5)
第四步, 将(5)代入(3)得 x 23
第一步:判断n是否等于2.若n=2,则n是质数; 若n>2,则执行第二步.
第二步:依次从2~(n-1)检验是不是n的因
数,即整除n的数,若有这样的数,则n不是质 数;若没有这样的数,则n是质数.
•这是判断一个大于1的整数n是否为质数的进行描述.每一步做一件事 情.
得到方程组的解得
x
y
23 12
算法的概念:
广义地说:为了解决某一问题而采取的方 法和步骤,就称之为算法。
在数学中,按照一定规则解决某一类问 题的明确和有限的步骤,称为算法。
现在,算法通常可以编成计算机程序, 让计算机执行并解决问题。这些程序或步
骤必须是明确和有效的,而且能够在有限步之 内完成.
示为
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?
是 输出S
结束
开始
i=1
S=0
i=i+1
i≤100?
否 输出S
输出S 结束
(2)条件结构---在一个算法中,经常会遇到一 些条件的判断,算法的流向根据条件是否成 立有不同的流向.条件结构就是处理这种过 程的结构.
例2:任意给定3个正实数,设计一个算法,判断分 别以这3个数为三边边长的三角形是否存在.画 出这个算法的程序框图.
算法分析:
第一步:输入3个正实数a,b,c;
问题的提出
有一个农夫带一条狼狗、一只羊和 一筐白菜过河。如果没有农夫看管,则 狼狗要吃羊,羊要吃白菜。但是船很小, 只够农夫带一样东西过河。问农夫该如 何解此难题?
方法和过程: 1、带羊到对岸,返回;
2、带菜到对岸,并把羊带回; 3、带狼狗到对岸,返回; 4、带羊到对岸。
[问题1]请你写出解二元一次方程组的详细求解 过程.
解决问题
×
第一步, 令 f (x) x2 2 .给定精确度d.
第二步, 给定区间[a,b],满足f(a) ·f(b)<0.
第三步,
取中间点
m
a
2
b

第四步, 若f(a) ·f(m) < 0,则含零点的区间为
[a,m];否则,含零点的区间为[m, b].
将新得到的含零点的仍然记为[a,b] .
例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步表
第五步, 判断[a,b]的长度是否小于d或者
f(m)是否等于0. 若是,则m是方程的近似
解;否则,返回第三步.
解决问题
当d=0.05时
a 1 1 1.25 1.375 1.375 1.40625 1.40625 1.4140625 1.4140625
b 2 1.5 1.5 1.5 1.4375 1.4375 1.421875 1.421875 1.417969
开始
程序框图
输入x
是 x<0?
否 是
0≤x<1? 否
y=x
y=1
y=0
输出y 结束
作业:
课本P50页A组1(2), (画出程序框图)
(3)循环结构---在一些算法中,也经常会出 现从某处开始,按照一定条件,反复执行某 一步骤的情况,这就是循环结构.
反复执行的步骤称为循环体.
注意:循环结构不能是永无终止的“死循 环”,一定要在某个条件下终止循环,这 就需要条件结构来作出判断,因此,循环 结构中一定包含条件结构.
②算法要“面面俱到”,不能省略任何一个细 小的步骤,只有这样,才能在人设计出算法后, 把具体的执行过程交给计算机完成.
课本5页 1
练习一:任意给定一个正实数,设计一个 算法求以这个数为半径的圆的面积.
算法分析:
第一步:输入任意一个正实数r; 第二步:计算以r为半径的圆的面积S=πr2; 第三步:输出圆的面积.
面积,画出算法的程序框图.
算法分析:
A
第一步:计算p的值.
B
第二步:由海伦-秦九韶公式求出三角形的面积S.
第三步:输出S的值.
相关主题