0  396932  396940  396946  396950  396956  396958  396962  396968  396970  396976  396982  396986  396988  396992  396998  397000  397006  397010  397012  397016  397018  397022  397024  397026  397027  397028  397030  397031  397032  397034  397036  397040  397042  397046  397048  397052  397058  397060  397066  397070  397072  397076  397082  397088  397090  397096  397100  397102  397108  397112  397118  397126  447090 

2.更相减损术的步骤:(1)任意给出两个正数,判断它们是否都是偶数.若是,用2约简;若不是,执行第二步.(2)以较大的数减去较小的数,接着把较小的数与所得的差比较,并以大数减小数.继续这个操作,直到所得的数相等为止,则这个数(等数)就是所求的最大公约数.

(3)二分法求方程在区间内的一个近似解的解题步骤可表示为

S1 取[]的中点,将区间 一分为二;

S2 若,则就是方程的根;否则判别根的左侧还是右侧:

,以代替

,则,以代替

S3 若,计算终止,此时,否则转S1.

试题详情

1.算法设计思想:                                                    

(1)“韩信点兵-孙子问题”对正整数m从2开始逐一检验条件,若三个条件中有任何一个不满足,则m递增1,一直到m同时满足三个条件为止(循环过程用Goto语句实现)

(2)用辗转相除法找出的最大公约数的步骤是:计算出的余数,若,则的最大公约数;若,则把前面的除数作为新的被除数,继续运算,直到余数为0,此时的除数即为正整数的最大公约数.

试题详情

5. 将100名学生的一门功课的成绩依次输入并计算输出平均成绩.

               § 13.3 算法案例

试题详情

4.运行下面程序后输出的结果为        

For I from 10 to 1 step -2

    Print I

End for

End

试题详情

3.伪代码描述的求T的代数式是      ,求的代数式是          .   

Read  n

For I  from 1 to  n

End  for

Print T,S

试题详情

2.运行下面的程序后输出的结果是      ,若将程序中的A语句与B语句的位置互换,再次执行程序后输出的结果为      .

While

               ′A语句

                ′B语句

End While

Print x,y

End

试题详情

1. 下列的循环语句循环的次数为(   )

For I from 1 to 7

    For J from 1 to 9

     Pint I+J

    End for

End for

End

A.7次      B.9次      C.63次    D.16次

试题详情

[例1] 下列程序的运行结果是      .

If >5 Then

If >4 Then

If >3 Then

Print

错解:8+7=15

错因:误认为在一个程序中只执行一个条件语句,与在一个条件语句中只选择其中一个分支相混淆.If A Then B [Else C] 若满足条件A 则执行B,否则是执行C,B和C是这个条件语句的分支,而这个程序省略了Else部分.

正解:这里是有三个条件语句,各个条件语句是独立的,三个条件均成立,所以按顺序依次执行,结果为8+7+6+6=27.

[例2] 下面的伪代码的效果是      

While <10

End While

End

错解:执行10次循环

错因:将For语句和While语句混淆. For语句中有步长使循环变量不断变化,而While语句则无.

正解:无限循环下去,这是因为这里始终为0,总能满足条件“”,故是一个“死循环”.

点评:“死循环”是设计循环结构的大忌,此题可改变的初始值或每一次循环都增加一个值.

[例3]下面的程序运行时输出的结果是(  )

  

While

  End  while

 Print S

End

错解:第一次循环时,I被赋予2,S被赋予4;第二次循环时,I被赋予3,S被赋予4+=13;第三次循环时,I被赋予4,S被赋予13+=29;第四次循环时,I被赋予5,S被赋予.由于此时,故循环终止,输出S为54.

正解:由于在循环内,每经过一次循环后S都被赋值0,因此,只要求满足条件的最后一次循环S的值,即当时,.

[例4]用语句描述求使成立的最大正整数的算法过程.

解:

   

    While

      

      

    End while

     Print  

点评:此题易错的是输出值,根据While循环语句的特征当时跳出循环体,此时的值是时的最小的整数,则使的最大整数应为的前一个奇数即.

[例5]已知当时,,当时,,当时,,设计一算法求的值.

解: Read x

If  then

    

Else if  Then

     

Else

End if

End

点评:嵌套If语句可用如上的紧凑形式书写,要注意的是如不是采取紧凑形式,则需注意一个块If语句对应一个End If,不可省略或缺少.

[例6]设计一个算法,使得输入一个正整数,输出1!+2!+3!+…+!的值.写出伪代码.

解:思路一:利用单循环,循环体中必须包括一个求各项阶乘的语句以及一个求和语句.

 Read  n

   

  For  I  from  1  to  n

      

    End For

    Print  S

思路二:运用内外双重循环,但尤其注意的是每一次外循环T的值都要从1开始.

    Read  n

   

    For  I  from  1  to  n 

     

      For  J  from  1  to  I

          

End For

     

 End For

    Print  S

试题详情

2.“For”语句是在执行过程中先操作,后判断.而“While”语句的特点是“前测试”,即先判断,后执行.若初始条件不成立,则一次也不执行循环体中的内容.任何一种需要重复处理的问题都可以用这种前测试循环来实现.

试题详情

1.    有的条件语句可以不带“Else”分支,即满足条件时执行B,否则不执行任何操作.条件语句也可以进行嵌套,在进行条件语句的嵌套时,书写要有层次.例如:

If  A  Then 

   B

Else if  C  Then

   D

Else

   E

End if

试题详情


同步练习册答案