一种计算机,其有如下原子功能:
1、赋值 a=b
2、+1操作,++a; a+1;
3、循环,但是只支持按次数的循环 for(变量名){/*循环里面对变量的修改不影响循环次数*/}
4、只能处理0和正整数
5、函数调用 fun(参数列表)
请用伪代码的形式分别在这个计算机上编程实现变量的加法、减法、乘法。
fun_add(a , b)
{
}
fun_multi(a , b)
{
}
fun_minus(a , b)
{
}
fun_add(a , b)
{
result = a;
for(b)
++result;
return result;
}
fun_muti(a , b)
{
result = 0;
for(b)
result = fun_add(result , a);
return result;
}
dec(int n)
{
temp = 0;
result = 0;
for(n)
{
result = temp; //result永远比temp少1,巧妙地减少了一次自增
++temp;
}
return result;
}
/*
上面的dec这段函数代码执行后,result的值将变为n-1。注意到这段代码在自增时是如何巧妙地延迟了一步的。
现在,我们相当于有了自减一的函数dec。实现a-b只需要令a自减b次即可
*/
fun_minus(a , b)
{
result = a;
for(b)
result = dec(result);
}