简单算法制定_第1页
简单算法制定_第2页
简单算法制定_第3页
简单算法制定_第4页
简单算法制定_第5页
已阅读5页,还剩20页未读 继续免费阅读

下载本文档

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

文档简介

补充简单算法设计程序的简单算法制定本章主要内容1.结构化程序的算法设计2.结构化算法的性质及结构3.结构化算法的描述方法4.结构化算法流程图思考如何编程实现以下各题【例1】要求从键盘输入3个数,找出其中最小的那个数,将其输出到屏幕。【例2】从键盘输入两个变量的值a、b,请按输入值从小到大的顺序将这两个变量的值输出到屏幕。【例3】几何级数求和:sum=1+2+3+4+5…+(n−1)+n。程序的简单算法制定算法:解决问题的方法和要遵循的步骤。算法描述了程序要执行的操作及操作的步骤顺序。程序的功能是通过算法来描述的。C语言程序是一种结构化的程序。结构化程序:问题可以分解成相互独立的几个部分。每个独立部分可以通过简单的语句或结构来实现。分问题解的过程就是算法设计的过程。重点:掌握分析问题、解决问题的方法。

1.结构化程序的算法设计【例1】要求从键盘输入3个数,找出其中最小的那个数,将其输出到屏幕。请给出解决这个问题的算法。分析:程序对于从键盘输入的3个数必须用3个变量来保存,分别用a,b,c代表输入的3个数,另外,还需要一个变量min来保存最小的那个数。1.先比较a和b的值,把数值小的放入min中;2.再将min与c比较,又把数值小的放入min中。3.经过两次比较,min中已存放的是a,b,c3个数中最小的数。把min的值输出就是所需结果。算法步骤:1.输入3个数,其值分别赋给3个变量a,b,c;2.把a与b中较小的那个数放入变量min中;3.把c与min中较小的那个数放入变量min中;4.输出最后结果min的值。改进上面的算法描述,将第2步和第3步的算法具体化。1.输入三个数,其值分别赋给三个变量a,b,c;2.比较a与b的值,如果a<b,则min=a;否则min=b;3.比较c与min的值,如果c<min,则min=c;4.输出最后结果min的值。通过算法描述的步骤,可以很方便地用程序语言来实现。2.结构化算法的性质及结构2.1结构化算法性质1.算法名称给算法命名,是为了方便算法的描述,在C语言中,算法的名字通常就是函数名。2.输入算法应有输入的数据或初始条件。3.输出算法通常会有一个或多个输出,是对输入数据加工后的结果。4.有效性算法的每一步都是可执行的,可通过人工计算的。5.正确性算法的结果必须是正确的,可验证的。6.有限性任何算法必须在执行有限条指令后结束。2.2结构化算法的结构在C语言算法的主要结构有如下3种。1.顺序结构顺序结构的特点:程序在执行过程中是按语句的先后顺序来执行的,每一条语句都代表着一个功能,2.分支结构分支结构的特点:程序在执行过程中,会根据条件的不同有选择的执行不同的功能。3.循环结构循环结构的特点:程序在执行过程中,在一定的时间段内或一定的条件下,重复地执行某个功能,直到时间已到或条件不再满足。程序设计要解决的两个主要问题:

(1)按什么顺序或步骤来执行;(2)用什么语句来实现。算法设计是核心问题。提示3.结构化算法的描述方法常用的描述方法有自然语言、流程图、伪代码等。

3.1自然语言

用类自然语言表示算法。如:汉语、英语或其他语言。

特点:通俗易懂,简单明了。【例2】从键盘输入两个变量的值a、b,请按输入值从小到大的顺序将这两个变量的值输出到屏幕。请写出这个问题的算法描述。算法描述:第1步:输入变量a和b的值;第2步:比较a和b的值;如果a大于等于b,则先输出a,再输出b;否则,先输出b,再输出a;第3步:算法结束。【例3】几何级数求和:sum=1+2+3+4+5…+(n−1)+n。请写出该问题的算法。算法描述:第1步:给定一个大于0的正整数n的值;第2步:定义一个整型变量i,设其初始值1;第3步:定义整型变量sum,其初始值设置为0;第4步:如果i小于等于n,则转第5步,否则执行第8步;第5步:将sum的值加上i的值后,重新赋值给sum;第6步:将i的值加1,重新赋值给i;第7步:执行第4步;第8步:输出sum的值;第9步:算法结束。思考:①该问题的其他描述。②用自然语言描述算法的缺陷。3.2流程图流程图是一种算法的形象表示。流程图是由流程线和几何图形框连接而成的。算法流程图的符号采用美国国家标准化协会(ANSI)规定的一些常用符号:开始框判断框结束框执行框数据框连接符流程线算法流程图的3种基本结构:顺序结构、分支结构、循环结构1.顺序结构顺序结构是一种简单的线性结构,根据流程线所示的方向,按顺序执行各矩形框的指令。基本流程图:注:指令A、指令B、指令C可以是一条或多条指令。执行顺序:A—B—C。2.分支结构分支结构要对给定的条件进行判断,看是否满足给定的条件,根据条件结果的真假而分别执行不同的执行框。基本流程图有两种:注:

(1)虚线框表示可将分支结构看成一个矩形框。

(2)指令A、指令B可以是一条或多条指令,也可以是分支结构。3.循环结构分支结构是在条件为真的情况下,重复执行某个执行框中的内容。基本流程图有两种:注:(1)虚线框表示可将循环结构看成一个矩形框。

(2)指令A称为循环体,可以是一条或多条指令,也可以是其他分支或循环结构。

(3)do_while结构可以转化成while结构。(1)while循环:(2)do_while循环:循环结构的特点:①在循环体指令A中必须要有对条件的值进行修改的语句,使得经过有限次循环后,循环一定能结束。②while型循环中循环体可能一次都不执行,而do_while型循环则至少执行一次循环。③do_while型循环可以转化成为while型循环结构,但while型循环不一定能转化为do_while型循环。关于结构化流程图的规则:1.可分别将顺序结构、分支结构、循环结构的基本流程图看成是一个执行框。2.任何两个按顺序的执行框可以合并为一个执行框。

反复运用规则1和规则2可得到结构化流程图的最简形式:特别提示【例4】分析下面的流程图,是否符合结构化算法标准。运用规则【例5】将例1的算法用流程图表示,分析其是否符合结构化的标准。从键盘输入3个数,找出其中最小的那个数,将其输出到屏幕。运用规则

【例6】将例2所描述的问题用算法流程图来表示。从键盘输入两个整型变量a,b的值,按输入值从小到大的顺序输出到屏幕。算法流程图为:【例7】将例3所描述的问题用算法流程图来表示。计算几何级数的和:sum=1+2+3+4+5+…+(n−1)+n。算法流程图为:4.算法设计范例【例8】把从键盘输入的大写字母转换成小写字母输出,若为小写字母或其他字符,则不作任何转换直接输出。分析:用字符变量ch来接收从键盘输入的字符。大、小写字母的ASCII码值相差32,大写字母A的值为65,而小写字母a的值为97。流程图描述的算法:【例9】已知实数a,b,计算u的值:u=(r+s)2,并将计算结果输出到屏幕。当a<b时,r=a2−b2,

。当a≥b时,r=b2−a2,

。分析:用a,b,r,s,u分

温馨提示

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

评论

0/150

提交评论