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
错解: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
点评:此题易错的是输出值,根据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
湖北省互联网违法和不良信息举报平台 | 网上有害信息举报专区 | 电信诈骗举报专区 | 涉历史虚无主义有害信息举报专区 | 涉企侵权举报专区
违法和不良信息举报电话:027-86699610 举报邮箱:58377363@163.com