


版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第二部分程序设计基础3.1程序、程序设计、程序设计语言的定义程序:计算机程序,是指为了得到某种结果而可 以由计算机等具有信息处理能力的装置执行的代码化指 令序列,或者可以被自动转换成代码化指令序列的符号 化指令序列或者符号化语句序列。程序设计:程序设计是给出解决特定问题程序的 过程,是软件构造活动中的重要组成部分。程序设计往 往以某种程序设计语言为工具,给出这种语言下的程序。 程序设计过程应当包括分析、设计、编码、测试、排错 等不同阶段。程序设计语言:程序设计语言用于书写计算机程 序的语言。语言的基础是一组记号和一组规则。根据规 则由记号构成的记号串的总体就是语言。在程序设计语 言中,这些记号
2、串就是程序。程序设计语言有 3个方面 的因素,即语法、语义和语用。3.2高级语言和低级语言的概念及区别高级语言:高级语言(High-level program mingIanguage)是高度封装了的编程语言,与低级语言相对 它是以人类的日常语言为基础的一种编程语言,使用一 般人易于接受的文字来表示(例如汉字、不规则英文或 其他外语),从而使程序编写员编写更容易,亦有较咼的 可读性,以方便对电脑认知较浅的人亦可以大概明白其 内容。低级语言:低级语言分机器语言(二进制语言) 和汇编语言(符号语言),这两种语言都是面向机器的语 言,和具体机器的指令系统密切相关。机器语言用指令 代码编写程序,而符号
3、语言用指令助记符来编写程序。区别:高级语言:实现效率高,执行效率低,对硬件的可 控性弱,目标代码大,可维护性好,可移植性好低级语言:实现效率低,执行效率高,对硬件的可控性强,目标代码小,可维护性差,可移植性差了解知识:CPU运行的是二进制指令,所有的语言编写 的程序最终都要翻译成二进制代码。越低级的语言,形 式上越接近机器指令,汇编语言就是与机器指令一一对 应的。而越高级的语言,一条语句对应的指令数越多, 其中原因就是高级语言对底层操作进行了抽象和封装, 使编写程序的过程更符合人类的思维习惯,并且极大了 简化了人力劳动。也就是说用高级语言写一句,会被转 换成许多底层操作,大部分的工作交给了负责
4、转换的机 器(即编译器),从而人力得到了解放。3.3编译程序的概念及作用编译程序(Compiler,compiling program)也称为编译器,是指把用高级程序设计语言书写的源程序,翻译成等价的机器语言格式目标程序的翻译程序。作用:它以高级程序设计语言书写的源程序作为 输入,而以汇编语言或机器语言表示的目标程序作为输 出。3.4计算机求解问题的过程分析问题(确定计算机做什么)-设计算法(寻找解决问题的途径和方法,即要计算机怎么做)-编写程序(将算法翻译成计算机程序设计语言)-上机运行和 测试3.5程序正确性的含义程序正确性证明就是采用严格的数学方法评价一个 程序是否达到了预定的性能,即对
5、于任何一组允许的输 入信息,程序执行后能得到一组和这组信息对应的正确 的输出信息。3.6程序错误的几种类型程序错误,即英文的 Bug,也称为缺陷,是指在软 件运行中因为程序本身有错误而造成的功能不正常、死 机、数据丢失、非正常中断等现象。语法错误逻辑错误3.7程序调试、程序测试的概念以及区别程序调试:是将编制的程序投入实际运行前,用 手工或编译程序等方法进行测试,修正语法错误和逻辑 错误的过程。这是保证计算机信息系统正确性的必不可 少的步骤。编完计算机程序,必须送入计算机中测试。程序测试:(program testi ng)是指对一个完成了 全部或部分功能、模块的计算机程序在正式使用前的检 测
6、,以确保该程序能按预定的方式正确地运行。了解知识:程序测试的方法灰盒测试,确实是介于白盒测试与黑盒测试之间的,可 以这 样理解,灰盒测试关注输出对于输入的正确性,同 时也关注内部表现,但这种关注不象白盒那样详细、完 整,只是通过一些表征性的现象、事件、标志来判断内 部的运行状态,有时候输出是正确的,但内部其实已经 错误了,这种情况非常多,如果每次都通过白盒测试来 操作,效率会很低,因此需要采取这样的一种灰盒的方 法。白盒测试,又称结构测试。他的前提是可以把程序看成 在一个透明的白盒子里,测试者完全知道程序的结构和 处理算法。这种方法按照程序内部逻辑设计测试用例, 检测程序中的主要执行通路是否能
7、按照预定要求正确工 作。白盒测试根据软件的内部逻辑设计设施用例,常用 的技术是逻辑覆盖,即考察用测试数据运行被测程序是 对程序逻辑的覆盖程度。主要的覆盖标准有:语句覆盖、 判定覆盖、条件覆盖、判定/条件覆盖、组合条件覆盖和 路径覆盖。黑盒测试根据关键需求说明书所规定的功能来设计测试 用例,它不考虑软件的内部结构和处理算法。常用的黑 盒测试技术包括等价类划分、边值分析、错误推测和因 果图等。区别: 目的不同软件测试的目的是发现错误,至于找出错误的原因 和错误发生的地方不是软件测试的任务,而是调试的任 务.调试的目的是为了证明程序的正确,因此它必须不断 地排除错误它们的出发点不一样。前者是挑错,是
8、一种 挑剔过程,属于质盘保证活动。后者是排错,是一种排 除过程,是编码活动的一部分。 指导原则和方法不同软件测试的输出是预知的,其软件测试用例必须包 括预期的结果,而调试的输出大多是不可预见的,需要 调试者去解释、去发现产生的原因。 操作者不同因为心理状态是软件测试程序的障碍,所以执行软 件测试的人一般不是开发人员,以使软件测试更客观、 更有效,而调试人员一般都是开发人员.3.8结构化程序设计概念及类型结构化程序设计(structured programming ) 是进 行以模块功能和处理过程设计为主的详细设计的基本原 则。结构化程序设计的三种基本结构是:顺序结构、选择 结构和循环结构。顺序
9、结构表示程序中的各操作是按照它们出现的先 后顺序执行的。选择结构表示程序的处理步骤出现了分支,它需要 根据某一特定的条件选择其中的一个分支执行。选择结 构有单选择、双选择和多选择三种形式。循环结构表示程序反复执行某个或某些操作,直到 某条件为假(或为真)时才可终止循环。在循环结构中 最主要的是:什么情况下执行循环?哪些操作需要循环 执行?循环结构的基本形式有两种:当型循环和直到型 循环。当型循环:表示先判断条件,当满足给定的条件时 执行循环体,并且在循环终端处流程自动返回到循环入 口;如果条件不满足,则退出循环体直接到达流程出口 处。因为是"当条件满足时执行循环",即先判断
10、后执行, 所以称为当型循环。直到型循环:表示从结构入口处直接执行循环体, 在循环终端处判断条件,如果条件不满足,返回入口处 继续执行循环体,直到条件为真时再退出循环到达流程 出口处,是先执行后判断。因为是"直到条件为真时为止 ",所以称为直到型循环。3.9面向对象程序设计概念面向对象编程(Object Oriented Programming, OOP 面向对象程序设计)是一种计算机编程架构。OOP的一条基本原则是计算机程序是由单个能够起到子程序作用 的单元或对象组合而成。OOP达到了软件工程的三个主 要目标:重用性、灵活性和扩展性。为了实现整体运算, 每个对象都能够接收信
11、息、处理数据和向其它对象发送 信息。面向对象程序设计中的概念主要包括:对象、类、 数据抽象、继承、动态绑定、数据封装、多态性、消息 传递。通过这些概念面向对象的思想得到了具体的体现。3.10 ASCII字符集ASCII (American Standard Code for InformationInterchange ,美国标准信息交换代码)是基于拉丁字母 的一套电脑编码系统,主要用于显示现代英语和其他西欧语言。它是现今最通用的单字节编码系统,并等同于 国际标准ISO/IEC 646。标准ASCII码也叫基础ASCII码,使用7位二进制数来表示所有的大写和小写字母,数字0到9、标点符 号,以
12、及在美式英语中使用的特殊控制字符。大小规则1)数字09比字母要小。女口 "7"<"F";2)数字0比数字9要小,并按0到9顺序递增"3"<"8"3)字母A比字母Z要小,并按A到Z顺序递增"A"v"Z"同个字母的大写字母比小写字母要小"A"v"a"记住几个常见字母的 ASCII码大小:“换行LF”为10; “回车CR”为13;空格为32;"0"为 48; "A"为 65; "a
13、"为 97。3.11标识符、关键字的概念在编程语言中,标识符就是程序员自己规定的具有 特定含义的词,比如类名称,属性名称,变量名等。关键字就是程序发明者规定的有特殊含义的单词,又叫保留字。3.12注释语句的作用注释语句在程序的开始或中间,不具有任何功能实 现的作用,仅仅是对程序进行说明的语句。注释语句在 程序运行过程中不运行,却是程序编写时的重要内容, 对于理解程序很重要。3.13表达式的组成及类型表达式,是由数字、算符、数字分组符号(括号) 自由变量和约束变量等以能求得数值的有意义排列方法 所得的组合。类型:算术表达式:是最常用的表达式,又称为数值表达式。它是通过算术运算符来进行运
14、算的数学公式。加法、减法、乘法、除法、求余关系表达式:用关系运算符将两个表达式连接起来 的式子,称关系表达式。关系表达式的值是逻辑值“真” 或“假”。=(等于)、 (小于)、=(小于等于)、 (大于)、=(大于等于)、<> (不等于)逻辑表达式:用逻辑运算符将关系表达式或逻辑量 连接起来的有意义的式子称为逻辑表达式。逻辑表达式 的值是一个逻辑值,即“ true ”或“ false ”。NOT(非)、AND(与)、0R(或)3.14子程序和函数的概念子程序:在计算机科学中,子程序(英语:Subroutine,procedure, fun cti on, routi ne, metho
15、d, subprogram, callable unit ),是一个大型程序中的某部份代码,由 一个或多个语句块组成。它负责完成某项特定任务,而 且相较于其他代码,具备相对的独立性。函数:在程序设计中,常将一些常用的功能模块编 写成函数,放在函数库中供公共选用。要善于利用函数, 以减少重复编写程序段的工作量。许多程序设计语言中, 可以将一段经常需要使用的代码封装起来,在需要使用 时可以直接调用,所以,函数也可以说是许多代码的集 合,这就是程序中的函数。3.15数据、数据元素、数据对象、数据项的概念数据:数据就是数值,也就是我们通过观察、实验 或计算得出的结果。数据有很多种,最简单的就是数字。
16、数据也可以是文字、图像、声音等。数据可以用于科学 研究、设计、查证等。数据元素:数据元素(data element)是计算机科学 术语。它是数据的基本单位,数据元素也叫做结点或记 录。在计算机程序中通常作为一个整体进行考虑和处理。 有时,一个数据元素可由若干个数据项组成,例如,一 本书的书目信息为一个数据元素,而书目信息的每一项(如书名、作者名等)为一个数据项。数据项是数据的 不可分割的最小单位。数据对象:(Data Object )是性质相同的数据元素 的集合,是数据的一个子集,数据对象是一种运行时的 概念。可以是外部实体(例如,产生或使用信息的任何事 物)、事物(例如,报表)、行为(例如,
17、打电话)、事件(例 如,响警报)、角色(例如,教师、学生)、单位(例如, 会计科)、地点(例如,仓库)或结构(例如,文件)等。总 之,可以由一组属性来定义的实体都可以被认为是数据 对象。数据项:数据项又称数据元素(data element),是数据的基本单位,一个数据可由若干个数据项(dataitem )组成,数据项是数据的不可分割的最小单位。3.16数据的逻辑结构、存储结构数据的逻辑结构是对数据之间关系的描述,有时就 把逻辑结构简称为数据结构。逻辑结构形式地定义为(K, R)(或(D, S),其中,K是数据元素的有限集,R是K 上的关系的有限集。了解知识:逻辑结构有四种基本类型:集合结构、线
18、性结构、树状结构和网络结构。表和树是最常用的两 种高效数据结构,许多高效的算法能够用这两种数据结 构来设计实现。表是线性结构的(全序关系),树(偏序 或层次关系)和图(局部有序(weak/local order)是非 线性结构。数据结构在计算机中的表示(映像)称为数据的物理(存储)结构。它包括数据元素的表示和关系的表示。3.17数据运算数据运算是对数据依某种模式而建立起来的关系进行处理的过程。最基本的数据运算有:算术运算,如:加、减、 乘、除、乘方、开方、取模等;关系运算,如:等于、 不等于、大于、小于等;逻辑运算,如:与、或、非、 恒等、蕴含等。3.18数据结构的两大逻辑结构和四种常用的存储
19、表示 方法数据的逻辑结构分两大类:线性结构和非线性结构了解知识:线性结构是一个有序数据元素的集合。 常用的线性结构有:线性表,栈,队列,双队列,数组, 串。常见的非线性结构有:二维数组,多维数组,广义 表,树(二叉树等),图。数据的存储方法有四种:顺序存储方法、链接存 储方法、索引存储方法和散列存储方法了解知识:(1)顺序存储方法:该方法把逻辑上相 邻的结点存储在物理位置上相邻的存储单元里,结点间 的逻辑关系由存储单元的邻接关系来体现。由此得到的 存储表示称为顺序存储结构(Seque ntial StorageStructure),通常借助程序语言的数组描述。该方法主 要应用于线性的数据结构。
20、非线性的数据结构也可通过 某种线性化的方法实现顺序存储。(2) 链接存储方法:该方法不要求逻辑上相邻的结 点在物理位置上亦相邻,结点间的逻辑关系由附加的指 针字段表示。由此得到的存储表示称为链式存储结构(Linked Storage Structure ),通常借助于程序语言的 指针类型描述。(3) 索引存储方法:该方法通常在储存结点信息的同时,还建立附加的索引表。索引表由若干索引项组成。 若每个结点在索引表中都有一个索引项,则该索引表称 之为稠密索引(Dense Index)。若一组结点在索引表中 只对应一个索引项,则该索引表称为稀疏索引(SpareIndex)。索引项的一般形式是:(关键字
21、、地址)关键字是能唯一标识一个结点的那些数据项。稠密 索引中索引项的地址指示结点所在的存储位置;稀疏索 引中索引项的地址指示一组结点的起始存储位置。(4) 散列存储方法:该方法的基本思想是:根据结 点的关键字直接计算出该结点的存储地址。四种基本存储方法,既可单独使用,也可组合起来 对数据结构进行存储映像。同一逻辑结构采用不同的存储方法,可以得到不同 的存储结构。选择何种存储结构来表示相应的逻辑结构, 视具体要求而定,主要考虑运算方便及算法的时空要求。 3.19算法和程序的关系算法是对特定问题求解步骤的描述,它是指令的有 限序列。算法与程序的关系:算法和程序都是指令的有限序列,但是,程序是算法,而算法不一定是 程序。算法和程序的区别主要在于:(1)在语言描述上,程序必须是用规定的程序设计 语言来写,而算法很随意;(2)在执行时间上,算法所描述的步骤一定是有限 的,而程序可以无限地执行下去。所以:程序二数据结构+算法3.20常用数据类型种类及特性不同的变成语言,数据类型的说法有差异。一般而言包含:数字型或者数值型,常有 Integer (整型)、Long (长整型)、Single (
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024秋七年级语文上册 第二单元 7《散文诗二首》荷叶 母亲教学设计 新人教版
- 3我很诚实(教学设计)-统编版道德与法治三年级下册
- 《第4节 组装电脑了解电脑硬件的主要部件》教学设计 -2023-2024学年北师大版初中信息技术七年级上册
- 15《我们不乱扔》(教学设计)2024-2025学年统编版(2024)道德与法治一年级上册
- 5《我们的校园》第一课时(教学设计)-部编版道德与法治一年级上册
- 认知发展差异的教育意义
- 6 花儿草儿真美丽 教学设计-2023-2024学年道德与法治一年级下册统编版
- 2024秋四年级英语上册 Unit 2 My schoolbag第6课时(Read and write Story time)教学设计 人教PEP
- 2024-2025学年新教材高中语文 第3单元 探索与发现 群文阅读(三)学习科技 开拓创新教学设计 新人教版必修下册
- Unit 5 I Have a Bag (Period 3) (教学设计)-2024-2025学年陕旅版(三起)(2024)英语三年级上册
- 社会学概论(第四版)第10章社会组织
- DB37-T 5225-2022民用建筑太阳能热水系统一体化应用技术标准
- ASTM B658 B658M-11(2020) 无缝和焊接锆和锆合金管标准规格
- 《自然资源听证规定》(2020年修正)
- 妇幼保健院母婴康复(月子)中心项目建议书写作模板
- 发电机的负荷试验(单机)
- 外架搭设悬挑板上方案
- 绿化机具操作标准作业规程
- [QC成果]提高干挂圆弧石材安装的一次验收合格率
- 风荷载作用下的内力和位移计算
- 喜庆中国风十二生肖介绍PPT模板
评论
0/150
提交评论