版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第一章程序设计和基本流程,1.1程序设计基础1.2功能模块图1.3算法和数据结构1.4流程图1.5程序开发的基本过程,1,PPT学习交流,第一章程序设计和基本流程,1.1程序设计基础,2,PPT学习交流,1.1.1程序设计语言的发展历史,CPU指令系统,由0、1序列构成的指令码组成如:10000000加10010000减,用助记符号描述的指令系统如ADDA,B,程序设计是数据被加工的过程,客观世界可以分类,对象是类的实例对象是数据和方法的封装对象间通过发送和接受消息发生联系,程序设计关键是定义类,并由类派生对象,面向机器的语言,3,PPT学习交流,Ada,ALGOL60,ALGOL68,Pas
2、cal,Modula-2,CPL,BCPL,B,C,C+,Java,LISP,PROLOG,COBOL,FORTRAN77,FORTRAN,PL/1,Simula67,Smalltalk80,BASIC,ANSI-BASIC,QBASIC,VB,FORTRAN90,程序设计语言发展时间表,4,PPT学习交流,1.1.2程序的基本构成例1.1第一个程序Hello,World!,/*example1.1ThefirstCProgram*/#includemain()printf(“Hello,World!”);,输出:Hello,World!,5,PPT学习交流,/*例1.2计算a和b的和*/#i
3、nclude/*Thisisthemainprogram*/main()inta,b,sum;a=10;b=24;sum=add(a,b);printf(”sum=%dn,sum);/*Thisfunctioncalculatesthesumofxandy*/intadd(intx,inty)intz;z=x+y;return(z);,运行结果:sum=34,程序的基本构成,6,PPT学习交流,格式特点习惯用小写字母,大小写敏感一般不使用行号,无程序行概念可使用空行和空格常用锯齿形书写格式,main()inti,j,sum;sum=0;for(i=1;i10;i+)for(j=1;j10;j+
4、)sum+=i*j;printf(“%dn”,sum);,优秀程序员的素质:使用TAB缩进对齐有足够的注释有合适的空行望文知义的起名风格,1.1.2程序的基本构成,7,PPT学习交流,结构组成函数与主函数程序由一个或多个函数组成必须有且只能有一个主函数main()程序执行从main开始,在main中结束,其它函数通过嵌套调用得以执行。程序语句程序由语句组成用“;”作为语句终止符注释/*/为注释,不能嵌套不产生编译代码,例:/*Thisisthemain/*ofexample1.1*/*/,编译预处理命令,1.1.2程序的基本构成,8,PPT学习交流,程序代码的录入,生成源程序*.c,语法分析查
5、错,翻译生成目标程序*.obj,与其它目标程序或库链接装配,生成可执行程序*.exe,1.1.3程序的编制及运行步骤,9,PPT学习交流,第一章程序设计和基本流程,1.2功能模块图,10,PPT学习交流,1.2.1为什么要将程序模块化,11,PPT学习交流,结构化的程序设计方法:自顶向下、逐步求精、模块化(1)每天的日程(2)一台大型的机器的制作(3)一个软件开发公司的架构(4)一个机器人的行走(5)打印一个较为复杂的图案(6)QQ的实例,1.2.2模块化程序设计的思想,12,PPT学习交流,功能模块图是软件工程过程中的一个重要环节,它将显示出工程所要实现的各种功能,并分类,然后软件工程师根据
6、功能模块图来具体实现这些功能(通过代码)。,1.2.3功能模块图,13,PPT学习交流,第一章程序设计和基本流程,1.3算法和数据结构,14,PPT学习交流,一个程序应包括两个方面的内容:,对数据的描述:数据结构(datastructure)对操作的描述:算法(algorithm),著名计算机科学家沃思提出一个公式:程序=数据结构+算法,数据结构算法程序设计方法语言工具,完整的程序设计应该是:,1.3.1程序=算法+数据结构,15,PPT学习交流,1.3.2算法及程序的基本结构,1.算法:计算机求解某一问题而采用的具体方法、步骤算法的评价标准:正确、高效、结构性好,算法描述:描述算法的方法多种
7、多样。归纳为两大类:文字易懂、繁琐、不直观图形(符号)直观、简单,3.常用的算法描述方法,自然语言描述伪码流程图、N-S图(盒图),16,PPT学习交流,1.3.2算法及程序的基本结构,顺序结构:从前向后顺序执行程序。选择结构:根据判断条件的结果选择执行程序。由选择结构派生出的多分支选择结构循环结构:根据条件反复的执行某一段程序若干次当型循环直到型循环,17,PPT学习交流,结构化程序设计的三种基本结构具有以下共同的特点:只有一个入口;只有一个出口;结构内的每一部分都有机会被执行到;结构内不存在“死循环”。,1.3.2算法及程序的基本结构,18,PPT学习交流,1.3.3什么是数据结构,数据结
8、构是计算机存储、组织数据的方式。数据结构是指相互之间存在一种或多种特定关系的数据元素的集合。通常情况下,精心选择的数据结构可以带来更高的运行或者存储效率。数据结构往往同高效的检索算法和索引技术有关,19,PPT学习交流,第一章程序设计和基本流程,1.4流程图,20,PPT学习交流,自然语言就是日常使用的语言,汉语或英语或其它语言。自然语言表示通俗易懂,但文字冗长,容易出现“歧义性”自然语言表示的含义不严格,要根据上下文才能判断其正确含义。描述包含分支和循环的算法时也不很方便。因此,除了那些很简单的问题外,程序设计一般不用自然语言描述算法。,1.4.1为什么使用流程图,21,PPT学习交流,例1
9、.3:有两个存储单元a和b,要求将它们的值互换。,分析:按存储器的性质,如果将单元a的值直接送到单元b中,那么就会覆盖掉b原来的内容,因此,需要借助一个临时单元c来交换。,具体算法用自然语言表述如下:步骤1:将单元a的值送给单元c;步骤2:将单元b的值送给单元a;步骤3:将单元c的值送给单元b。,1.4.1为什么使用流程图,22,PPT学习交流,流程图通常采用一些几何图形来代表各种类型的操作,在图形内标明文字或符号来表示操作的内容,并用箭头来表示操作的顺序。,用流程图表示算法,直观形象,易于理解.,1.4.1为什么使用流程图,23,PPT学习交流,1.4.2流程图的组成和画法,24,PPT学习
10、交流,A,B,P,A,B,选择结构:根据判断条件的结果选择执行程序。,顺序结构:从前向后顺序执行程序,算法三种基本结构的流程图画法,1.4.2流程图的组成和画法,25,PPT学习交流,由选择结构派生出的多分支选择结构:,A1,A2,Ai,An,k=k1,k=k2,k=ki,k=kn,k,B,1.4.2流程图的组成和画法,26,PPT学习交流,循环结构:根据条件反复的执行某一段程序若干次。,P,A,真,假,直到型循环结构:,P,A,真,假,当型循环结构,1.4.2流程图的组成和画法,27,PPT学习交流,例1.4:求1+2+3+4+10用流程图进行描述。,1.4.2流程图的组成和画法,28,PP
11、T学习交流,针对流程图存在的缺点,I.Nassi和B.Shneiderman提出了结构化程序设计的流程图,称为N-S图,更能体现结构化程序设计的思想。推荐使用N-S图。,N-S图完全去掉了流程线,算法的所有处理步骤都写在一个大矩形框内(表示简单、符合结构化思想)(象堆积木),1.4.3流程图的改进:N-S盒图,由于流程图允许使用箭头随意跳转,对表示算法的层次结构非常不利,且流程图占的篇幅较大,作图工作量也很大。,29,PPT学习交流,1.4.3流程图的改进:N-S盒图,顺序结构:从前向后顺序执行程序,选择结构:根据判断条件的结果选择执行程序。,循环结构:根据条件反复的执行某一段程序若干次。,3
12、0,PPT学习交流,1.4.3流程图的改进:N-S盒图,N-S盒图,例1.4:求1+2+3+4+10用流程图进行描述。,流程图,31,PPT学习交流,例1.5:求10个任意整数中的最大数用N-S图进行描述,1.4.3流程图的改进:N-S盒图,32,PPT学习交流,例1.6:用*打印10X10的正方形,1.4.3流程图的改进:N-S盒图,33,PPT学习交流,第一章程序设计和基本流程,1.5程序开发的基本过程,34,PPT学习交流,应用程序的设计和实现大致要经过以下几个步骤:问题描述(将要解决的问题分析、描述清楚)概要设计(将问题分解为子问题)画出功能模块图,设计模块和模块之间的接口详细设计(将每个子问题分步骤解决,进行算法描述)画流程图或N-S图编写程序(编辑、编译、链接)运行并调试程序(尽可能的排除错误)测试程序(用数据集对程序进行检测,进一步的排除错误)维护和升级(根据用户需要,对程序进行修正和扩充),1.5.1程序开发的步骤,35,PPT学习交流,例1.5:求三个数中的最大数(请将模块图改为流程图),1.5.2结构化程序设计举例,max,a,b,c,36,PPT学习交流,1.5.2结构化程序设计举例,37,PPT学习交流,练习和习题,输入三个数,输出最小的数(一级难度)判断一个年份是否为闰年(二级难度)输入10个数,输出最大的数和最小的(三
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026-2030家禽饲养产业市场发展现状及发展趋势与投资前景预测研究报告
- 2026年黑龙江省部编版小学英语三年级上册第5单元同步练习题
- 2026年重庆市人教版初中英语下册第8单元语法填空专项题库
- 2026年生态文明建设知识测试卷
- 2026年高考物理电磁学专项训练
- 试题答案及详细分析讲解
- 小学数学人教版五年级下册1观察物体(三)一等奖教案设计
- 七年级信息技术 7.1声音的获取与加工教学设计 人教新课标版
- 苏教版高中数学必修三第二章第3节《 总体特征数的估计》教学设计(2份)
- 员工工作幸福感对团队创新绩效影响跨层次成长曲线模型与经验取样结合
- 罚款单模板8则版
- CSAE标准-汽车整车气动声学风洞风噪试验-车内风噪测量方法编制说明
- GB/T 44148.2-2024承压设备用钢锻件、轧制或锻制钢棒第2部分:规定高温性能的低合金及合金(钼、铬和铬钼)钢
- 净水器售后维修合同
- (高清版)JTG 3810-2017 公路工程建设项目造价文件管理导则
- 工业机器人培训计划方案
- 英语48个国际音标课件(单词带声、附有声国际音标图)
- 安徽省蚌埠市蚌山区2023-2024学年八年级上学期月考数学试题
- 小升初六年级 小学英语 疑问词 特殊疑问句
- ECMO介绍专题讲座培训课件
- 安全监测常用仪器及自动化原理
评论
0/150
提交评论