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