“
”
以 菲波纳契兔子问题 为例,在基本程序设计部分,可以启发学生使用循环语句,
利用变量的交替赋值实现。
main( )
{
long f1,f2;
int i;
f1=f2=1;
for(i=1;i<=20;i++)
{ printf("%12ld %12ld",f1,f2);
if(i%2==0) printf("\n");/*控制输出,每行四个*/
f1=f1+f2; /*前两个月加起来赋值给第三个月*/
f2=f1+f2; /*前两个月加起来赋值给第三个月*/
}
}
而在数组部分,可以启发学生采用直接的数组元素赋值来解决。
main( )
{
long fib[20];
fib[1]=1;fib[2]=1;
for(i=1;i<=20;i++)
{ printf("%12ld",fib[i]);
if(i%4==0) printf("\n");/*控制输出,每行四个*/
fib[i+2]=fib[i]+fib[i+1]; /*前两个月加起来赋值给第三个月*/
}
}
这样,通过对两种解法的比较和分析,帮助学生更好地掌握循环语句和数组的概念。
改进授课方法,实现教学相长
我们要求学生事先预习,实际上就是要求他们课前自学,讲课时以学生预习过为起点,
只讲难点、重点、有变化之处,这样既给了学生思维分析的余地,又节省课时。这就要求必须
精选教学内容,注意详略安排的合理性。在章节间的授课安排也注意了详略得当。如在讲到
“
”
选择分支结构 ,“
”
循环结构 这些关键性章节时就讲的特别精,使学生做到非常熟练、透彻
掌握的程度,
“
”
而讲到 字符处理 章节时,让学生做到一般了解即可。课上经常找一些设计技
“
”
巧比较好、解题思路比较精的例题让学生自己 读程序 ,找出精妙之处或不理解之处,对普
遍性的问题共同讲解,个别问题课后解答。
我们有意地设置一些不同深浅的笔误或口误,马上让学生肯定对与错,以考查学生注意
力集中的程度,提高他们的敏锐性和判别能力。对有些问题,给出一种程序设计方法后,让学
生讨论,还有没有其它的程序设计方法和思路,让他们发表意见,提出自己的解题思路编程