资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,3.4,算法及其实现,3.4算法及其实现,一个农夫带着一只猫、一只鸡和一袋米要过河,但只有一条小船。乘船时,农夫只能带一样东西。当农夫在场的时候,这三样东西相安无事。一旦农夫不在,猫会吃鸡,鸡会吃米。,农夫过河的故事,一个农夫带着一只猫、一只鸡和一袋米要过河,但只有一条小船。乘,第六步:农夫返回,农夫过河的故事,第一步:农夫带鸡过河,第二步:农夫自己返回,第七步:农夫带鸡过河,第五步:农夫带米过河,第三步:农夫带猫过河,第四步:带鸡返回,第六步:农夫返回农夫过河的故事第一步:农夫带鸡过河第二步:农,算 法,定义,1,:用来表示解决问题的方法和步骤,定义,2,:解题方法的精确描述,算 法定义1:用来表示解决问题的方法和步骤定义2:解题方法,算法的特征,有穷性:算法的步骤应是有限的,确定性:,算法中的每个步骤必须是明确的,即没有“二义性”,可执行性:,算法中的每个步骤是能行的,在有限的时间内可以完成,算法的特征有穷性:算法的步骤应是有限的确定性:算法中的每个步,算法的特征,有,0,个或多个输入:算法在执行时需从外界获取数据,有一个或多个输出:,算法是用来解决问题的,问题求解的结果应以一定的方式输出,算法的特征有0个或多个输入:算法在执行时需从外界获取数据有一,方法,1,:,方法,2,:,方法,3,:,泡 茶,方法1:方法2:方法3:泡 茶,算法的表示,自然语言,流程图,计算机语言,程序设计语言如,BASIC,、,VB,、,Pascal,、,C+,、,Java,等,。,用一些几何图形符号表示各种类型的操作,并在框内以简明文字或符号表示具体操作,开始,输入,a,、,b,的值,c=a,b=c,a=b,输出,a,、,b,的值,结束,算法的表示自然语言流程图计算机语言程序设计语言如BASIC、,流 程 图,输入、输出框:标明输入、输出的内容,处理框:指出要处理的内容,判断框:标明判断条件,流程线:控制流程方向,开始、结束框,流 程 图输入、输出框:标明输入、输出的内容处理框:指出,程序的三种基本结构,刷牙,洗脸,结 束,开 始,早 跑,早 餐,早 读,顺序结构,程序的三种基本结构刷牙,洗脸结 束开 始早 跑早,顺序结构,输入两个数,a,和,b,的值,编写程序,交换,a,和,b,的值,并输出,a,和,b,的值。,例如:,输入:,a,100,,,b,60,输出:,a,60,,,b,100,顺序结构输入两个数a和b的值,编写程序,交换a和b的值,并输,开 始,输入,a,、,b,的值,c=a,b=c,a=b,输出,a,、,b,的值,结 束,INPUT a,b,c=a,a=b,b=c,Print a,b,END,开 始输入a、b的值c=ab=ca=b输出a、b的值结,Y,N,下节是电脑,操作课?,结 束,开 始,下 课 了,去四楼机房,在教室上课,程序的三种基本结构,分支结构,(,选择结构,),YN 下节是电脑 结 束开 始下 课 了去四楼机房,分支结构,(,选择结构,),输入两个数,a,和,b,,比较,a,、,b,的大小,输出较大的值。,例如:,输入:,a,100,,,b,60,输出:,max=100,分支结构(选择结构)输入两个数a和b,比较a、b的大小,输出,分支结构,(,选择结构,),Y,N,ab?,结 束,开 始,max,a,max,b,输入,a,、,b,的值,输出,max,的值,Input a,b,If,ab,Then,max=a,Else,max=b,End If,Print max,End,分支结构(选择结构)YN ab?结 束开 始m,Y,N,存储空间,满了?,结 束,开 始,拿出照相机,不能拍照了,取景拍照,循环结构,程序的三种基本结构,YN 存储空间结 束开 始拿出照相机不能拍照了取景拍,循环结构,求,n,阶乘,n!=123,n,例如:,n=6,6!=,12345,6,循环结构求n阶乘 n!=123n,开 始,输入,n,的值,f=1,i=1,i=n?,结 束,输出,f,的值,N,f=f,i,i=i+1,Y,Input n,f=1,i=1,While,i=n,f=f,i,i=i+1,Wend,Print f,End,开 始输入n的值f=1,i=1i=n?结 束输出f的值,
展开阅读全文