高中学习网-高中学习方法、解题技巧、知识点总结、学习计划、同步辅导资料!

高中学习网-人民教育出版社人教版部编同步解析与测评答案-电子课本资料下载-知识点学习方法与技巧补课解题技巧学习计划表总结-人教网-高中试卷网-中学学科网

1.3 算法基本语句

http://www.newdu.com 2018-11-30 人民教育出版社 佚名 参加讨论

    1.3 算法基本语句
    重难点:经历将具体问题的流程图转化为伪代码的过程;理解用伪代码表示的基本语句――输入语句、输出语句、赋值语句、条件语句、循环语句,进一步体会算法的基本思想.
    考纲要求:①理解几种基本算法语句――输入语句、输出语句、赋值语句、条件语句、循环语句的含义.
    经典例题:意大利数学家菲波拉契,在1202年出版的一书里提出了这样的一个问题:一对兔子饲养到第二个月进入成年,第三个月生一对小兔,以后每个月生一对小兔,所生小兔能全部存活并且也是第二个月成年,第三个月生一对小兔,以后每月生一对小兔.问这样下去到年底应有多少对兔子? 试画出解决此问题的程序框图,并编写相应的程序.
    当堂练习
    1.下边程序运行后的输出结果为(     )
    A.17      B.19      C.21      D.23
    
    2.下边程序运行的结果是(     )
    A.1,2,3    B.2,3,1    C.2,3,2    D.3,2,1
    
    3.下边程序运行后输出的结果为(     )
    A. 3  4  5  6       B. 4  5  6  7        C. 5  6  7  8       D. 6  7  8  9
    
    4下图给出的是计算的值的一个程序框图,其中判断框内应填入的条件是(     )
    A.i>10     B.i<10    C.i>20    D.i<20
    
    5.算法: S1  输入n;
    S2  判断n是否是2,若n=2,则n满足条件,
    若n>2,则执行S3;
    s3  依次从2到n一1检验能不能整除n,若不能整除n,
    则输出n.
    则输出n是(     )
    A.质数      B.奇数      C.偶数     D.约数
    6.读程序                     
    甲:INPUT i=1        乙:INPUT  I=1000
       S=0                   S=0
    WHILE i≤1000         DO
    S=S+i                      S=S+i
    i=i+l                    I=i一1
    WEND                  Loop UNTIL i<1
    PRINT S               PRINT  S
    END                   END
    对甲乙两程序和输出结果判断正确的是(     )
    A.程序不同结果不同  B.程序不同,结果相同 C.程序相同结果不同  D.程序相同,结果相同
    7.阅读下列程序:
    输入x
    if x<0,   then y:=
    else if x>0,    then y:=
    else y:=0;
    输出 y
    如果输入x=-2,则输出结果y为(     )
    A.3+         B.3-     C.-5         D.--5
    8.x=5
    y=6
    PRINT  xy=11
    END
    上面程序运行时输出的结果是(     )
    A.xy≠11       B.11         C.xy=11       D.出错信息
    9.下面的问题中必须用条件结构才能实现的个数是(     )
    (1)已知三角形三边长,求三角形的面积;
    (2)求方程ax+b=0(a,b为常数)的根;
    (3)求三个实数a,b,c中的最大者;
    (4)求1+2+3+…+100的值。
    A.4个     B. 3个     C. 2个       D. 1个
    10.两个数5671、10759的最大公约数是(     )
    A.46          B.53          C.28        D.71
    11.二进制数111011001001 (2)对应的十进制数是(     )
    A.3901           B.3902         C.3785         D.3904
    12.下面的代码的算法目的是(     )
    10 Read ab
    20 r←mod(ab
    30 If r=0 then Goto 80
    40 Else
    50 ab
    60 br
    70 Goto 20
    80 Print b
    A.求xy的最小公倍数                B.求xy的最大公约数
    C.求xy整除的商                   D.求y除以x的余数
    13.若连续函数在区间内单调,且,则在区间内(     )
     A. 至多有一个根     B.至少有一个根     C.恰好有一个根     D.不确定
    14.已知算法如下:
    S=0;
    输入 n
    for i:=1 to n do
    begin
    SS+2*i
    end.
    输出S
    若输入变量n的值为3,则输出变量S的值为     
    若输出变量S的值为30,则变量n的值为       
    15.看右边程序运行后,输出的结果为______________..
    

    x=5
    y=-20
    IF  x<0  THEN
    x=y-3
     PRINT x
    ELSE
    y=y+3
    PRINT y
    END IF
    END (第15题)
    
 

    16.算法程序:计算1+2+3+…+n的值(要求可以输入任意大于1的正自然数)中,请填上空缺的部分.
    

    INPUT “n=”;n
    i=1
    sum=0
    WHILE i<=n
    sum=sum+I
    i=i+1
             
    PRINT sum
    END
    (第16题)
    
 

    17.用秦九韶算法求n次多项式,当时,求需要算乘方、乘法、加法的次数分别为         
    18.青年歌手电视大赛共有10名选手参加,并请了12名评委,在计算每位选手的平均分数时,为了避免个别评委所给的极端分数的影响,必须去掉一个最高分和一个最底分后再求平均分.试设计一个算法,解决该问题,要求画出程序框图,写出程序(假定分数采用10分制,即每位选手的分数最高分为10分,最底分为0分).
    19.目前高中毕业会考中,成绩在85~100为“A”,70~84为“B”,60~69为“C”,60分以下为“D”.编制程序,输入学生的考试成绩(百分制,若有小数则四舍五入),输出相应的等级.
    20.给出30个数:1,2,4,7,……,其规律是:第1个数是1,第2个数比第1个数大1, 第3个数比第2个数大2,第4个数比第3个数大3,依此类推.要计算这30个数的和,现已给出了该问题算法的程序框图(如图所示),(I)请在图中判断框内(1)处和执行框中的(2)处填上合适的语句,使之能完成该题算法功能;(II)根据程序框图写出程序.
    
    21.有10个互不相等的数,写出找出其中一个最大数的算法和程序.
    参考答案:
    经典例题:根据题意可知,第一个月有1对小兔,第二个月有1对成年兔子,第三个月有两对兔子,从第三个月开始,每个月的兔子对数是前面两个月兔子对数的和,设第N个月有两F对兔子,第N-1个月有S对兔子,第N-2个月有Q对兔子,则有F=S+Q,一个月后,即第N+1个月时,式中变量S的新值应变第N个月兔子的对数(F的旧值),变量Q的新值应变为第N-1个月兔子的对数(S的旧值),这样,用S+Q求出变量F的新值就是N+1个月兔子的数,依此类推,可以得到一个数序列,数序列的第12项就是年底应有兔子对数,我们可以先确定前两个月的兔子对数均为1,以此为基准,构造一个循环程序,让表示“第×个月的I从3逐次增加1,一直变化到12,最后一次循环得到的F”就是所求结果. 流程图和程序如下:
    
    

    S=1
    Q=1
    I=3
    WHILE  I<=12
    F=S+Q
    Q=S
    S=F
    I=I+1
    WEND
    PRINT  F
    END
    (经典例题)
    
 

    当堂练习:
    1.A; 2.C; 3.A; 4.A; 5.A; 6.B; 7.B; 8.C; 9.C; 10.B; 11.C; 12.B; 13.D; 14. 12,5; 15.-17; 16. WEND; 17. 0,n,n;
    18. 由于共有12位评委,所以每位选手会有12个分数,我们可以用循环语句来完成这12个分数的输入,同时设计累加变量求出这12个分数的和,本问题的关键在于从这12个输入分数中找出最大数与最小数,以便从总分中减去这两个数.由于每位选手的分数都介于0分和10分之间,去我们可以先假设其中的最大数为0,最小数为10,然后每次输入一个评委的分数,就进行一次比较,若输入的数大于0,就将之代替最大数,若输入的数小于10,就用它代替最小数,依次下去,就能找出这12个数中的最大数与最小数,循环结束后,从总和中减去最大数与最小数,再除以10,就得到该选手最后的平均数.
    程序框图如上图所示.
    

    s=0
    k=1
    max=0
    min=10
    DO
    INPUT x
    s=s+x
    IF max<=x THEN
    max=x
    END IF
    IF min>=x THEN
     min=x
    END IF
    k=k+1
    LOOP UNTIL k>12
    s1=s-max-min
    a=s1/10
    PRINT  a
    END      (第18题程序)
    
 

    19. I=1
    WHILE  I=1
    INPUT  “shu ru xue sheng cheng ji  a=”;a
    IF  a<60  THEN
    PRINT  “D”
    ELSE
    IF  a<70  THEN
    PRINT  “C”
    ELSE
    IF  a<85  THEN
    PRINT  “B”
    ELSE
    PRINT  “A”
    END  IF
    END  IF
    END  IF
    INPUT  “INPUT  1,INPUT  2”;I
    WEND
    END   (第19题)
    20.该算法使用了当型循环结构,因为是求30个数的和,故循环体应执行30次,其中i是计数变量,因此判断框内的条件就是限制计数变量i的,故应为.算法中的变量p实质是表示参与求和的各个数,由于它也是变化的,且满足第i个数比其前一个数大,,第个数比其前一个数大i,故应有.故(1)处应填;(2)处应填
    

    i=1
    p=1
    s=0
    WHILE i<=30
      s=s+p
      p=p+i 
      i=i+1
    WEND
    PRINT a
    END
    (第20题程序)
    
 

    21.S1:输入一个数,放在MAX中
    S2:i=1
    S3:输入第1个数,放入x中
    S4:若x>MAX,则MAX=z
    S5:i=i+1
    S6:若i≤9,返回S3继续执行,否则停.
    
     (责任编辑:admin)
织梦二维码生成器
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
高中语文
高中数学A版
高中数学B版
高中英语
高中物理
高中化学
高中生物
高中历史
高中政治
高中地理
高中日语、俄语
学习方法
高中竞赛