1.1算法与程序框图(3)(教学设计)
(2012-12-11 20:58:02)
标签:
教育 |
分类: 数学教学设计 |
1.1算法与程序框图(3)(教学设计)
1.1.2程序框图与算法的基本逻辑结构(条件、循环结构、框图画法)
教学目标:
1、知识与技能
(1)会用通用的图形符号表示算法,掌握算法的条件与循环的逻辑结构;
(2)掌握画程序框图的基本规则,能正确画出程序框图.
2、过程与方法
(1)通过模仿、操作、探索,经历通过设计程序框图表达解决问题的过程;
(2)学会灵活、正确地画程序框图.
3、情感与价值观
了解随着计算机的广泛应用,算法在科学技术、社会发展中发挥的作用越来越大.
教学重点、难点:
重点:程序框图的三种基本逻辑结构.
难点:综合运用所学知识正确地画出程序框图.
教学设想:
(一)复习提问、导入课题
1.用程序框、流程线及文字说明来表示算法的图形称为程序框图,它使算法步骤显得直观、清晰、简明.
2. 程序框图的基本符号
图形符号 |
名 |
功 |
终端框 |
输入、输出框 |
(执行框) |
判断框 |
流程线 |
表示一个算法的起始和结束 |
表示一个算法输入和输出的信息 |
赋值、计算 |
判断某一条件是否成立,成立时在出口处标明“是”或“Y”;不成立时标明“否”或“N” |
连接程序框 |
3.顺序结构是任何一个算法都离不开的基本逻辑结构.
在一些算法中,有些步骤只有在一定条件下才会被执行,有些步骤在一定条件下会被重复执行,这需要我们对算法的逻辑结构作进一步探究.
(二)讲授概念、学习新知
在一个算法中,经常会遇到一些条件的判断,有些步骤只有在一定条件下才会被执行,算法的流程因条件是否成立有不同的流向.
1.在算法的程序框图中,由若干个在一定条件下才会被执行的步骤组成的逻辑结构,称为条件结构,用程序框图可以表示为下面两种形式:
满足条件? |
步骤A |
步骤B |
是 |
否 |
|
满足条件? |
步骤A |
是 |
否 |
思考:你如何理解这两种程序框图的共性和个性?
例1(课本P10例4):判断以任意给定的3个正实数为三条边边长的三角形是否存在,设计一个算法,并画出这个算法的程序框图.
算法:
第一步,输入三个正实数a,b,c.
第二步,判断a+b>c,b+c>a,c+a>b是否同时成立.若是,则存在这样的三角形;否则,不存在这样的三角形.
程序框图:
开始 |
输入a,b,c |
a+b>c,b+c>a,c+a>b是否同时成立? |
是 |
存在这样的三角形 |
结束 |
否 |
不存在这样的三角形 |
例2(课本P11例5) 设计一个求解一元二次方程ax2+bx+c=0的算法,并画出程序框图表示.
算法:
第一步,输入三个系数a,b,c.
第二步,计算△=b2 -4ac.
第三步,判断△≥0是否成立.若是,则计算
第四步,判断△=0是否成立.若是,则输出 x1=x2=p,否则,计算x1=p+q,x2=p-q,并输出x1,x2.
程序框图:
输出x1=x2=p |
输入a,b,c |
△= b2-4ac |
△≥0? |
否 |
x1=p+q |
输出x1,x2 |
结束 |
否 |
x2=p-q |
是 |
输出“方程没有实数根” |
是 |
△=0? |
开始 |
2.在一些算法中,经常会出现从某处开始,按照一定的条件反复执行的某些步骤组成的逻辑结构,称为循环结构,反复执行的步骤称为循环体.
①某些循环结构用程序框图可以表示为:
循环体 |
满足条件? |
是 |
否 |
在执行了一次循环体后,对条件进行判断,如果条件不满足,就继续执行循环体,直到条件满足时终止循环.
这种循环结构称为直到型循环结构,你能指出直到型循环结构的特征吗?
②还有一些循环结构用程序框图可以表示为:
循环体 |
满足条件? |
是 |
否 |
在每次执行循环体前,对条件进行判断,如果条件满足,就执行循环体,否则终止循环.
这种循环结构称为当型循环结构,你能指出当型循环结构的特征吗?
总结:循环结构中一定包含条件结构,用于确定何时终止执行循环体.
例3(课本P13例6):设计一个计算1+2+3+…+100的值的算法,并画出程序框图.
算法:
第1步,0+1=1.
第2步,1+2=3.
第3步,3+3=6.
第4步,6+4=10.
第100步,4950+100=5050.
显然,这个过程包含重复操作的步骤,可以用循环结构表示.分析上述计算过程,可以发现每一步都可以表示为第(i﹣1)步的结果+i=第i步的结果.
我们用一个累加变量S表示每一步的计算结果,即把S+i的结果仍记为S,从而把第i步表示为S=S+i,其中S的初始值为0,i依次取1,2,…,100.由于i同时记录了循环体的次数,所以也称为计数变量.
通过重复操作,上述问题的算法设计如下:
第一步, 令i=1,S=0.
第二步, S =S+i.
第三步, i=i+1.
第四步,判断i>100是否成立.若是,则输出S,结束算法;否则,返回第二步.
直到型循环结构框图:
开始 |
i=1 |
i>100? |
是 |
输出S |
结束 |
S=0 |
i=i+1 |
S=S+i |
否 |
当型循环结构框图:
开始 |
i=1 |
结束 |
输出S |
否 |
是 |
S=0 |
S=S+i |
i≤100? |
i=i+1 |
例4(课本P15例7) 某工厂2005年的年生产总值为200万元,技术革新后预计以后每年的年生产总值都比上一年增长5%.设计一个程序框图,输出预计年生产总值超过300万元的最早年份.
算法:
第一步, 输入2005年的年生产总值.
第二步, 计算下一年的年生产总值.
第三步, 判断所得的结果是否大于300.若是,则输出该年的年份;否则,返回第二步.
由于“第二步”是重复操作的步骤,所以可以用循环结构来实现.按照“确定循环体”“初始化变量”“设定循环控制条件”的顺序来构造循环结构.
循环结构:
(1)确定循环体:设a为某年的年生产总值,t为年生产总值的年增长量,n为年份,则循环体为:t=0.05a,a=a+t,n=n+1.
(2)初始化变量:n=2005,a=200.
(3)设定循环控制条件:当“a>300”时终止循环.
所以可通过判断“a>300”是否成立来控制循环.
开始 |
n=2005 |
a=200 |
t=0.05a |
a=a+t |
n=n+1 |
a>300? |
结束 |
输出n |
是 |
否 |
思考:这是直到型循环结构的程序框图,请画出包含当型循环结构的程序框图.
(三)课堂小结、巩固反思
1、条件结构和循环结构的基本特征:
(1)程序框图中必须有两个起止框,穿插输入、输出框和处理框,一定有判断框.
(2)循环结构中包含条件结构,条件结构中不含循环结构.
(3)条件结构和循环结构的程序框图各有两种形式,相互对立统一.
(四)布置作业
1、画出输入3个实数 按从大到小的次序排序的程序框图.
|
|
|
输入 |
输出 |
|
|
开始 |
i=1 |
sum=0 |
i=i+1 |
sum=sum+i |
i≤100? |
结束 |
输出sum |
是 |
否 |
循环变量初始化 |
循环体 |
循环条件 |
3、根据程序框图回答下面的问题
开始 |
i=1 |
sum=0 |
i=i+1 |
sum=sum+i |
i>5? |
结束 |
输出sum |
是 |
否 |
开始 |
i=1 |
sum=0 |
sum=sum+i |
i=i+1 |
i>5? |
结束 |
是 |
否 |
输出sum |
① |
② |
图A 图B
(1)图中箭头指向①时,输出 =______;指向②时输出 =_____。
(2)该程序框图的算法功能是_______________________。
(3)去掉条件“ ”按程序框图所蕴含的算法,能执行到底吗,若能执行到底,最后输出的结果是什么?
对比练习:
(1)图B输出 =_____。
(2)图A指向②时与图B有何不同?你能得到什么结论?
(3)对比“引例”与“例2”的程序框图,试说明二者的区别和联系?
例3 图(1),图(2),图(3),图(4)是为计算而绘制的程序框图。根据程序框图回答下面的问题:
开始 |
i=42 |
s=22 |
i=i+1 |
s=s+i |
i>100? |
结束 |
输出s |
是 |
否 |
开始 |
i=4 |
s=22 |
s=s+i
|
i>100? |
结束 |
输出s |
是 |
否 |
图(1) 图(2)
开始 |
i=2 |
s=0 |
i=i+1 |
s=s+i2 |
i>100? |
结束 |
输出s |
是 |
否 |
开始 |
i=4 |
s=22 |
i=i+1 |
s=s+i2 |
i>100? |
结束 |
是 |
否 |
输出s |
图(3)
①其中正确的程序框图有哪几个?错误的要指出错在哪里。
②错误的程序框图中,按该程序框图所蕴含的算法,能执行到底吗?若能执行到底,最后输出的结果是什么?
③根据上面的回答总结出应用循环结构编制程序框图应该注意哪几方面的问题?