信息学编程语言教程二:顺序结构程序与基本数据类型(3)
合肥奥数网整理
2012-12-13 15:24:15
[例1.9]有鸡兔同笼,头30,脚90,究竟笼中的鸡和兔各有多少只?
解:设鸡为J只,兔为T只,头为H,脚为F,则:
J+T=30①
2*J+4*T=90②
解此题暂不必采用数学上直接解方程的办法,可采用“假设条件与逻辑推理”的办法:
假设笼中30个头全都是兔,那么都按每头4只脚计算,总脚数为(4*H),与实际脚数(F)之差为(4*H—F),如果这个差=0,则笼中全是兔(即鸡为0只);如果这个差值>0,说明多计算了脚数,凡是鸡都多给算了两只脚,用它除以2就能得到鸡的只数,处理步骤为:
①J=(4*H—F)/2{先用脚数差值除以2算出鸡的只数}
②T=H—J{再用总头数减鸡数算出免的只数}
按此方法,这两步运算必须注意先后顺序才会符合运算逻辑。
Pascal程序:
ProgramExam16;
ConstH=30;{常量说明}
F=90;
VarJ,T:byte;{为字节类型的整数}
Begin
J:=(4*H-F)div2;{整除运算}
T:=H-J
Writeln('J=',J,'':6,'T=',T);
Readln
End.
本程序中H,F为常量,变量J,T为byte类型,属于整数类型。