《算法的表示方法》PPT课件.ppt_第1页
《算法的表示方法》PPT课件.ppt_第2页
《算法的表示方法》PPT课件.ppt_第3页
《算法的表示方法》PPT课件.ppt_第4页
《算法的表示方法》PPT课件.ppt_第5页
已阅读5页,还剩26页未读, 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、1.3算法的表示方法,算法的描述,1、自然语言描述 2、用流程图描述 3、用伪代码或直接用计算机程序描述,易理解,但书写烦、易引起歧义,直观、形象,能被计算机识别和执行,伪代码,是介于自然语言和计算机程序语言之间的一种算法描述,它也是专业软件开发人员描述算法的一种常用方法。,1、自然语言描述算法,【例1】交换两个杯子中的液体。,提问同学,如何处理? 将杯子A中的液体倒给杯子C; 将杯子B中的液体倒给杯子A; 将杯子C中的液体倒给杯子B。,A,B,2、用流程图描述算法,【例3】将例2用流程图来描述。,1.3.4算法的执行流程,顺序结构 分支结构(选择结构) 循环结构(重复结构),1.3.4算法的

2、执行流程,顺序结构,1.3.4算法的执行流程,顺序结构,【例1】 键盘输入半径r,求该圆周长及面积并输出。,1、分析问题: 输入数据: 处理问题: 输出数据: 2、设计算法:,r,开始,结束,输入半径r,计算圆周长c=2*3.14*r,计算圆面积s=3.14*r*r,输出周长c,输出面积s,程序代码: Input r C=2*3.14*r S=3.14*r*r Print c Print s,1.3.4算法的执行流程,顺序结构,【例2】 交换变量a,b的值。,1、分析问题: 输入数据: 处理问题: 输出数据:,2、设计算法:,开始,结束,输入变量a、b,输出变量a、b,程序代码: Input

3、a,b c=a a=b b=c Print a Print b,c=a a=b b=c,1.3.4算法的执行流程,顺序结构,【例3】 连续输出5个*,设计程序并调试。,1、分析问题: 输入数据: 处理问题: 输出数据:,2、设计算法:,开始,结束,输出“*”,程序代码: Print “*” Print “*” Print “*” Print “*” Print “*”,输出“*”,输出“*”,输出“*”,输出“*”,1.3.4算法的执行流程,顺序结构,【例19】键盘输入一个二位正整数n,输出它的十位数x。,1、分析问题: 输入数据: 处理问题: 输出数据:,2、设计算法:,int(x)取整函数

4、,【例4】输入任意一个二位正整数n,输出n的十位数。如输入45,则输出4.,开始,结束,输入二位正整数n,输出a,十位数a=int(n/10),程序代码: Input n a=int(n/10) Print a,1.3.4算法的执行流程,顺序结构,【例19】键盘输入一个二位正整数n,输出它的十位数x。,int(x)取整函数 取余 mod,【例5】输入任意一个三位正整数n,输出这个三位数各位数字之和total。例如:输入456,输出结果为15。,开始,结束,输入三位正整数n,输出total,百位数a=int(n/100),程序代码: Input n a=int(n/100) b=int(n-a*

5、100)/10) c=n mod 10 total=a+b+c Print total,十位数b=int(n-a*100)/10),个位数c=n mod 10,total=a+b+c,1.3.4算法的执行流程,分支结构,双分支结构,单分支结构,1.3.4算法的执行流程,双分支结构,单分支结构,【例24】打印出从键盘输入的两个不相等的数中较大的数。(双分支结构),1.3.4算法的执行流程分支结构,【例25】求分段函数值 。,y=,x2,2x+1,x3,x=3,流程图:,双分支结构,1.3.4算法的执行流程分支结构,流程图:,【例26】输入一个数到变量a,输出它的绝对值。 (不用绝对值函数)。,分

