程序框图与算法的基本逻辑结构优秀PPT.ppt
程序框图与算法的基本逻辑结构1现在学习的是第1页,共21页问题提出问题提出 1.1.算法的基本逻辑结构有哪几种?用算法的基本逻辑结构有哪几种?用程序框图分别如何表示?程序框图分别如何表示?步骤步骤n步骤步骤n+1顺序结构顺序结构2现在学习的是第2页,共21页条件结构条件结构满足条件?满足条件?步骤步骤A步骤步骤B是是否否(1)(1)满足条件?满足条件?步骤步骤A是是否否(2)(2)3现在学习的是第3页,共21页算法的循环结构算法的循环结构思考:思考:在算法的程序框图中,由按照一定的条件反复执行在算法的程序框图中,由按照一定的条件反复执行的某些步骤组成的逻辑结构,称为的某些步骤组成的逻辑结构,称为循环结构循环结构,反复执行,反复执行的步骤称为的步骤称为循环体循环体,那么循环结构中一定包含条件结构,那么循环结构中一定包含条件结构吗?吗?求求n n除以除以i i的余数的余数r ri=i+1i=i+1in-1in-1或或r=0?r=0?是是否否循环结构循环结构4现在学习的是第4页,共21页循环结构循环结构循环体循环体满足条件?满足条件?是是否否直到型直到型循环体循环体满足条件?满足条件?是是否否当型当型5现在学习的是第5页,共21页循环体循环体满足条件?满足条件?是是否否 这种循环结构称为这种循环结构称为直到型循环结构直到型循环结构,你,你能指出直到型循环结构的特征吗?能指出直到型循环结构的特征吗?在执行了一次循环体后,对条件进行判断,如果条件不满足,就继续执行循环体,直到条件满足时终止循环.6现在学习的是第6页,共21页循环体循环体满足条件?满足条件?是是否否这种循环结构称为这种循环结构称为当型循环结构当型循环结构,你能指,你能指出当型循环结构的特征吗?出当型循环结构的特征吗?在每次执行循在每次执行循环体前,对条环体前,对条件进行判断,件进行判断,如果如果条件满足,条件满足,就执行循环体就执行循环体,否则终止循环否则终止循环.7现在学习的是第7页,共21页注意:注意:1、循环结构要在某个条件下终止循环,这就需要条件结构来判断。因此,、循环结构要在某个条件下终止循环,这就需要条件结构来判断。因此,循环结构中一定包含条件结构循环结构中一定包含条件结构,但不允许,但不允许“死循环死循环”。2、在循环结构中都有一个计数变量和累加变量在循环结构中都有一个计数变量和累加变量(或累乘变量或累乘变量)。计数变量。计数变量用于记录循环次数,累加(或累乘)变量用于输出结果。计数变量和累加用于记录循环次数,累加(或累乘)变量用于输出结果。计数变量和累加(或累乘)变量一般是同步执行的,累加或累乘一次,计数一次。(或累乘)变量一般是同步执行的,累加或累乘一次,计数一次。循环结构循环结构循环体循环体满足条件?满足条件?是是否否直到型直到型循环体循环体满足条件?满足条件?是是否否当型当型8现在学习的是第8页,共21页第一步:确定首数a,尾数b,项数n;第二步:利用公式“S=n(a+b)/2”求和;第三步:输出求和结果。算法1:开始开始结束结束输入输入a,b,nS=n(a+b)/2输出输出S例1:设计一个计算1+2+3+100的值的算法,并画出程序框图.9现在学习的是第9页,共21页第1步,011.第2步,123.第3步,336.第4步,6410.第100步,49501005050.算法2:第一步,令i1,S0.第二步,若i 100成立,则执行第三步;否则,输出S,结束算法.第三步,SSi.第四步,i=i+1,返回第二步.当型循环结构当型循环结构例1:设计一个计算1+2+3+100的值的算法,并画出程序框图.开始开始i=1结束结束输出输出S否否是是S=0S=S+ii100?i=i+110现在学习的是第10页,共21页开始开始i=1i100?是是输出输出S结束结束S=0i=i+1S=S+i否否思考思考:用直到循环结构,上述算法的程序框图如何表示?用直到循环结构,上述算法的程序框图如何表示?开始开始i=1结束结束输出输出S否否是是S=0S=S+ii100?i=i+1当型循环结构当型循环结构直到循环结构直到循环结构11现在学习的是第11页,共21页结束i=i+1Sum=Sum+ii=100?否是循环结构直到型结构当型结构 例6 设计一个计算1+2+3+100的值的算法,并画出程序框图.12现在学习的是第12页,共21页i=i+1Sum=Sum+i 解决方法就是加上一个判断,判断是否已经加到了100,如果加到了则退出,否则继续加。直到型结构当型结构i=i+1Sum=Sum+i是否i=i+1Sum=Sum+i否是i100?i=100?i=100?请填上判断的条件。在解题的过程中,用累加变量在解题的过程中,用累加变量S S表示表示每一步的计算结果,即把每一步的计算结果,即把S+iS+i的结果仍记的结果仍记为为S S,从而把第,从而把第i i步表示为步表示为S=SS=Si,其中其中S S的初始值为的初始值为0 0,i i依次取依次取1 1,2 2,100.100.由于由于i i同时记录了循环的次数,所以也称同时记录了循环的次数,所以也称为计数变量为计数变量.循环结构中都有一个计数变量和累加变量,循环结构中都有一个计数变量和累加变量,计数变量用以记录循环次数,同时它的取值还计数变量用以记录循环次数,同时它的取值还用于判断循环是否终止,累加变量用于输出结用于判断循环是否终止,累加变量用于输出结果,累加变量和计数变量一般是同步执行的,果,累加变量和计数变量一般是同步执行的,累加一次,计数一次累加一次,计数一次.13现在学习的是第13页,共21页思考:思考:P15.P15.设计一个算法,表示输出设计一个算法,表示输出1 1,1 12 2,1 12 23 3,1 12 23 3(n-1)+n(nN*)(n-1)+n(nN*)的过程的过程.结束结束开始开始S=0S=0i=1i=1S=S+iS=S+ii=i+1i=i+1inin?Y YN N输出输出S 第一步,令i=1,S=0.第二步,输入n.第三步,计算S=S+i.第四步,计算i=i+1.第五步,则输出S.第六步,判断in是否成立,若是,结束算法;否则返回第二步.输入输入n例题变式:名师一号例题变式:名师一号13页页 例例114现在学习的是第14页,共21页循环结构循环结构循环体循环体满足条件?满足条件?是是否否直到型直到型循环体循环体满足条件?满足条件?是是否否当型当型15现在学习的是第15页,共21页 例例2 2:某工厂某工厂20052005年的年生产总值为年的年生产总值为200200万元,技术革新后预计以后每年的年生万元,技术革新后预计以后每年的年生产总值都比上一年增长产总值都比上一年增长5%.5%.设计一个程序框设计一个程序框图,输出预计年生产总值超过图,输出预计年生产总值超过300300万元的最万元的最早年份早年份.第三步,判断所得的结果是否大于第三步,判断所得的结果是否大于300.300.若是,则输出该年的年份;若是,则输出该年的年份;否则,否则,返回第二步返回第二步.第一步,第一步,输入输入20052005年的年生产总值年的年生产总值.第二步,计算下一年的年生产总值第二步,计算下一年的年生产总值.算法分析算法分析:16现在学习的是第16页,共21页(3 3)控制条件:当)控制条件:当“a“a300”300”时终止循环时终止循环.(1 1)循环体:设)循环体:设a a为某年的年生产总值,为某年的年生产总值,t t为年生产总值的年增长量,为年生产总值的年增长量,n n为年份,为年份,则则t=0.05at=0.05a,a=a+ta=a+t,n=n+1.n=n+1.(2 2)初始值:)初始值:n=2005n=2005,a=200.a=200.循环结构循环结构:第三步,判断所得的结果是否大于第三步,判断所得的结果是否大于300.300.若是,则输出该年的年份;若是,则输出该年的年份;否则,返回第二步否则,返回第二步.第一步,第一步,输入输入20052005年的年生产总值年的年生产总值.第二步,计算下一年的年生产总值第二步,计算下一年的年生产总值.算法分析算法分析:开始开始n=2005a=200t=0.05aa=a+tn=n+1a300?结束结束输出输出n是是否否程序框图程序框图:17现在学习的是第17页,共21页结束开始输入na=200t=0.05aa=a+tn=n+1a300?Y Yn=2005N N结束开始输入na=200t0.05aaa+tnn+1a300?N Nn=2005Y Y直到型当型18现在学习的是第18页,共21页输入x开始x3?y=1.2x+1.4y=5输出y结束N NY YP.20习题习题A组第组第3题题 算法步骤:第一步,输入人数x,设收取的卫生费为y元.第二步,判断x与3的大小,若x3,则费用为m=5(x-3)1.2=1.2x+1.4;若x3,则费用为m5.第三步,输出m.19现在学习的是第19页,共21页开始输入50米跑成绩rr6.8n9?结束NYYNP.20习题习题1.1B组第组第2题题 算法步骤:第一步,令计算变量n1.第二步,输入一个成绩r,判断r与6.8的大小,若r6.8,则执行下一步;若r6.8,则输出r,并执行下一步.第三步,令nn1.第四步,判断计数变量n与成绩个数9的大小,若n9,则返回第二步,若n9,则结束算法.n1nn1输出r20现在学习的是第20页,共21页1.对任意正整数n,的值,并画出程序框图.结束开始输入一个正整数n输出S的值S=0i=1S=S+1/ii=i+1inY YN N设计一个算法求练习巩固21现在学习的是第21页,共21页