版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第3章算法与数据结构 计算机基础实验中心计算机基础实验中心1第四章第四章程序设计基础程序设计基础 第3章算法与数据结构 计算机基础实验中心计算机基础实验中心2v 4. 1 程序及程序设计语言程序及程序设计语言v 4. 2 程序设计方法与风格程序设计方法与风格 v 4. 3 结构化程序设计结构化程序设计v 4. 4 面向对象程序设计面向对象程序设计第3章算法与数据结构 计算机基础实验中心计算机基础实验中心3 4. 1 4. 1 程序及程序设计语言程序及程序设计语言4.1.1 4.1.1 程序程序程序就是一系列的操作步骤,计算机程序就是程序就是一系列的操作步骤,计算机程序就是由人事先规定的计算机完
2、成某项工作的操作步骤由人事先规定的计算机完成某项工作的操作步骤。每一步骤的具体内容由计算机能够理解的指令。每一步骤的具体内容由计算机能够理解的指令来描述,这些指令告诉计算机来描述,这些指令告诉计算机“做什么做什么”和和“怎怎样做样做”。 4.1.2 4.1.2 程序设计语言程序设计语言编写计算机程序所使用的语言称为程序设计语言。编写计算机程序所使用的语言称为程序设计语言。第3章算法与数据结构 计算机基础实验中心计算机基础实验中心4第一步把第一步把8 8转成二进制转成二进制: :计算机语言发展过程计算机语言发展过程机器语言机器语言汇编语言汇编语言高级语言高级语言用机器语言完成一个加法运算用机器语
3、言完成一个加法运算 8+48+410001000 补满八位补满八位0000100000001000第二步把第二步把4 4转成二进制转成二进制: :100100补满八位补满八位0000010000000100第三步用指令第三步用指令1011000010110000把把0000100000001000送入累加器送入累加器ALAL中中第四步用指令第四步用指令1011000010110000把把0000010000000100送入累加器送入累加器ALAL中中第五步用指令第五步用指令0000010000000100把把0000100000001000与与0000010000000100相加相加第六步用指
4、令第六步用指令1111010011110100终止操作终止操作最早的计算机语言最早的计算机语言, ,它是用二进制代码来编写程序它是用二进制代码来编写程序, ,其编写的程序计算机能直接识别其编写的程序计算机能直接识别, ,且速度快。且速度快。1.1.机器语言机器语言第3章算法与数据结构 计算机基础实验中心计算机基础实验中心510110000 0000100010110000 0000100010110000 0000010010110000 0000010000001000 00000100 0000010000001000 00000100 0000010011110100111101008+
5、48+4的机器程序为的机器程序为: :如果要算如果要算1+2+3+4+5+6.+100?1+2+3+4+5+6.+100?机器语言书写困难、记忆复杂,一般很难掌握。机器语言书写困难、记忆复杂,一般很难掌握。第3章算法与数据结构 计算机基础实验中心计算机基础实验中心6程序为:程序为:8+48+4MOV AL,8MOV AL,8MOV AL,4MOV AL,4HLTHLT用命令用命令MOVMOV把把4 4送到累加器送到累加器ALAL中中用命令用命令ADDADD把把8 8与与4 4相加相加用命令用命令MOVMOV把把8 8送到累加器送到累加器ALAL中中ADD 8,4ADD 8,4语言汇编语言完成一
6、个加法运算语言汇编语言完成一个加法运算MOV AL,8MOV AL,8MOV AL,4MOV AL,4ADD 8,4ADD 8,4HLTHLT源程序目标程序可执行程序翻译翻译连接连接计算机不能识别计算机不能识别2.2.汇编语言汇编语言由于机器语言的缺陷,人们用助记符编写程序,由于机器语言的缺陷,人们用助记符编写程序,用用符号代替机器指令所产生的语言符号代替机器指令所产生的语言称为汇编语言。称为汇编语言。 第3章算法与数据结构 计算机基础实验中心计算机基础实验中心73. 3. 高级语言高级语言 为了克服机器语言和汇编语言的缺陷,使普为了克服机器语言和汇编语言的缺陷,使普通人都能使用计算机语言来编
7、写程序,人们开始通人都能使用计算机语言来编写程序,人们开始研究一种既接近自然语言又简单易懂的语言。经研究一种既接近自然语言又简单易懂的语言。经过长时间的实践,产生了我们今天的高级语言。过长时间的实践,产生了我们今天的高级语言。 汇编语言虽然采用了助记符来编写程序汇编语言虽然采用了助记符来编写程序, ,比机器比机器语言简单语言简单, ,但是仍属于低级语言,它与计算机的体但是仍属于低级语言,它与计算机的体系结构有关,系结构有关,在编写程序前要花费相当多的时间和在编写程序前要花费相当多的时间和精力去熟悉机器的结构。精力去熟悉机器的结构。因此工作量大、繁琐,而因此工作量大、繁琐,而且程序可移植性差。且
8、程序可移植性差。BasicBasic、VBVB、 C C、C+C+、VCVC、VP VP 第3章算法与数据结构 计算机基础实验中心计算机基础实验中心8int s;int s;s=8+4;s=8+4;这种语言最接近自然语言又简单易懂的语言这种语言最接近自然语言又简单易懂的语言用高级语言用高级语言C C语言完成一个加法运算语言完成一个加法运算 8+48+44.1.3 4.1.3 语言处理程序语言处理程序有两种方式:有两种方式: 解释方式和编译方式解释方式和编译方式解释方式解释方式: :是解释一条执行一条,不产生目标程序。是解释一条执行一条,不产生目标程序。 源程序 可执行程序解释程序解释程序BAS
9、IC,java等为解释型语言第3章算法与数据结构 计算机基础实验中心计算机基础实验中心9编译方式编译方式 整个程序都转换二进制整个程序都转换二进制, ,连接成可执行文件连接成可执行文件. . 源程序 目标程序 可执行程序编译程序编译程序连接程序连接程序C,FORTRAN,PASCAL 等为编译型语言第3章算法与数据结构 计算机基础实验中心计算机基础实验中心104.1.4 4.1.4 常用的程序设计语言常用的程序设计语言 是由微软公司开发的,支持是由微软公司开发的,支持WINDOWSWINDOWS平台下开平台下开发的发的BASICBASIC语言。它支持面向对象的开发语言。它支持面向对象的开发,
10、,是目前是目前WINDOWSWINDOWS平台下流行的开发工具之一。平台下流行的开发工具之一。 PASCAL PASCAL语言是一种面向过程的良好结构化特语言是一种面向过程的良好结构化特性的高级语言,它是在软件危机的性的高级语言,它是在软件危机的7070年代所创造年代所创造的一种完全符合结构化原则,有着严格的语法规的一种完全符合结构化原则,有着严格的语法规则的高级语言。该语言在语言教学中有着良好的则的高级语言。该语言在语言教学中有着良好的声誉,但在实际使用中,利用该语言开发软件并声誉,但在实际使用中,利用该语言开发软件并不多。所以许多人认为不多。所以许多人认为PASCAL PASCAL 只是一
11、种教学语言只是一种教学语言。第3章算法与数据结构 计算机基础实验中心计算机基础实验中心11 C C语言是一种面向过程的编程语言语言是一种面向过程的编程语言, ,具有高级语具有高级语言的一切功能言的一切功能, ,又有低级语言的一些功能又有低级语言的一些功能, ,因此它因此它既可以用来编写系统软件既可以用来编写系统软件, ,也可以用来编写应用软也可以用来编写应用软件。件。 c c语言与其它语言相比具有如下特点语言与其它语言相比具有如下特点: : 语言简洁、紧凑、使用方便、灵活语言简洁、紧凑、使用方便、灵活(2)(2)可移植性好可移植性好, ,生成代码质量高生成代码质量高, ,程序运行效率高程序运行
12、效率高 (3)(3)有丰富运算符和数据结构。有丰富运算符和数据结构。第3章算法与数据结构 计算机基础实验中心计算机基础实验中心12面向对象的面向对象的C+C+语言。它是在语言。它是在C C语言的基础上增语言的基础上增加了面向对象的内容。加了面向对象的内容。C+C+的学习比的学习比C C语言更为困语言更为困难。从目前的发展看,难。从目前的发展看,C+C+的应用更为普及。的应用更为普及。 是由是由sumsum公司开发的,面向对象的网络编程语公司开发的,面向对象的网络编程语言言, ,是目前跨平台下最流行的网络开发工具之一。是目前跨平台下最流行的网络开发工具之一。一般来说一般来说, ,每一种高级语言或
13、开发工具都有它每一种高级语言或开发工具都有它的使用范围的使用范围, ,到目前为止到目前为止, ,还没有一种语言能包打还没有一种语言能包打天下。天下。第3章算法与数据结构 计算机基础实验中心计算机基础实验中心13(1)(1)符号名的命名应具有一定的实际含义。符号名的命名应具有一定的实际含义。(2)(2)程序要有注释。程序要有注释。 序言性注释序言性注释: :位于每个程序的开头部分位于每个程序的开头部分, ,它给它给出程序的整体说明。出程序的整体说明。 功能性注释功能性注释: :嵌在源程序体中嵌在源程序体中, ,主要描述其后主要描述其后的语句或程序做什么。的语句或程序做什么。(3)(3)视觉组织要
14、好视觉组织要好, ,可以利用可以利用空格、空行空格、空行和缩进等和缩进等技术。技术。4.3 4.3 结构化程和面向对象序设计结构化程和面向对象序设计要形成良好的程序设计风格,应考虑如下因素:要形成良好的程序设计风格,应考虑如下因素:1 1、源程序文档化、源程序文档化第3章算法与数据结构 计算机基础实验中心计算机基础实验中心14程序应该简单易懂,语句构造应简单直接,不应程序应该简单易懂,语句构造应简单直接,不应该为提高效率而把语句复杂化。(该为提高效率而把语句复杂化。(清晰第一,效清晰第一,效率第二)率第二)输入输出方式和格式应尽可能方便用户的使用。输入输出方式和格式应尽可能方便用户的使用。对建
15、立良好的程序设计风格,下面描述正确的是对建立良好的程序设计风格,下面描述正确的是()()A A)程序应力求简单、清晰、可读性好)程序应力求简单、清晰、可读性好B B)符号的命名只要合语法)符号的命名只要合语法C C)充分考虑程序的执行效率)充分考虑程序的执行效率D D)程序的注释可有可无)程序的注释可有可无2. 2. 语句的结构语句的结构3.3.输入输出输入输出第3章算法与数据结构 计算机基础实验中心计算机基础实验中心151.1.结构化程序设计强调的是结构化程序设计强调的是程序的易读性程序的易读性 设计原则设计原则: :自顶向下、逐步求精、模块化和限制自顶向下、逐步求精、模块化和限制使用使用g
16、otogoto语句。语句。自顶向下:自顶向下:应先考虑总体,后考虑细节。应先考虑总体,后考虑细节。逐步求精:逐步求精:设计一些子目标作过滤,逐步细化。设计一些子目标作过滤,逐步细化。模块化:模块化:程序总目标分解成分目标,每个小目标称程序总目标分解成分目标,每个小目标称为一个模块。为一个模块。2. 2. 采用结构化程序设计方法编写的程序结构采用结构化程序设计方法编写的程序结构良好、良好、易读、易理解、易维护。易读、易理解、易维护。4.3 结构化程序设计结构化程序设计第3章算法与数据结构 计算机基础实验中心计算机基础实验中心16算法的控制结构可分为算法的控制结构可分为顺序、选择、循环顺序、选择、
17、循环三种基三种基本结构。本结构。4.3.2 4.3.2 结构化程序设计的基本结构结构化程序设计的基本结构注:任何一个结构化程序都可以由这注:任何一个结构化程序都可以由这3 3种基本结种基本结构来完成。已经证明构来完成。已经证明: :这这3 3种基本结构所构成的种基本结构所构成的程序可以处理任何复杂的问题。程序可以处理任何复杂的问题。第3章算法与数据结构 计算机基础实验中心计算机基础实验中心17v结构化设计方法的设计思想清晰,符合人们结构化设计方法的设计思想清晰,符合人们处理问题的习惯,易学易用,模块层次分明,处理问题的习惯,易学易用,模块层次分明,便于分工开发和调试,程序可读性强。便于分工开发
18、和调试,程序可读性强。v缺陷缺陷 :(1)难以适应大型软件的设计)难以适应大型软件的设计(2)程序可重用性差)程序可重用性差第3章算法与数据结构 计算机基础实验中心计算机基础实验中心184.4 4.4 面向对象程序设计面向对象程序设计4.4.1 4.4.1 面向对象程序设计的基本思想面向对象程序设计的基本思想面向对象的技术的基本原理面向对象的技术的基本原理 对问题领域的基本事物进行自然分割,按人对问题领域的基本事物进行自然分割,按人们在现实生活中常用的思维方法来认识、理解和们在现实生活中常用的思维方法来认识、理解和描述客观事物,建立模型,设计尽可能直接表现描述客观事物,建立模型,设计尽可能直接
19、表现问题求解的软件系统。问题求解的软件系统。 面向对象的程序设计优点面向对象的程序设计优点(1)(1)符合人们习惯的思维方法。符合人们习惯的思维方法。(2)(2)易于软件的维护和功能的增加。易于软件的维护和功能的增加。(3)(3)可重用性好。可重用性好。(4)(4)与可视化技术相结合,改善了工作界面。与可视化技术相结合,改善了工作界面。 第3章算法与数据结构 计算机基础实验中心计算机基础实验中心194.4.2 4.4.2 基本概念基本概念 1 1、对象(、对象(objectobject) 系统中用来描述客观事物的一个系统中用来描述客观事物的一个实体实体,在现,在现实生活中的实生活中的一本书一本
20、书, ,一个人一个人, ,一辆车一辆车等都是对象。等都是对象。 对象由一组表示其静态特征的属性和它可执对象由一组表示其静态特征的属性和它可执行的一组操作组成行的一组操作组成 汽车的属性汽车的属性(如颜色、型号、载重量等如颜色、型号、载重量等) 汽车的操作汽车的操作(如启动、刹车等如启动、刹车等)。 对象有如下一些基本特点对象有如下一些基本特点*(1)标识惟一性标识惟一性 (2)分类性分类性 (3)多态性多态性 (4)封装性封装性 (5)模块独立性好。模块独立性好。 第3章算法与数据结构 计算机基础实验中心计算机基础实验中心202 2、类和实例、类和实例 将属性、操作相似的对象归为类将属性、操作相似的对象归为类. .也就是说,也就是说,类是具有共同属性、共同方法的对象的集合。类是具有共同属性、共同方法的对象的集合。 如如“桥车,卡车,公交车桥车,卡车,公交车“等实例构成等实例构成“汽汽车类车类” 如如“排球,足球,蓝球排球,足球,蓝球”等实例构成等实例构成“球类球类” 类是一个支持集成的类是一个支持集成的抽象抽象数据类型数据类型 对象是类的对象是类的实例实例。第3章算法与数据结构 计算机基础实验
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 餐饮行业人才招聘总结
- 美容美发行业美工岗位任务
- 2024年税务师题库及答案【必刷】
- 2024年认识公顷教学教案
- 2024年秋季二年级数学上册教案(17篇)
- 2024年牛顿第一定律教案
- 初中生请假安全协议书(2篇)
- 2024年计算机专业求职简历模版
- 核心语法知识夯基综合测试-2025届高三人教版英语一轮复习闯关攻略(解析版)
- 迎接信息化挑战 打造“数字化校园”
- 工装夹具项目开发计划书
- 中小学生研学旅行 投标方案(技术方案)
- 乳头混淆介绍演示培训课件
- 社区生鲜可行性报告
- 外科学-粘连性肠梗阻
- 《辐射安全许可证》申请条件核查表
- DB15-T 2537-2022 涉路工程安全性评价报告编制指南
- 护理基础知识1000基础题
- 2023-2024学年成都市武侯区数学六上期末质量跟踪监视试题含答案
- 毕业设计(论文)-铁路货物运输装载加固方案设计
- 开关电源设计报告
评论
0/150
提交评论