6、析问题: 输入什么数据? 处理什么问题? 输出什么数据?,单分支结构,1.3.4算法的执行流程分支结构,双分支结构,单分支结构,流程图:,【例27】输入两个不相等的数a,b,比较大小,将大数放在a中,小数放在b中,然后输出a,b。(单分支结构),单分支结构,分析问题: 输入什么数据? 处理什么问题? 输出什么数据?,1.3.4算法的执行流程分支结构,单分支结构,流程图:,【例28】某超市促销苹果,购买一斤苹果,为每斤3元,购买5斤以下每斤原价;超过5斤部分每斤打8折,输入购买的斤数,输出应付款额。(双分支结构),分析问题: 输入什么数据?(从键盘输入购买的斤数weight) 处理什么问题?(按

7、规定计算应付款额pay) 输出什么数据?(应付款额pay),1 (x0) y= 0 (x=0) -1 (x0),1.3.4算法的执行流程分支结构,单分支结构,流程图:,【例29】分段函数问题。(分支嵌套),1.3.4算法的执行流程分支结构,【例30】购买地铁车票:乘1-4 站 3元/位;5-9站 4元/位;9站以上5元/位;输入人数person、站数n,输出应付款pay。(分支嵌套),流程图:,分析问题: 输入什么数据? 处理什么问题? 输出什么数据?,1.3.4算法的执行流程分支结构,【例31】某手机话费套餐规定:每月60元,可通话300分钟,超过300分钟的部分,另按每分钟0.4元计算。键

8、盘输入当月通话时间(分钟),计算当月实际需付的手机费。如果输入的通话时间小于0,则应输出“输入数据有误”的提示信息。,流程图:,分析问题: 输入什么数据? 处理什么问题? 输出什么数据?,1.3.4算法的执行流程循环结构,1、定义:某些操作进行重复执行的结构。,2、基本模式:当型循环,直到型循环,当型循环,直到型循环,循环条件,循环体,循环体,循环条件,3、组成: 循环体:重复执行的步骤。 循环条件:判断是否执行循环体的条件。,1.3.4算法的执行流程循环结构,【例1】过马路问题: 如果红灯,则等待,重复前面过程,否则过马路。,组成: 循环体:等待。 循环条件:是否红灯。,当型循环,是 绿 灯

9、 吗,直到型循环,1.3.4算法的执行流程循环结构,【例2】打印输出五个“你真棒!” 。,组成: 循环体:输出“你真棒!” 循环条件:输出“你真棒!”个数是否满5个。,当型循环,循环变量三要素: 初值、终值、步长,1.3.4算法的执行流程循环结构,若需要循环次数为n,通常循环变量i初值为1,终值为n,步长为1,判断条件为i=n,计数语句i=i+1位于循环体最后。,1.3.4算法的执行流程循环结构,【例3】求65+90+10+35+75的和s。,组成: 循环体:输入一个数据x,加到表示和的变量s中。 循环条件:循环变量i是否满5次。,累加器:循环体中,将输入的数据x加到变量s中去,采用的是s=s

10、+x的方法,这种方法称为累加,变量s起到了累加数据的作用,称为累加器。累加器初值一般为0。,循环变量:设置变量i作为循环变量,起计数器的作用,控制循环次数。,用变量跟踪表体会循环过程。,1 0,2 65,3 65+90,4 65+90+10,5 65+90+10+35,6 65+90+10+35+75,1.3.4算法的执行流程循环结构,【例4】计算s=1+2+3+4+5的值。,组成: 循环体:输入变量x,设置变量s作为累加器,实现累加。 循环条件:设置循环变量i,作为计数器,循环次数5次。,用变量跟踪表体会循环过程。,1 0,2 1,3 1+2,4 1+2+3,5 1+2+3+4,6 1+2+3+4+5,1.3.4算法的执行流程循环结构,练习:,组成: 循环体:输入变量x,设置变量s作为累乘器,实现累乘。 循环条件:设置循环变量i,作为计数器,循环次数5次。,用变量跟踪表体会循环过程。,1 1,2 1,3 1*2,4 1*2*3,5 1*2*3*4,6 1*2*3*4*5,如果求s=1*2*3*4*5的值,流程图该如何调整?,累乘器:循环体中,将循环变量i的值乘到变量s中去,采用的是s= s*i 的方法,这种方法称为累乘,变量s起到了累乘数据的作用,称为累乘器。累加

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论