引导学生从过程模型中,归纳出"辗转相除法"的算法。
算法描述:
(1)求a/b的余数r;
(2)若r=0,则b为最大公约数,算法结束;若r≠0,执行第(3)步;
(3)将b值放a中,r值放b中;
自主学习:要求学生书写程序,上机调试,运行。提醒学生利用循环语句(while循环或repeat_until循环)来实现算法。
协作学习:全班56人分为14组讨论、交流、调试修正。
效果评价:以下是学生写出的四种正确程序段:
方法一:
read(a,b);
r:=a mod b;
while r<>0 do
begin
a:=b; b:=r;
r:=a mod b;
end;
write(b:5);
方法二:
read(a,b);
r:=a mod b;
if r<>0 then
begin
repeat a:=b; b:=r; r:=a mod b;
until r=0;
write(b:5);
end
else
write(b:5);
方法三:
read(a,b);
repeat
r:=a mod b;
a:=b; b:=r;
until r=0;
write(a:5);
方法四:
read(a,b);
r:=b;b:=a;{初始设置}
repeat
a:=b; b:=r;
r:=a mod b;
until r=0;
write(b:5);
相关推荐链接:
下一篇:授人以鱼,不如授人以渔