1、|一个农夫带着一只猫、一只鸡和一袋米一个农夫带着一只猫、一只鸡和一袋米要过河,但只有一条小船。乘船时,农要过河,但只有一条小船。乘船时,农夫只能带一样东西。当农夫在场的时候,夫只能带一样东西。当农夫在场的时候,这三样东西相安无事。一旦农夫不在,这三样东西相安无事。一旦农夫不在,猫会吃鸡,鸡会吃米。猫会吃鸡,鸡会吃米。|第六步:农夫返回第六步:农夫返回|第一步:农夫带鸡过河第一步:农夫带鸡过河|第二步:农夫自己返回第二步:农夫自己返回|第七步:农夫带鸡过河第七步:农夫带鸡过河|第五步:农夫带米过河第五步:农夫带米过河|第三步:农夫带猫过河第三步:农夫带猫过河|第四步:带鸡返回第四步:带鸡返回|定
2、义定义1:用来表示解决问题的方法和步:用来表示解决问题的方法和步骤骤|定义定义2:解题方法的精确描述:解题方法的精确描述算法的特征算法的特征|有穷性:算法的步骤应是有限的有穷性:算法的步骤应是有限的|确定性:确定性:算法中的每个步骤必须是明算法中的每个步骤必须是明确的,即没有确的,即没有“二义性二义性”|可执行性:可执行性:算法中的每个步骤是能行算法中的每个步骤是能行的,在有限的时间内可以完成的,在有限的时间内可以完成算法的特征算法的特征|有有0个或多个输入:算法在执行时需从个或多个输入:算法在执行时需从外界获取数据外界获取数据|有一个或多个输出:有一个或多个输出:算法是用来解决问算法是用来解
3、决问题的,问题求解的结果应以一定的方式题的,问题求解的结果应以一定的方式输出输出|方法方法1 1:|方法方法2 2:|方法方法3 3:泡泡 茶茶算法的表示算法的表示|自然语言自然语言|流程图流程图|计算机语言计算机语言程序设计语言如程序设计语言如BASICBASIC、VBVB、PascalPascal、C+C+、JavaJava等等。用一些几何图形符号表示各种类型用一些几何图形符号表示各种类型的操作,并在框内以简明文字或符的操作,并在框内以简明文字或符号表示具体操作号表示具体操作开始输入a、b的值c=ab=ca=b输出a、b的值结束流流 程程 图图输入、输出框:标明输输入、输出框:标明输入、输
4、出的内容入、输出的内容处理框:指出要处理的内容处理框:指出要处理的内容判断框:标明判断条件判断框:标明判断条件流程线:控制流程方向流程线:控制流程方向开始、结束框开始、结束框程序的三种基本结构程序的三种基本结构刷牙,洗脸刷牙,洗脸结结 束束开开 始始早早 跑跑早早 餐餐早早 读读|顺序结构顺序结构顺序结构顺序结构|输入两个数输入两个数a a和和b b的值,编写程序,交的值,编写程序,交换换a a和和b b的值,并输出的值,并输出a a和和b b的值。的值。例如:例如:输入:输入:a a100100,b b6060 输出:输出:a a60 60 ,b b100100开开 始始输入输入a、b的值的
5、值c=ab=ca=b输出输出a、b的值的值结结 束束INPUT a,bc=aa=bb=cPrint a,bENDY YN N 下 节 是 电下 节 是 电脑脑 操作课?操作课?结结 束束开开 始始下下 课课 了了去四楼机房去四楼机房在教室上课在教室上课程序的三种基本结构程序的三种基本结构|分支结构分支结构(选择结构选择结构)分支结构分支结构(选择结构选择结构)|输入两个数输入两个数a a和和b b,比较,比较a a、b b的大小,的大小,输出较大的值。输出较大的值。例如:例如:输入:输入:a a100100,b b6060 输出:输出:max=100max=100分支结构分支结构(选择结构选择
6、结构)Y YN N ab?结结 束束开开 始始maxamaxb输入输入a、b的值的值输出输出max的值的值Input a,bIf ab Then max=aElse max=bEnd IfPrint maxEndY YN N 存储空间存储空间 满了?满了?结结 束束开开 始始拿出照相机拿出照相机不能拍照了不能拍照了取景拍照取景拍照|循环结构循环结构程序的三种基本结构程序的三种基本结构循环结构循环结构|求求n n阶乘阶乘 n!=1n!=12 23 3n n 例如:例如:n=6n=6 6!=6!=1 12 23 34 45 56 6开开 始始输入输入n n的值的值f=1,i=1i=n?i=n?结结 束束输出输出f f的值的值N Nf=ff=fi,i i,i=i+1=i+1Y YInput nf=1i=1While i=n f=f i i=i+1WendPrint fEnd