《§2__21_顺序结构与选择结构》由会员分享,可在线阅读,更多相关《§2__21_顺序结构与选择结构(23页珍藏版)》请在金锄头文库上搜索。
1、2 2 算法框图的基本结构及设计算法框图的基本结构及设计 2.12.1 顺序结构与选择结构顺序结构与选择结构1 1、理解算法框图的顺序结构和选择结构;、理解算法框图的顺序结构和选择结构;2 2、能用文字语言表示算法,并能将算法用顺序结构和、能用文字语言表示算法,并能将算法用顺序结构和选择结构表示简单的框图选择结构表示简单的框图. .1.1.已知点已知点P P0 0(x(x0 0,y,y0 0) )和直线和直线L:Ax+By+CL:Ax+By+C=0=0,设计一个算法,求,设计一个算法,求点点P P到直线到直线L L的距离的距离d.d.2.2.给定平面内任意两点给定平面内任意两点A(xA(x1
2、1,y,y1 1),B(x),B(x2 2,y,y2 2).).设计一个算法,设计一个算法,求两点连线的斜率求两点连线的斜率. .1.1.解:解:算法步骤如下:算法步骤如下:(1)(1)输入点的坐标输入点的坐标x x0 0,y,y0 0和直线方程的系数和直线方程的系数A.B.CA.B.C(2)(2)计算计算 Z Z1 1= =AxAx0 0+By+By0 0+C+C(3)(3)计算计算 Z Z2 2= =A A2 2+B+B2 2(5)(5)输出输出d d2.2.解:解:算法步骤如下:算法步骤如下:(1)(1)输入点的坐标输入点的坐标x x1 1,y,y1 1,x,x2 2,y,y2 2(3)
3、(3)输出输出k k的值的值. . 为了更简洁、清晰、直观和便于检查,我们一般用框为了更简洁、清晰、直观和便于检查,我们一般用框图表示算法图表示算法. .1.1.解:算法步骤如下:解:算法步骤如下:(1)(1)输入点的坐标输入点的坐标x x0 0,y,y0 0和和直线方程的系数直线方程的系数A.B.CA.B.C(2)(2)计算计算 Z Z1 1= =AxAx0 0+By+By0 0+C+C(3)(3)计算计算 Z Z1 1= =A A2 2+B+B2 2(5)(5)输出输出d d如:如:输入输入x x0 0,y,y0 0,A.B.C,A.B.C开始开始计算计算 Z Z1 1:=:=AxAx0
4、0+By+By0 0+C+C输出输出计算计算Z Z2 2:=:=A A2 2+B+B2 2结束结束计算计算 在算法设计中,算法框图(也称程序框图)可以准在算法设计中,算法框图(也称程序框图)可以准确、清晰、直观地表达解决问题的思路和步骤确、清晰、直观地表达解决问题的思路和步骤. .算法框图:算法框图:终端框终端框( (起止框起止框) )输入、输出框输入、输出框处处 理理 框框判判 断断 框框流流 程程 线线框框 图图 常常 用用 图图 形形(1 1)使用标准的图形符号)使用标准的图形符号. .(2 2)框图一般按从上到下、从左到右的方向画)框图一般按从上到下、从左到右的方向画. .(3 3)除
5、判断框外,大多数框图符号只有一个进入点和一个退)除判断框外,大多数框图符号只有一个进入点和一个退出点出点. .判断框具有超过一个退出点的唯一框图符号判断框具有超过一个退出点的唯一框图符号. .(4 4)判断框,)判断框, “是是”与与“否否”两分支的判断两分支的判断. .(5 5)在图形符号内描述的语言要简练清楚)在图形符号内描述的语言要简练清楚. .画程序框图的规则如下:画程序框图的规则如下:作法:作法:作图步骤如下作图步骤如下: :1 1、从已知线段的左端点、从已知线段的左端点A A点出发点出发, ,作一条射线作一条射线AP;AP;2 2、在射线、在射线APAP上任取一点上任取一点C,C,
6、得线段得线段AC;AC;3 3、在射线上作线段、在射线上作线段CE=EF=FG=GD=AC,CE=EF=FG=GD=AC,那么线段那么线段AD=5AC;AD=5AC;4 4、连接、连接DB; DB; 5 5、过、过C C作作DBDB的平行线的平行线, , 交线段交线段ABAB于于M,M,这样点这样点M M就是线段就是线段ABAB的一个的一个5 5等分点等分点. .例例1 1 尺规作图,确定线段尺规作图,确定线段ABAB的一个的一个5 5等分点等分点. .A AB BG GP PF FE EC CM MD DAB顺顺 序序 结结 构构算法框图算法框图开始开始从从A A出发作一条射线出发作一条射线
7、在射线上取点在射线上取点C,C,得单位线段得单位线段ACAC在射线上作在射线上作CE=EF=FG=GD=ACCE=EF=FG=GD=AC过过C C作作DBDB的平行线交的平行线交ABAB于于M , M , 即得即得ABAB的一个的一个5 5等分点等分点结束结束连接连接DBDB例例2.2.任意给定一个实数任意给定一个实数x,x,设计一个算法设计一个算法, ,求求x x的绝对值的绝对值, ,并画并画出程序框图出程序框图. .第一步第一步, ,判断判断x x是否大于是否大于0,0,若若x0,x0,则则x x的绝对值等于的绝对值等于x,x,令令m=x;m=x;若若x0,x0,则执行第二步则执行第二步.
8、 .第二步第二步, x, x的绝对值等于的绝对值等于x,x,令令m=m=x;x;第三步第三步, ,输出输出m.m.算法分析算法分析: :m=-xm=-x开始开始输入输入x xx0x0m=xm=x输出输出m m否否是是结束结束 选选 择择 结结 构构顺序结构顺序结构由若干个依次执行的处理步由若干个依次执行的处理步骤组成的逻辑结构骤组成的逻辑结构. .这是任这是任何一个程序都离不开的基本何一个程序都离不开的基本结构结构. .在一个算法中,经常会遇到在一个算法中,经常会遇到一些条件的判断,算法的流一些条件的判断,算法的流程根据条件是否成立有不同程根据条件是否成立有不同的流向,这种算法结构称为的流向,
9、这种算法结构称为条件结构条件结构. .选择结构选择结构例例3 3 通常说一年有通常说一年有365365天天, ,它表示地球围绕太阳转一周所需的它表示地球围绕太阳转一周所需的时间时间, ,但事实并不是这样简单但事实并不是这样简单. .根据天文资料根据天文资料, ,地球围绕太阳地球围绕太阳转一周所需要的精确时间是转一周所需要的精确时间是365.2422365.2422天天, ,称之为天文年称之为天文年. .这个这个误差看似不大误差看似不大, ,却引起季节和日历之间难以预料的大变动却引起季节和日历之间难以预料的大变动. .在在历法上规定四年一闰历法上规定四年一闰, ,百年少一闰百年少一闰, ,每四百
10、年又加一闰每四百年又加一闰. .如何如何判断某一年是不是闰年呢判断某一年是不是闰年呢? ?请设计一个算法请设计一个算法, ,解决这个问题解决这个问题, ,并用框图描述这个算法并用框图描述这个算法. .解解: :算法步骤如下算法步骤如下: :1.1.若若y y不能被不能被4 4整除整除, ,则输出则输出“y y不是闰年不是闰年”. .2.2.若若y y能被能被4 4整除整除, ,则判断则判断y y是否能被是否能被100100整除整除: :(1)(1)若若y y不能被不能被100100整除整除, ,则输出则输出“y y是闰年是闰年”; ;(2)(2)若若y y能被能被100100整除整除, ,则判
11、断则判断y y是否能被是否能被400400整除整除: :若若y y能被能被400400整除整除, ,则输出则输出“y y是闰年是闰年”; ;若若y y不能被不能被400400整除整除, ,则输出则输出“y y不是闰年不是闰年”. .开始开始输入输入y y4 4整除整除y y这个算法的框图如下图:这个算法的框图如下图:是是否否100100整除整除y y100100整除整除y y否否是是输出输出“y y不是闰年不是闰年”输出输出“y y不是闰年不是闰年”结束结束 是是否否1.1.写出下列程序的运行写出下列程序的运行结果结果. .(1 1)图()图(1 1)中,输出)中,输出S=_S=_(2) (2
12、) 图图(2)(2)中,若中,若R=8R=8,则则a=_a=_开始开始结束结束输入输入a,ba,ba=2a=2b=4b=4输出输出S S图(图(1 1)开始开始结束结束输入输入R Ra=2ba=2b输出输出a a图(图(2 2)2.52.54 42.2.下图的作用是判断输入数下图的作用是判断输入数x x的的奇偶性,则奇偶性,则处应为处应为_开始开始结束结束输入输入x x 输出输出“x x是奇数是奇数” 输出输出“x x是偶数是偶数”R=xR=x除以除以2 2的余数的余数是是否否R=1R=1?1 1、设计一个算法、设计一个算法, ,求一元二次求一元二次方程方程axax2 2+bx+c=0+bx+
13、c=0(a0, ba0, b2 2- -4ac04ac0)的根)的根, ,画出相应的框图画出相应的框图. . 输入输入系数系数a,b,ca,b,c输出输出X X1 1、X X2 2结束结束开始开始计算计算顺序结构顺序结构探究探究2 2、设计一个算法、设计一个算法, ,求求一元二次方程一元二次方程axax2 2+bx+c=0+bx+c=0(a0a0)的根的根, ,画出相应的框画出相应的框图图. . 输入输入a,b,ca,b,c输出输出x x1 1,x,x2 2结束结束开始开始00否否是是输出无实数解输出无实数解计算计算选择结构选择结构怎样表示一个算法怎样表示一个算法一、用自然语言表示算法一、用自然语言表示算法二、算法框图二、算法框图处理框处理框终端框终端框输入输出框输入输出框流程线流程线框图中的基本符号框图中的基本符号判断框判断框过去的,让它过去,永远不要回顾;未来的,等来了时再说,不要空想;我们只抓住了现在,用我们现在的理想,做我们所应该做的. 茅盾