A:程序中用到的变量分别存储了什么内容?
B:给上面的算法每一条程序代码加上注释语句;
C: 这个程序段能正确完成上面描述的算法吗?如果有错误,请举例说明在什么情况下会出错。
D:如果有错误,请对程序进行修改以便可以正确的实现上面描述的算法。
下面是详解,望采纳
A:
B:
// 初始化减去除数的次数为0
Count=0
// 初始化余数为被除数
Remainder=Dividend
// 重复直至余数小于除数
repeat:
// 余数减去除数
Remainder=Remainder-Divisor
// 减去除数的次数加1
Count=Count+1
until (Remainder<Divisor)
// 商为减去除数的次数
Quotient=Count
C:这个程序段不能正确完成上面描述的算法。例如,对于被除数为7,除数为3的情况,输出的商应该是2,但是由于程序中没有对余数进行处理,所以输出的商实际上是1。
D:如果要修改程序,使得能够正确实现上面描述的算法,我们可以在程序中加入一条语句来处理余数,例如:
// 初始化减去除数的次数为0
Count=0
// 初始化余数为被除数
Remainder=Dividend
// 重复直至余数小于除数
repeat:
// 余数减去除数
Remainder=Remainder-Divisor
// 减去除数的次数加1
Count=Count+1
until (Remainder<Divisor)
// 如果余数不为0,
if (Remainder != 0)
{
// 调整商的值,使其包含余数
Quotient = Quotient + (Remainder / Divisor);
}
// 将调整后的商作为结果返回
return Quotient;