background image

  以 菲波纳契兔子问题 为例,在基本程序设计部分,可以启发学生使用循环语句,

 

利用变量的交替赋值实现。

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]; /*前两个月加起来赋值给第三个月*/
 }

  这样,通过对两种解法的比较和分析,帮助学生更好地掌握循环语句和数组的概念。

  改进授课方法,实现教学相长

  我们要求学生事先预习,实际上就是要求他们课前自学,讲课时以学生预习过为起点,
只讲难点、重点、有变化之处,这样既给了学生思维分析的余地,又节省课时。这就要求必须
精选教学内容,注意详略安排的合理性。在章节间的授课安排也注意了详略得当。如在讲到

选择分支结构 ,“

循环结构 这些关键性章节时就讲的特别精,使学生做到非常熟练、透彻

掌握的程度,

而讲到 字符处理 章节时,让学生做到一般了解即可。课上经常找一些设计技

巧比较好、解题思路比较精的例题让学生自己 读程序 ,找出精妙之处或不理解之处,对普
遍性的问题共同讲解,个别问题课后解答。

  我们有意地设置一些不同深浅的笔误或口误,马上让学生肯定对与错,以考查学生注意
力集中的程度,提高他们的敏锐性和判别能力。对有些问题,给出一种程序设计方法后,让学
生讨论,还有没有其它的程序设计方法和思路,让他们发表意见,提出自己的解题思路编程