第一篇:斐波那契数列通项公式的证明
斐波那契数列:1、1、2、3、5、8、13、21、34……它的通项公式为:an1[(15)n(1)n]
1解得证明:令anan1(an1an2)(n3)则有1
121
或
121
故有
(1)
an
1151111an1(an1an2)或(2)anan1(an1an2)222222
anan1
1an111515,因为n3故数列{an}是以aaa1为首项,n122221an
2(Ⅰ)由(1)得
以
1115n215
为公比的等比数列,所以,anan1(a2a1)()由a1a21得2222
1an12
an
11n1anan11 ()两边同除以(15)n得:221n115n115
()()2222
即
an(1n)2
1an1
11n1
()2
anan115移项得1515(n3)则由
221n11n1
()()22
1anan1155所以{an得,}是以2[]k
5151n15551n115n
()()()1
2221a2(152)2
1an
为首项为公比的等比数列。故511(2
)n
a21n2
[]()551521()2
a2515n2,由(1)2(2)2化简可得 得a(15)n{[]()}n
2152551215
()2
an
15n15n)()](n3)(*)验证可得,当n=
1、n=2时,a1a21故斐波那契数列中,225[(*
对于nN,(*)式都成立。
*
(Ⅱ)同理,由(2)an1an11(an11an2)也可得斐波那契数列中,(*)式对于nN都成立
222
所以,斐波那契数列的通项公式即为:an
15n15n)()] 225[(木鱼石整理
第二篇:斐波那契数列演讲稿
Speech 斐波那契数列在欧美可谓是尽人皆知,于是在电影这种通俗艺术中也时常出现,比如在风靡一时的《达芬奇密码》里它就作为一个重要的符号和情节线索出现,在《魔法玩具城》里又是在店主招聘会计时随口问的问题。可见此数列就像黄金分割一样流行。可是虽说叫得上名,多数人也就背过前几个数,并没有深入理解研究。
另外,观察延龄草、野玫瑰、南美血根草、大波斯菊、金凤花、耧斗菜、百合花、蝴蝶花的花瓣,可以发现它们花瓣数目具有斐波那契数:3、5、8、13、21、……
斐波那契数还可以在植物的叶、枝、茎等排列中发现。例如,在树木的枝干上选一片叶子,记其为数0,然后依序点数叶子(假定没有折损),直到到达与那息叶子正对的位置,则其间的叶子数多半是斐波那契数。叶子从一个位置到达下一个正对的位置称为一个循回。叶子在一个循回中旋转的圈数也是斐波那契数。在一个循回中叶子数与叶子旋转圈数的比称为叶序(源自希腊词,意即叶子的排列)比。多数的叶序比呈现为斐波那契数的比。对于许多植物来说,每片叶子从中轴附近生长出来,为了在生长的过程中一直都能最佳地利用空间(要考虑到叶子是一片一片逐渐地生长出来,而不是一下子同时出现的),每片叶子和前一片叶子之间的角度应该是222.5度,这个角度称为“黄金角度”,因为它和整个圆周360度之比是黄金分割数0.618033989……的倒数,而这种生长方式就决定了斐波那契螺旋的产生。
斐波那契螺旋:具有13条顺时针旋转和21条逆时针旋转的螺旋的蓟的头部
斐波那契数有时也称松果数,因为连续的斐波那契数会出现在松果的左和右的两种螺旋形走向的数目之中。这种情况在向日葵的种子盘中也会看到。向日葵的种子排列形成的斐波那契螺旋有时能达到89,甚至144条。
菠萝是又一种可以检验斐波那契数的植物。对于菠萝,我们可以去数一下它表面上六角形鳞片所形成的螺旋线数。
(斐波那契数列在自然界中的出现是如此地频繁,这些植物懂得斐波那契数列吗?)人们深信这不是偶然的。应该并非如此,它们只是按照自然的规律才进化成这样。这似乎是植物排列种子的“优化方式”,它能使所有种子具有差不多的大小却又疏密得当,不至于在圆心处挤了太多的种子而在圆周处却又稀稀拉拉。
其实生活中很多事情也就是这样的,一切都有其规律性,冥冥中一切自有安排!是啊!《触摸未来》中的很多情节似乎离我们现实生活很近很近,因为这就是真实,就是真理,这部美剧正在代表这个时代的人们去探索和更新我们的知识。世界有着无数的关联,自有它的定数,自有它的规律!只要我们尊重规律,我们就可以避免受伤!
2012年在古代玛雅历上是这个纪元的最后一年,世界上有1/7的人都认为是世界末日,其实我想,人类为了自己的目的一直在不断伤害着我们的地球母亲,着或许是古老文化对我们的一种警告如果我们现在学会懂得去尊重地球的规律,我们还可以继续看见未来升起的阳光!
第三篇:《斐波那契数列》教学反思
根据上午说课后其他老师的建议,我做了修改:
(一)引入部分简化,斐波那契数列的学习同样也运用了化难为易的思想,在刘**老师的授课《斐波那契数列》中多次提到难易的转化,我们的学生也认真地进行了这节《斐波那契数列》的学习,给我们的学生试课可以这样引入:
孩子们,我们在学习《斐波那契数列》时是怎么发现小兔子数量的规律呢?对,化难为易,我们可以用化难为易的方法解决很多问题,那老师请你们来试试连线游戏,在平面上有100个点,这些点能连成多少条线段?
学生回答不上来时,教师指导:100个点连线有点多有点难,老子说:“天下难事做于易。”我们就从最简单的两个点开始研究,用数学的思考方法解决点连线的问题。
这样的引入斐波那契数列就不只是欣赏,而是数学思考方法的延续。
可是,不知道其他学校的教师能否重视教材65页的阅读资料《斐波那契数列》,所以还是没底。
(二)探究过程的连线过程又做了一遍,原来用了四张幻灯片而且一直一闪而过,感觉有点杂有点多,我修改用一个表格一张幻灯片呈现,这样就不觉得繁杂。这点怪我有点懒了,用别人现成的,所以今天又用了半个下午修改了一遍。
第四篇:斐波那契数列递归和迭代&循环链表队列初始化实验报告
第一次实验实验报告
班级:2009211307 姓名:吕博文 学号:09211297 分工情况:个人一组 完成日期:11月5日
斐波那契数列递归和迭代算法
一、问题描述
分别写出下列函数的递归算法和迭代算法,并求出n=10时的函数值。Fib(n)= n
当n=0或n=1 Fib(n-2)+ Fib(n-1)当n>=2
二、算法思想
用递归算法求解时,若输入的n的值为0或1,根据问题描述中Fib(n)的递归定义,算法直接返回n作为输出结果。当输入的n的值大于等于2时,根据Fib(n)的递归定义,算法将调用自身计算Fib(n-2)和Fib(n-1)的值,然后返回二者的和。
用迭代算法求解时,先初始化Fib(0)和Fib(1)的值,用两个变量curValue和preValue存储,curValue存储较大的数值,preValue存储较小的数值。若输入的n的值为0或1,算法直接返回n。若输入的n的值大于等于2,循环n-1次,每次循环将curValue和preValue的值相加存入curValue中,并用preValue存储原来curValue的值,为下一次循环做好准备。最终的curValue的值即为Fib(n)的值。
三、设计描述
先提示输入n的值,然后调用递归算法计算Fib(n),输出,再调用迭代算法计算Fib(n),输出。
递归算法
int ShowFib_1(int n){
if(n == 0 || n == 1)//初始条件 return n;
else//不符合初始条件时,用递推关系计算 return ShowFib_1(n-2)+ ShowFib_1(n-1);}
迭代算法
int ShowFib_2(int n){ preValue = 0;curValue = 1;//设定第一、第二项的值作为初始条件
if(n == 0 || n == 1)//第一、第二项可直接输出结果 return n;else
{
for(i = 2;i <= n;i++)//其余各项从前往后逐项相加
{ temp = curValue;curValue = curValue + preValue;preValue = temp;
} returncurValue;
} }
四、源程序
#include
int ShowFib_1(int n);//定义递归函数 int ShowFib_2(int n);//定义迭代函数
int main(){ int n;
cout<< “N=?:”;cin>> n;
//递归算法
cout<< “用递归算法计算” < //迭代算法 cout<< “用迭代算法计算” < //递归算法 int ShowFib_1(int n){ if(n == 0 || n == 1)//判定初始条件 return n;else// return ShowFib_1(n-2)+ ShowFib_1(n-1);} //迭代算法 int ShowFib_2(int n){ intpreValue = 0, curValue = 1;//设定第一、第二项的值 if(n == 0 || n == 1)// return n;else { for(int i = 2;i <= n;i++)//其余项从前往后逐项相加 { int temp;temp = curValue;curValue = curValue + preValue;preValue = temp; } returncurValue; } } 五、测试结果 N=40时利用递归求算时计算机反应速度较慢 N=10时 六、心得体会 在N=40时,等待递归算法算出结果时间较长,可见递归算法计算斐波那契数列的效率不高。但使用迭代算法则想法,可见虽然迭代算法的思路稍难于递归算法,但时间复杂度与空间复杂度均优于递归算法。故更应推荐迭代算法。 另外,本题难度低,过程中没什么问题,故无太多感想。 第二题 一、问题描述 假设以带头结点的循环链表表示队列,并且只设一个指针指向队尾元素结点而不设头指针,试编写相应的队列初始化、入队列、出队列和判断队列状态的算法。 利用上述算法完成下面的各操作,并在每一操作后输出队列状态。 1)下列元素逐一入队:5,7,3,8,55 状态:5个元素 2)3个元素出队 状态:2个元素 3)再2个元素出队 状态:队空 4)再1个元素出队 状态:队空(指示下溢) 二、算法思想 主函数中新建一个队列的对象,然后调用其成员函数进行队列的操作。将5,7,3,8,55 入队→5,7,3出队→8,55出队→在队列为空时出队 每次操作后均输出当前队列状态。 三、设计描述 class Queue{ //建立一个队列类 public: Queue(){} ~Queue(); intInit(); //初始化队列 int Insert(int); //入队 int Delete(int&); //出队 intQState(); //判断状态 private: typedefstruct node { int data;struct node *next;}Node;Node *rear;}; 四、源程序 #include class Queue { public: Queue(){} ~Queue(); intInit();//初始化队列 int Insert(int);//入队 int Delete(int&);//出队 intQState();//判断状态 private: typedefstruct node { int data; struct node *next;}Node;Node *rear;}; int Queue::Init()//初始化 { rear=new Node;if(rear){ rear->data=-1; rear->next=rear; return 1;} return 0;} int Queue::Insert(intelem)//入队 { Node * newd=new Node; newd->data=elem;newd->next=rear->next;rear->next=newd;rear=newd;return 1;} int Queue::Delete(int&elem)//出队 { if(rear==rear->next) return 0; Node *p=rear->next->next;elem=p->data;rear->next->next=p->next;if(p==rear)//删最后一个 rear=rear->next;free(p);return 1; } int Queue::QState()//判定状态 { int i=0;Node *q=rear->next; cout<<“队列状态:”< cout< q=q->next; i++;} if(0==i) cout<<“空”< else cout< Queue::~Queue()//删除,如有未释放空间 { int i;if(rear) } { } if(rear->next==rear)free(rear);else { while(rear->next!=rear) Delete(i);free(rear);} //主函数 int main(){ Queue DQ;intele;DQ.Init();DQ.QState(); cout<<“依次将5,7,3,8,55入队”< 5,7,3,8,55 cout<<“将5,7,3出队n”;system(“pause”); if(DQ.Delete(ele))// 出队 cout< if(DQ.Delete(ele)) cout< if(DQ.Delete(ele)) cout< DQ.QState();//当前状态 8,55 cout<<“再将8,55出队”< system(“pause”); if(DQ.Delete(ele)) cout< cout< cout<<“下一步将在空的队列里进行删除操作”< if(DQ.Delete(ele)) cout< } cout<<“队列已满,下溢”< system(“pause”); 五、测试结果 六、心得体会 这个程序的实现关键在于类,类对于数据结构可以说是非常重要非常基础也是必不可少的一个杀手锏。在编这道题的过程中,最初的想法是设计一个程序可以实现入队、出队、上溢下溢提示,但考虑到这道题的具体要求,改为了程序自动将题目所要求出入队的元素进行操作,不过不影响核心算法核心思想的实现。 《数列通项公式》教学设计 【授课内容】数列通项公式 【授课教师】陈鹏 【授课班级】高三6班 【授课时间】2009年10月20日晚自习【教学目标】 一、知识目标: 1.解决形如an+1=pan +f(n)通项公式的确定。 2.通过学习让学生掌握和理解an+1=pan +f(n)此类型的通项公式的求法。 二、能力目标: 在实践中通过观察、尝试、分析、类比的方法导出数列通项公式,培养学生类比思维能力。通过对公式的应用,提高学生分析问题和解决问题的能力。利用学案导学,促进学生自主学习的能力。 三、情感目标: 通过公式的推导使学生进一步体会从特殊到一般,再从一般到特殊的思想方法。【教学重点】 通过学习让学生能够熟练准确的确定掌an+1=pan +f(n)此类型的通项公式,并 能解决实际问题。【教学难点】 1.如何将an+1=pan +f(n)转化为我们学过的两个基础数列(等差和等比)。2.理解和掌握an+1=pan +f(n)此类型数列通项公式确定的数学思想方法。【教学方法】探索式 启发式 【教学过程】 一.引入: 1、等差、等比数列的通项公式? 2、如何解决an+1–an =f(n)型的通项公式? 3、如何解决an+1∕an =f(n)型的通项公式? 二.新授内容: 例1:设数列{an}中,a1=1, an+1=3an , 求an的通项公式。 解:略 例2:设数列{an}中,a1=1, an+1=3an+1, 求an的通项公式。分析:设an+1=3an+1为an+1+A=3(an+A) 例3:设数列{an}中,a1=1, an+1=3an+2n, 求an的通项公式。 分析:设an+1=3an+2n为an+1+A(n+1)+B=3(an+An+B) 思考:设数列{an}中,a1=1, an+1-3an=2n, 求an的通项公式。 分析:法一:设an+1=3an+2n 为an+1+A2n+1 =3(an+A2n) 法二:an+1=3an+2n的等式两边同时除以2n方可解决 三.总结: 形如an+1=pan +f(n)此类数列通项公式的求法,可以通过适当的策略将问题化归为等差数列或等比数列问题加以解决。四.练习: 1、设数列{an}中,a1=1, an+1=2an+3, 求an的通项公式。 2、设数列{an}中,a1=1, an+1=3an+2n+1, 求an的通项公式。 3(2009全国卷Ⅱ理)设数列的前项和为sn ,已知a1=1, sn+1=4an +2(I)设bn=an+1 –2an,证明数列{bn}是等比数列(II)求数列的通项公式。 【课后反思】 递推数列的题型多样,求递推数列的通项公式的方法也非常灵活,往往可以通过适当的策略将问题化归为等差数列或等比数列问题加以解决。等差、等比数列是两类最基本的数列,是数列部分的重点,自然也是高考考查的热点,而考查的目的在于测试灵活运用知识的能力,这个“灵活”往往集中在“转化”的水平上。转化的目的是化陌生为熟悉,当然首先是等差、等比数列,根据不同的递推公式,采用相应的变形手段,达到转化的目的。 因而求递推数列的通项公式问题成为了高考命题中颇受青睐的考查内容。求递推数列通项公式的方法策略是:公式法、累加法、累乘法、待定系数法、换元法等等。只要仔细辨析递推关系式的特征,准确选择恰当的方法,是迅速求出通项公式的关键。 一、学情分析和教法设计: 1、学情分析: 学生在前一阶段的学习中已经基本掌握了等差、等比数列这两类最基本的数列的定义、通项公式、求和公式,同时也掌握了与等差、等比数列相关的综合问题的一般解决方法。本节课作为一节专题探究课,将会根据递推公式求出数列的项,并能运用累加、累乘、化归等方法求数列的通项公式,从而培养学生观察、分析、归纳、猜想的能力、逻辑思维能力以及演绎推理的能力。 2、教法设计: 本节课设计的指导思想是:讲究效率,加强变式训练、合作学习。采用以问题情景为切入点,引导学生进行探索、讨论,注重分析、启发、反馈。先引出相应的知识点,然后剖析需要解决的问题,在例题及变式中巩固相应方法,再从讨论、反馈中深化对问题和方法的理解,从而较好地完成知识的建构,更好地锻炼学生探索和解决问题的能力。 在教学过程中采取如下方法: ①诱导思维法:使学生对知识进行主动建构,有利于调动学生的主动性和积极性,发挥其创造性; ②分组讨论法:有利于学生进行交流,及时发现问题,解决问题,调动学生的积极性; ③讲练结合法:可以及时巩固所学内容,抓住重点,突破难点。 二、教学设计: 1、教材的地位与作用: 递推公式是认识数列的一种重要形式,是给出数列的基本方式之一。对数列的递推公式的考查是近几年高考的热点内容之一,属于高考命题中常考常新的内容;另一个面,数学思想方法的考查在高考中逐年加大了它的份量。化归思想是本课时的重点数学思想方法,化归思想就是把不熟悉的问题转化成熟悉问题的数学思想,即把数学中待解决或未解决的问题,通过观察、分析、联想、类比等思维过程,选择恰当的方法进行变换、转化,归结到某个或某些已经解决或比较容易解决的问题上,最终解决原问题的一种数学思想方法;化归思想是解决数学问题的基本思想,解题的过程实际上就是转化的过程。因此,研究由递推公式求数列通项公式中的数学思想方法是很有必要的。 2、教学重点、难点: 教学重点:根据数列的递推关系式求通项公式。教学难点:解题过程中方法的正确选择。 3、教学目标:(1)知识与技能: 会根据递推公式求出数列中的项,并能运用累加、累乘、化归等方法求数列的通项公式。(2)过程与方法: ①培养学生观察、分析、归纳、猜想的能力、逻辑思维能力以及演绎推理的能力; ②通过阶梯性练习和分层能力培养练习,提高学生分析问题和解决问题的能力,使不同层次的学生的能力都能得到提高。(3)情感、态度与价值观: ①通过对数列的递推公式的分析和探究,培养学生主动探索、勇于发现的求知精神; ②通过对数列递推公式和数列求和问题的分析和探究,使学生养成细心观察、认真分析、善于总结的良好思维习惯; ③通过互助合作、自主探究等课堂教学方式培养学生认真参与、积极交流的主体意识。 三、教学过程: (1)复习数列的递推公式、等差和等比数列的递推公式,并解决问题。(2)课堂小结(3)作业布置 已知:a1a0,an1kanb,(k0)(1)k,b在何种条件下,数列an分别成等差数列,等比数列.(2)若数列a,又非等比数列且ab n既非等差数列,k10, 如何求an的通项公式.(3)利用(2)的方法分别求出以下数列an的通项公式, ①若a11,2an13an2.②若a11,an2an13anan1.三、课后反思: 递推数列的题型多样,求递推数列的通项公式的方法也非常灵活,往往可以通过适当的策略将问题化归为等差数列或等比数列问题加以解决。等差、等比数列是两类最基本的数列,是数列部分的重点,自然也是高考考查的热点,而考查的目的在于测试灵活运用知识的能力,这个“灵活”往往集中在“转化”的水平上。转化的目的是化陌生为熟悉,当然首先是等差、等比数列,根据不同的递推公式,采用相应的变形手段,达到转化的目的。 因而求递推数列的通项公式问题成为了高考命题中颇受青睐的考查内容。求递推数列通项公式的方法策略是:公式法、累加法、累乘法、待定系数法、换元法等等。只要仔细辨析递推关系式的特征,准确选择恰当的方法,是迅速求出通项公式的关键。第五篇:《数列通项公式》教学设计