您好,欢迎访问三七文档
§1.1.2程序框图与算法的基本逻辑结构(3)必修3高中数学拉萨江苏实验中学高一年级数学组1.1.2程序框图与算法的基本逻辑结构(3)习题1设计一个计算1+2+…+100的值的算法,并画出程序框图.分析1你能设计出怎样的算法来计算1+2+…+100的值?答案第1步,0+1=1.第2步,1+2=3.第3步,3+3=6.第4步,6+4=10.……第100步,4950+100=5050.1.1.2程序框图与算法的基本逻辑结构(3)问题1写出习题1的算法和程序框图.解这一问题的算法是:第一步,令i=1,S=0.第二步,若i≤100成立,则执行第三步;否则,输出S,结束算法.第三步,S=S+i.第四步,i=i+1,返回第二步.程序框图:1.1.2程序框图与算法的基本逻辑结构(3)问题2上述程序框图用的是当型循环结构,如果用直到型循环结构表示,则程序框图如何?答1.1.2程序框图与算法的基本逻辑结构(3)习题2已知有一列数12,23,34,…,nn+1,设计程序框图实现求该数列前20项的和.解算法分析:该列数中每一项的分母是分子数加1,单独观察分子,恰好是1,2,3,4,…,n,因此可用循环结构实现,设计数变量i,用i=i+1实现分子,设累加变量S,用S=S+ii+1,可实现累加,注意i只能加到20.1.1.2程序框图与算法的基本逻辑结构(3)程序框图如下:方法一方法二1.1.2程序框图与算法的基本逻辑结构(3)习题3设计程序框图实现1+3+5+7+…+131的算法.解算法分析:由于需要加的数较多,所以要引入循环结构来实现累加.观察所加的数是一组有规律的数(每相邻两数相差2),那么可考虑在循环过程中,设一个变量i,用i=i+2来实现这些有规律的数,设一个累加变量sum,用来实现数的累加,在执行时,每循环一次,就产生一个需加的数,然后加到累加变量sum中.算法如下:第一步,赋初值i=1,s=0.第二步,s=s+i,i=i+2.第三步,如果i≤131,则反复执行第二步;否则,执行下一步.1.1.2程序框图与算法的基本逻辑结构(3)第四步,输出s.第五步,结束.程序框图如下图.1.1.2程序框图与算法的基本逻辑结构(3)习题4某工厂2005年的年生产总值为200万元,技术革新后预计以后每年的年生产总值都比上一年增长5%,设计一个程序框图,输出预计年生产总值超过300万元的最早年份.解算法分析:先写出解决本例的算法步骤:第一步,输入2005年的年生产总值.第二步,计算下一年的年生产总值.第三步,判断所得的结果是否大于300,若是,则输出该年的年份;否则,返回第二步.由于“第二步”是重复操作的步骤,所以本例可以用循环结构来实现.所以按照“确定循环体”“初始化变量”“设定循环控制条件”的顺序来构造循环结构.1.1.2程序框图与算法的基本逻辑结构(3)(1)确定循环体:设a为某年的年生产总值,t为年生产总值的年增长量,n为年份,则循环体为t=0.05a,a=a+t,n=n+1.(2)初始化变量:若将2005年的年生产总值看成计算的起始点,则n的初始值为2005,a的初始值为200.(3)设定循环控制条件:当“年生产总值超过300万元”时终止循环,所以可通过判断“a300”是否成立来控制循环.1.1.2程序框图与算法的基本逻辑结构(3)程序框图如下:1.1.2程序框图与算法的基本逻辑结构(3)小结程序框图画完后,要进行验证,按设计的流程分析是否能实现所求的数的累加,分析条件是否达到就结束循环,所以我们要注意初始值的设置、循环条件的确定以及循环体内语句的先后顺序,三者要有机地结合起来.最关键的是循环条件,它决定循环次数.1.1.2程序框图与算法的基本逻辑结构(3)习题5高中某班一共有40名学生,设计程序框图,统计班级数学成绩良好(分数80)和优秀(分数90)的人数.解算法分析:用循环结构实现40个成绩的输入,每循环一次就输入一个成绩s,然后对s的值进行判断.设两个计数变量m,n,如果s90,则m=m+1,如果80s≤90,则n=n+1,设计数变量i,用来控制40个成绩的输入,注意循环条件的确定.1.1.2程序框图与算法的基本逻辑结构(3)程序框图如下图:1.1.2程序框图与算法的基本逻辑结构(3)1.如图所示的程序框图包含算法结构中的哪些结构()(1)条件结构(2)顺序结构(3)循环结构(4)无法确定A.(1)(2)B.(1)(3)C.(2)(3)D.(4)A1.1.2程序框图与算法的基本逻辑结构(3)解析由于5≥4,所以s=5,a=4,又∵4≥4也成立,所以第二次经过循环体时,s=5×4=20,此时a=3,而a=3≥4不成立,∴输出的s的值为20.2.如图所示的程序框图运行后,输出的结果为________.20
本文标题:1.1.2-3练习
链接地址:https://www.777doc.com/doc-5518109 .html