C语言教学中的泛在学习一例

来源 :课程教育研究·新教师教学 | 被引量 : 0次 | 上传用户:suzengbiao
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  【摘要】教学过程中同一问题反复出现可以有效降低学习难度,提升学习效果。本文总结分析了斐波纳契数列问题在C语言的循环、数组、函数这三个典型知识点的中的应用,三种应用可以进行精心设计,制作成为相应的三段微课视频放在互联网上,方便学生使用移动终端进行访问,随时随地进行泛在学习。
  【关键词】C语言;斐波那契数列;应用;泛在学习
  【中图分类号】TP312.1-4 【文献标识码】B 【文章编号】2095-3089(2017)09-0012-02
  斐波那契数列由中世纪的意大利数学家列昂纳多·斐波那契提出,起初仅仅是用来研究兔子繁殖问题,但是随着时间的推移,斐波那契数列的重要性日益凸显,在混沌学、化学、晶体结构学、数学、生物学、经济学等多个跨度极大的领域得到了十分广泛的应用。
  由于其突出的重要性,斐波那契数列经常被称为“神奇的斐波那契数列”,其特征简而言之就是,数列的前两项都为1,从第三项开始,数列的每一项都等于其前两项之和,即数列的前若干项分别为1,1,2,3,5,8,13,21,34,55等等。从1963起,美国数学学会开始出版名为《斐波纳契数列季刊》的数学杂志,专门发表斐波那契数列方面的研究成果。
  在C语言的教学过程中,斐波那契数列问题在循环、数组、函数等章节多次出现,以下对斐波那契数列问题在各章节的具体应用加以总结分析。
  一、斐波那契数列在for循环中的应用
  使用迭代法,结合C语言中使用频率最高的for循环,实现计算输出菲波那契数列的前20项的程序代码如下:
  #include
  void main()
  { int fib1,fib2,i;
  fib1=1;fib2=1;
  for(i=1;i<=10;i++)
  { printf(″%d \t%d \t ″,fib1,fib2);
  if(i%2==0) printf(″\n″);
  fib1=fib1+fib2;
  fib2=fib2+fib1;}
  }
  这种方法的程序代码很简短,但是要让学生真正理解其实现过程还是比较难的。授课过程中需要把迭代法的实现过程,即“fib1=fib1+fib2;fib2=fib2+fib1;”这两条语句的执行过程给学生讲得很详细,让学生深入领会其中的编程技巧才能达到比较好的效果,
  二、斐波那契数列在数组中的应用
  数组的每个元素可以对应数列中的一项,因此使用数组也可以计算输出菲波那契数列。以下是使用数组,计算输出该数列的前20项的具体代码:
  #include
  void main()
  {
  int i,fib[21];
  fib[1]=1;
  fib[2]=1;
  for(i=3;i<=20;i++)
  fib[i]=fib[i-2]+fib[i-1];
  for(i=1;i<=20;i++)
  {
  printf("%d\t",fib[i]);
  if (i%4==0) printf("\n" );
  }
  }
  程序中,数组长度定义为21,为了编程方便,只使用其中下标1到20的数组元素。可以发现,第一个for循环中的赋值语句和菲波那契数列的通项公式非常类似,因此,学生理解起来难度不高,明显要比第一种方法简单,不需要太多的编程技巧,体现出了数组的优点。另外使用这种方法时,数列的每一项都保存在对应的数组元素中,可以随时使用数列的任意一项,显然第一种方法是做不到这一点的。
  三、斐波那契数列在函数中的应用
  C语言是一种函数型的语言,C程序的基本组成单位就是一个个的函数。其中有一种函数叫做递归函数,递归函数的突出特征是自己调用自己。菲波那契数列的自身特征决定了它很适合用递归函数来实现。
  我们可以编写一个递归函数计算菲波那契数列任意一项的值,然后在main函数中写一个for循环,在循环体中调用这个递归函数计算输出数列的前20项。
  完整的程序代码如下,:
  #include
  long fib(int n)
  { long f;
  if (n==1 || n==2)
  f=1;
  else
  f=fib(n-1)+fib(n-2);
  return(f);
  }
  void main(void)
  { int i;
  for (i=1;i<=20;i++)
  { printf(“%ld\t”,fib(i));
  if (i%4==0)
  printf(“\n”);
  }
  printf(“\n”);
  }
  在第三種方法中,数列任意一项的计算和第二种方法类似,难度不高。在这段程序中,函数的返回值定义为long型,以使其可以计算的值更大一些,适用面更广一些。
  从运行结果看,以上三个程序实现了完全相同的效果,都计算输出了斐波纳契数列的前20项,并且都是输出五行,每行输出四个,但是其实现过程完全不同。
  以上总结分析了斐波纳契数列在C语言的三个典型知识点的中的应用,三种应用可以进行精心设计,制作成为相应的三段微课视频放在互联网上,方便学生使用移动终端进行访问,随时随地进行泛在学习。
  参考文献
  [1]黄昌军,李音,柴荣军. 素数问题在C语言教学中的应用[J]. 考试周刊,2015(89):118.
  [2]黄昌军,柴荣军,张婷曼. 泛在学习典型应用平台探讨[J]. 现代商贸工业,2016(29):171.
  [3]申云成,顾庆传. 用C语言程序实现斐波拉契数列的微课教学探讨[J]. 福建电脑,2014,30(6):147-149.
  [4]孙义欣,宋大伟. 斐波那契数列问题的C语言教学实施探讨[J]. 电脑编程技巧与维护,2012(16):151-152.
  [5]柴荣军,黄昌军,张婷曼. 基于智能终端的泛在学习个性化系统设计[J]. 新教育时代电子杂志:学生版,2016(1).
