(共35张PPT)
1.1.2 程序框图
1.程序框图
2.算法的基本逻辑结构
新课导入
判断整数n(n>2)是否为质数的算法
自然语言描述,如下:
第一步:给定大于2的整数n;
第二步,令i=2;
第三步,用i除n,得到余数r;
第四步,判断“r=0”是否成立.若是,则n不是质数,结束算法;否则,将i的值增加1,仍用i表示;
第五步,判断“i>(n-1)”是否成立.若是,则n是质数,结束算法;否则,返回第三步。
图形描述:
开始
输入n
求n除以i的余数r
i的值增加1,仍用i表示
i>n-1或r=0?
r=0?
输出“n不是质数”
输出“n是质数”
结束
否
否
是
是
i=2
新的描述方法—程序框图!
知识要点
程序框图
程序框图又称流程图,是一种用规定的图形、指向线及文字说明来准确、直观地表示算法的图形。
程序框图又称流程图,是一种用规定的图形,指向线及文字说明来准确、直观地表示算法的图形。
程序框 名称 功能
终端框
(起止框) 表示一个算法的起始和结束
输入
输出框 表示算法的输入和输出的信息
处理框
(执行框) 赋值、计算
判断框 判断一个条件是否成立,用“是”、“否”或“Y”、“N”标明
1.程序框图
起止框
输入、输出框
处理框
流程线
设计一个算法,假设存在根,求一元二次方程ax2+bx+c=0(a≠0,b2-4ac>0)的根,画出相应的流程图。
第一步:输入系数a,b,c;
第二步:计算△=b2-4ac;
第三步:运用公式计算x1,x2;
第四步:输出x1,x2。
解析:
2.算法的基本逻辑结构
流程图表示:
输入系数a,b,c
输出x1、x2
结束
计算
计算
开始
按一定顺序处理!
知识要点
算法三种基本逻辑结构
顺序结构、条件结构、循环结构。
顺序结构是最简单的算法结构,语句与语句之间,框与框之间是按从上到下的顺序进行的,它是由若干个依次执行的处理步骤组成的,它是任何一个算法都离不开的一种基本算法结构。
1.顺序结构
A
B
i=2
输入n
顺序结构示意图
解析:
写出下列算法的功能。
右图算法的功能是:
求两数平方和的算术平方根。
开始
输入a,b
d=a2+b2
c=
输出c
结束
条件结构是指在算法中通过对条件的判断,根据条件是否成立而选择不同流向的算法结构。它的一般形式是:
2.条件结构
条件
处理
是
否
条件
处理1
处理2
是
否
条件结构示意图
设计一个算法,求一元二次方程ax2+bx+c=0
(a≠0,b2-4ac>0)的根,画出相应的流程图。
第一步:输入系数a,b,c;
第二步:计算△=b2-4ac;
第三步:判断△是否小于0;若小于0,则无解;
若大于等于0,则转下步;
第四步:运用公式计算x1,x2;
第五步:输出x1,x2。
输出x1, x2
结束
开始
△<0?
输入系数a,b,c
否
是
输出无实数解
计算
需要重复执行同一操作的结构称为循环结构。即从某处开始,按照一定条件反复执行某一处理步骤。反复执行的处理步骤称为循环体。
3.循环结构
While语句
当型结构
是
d=d+1
d=10
否
until语句
直到型结构
是
d=d+1
d=10
否
设计一个算法:
1+2+3+…+100的程序框图。
结束
i = i + 1
Sum=Sum + i
i<=100?
输出Sum
否
是
i=1,Sum=0
开始
循环结构就可以解决!
课堂小结
1程序框图
程序框图又称流程图,是一种用规定的图形、指向线及文字说明来准确、直观地表示算法的图形。
2算法的三种基本逻辑结构
顺序结构、条件结构、循环结构。
3三种基本结构示意图
A
B
条件
处理1
处理2
是
否
是
继续循环
条件
否
顺序结构
条件结构
循环结构
高考链接
1(2019辽宁卷理)某店一个月的收入和支出总共记录了 N个数据a1,a2,……an,其中收入记为正数,支出记为负数。该店用下边的程序框图计算月总收入S和月净盈利V,那么在图中空白的判断框和处理框中,应分别填入下列四个选项中的( )
A. A>0,V=S-T B. A<0,V=S-T
B. A>0, V=S+T D. A<0, V=S+T
C
解析:
月总收入为S,因此A>0时归入S,判断框内填A>0支出T为负数,因此月盈利V=S+T。
2(2019天津卷)阅读上(右)图的程序框图,则输出的S=( )
A. 26 B. 35
C. 40 D. 57
C
当i=1时,T=2,S=2;当i=2时,T=5,S=7;当i=3时,T=8,S=15;当i=4时,T=11,S=26;当i=5时,T=14,S=40;当i=6时,T=17,S=57,故选择C。
解析:
随堂练习
1. 画出求21+22+23+…2100的值的程序框图。
解:
算法步骤:
第一步:给定计数变量i=1,累加变量p=0。
第二步:p=p+ 2i 。
第三步:判断i>=100,成立则进行第四步,否则i=i+1,返回第二步。
第四步:输出结果p。
程序框图,如下:
结束
i=i+1
p=p+2i
i>=100?
输出p
否
是
i=1,p=0
开始
循环结构!
2. 假设超市购物标价不超过100元时按九折付款,如标价超过100元,则超过部分按七折收费.写出超市收费的算法,并画出流程图。
解:设所购物品标价为x元,超市收费为y元.则
收费时应先判断标价是否大于100,其算法如下:
S1 输入标价x;
S2 如果x≤100,那么y=0.9x;
否则y=0.9×100+0.7×(x-100);
S3 输出标价x和收费y。
y
算法步骤:
第一步:给定一个实数 x;
第二步:判断“x≤100”是否成立。如果成立,
则y=0.9x;否则,y=0.9×100+0.7× (x-100);
第三步:输出x , y。
流程图:
开始
结束
输入
x
输出xy
x
≤100
Y
N
y
y
0.9
x
0.9×100+0.7×(-100 )
x
开始
输入r
r<0
r = -r
r = r
结束
输出r值
是
否
程序框图,如下:
2.算法步骤:
第一步:给定一个大于 的数m和一个小于它的数n。
第二步:令i=(m+n)/2。
第三步:判断i< 是否成立。成立,m=i,返回第二步;否则,n=i,返回第二步。
第四步:判断“i= ”是否成立。若成立,得到i的值;否则,返回第二步。
开始
输入m、n
i=(m+n)/2
i=
i<
i=m
i=n
输出i
结束
是
是
否
否
程序框图,如下: