程序设计和基本流程_第1页
程序设计和基本流程_第2页
程序设计和基本流程_第3页
程序设计和基本流程_第4页
程序设计和基本流程_第5页
已阅读5页,还剩31页未读 继续免费阅读

下载本文档

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

文档简介

程序设计和基本流程演示文稿当前1页,总共36页。(优选)程序设计和基本流程当前2页,总共36页。1.1.1程序设计语言的发展历史机器语言汇编语言高级语言面向过程面向对象CPU指令系统,由0、1序列构成的指令码组成如:10000000加

10010000减用助记符号描述的指令系统如ADDA,B程序设计是数据被加工的过程客观世界可以分类,对象是类的实例对象是数据和方法的封装对象间通过发送和接受消息发生联系程序设计关键是定义类,并由类派生对象冯.诺依曼结构:计算机运算器控制器存储器主机:I/O设备:键盘、显示器等中央处理器CPU面向机器的语言当前3页,总共36页。5254565860626466687072747678808284868890929496AdaALGOL60ALGOL68PascalModula-2CPLBCPLBCC++JavaLISPPROLOGCOBOLFORTRAN77FORTRANPL/1Simula67Smalltalk80BASICANSI-BASICQBASICVBFORTRAN90程序设计语言发展时间表当前4页,总共36页。1.1.2程序的基本构成例1.1第一个程序Hello,World!/*example1.1ThefirstCProgram*/#include<stdio.h>main(){printf(“Hello,World!”);}注释编译预处理函数语句输出:Hello,World!当前5页,总共36页。/*例1.2计算a和b的和*/#include<stdio.h>/*Thisisthemainprogram*/main(){inta,b,sum;

a=10;

b=24;

sum=add(a,b);

printf(”sum=%d\n",sum);}/*Thisfunctioncalculatesthesumofxandy*/intadd(intx,inty){intz;

z=x+y;

return(z);}运行结果:sum=34函数语句预处理命令注释

程序的基本构成当前6页,总共36页。格式特点习惯用小写字母,大小写敏感一般不使用行号,无程序行概念可使用空行和空格常用锯齿形书写格式main(){inti,j,sum;sum=0;for(i=1;i<10;i++){for(j=1;j<10;j++){sum+=i*j;}}printf(“%d\n”,sum);}优秀程序员的素质:使用TAB缩进{}对齐有足够的注释有合适的空行望文知义的起名风格1.1.2程序的基本构成当前7页,总共36页。结构组成函数与主函数程序由一个或多个函数组成必须有且只能有一个主函数main()程序执行从main开始,在main中结束,其它函数通过嵌套调用得以执行。程序语句程序由语句组成用“;”作为语句终止符注释/**/为注释,不能嵌套不产生编译代码例:/*Thisisthemain/*ofexample1.1*/*/非法编译预处理命令1.1.2程序的基本构成当前8页,总共36页。编辑链接编译执行程序代码的录入,生成源程序*.c语法分析查错,翻译生成目标程序*.obj与其它目标程序或库链接装配,生成可执行程序*.exe1.1.3程序的编制及运行步骤当前9页,总共36页。第一章程序设计和基本流程1.2.1为什么要将程序模块化1.2.2模块化的程序设计思想1.2.3程序的功能模块图§1.2功能模块图当前10页,总共36页。1.2.1为什么要将程序模块化当前11页,总共36页。结构化的程序设计方法:

自顶向下、逐步求精、模块化

(1)每天的日程

(2)一台大型的机器的制作

(3)一个软件开发公司的架构

(4)一个机器人的行走

(5)打印一个较为复杂的图案

(6)QQ的实例

1.2.2模块化程序设计的思想当前12页,总共36页。功能模块图是软件工程过程中的一个重要环节,它将显示出工程所要实现的各种功能,并分类,然后软件工程师根据功能模块图来具体实现这些功能(通过代码)。1.2.3功能模块图当前13页,总共36页。第一章程序设计和基本流程1.3.1程序=算法+数据结构1.3.2算法及程序的基本结构1.3.3什么是数据结构§1.3算法和数据结构当前14页,总共36页。一个程序应包括两个方面的内容:对数据的描述:数据结构(datastructure)对操作的描述:算法(algorithm)著名计算机科学家沃思提出一个公式:程序=数据结构+算法

数据结构+算法+程序设计方法+语言工具完整的程序设计应该是:1.3.1程序=算法+数据结构当前15页,总共36页。1.3.2算法及程序的基本结构1.算法:计算机求解某一问题而采用的具体方法、步骤算法的评价标准:正确、高效、结构性好⒉算法描述:描述算法的方法多种多样。归纳为两大类:①文字易懂、繁琐、不直观②图形(符号)直观、简单3.常用的算法描述方法

自然语言描述伪码流程图、N-S图(盒图)当前16页,总共36页。1.3.2算法及程序的基本结构顺序结构:从前向后顺序执行程序。选择结构:根据判断条件的结果选择执行程序。

由选择结构派生出的多分支选择结构循环结构:根据条件反复的执行某一段程序若干次当型循环直到型循环

当前17页,总共36页。SlideNo.18结构化程序设计的三种基本结构具有以下共同的特点:只有一个入口;只有一个出口;结构内的每一部分都有机会被执行到;结构内不存在“死循环”。1.3.2算法及程序的基本结构当前18页,总共36页。1.3.3什么是数据结构数据结构是计算机存储、组织数据的方式。数据结构是指相互之间存在一种或多种特定关系的数据元素的集合。通常情况下,精心选择的数据结构可以带来更高的运行或者存储效率。数据结构往往同高效的检索算法和索引技术有关当前19页,总共36页。第一章程序设计和基本流程1.4.1为什么使用流程图1.4.2流程图的组成和画法1.4.3流程图的改进:N-S盒图§1.4流程图当前20页,总共36页。自然语言就是日常使用的语言,汉语或英语或其它语言。自然语言表示通俗易懂,但文字冗长,容易出现“歧义性”自然语言表示的含义不严格,要根据上下文才能判断其正确含义。描述包含分支和循环的算法时也不很方便。因此,除了那些很简单的问题外,程序设计一般不用自然语言描述算法。1.4.1为什么使用流程图当前21页,总共36页。例1.3:有两个存储单元a和b,要求将它们的值互换。

分析:按存储器的性质,如果将单元a的值直接送到单元b中,那么就会覆盖掉b原来的内容,因此,需要借助一个临时单元c来交换。

具体算法用自然语言表述如下:步骤1:将单元a的值送给单元c;步骤2:将单元b的值送给单元a;步骤3:将单元c的值送给单元b。1.4.1为什么使用流程图当前22页,总共36页。流程图通常采用一些几何图形来代表各种类型的操作,在图形内标明文字或符号来表示操作的内容,并用箭头来表示操作的顺序。用流程图表示算法,直观形象,易于理解.1.4.1为什么使用流程图当前23页,总共36页。起止框输入/输出框判断框处理框流程线连接点1.4.2流程图的组成和画法当前24页,总共36页。

ABPAB选择结构:根据判断条件的结果选择执行程序。顺序结构:从前向后顺序执行程序算法三种基本结构的流程图画法1.4.2流程图的组成和画法当前25页,总共36页。由选择结构派生出的多分支选择结构:A1A2AiAnk=k1k=k2k=kik=knkB1.4.2流程图的组成和画法当前26页,总共36页。循环结构:根据条件反复的执行某一段程序若干次。PA真假

直到型循环结构:PA真假当型循环结构1.4.2流程图的组成和画法当前27页,总共36页。例1.4:求1+2+3+4+…+10用流程图进行描述。n+1=>n1=>ns+n=>s0=>sn≤10输出s是否1.4.2流程图的组成和画法当前28页,总共36页。针对流程图存在的缺点,I.Nassi和B.Shneiderman提出了结构化程序设计的流程图,称为N-S图,更能体现结构化程序设计的思想。推荐使用N-S图。

N-S图完全去掉了流程线,算法的所有处理步骤都写在一个大矩形框内(表示简单、符合结构化思想)(象堆积木)1.4.3流程图的改进:N-S盒图由于流程图允许使用箭头随意跳转,对表示算法的层次结构非常不利,且流程图占的篇幅较大,作图工作量也很大。

当前29页,总共36页。1.4.3流程图的改进:N-S盒图顺序结构:从前向后顺序执行程序选择结构:根据判断条件的结果选择执行程序。循环结构:根据条件反复的执行某一段程序若干次。当前30页,总共36页。0s1nn≤10n+ssn+1n

输出s1.4.3流程图的改进:N-S盒图n+1=>n1=>ns+n=>s0=>sn≤10输出s是否N-S盒图例1.4:求1+2+3+4+…+10用流程图进行描述。流程图当前31页,总共36页。例1.5:求10个任意整数中的最大数用N-S图进行描述输入max1nn<10

输入xTx>max?Fxmaxn+1n输出max1.4.3流程图的改进:N-S盒图当前32页,总共36页。例1.6:用*打印10X10的正方形1.4.3流程图的改进:N-S盒图当前33页,总共36页。第一章程序设计和基本流程1.5.1程序开发的步骤1.5.2结构化程序设计举例§1.5程序开发的基本过程当前34页,总共36页。应用程序的设计和实现大致要经过以下几个步骤:

问题描述(将要解决的问题分析、描述清楚)概要设计(

温馨提示

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

最新文档

评论

0/150

提交评论