1、一、复习引入一、复习引入1.程序框图的概念程序框图的概念通常用一些通用图形符号构成一张图来表示通常用一些通用图形符号构成一张图来表示算法。这种图称做算法。这种图称做程序框图程序框图(简称框图)也(简称框图)也叫叫流程图流程图.图形符号图形符号 名称名称符号表示的意符号表示的意义义 起止框起止框框图的开始或结束框图的开始或结束 输入,输出输入,输出框框数据的输入或结果数据的输入或结果的输出的输出 处理框处理框赋值、执行计算语赋值、执行计算语句、结果的传送句、结果的传送 判断框判断框根据给定条件判断根据给定条件判断 流程线流程线流程进行的方流程进行的方向向 连接点连接点连接另一页或另一连接另一页或
2、另一部分的框图部分的框图 注释框注释框帮助理解框图帮助理解框图二、提出问题二、提出问题我们写出的算法或画出的程序框图,一定要使大我们写出的算法或画出的程序框图,一定要使大家一步步地看清楚、明白,容易阅读家一步步地看清楚、明白,容易阅读.不然的话,不然的话,写得算法乱无头绪,就很难让人阅读和理解写得算法乱无头绪,就很难让人阅读和理解.这就这就要求算法或程序框图有一个良好的结构要求算法或程序框图有一个良好的结构.算法有三种基本的逻辑结构:算法有三种基本的逻辑结构:顺序结构顺序结构、条件分支结构条件分支结构和和循环结构循环结构二、提出问题二、提出问题开始输入ni=2求n除以i的余数ri的值增加1,仍
3、用i表示in-1或r=0?r=0?N不是质数N是质数结束是否否是是否否开始开始结束结束求n除以i的余数ri=i+1in-1或或r=0?r=0?N不是质数不是质数N是是质数质数输入输入ni=2顺序结构顺序结构条件条件结构结构循环结构循环结构三、概念形成三、概念形成概念概念1.顺序结构顺序结构 顺序结构是最简单的算法结构,语句与语句顺序结构是最简单的算法结构,语句与语句之间,框与框之间是按从上到下的顺序进行的,之间,框与框之间是按从上到下的顺序进行的,它是由若干个依次执行的处理步骤组成的,它是它是由若干个依次执行的处理步骤组成的,它是任何一个算法都离不开的一种基本算法结构任何一个算法都离不开的一种
4、基本算法结构.顺序结构在程序框图顺序结构在程序框图中的体现就是用流程线将中的体现就是用流程线将程序框自上而下地连接起程序框自上而下地连接起来,按顺序执行算法步骤来,按顺序执行算法步骤.步骤步骤n步骤步骤n1三角形三角形ABC的底的底BC为为4,高高AD为为2,求三角形求三角形ABC的面的面积积S,试设计该问题的算法试设计该问题的算法和流程和流程.结束结束 开始开始计算计算 S=1/2ah输出输出S输入输入a=4,h=2顺序结构顺序结构是是是是概念概念2.2.条件分支结构条件分支结构 在一个算法中,经常会遇到一些条件的判断,在一个算法中,经常会遇到一些条件的判断,算法的流程根据条件是否成立有不同
5、的流向算法的流程根据条件是否成立有不同的流向.条件条件结构就是处理这种过程的结构结构就是处理这种过程的结构.分类是算法中经常发生的事情,条件结构的分类是算法中经常发生的事情,条件结构的主要作用就是表示分类主要作用就是表示分类.条件结构可用程序框图表条件结构可用程序框图表示为下面两种形式示为下面两种形式.步骤步骤A步骤步骤B满足条件?满足条件?否否步骤步骤A满足条件?满足条件?否否任意给定任意给定3 3个正个正实数实数,设计一个设计一个算法,判断分别算法,判断分别以这以这3 3个数为三个数为三边边长的三角形边边长的三角形是否存在是否存在.画出画出这个算法的程序这个算法的程序框图框图.开始开始输入
6、输入a,b,ca+bc,a+cb,b+ca是否同时成立?是否同时成立?存在这样的存在这样的三角形三角形不存在这样不存在这样的三角形的三角形结束结束否否是是条件分支结构条件分支结构根据指令条件决定根据指令条件决定是否重复执行一条或是否重复执行一条或多条指令多条指令的控制结构称为的控制结构称为循环结构循环结构.概念概念3、循环结构循环结构循环结构循环结构在科学计算中,会遇到许多在科学计算中,会遇到许多有规律有规律的的重重复运算复运算,例如人口预测,例如人口预测.已经知道现有的人口总数是已经知道现有的人口总数是P,人口的,人口的年增长率是年增长率是R,预测第,预测第T年后人口总数将年后人口总数将是多
7、少?是多少?问题的分析:问题的分析:(1)第一年后的人口总数是)第一年后的人口总数是P+PR=P(1+R);(2)第二年后的人口总数是第二年后的人口总数是P(1+R)+P(1+R)R=P(1+R)2;以此类推,得到第以此类推,得到第T年后的人口总数是年后的人口总数是P(1+R)T.这就是说,如果要计算第这就是说,如果要计算第10年后的人年后的人口总数,乘口总数,乘(1+R)的运算要重复的运算要重复10次次.如果一个计算过程,要重复一系列的如果一个计算过程,要重复一系列的计算步骤若干次,每次重复的计算步骤完计算步骤若干次,每次重复的计算步骤完全相同,则这种算法过程称为循环过程全相同,则这种算法过
8、程称为循环过程.循环过程非常适合计算机处理,因循环过程非常适合计算机处理,因为计算机的运算速度非常快执行成千上为计算机的运算速度非常快执行成千上万次的重复计算,只不过是一瞬间的事,万次的重复计算,只不过是一瞬间的事,且能保证每次的结果都正确且能保证每次的结果都正确.否否是是开始开始输入第一年人口输入第一年人口P人口增长率人口增长率R,预测第预测第T年年增长时间增长时间t=1tTt=t+1P=P+I计算增量计算增量I=PR结束结束输出输出P值值循环结构分为循环结构分为当型循环结构当型循环结构和和直到型循环结构直到型循环结构差异差异:循环终止条件不同循环终止条件不同,检验条件是否成立的先后次序检验
9、条件是否成立的先后次序也不同也不同.当型循环结构当型循环结构:先判断后执行循环体先判断后执行循环体.直到型循环结构直到型循环结构:先执行循环体后判断条件是否成先执行循环体后判断条件是否成立立.循环体循环体满足条件?满足条件?否否是是直到型循环结构直到型循环结构当型循环结构当型循环结构循环体循环体满足条件?满足条件?是是否否例例1.1.已知点已知点 和直线和直线 ,求,求点点 到直线到直线 的距离的距离 .四、例题四、例题000(,)P xy:0l AxByC000(,)P xyld解:解:(1)用数学语言来描述算法)用数学语言来描述算法:S1:输入点的坐标输入点的坐标 ,输入直线方程的系数输入
10、直线方程的系数A,B,C;00,xyS2:计算计算 ;2200|/dAxByCABS3:输出输出 ;dS1:输入点的坐标,及直输入点的坐标,及直线系数:线系数:例例1.1.已知点已知点 和直线和直线 ,求点,求点 到直线到直线 的距离的距离 .000(,)P xy:0l AxByC000(,)P xyld解:解:(2)用框图来描述算法)用框图来描述算法:00,xyA B C2200|/dAxByCABd输出开始开始输入输入结束结束00,xyA B CS2:计算计算:2200|/dAxByCABS3:输出输出 ;d输入系数输入系数a,b,c输出输出X1、X2计算计算acb42计算计算abx21a
11、bx22例例2.设计算法设计算法,求一元二次方程求一元二次方程ax2 2+bx+c=0(a0 )的根)的根,画出相应的流程图画出相应的流程图 b2 2-4-4ac00 开始开始结束结束设计算法设计算法,求一元二求一元二次次方方程程ax2+bx+c=0()的的根根,画出相应的流程图画出相应的流程图 a00输出输出x1,x2x1,x2输入系数输入系数a,b b,c,c30?Y=0.3300.5(P30)Y=0.3PM=DY结束输出M是否例例4.已已知知n个正整数排成一行如下:个正整数排成一行如下:a1,a2,a3,an1,an,其中下脚码表示其中下脚码表示n个数的排列位置,这一行数满足条件:个数的
12、排列位置,这一行数满足条件:a1=1,a2=1,an=an2+an1(n3,nN),画出计算第画出计算第n项的程序框图项的程序框图.分析:分析:a1=1,a2=1,an=an2+an1,所以,所以a3=2,a4=3,a5=5,ak=ak2+ak1,我们看到我们看到ak,ak2,ak1,都是都是k的函数,的函数,数值随数值随k而变化而变化.因此在框图中要引入三个变量,分别用因此在框图中要引入三个变量,分别用C、A、B表示表示ak,ak2,ak1,且首先要且首先要输入正整数输入正整数n(n3),以及给以及给A和和B分别输分别输入数值入数值1,1,然后循环计算然后循环计算.否否是是开始开始输入输入n
13、A=1,B=1,k=3knk=k+1A=B,B=CC=A+B结束结束输出输出C1、写出下列程序框图的运行结果、写出下列程序框图的运行结果.已知函数已知函数 ,程序框图表示的是给出程序框图表示的是给出x x值值,求相应的函数值的算法求相应的函数值的算法.将框图补充完整将框图补充完整.其中其中处应填处应填写写 ;处应填处应填写写 。()|3|f xx3yx3x 五、练习五、练习六、课堂总结六、课堂总结1、了解顺序结构,条件分支结构和循环结构、了解顺序结构,条件分支结构和循环结构的概念;的概念;2、熟练地运用顺序结构,条件分支结构和循、熟练地运用顺序结构,条件分支结构和循环结构,掌握它们的特点环结构,掌握它们的特点