其他文献
【摘要】国际承包市场BIM应用的巨大市场利润已深深带动中国国内建筑市场BIM应用,而BIM人才培养是BIM建筑市场应用的一个重要障碍。高等教育作为高层次工程管理人才培养的摇篮,必须承担起建筑行业BIM发展的人才培养重担,跟上国际建筑产业发展的BIM步伐。基于此,本文主要对工程管理专业BIM技术课程建设进行分析探讨。  【关键词】BIM技术课程;工程管理专业;网络课程  【中图分类号】G642.3
【摘要】山东协和学院医学院临床医学专业在进行创新创业教育过程中,积极改进现有教育模式,设置实施创新创业教育的夏季学期,本文通过介绍山东协和学院医学院临床医学专业的夏季学期课程建设,积极探索与医学专业教育想融合的创新创业教育。  【关键词】创新创业教育;临床医学专业;夏季学期  【中图分类号】G643;R-4 【文献标识码】B 【文章编号】2095-3089(2017)09-0010-01  近年来
六氯苯环(hexachlorobenzene或简称为HCB)是一种能挥发的有毒物质,可在大气中远距离迁移,沉积在大气上空,对环境造成了一定的影响。因此研究HCB与大气中可能存在的活泼自由基的反
红色文化是中华传统文化的时代体现,也是珍贵的思想政治教育资源.吉安是红色老区,鉴于此得天独厚的地理条件,我们要积极利用好吉安红色文化资源,将吉安红色文化资源与学校思
【摘要】大学英语四级由笔试向网考的转型引起了全社会的关注,但四级网考的效度如何,很大程度上取决于能否搜集到足够的测试数据。iTEST系统是当今市面上为数不多的可以模拟四级网考的语言测试与训练系统。通过iTEST系统对学生进行四级网考模测、统计得失分、采集数据和分析,可以对四级网考的信度和效度有个准确的判断。  【关键词】iTEST系统 CET-4网考 大学英语教学 南通大学  导语  随着网络技术
新装锅炉用六偏磷酸钠煮炉造膜取得好效果。
在一种学科中的教学中,想要达到好的教学效果就会加入很多的教学方式,审美教育是在进行英语教学时的一种教学形式。审美教育不同于别的教育形式,加入进去比较复杂,不管是对于