清华软件工程:第10章 程序设计语言和编码

合集下载

计算机科学导论-概述 ppt课件

计算机科学导论-概述  ppt课件

程序(存储在存储器中)
输入 8,12,22,3
输3,出8,12,22
冯•诺依曼模型(John Von Neumann1903-1957)
现代计算机都是基于冯•诺依曼模型
1. 4个子系统 2. 程序存储 3. 指令顺序执行
计算机硬件 计算机软件
12
计算机概述——计算机系统分层结构
通信
程序
网络,多台计算机联接在一起,实现信息交换和资 源共享
2
《计算机科学导论》教材
教材 《计算机科学导论》 机械工业出版社 刘艺等译 参考书:
➢ 计算机科学导论,王玲,宋斌编著,清华大学出版社, 2008
➢ 计算机科学导论(第2版),瞿中 等编著,清华大学 出版社, 2007
➢ 计算机科学导论(第7版)(影印版),布鲁克希尔 著,清华大学出版社 ,2004
第10讲:数据库
(第14章)
第11讲:人工智能与计算理论 (第17,18章)
学习建议
内容多,用系统的思想学习,掌握基本概念、 基本原理、基本操作;
听讲与自学相结合,可以快速浏览几本书,有 针对性的上网查阅或图书查阅;
多上机,多实践,提高动手能力
本讲内容
1.1.计算机系统分层结构 1.2.计算机的发展历史 1.3.计算机的分类 1.4.计算机应用
计算机科学导论
第一讲 概述
课程简介
《计算机科学导论》是计算机类各专业全程教学内容的导 引课程,介绍计算机硬件、软件、数据组织和计算理论等方面的 内容,包括编码及计算机体系结构的基本原理、操作系统、计算 机网络、算法、程序设计语言、数据结构和数据库、人工智能以 及计算理论等专业知识的知识点以及与信息技术有关的社会人文 等知识,力求使学生对计算机科学有比较全面的了解。与此同时, 使读者对后续课程的学习有一个概括的了解,为今后的学习打下 良好的基础。

清华大学计算机科学与技术专业课程表

清华大学计算机科学与技术专业课程表

信息学院本科指导性教学计划(公共课)第一学年秋季学期课号课程名学分周学时考试或考查说明及主要先修课10610022思想道德修养22考查10640433英语选修22考查10420874一元微积分44考试10420684几何与代数(1)44考试20240013离散数学(1)33考试20230093计算机语言与程序计33考试30250023计算机语言与程序计33考试30240233程序设计基础33考试四选一34100063程序设计基础33考试30210041信息科学技术概论11考查春季学期00501622毛泽东思想概论32考试10640443英语选修22考查10420884多元微积分44考试一元微积分10420692几何与代数(2)22考试几何与代数(1) 二选一10420913几何与代数(2)33考试几何与代数(1)10430484大学物理B(1)44考试一元微积分10430344大学物理(1)(英)44考试一元微积分三选一10430525大学物理A(1)55考试一元微积分20220214电路原理44考试20220221电路原理实验11考查第二学年秋季学期课号课程名学分周学考试或考查说明及主要先修课10420753高等微积分22考试一元微积分10420252复变函数引论22考试一元微积分二选一复变函数33考试一元微积分10430535大学物理A(2)55考试大学物理A(2)20250093电子技术基础33考试电路原理二选一30230563数字逻辑电路33考试电路原理电子技术基础实验22考查跨学期课,本学期完成1学分10420262数理方程引论22考查不修该课程20130342工程图学基础22考试春季学期10420243随机数学方法33考试二选一10420803概率论与数理统计33考试数字逻辑电路33考试电路原理电子技术基础电子技术系列实验22考查跨学期课,本学期完成1学分30230104信号与系统44考试微积分电路复二选一40250144信号与系统分析44考试变几何与代数40240013系统分析与控制33考试微积分电路复二选一40250074自动控制理论(1)44考试变几何与代数3025数据结构33考试四选一34100044数据结构与算法44考试微电子学导论33考试半导体器件与集成电路33考试三选一集成电路原理与设计33考试物理、生物类课程≥2220240023离散数学(2)(选)33考试夏季学期电子技术课程设计33考查电子技术基础Java语言(选)22考查计算机语言与程序设计二选一语言(选)22考查计算机语言与程序设计第三学年秋季学期课号课程名学分周学时考试或考查说明及主要先修课汇编语言程序设计33考试40240354计算机组成原理44考试汇编语言程序设计数字电子技术基础40240432形式语言与自动机22考试3024信号处理原理44考试微积分电路复变几何与代以下专业方向课选修不少于3学分30240262数据库系统原理22考试数据结构30240042人工智能导论22考试离散数学30240222VLSI设计导论22考查数字逻辑与数字电路网络编程与计算技术22考查40240642现代控制技术22考查自动控制理论(1)春季学期10610053马克思主义哲学原理32考试30240243操作系统33考试计算机组成原理40240144编译原理33考试数据结构、汇编语言程序设计40240433计算机系统结构33考试计算机组成原理20240433数值分析(选)或同组其它数学类课33考试微积分、线性代数体育专项(2)以下专业方向课选修不少于3学分40240412数字系统设计自动化22考查数字逻辑与数字电路40240392多媒体技术基础及应用22考查40240452模式识别22考查概率与统计初等数论及其应用22考试30240253微计算机技术33考试计算机组成原理、汇编语言程序设计40240422计算机图形学基础22考查数据结构30230313通信电路33考试电子技术基础数字逻辑电路30240163软件工程33考试数据结构第四学年秋季学期课号课程名学分周学时考试或考查说明及主要先修课40240243计算机网络33考试必修操作系统30210033通信原理33考试必修二选一30230343现代通信原理33考试必修通信电路计算机网络专题训练11B34:专业专题训练≥4≥4体育专项(3)人文选修课≥6≥6见全校性选修课选课手册以下专业方向课选修不少于4学分30240192高性能计算导论22考查22考查﹡模式识别基础40240062数字图像处理22考查22考查40240362电子商务平台及核心技术33考试40240472计算机实时图形和动画技术40240372信息检索22考查数据结构40240402虚拟现实22考查40240492数据挖掘22考试40240502软件开发方法22考试嵌入式系统33考试操作系统合计≥21≥21 春季学期综合论文训练1015周必修体育专项(4)选修注:带*者为院平台课,可在信息学院范围内选修不低于所列学分的同类课程计算机科学与技术专业核心课程6 门,17学分课号课程名学分先修要求40240433计算机系统结构3(春)操作系统30240243操作系统3(春)计算机组成原理,数据结构40240144编译原理4(春)数据结构40240243计算机网络3(秋)操作系统40240432形式语言与自动机2(秋)离散数学(1)20240103汇编语言程序设计3(秋)计算机科学与技术专业限选课不少于11学分,其中:计算机系统结构-----计算机科学与技术专业选修不少于2学分课号课程名学分先修要求30240253微计算机技术3汇编语言程序设计嵌入式系统3计算机组成原理操作系统40240412数字系统设计自动化2数字逻辑电路30240222VLSI设计导论2数字逻辑电路计算机软件与理论---计算机科学与技术专业选修不少于2学分课号课程名学分先修要求初等数论及其应用2离散数学30240192高性能计算导论2(英语讲课)计算机系统结构30240262数据库系统原理2数据结构网络编程与计算技术2计算机组成原理软件开发方法2C++ 数据结构软件工程30240134软件工程3C++数据结构计算机应用技术-----计算机科学与技术专业选修不少于2学分课号课程名学分先修要求30240042人工智能导论2离散数学40240452模式识别2几何与代数概率与统计人工智能导论40240062数字图象处理2概率与统计程序设计基础40240392多媒体技术基础及应用2信号处理原理40240422计算机图形学基础2数据结构40240472计算机实时图形和动画2几何与代数技术40240402虚拟现实2计算机组成原理40240462现代控制技术2系统分析与控制40240372信息检索2数据结构40240362电子商务平台及核心技术2数据结构JAVA程序设计数据库系统原理40240492数据挖掘2数据库系统原理计算机科学与技术专业专题训练不少于5学分,其中计算机网络专题训练为必选课号课程名学分先修要求计算机网络专题训练1(秋)操作系统专题训练2(秋)编译原理专题训练2(秋)数据库专题训练2(秋)计算机科学与技术专业的任选课程课号课程名学分先修要求30240253微计算机技术3汇编语言程序设计初等数论及其应用2离散数学网络编程与计算技术2计算机组成原理30240134软件工程3C++数据结构30240042人工智能导论2离散数学40240452模式识别2几何与代数概率与统计人工智能导论40240062数字图象处理2概率与统计程序设计基础40240392多媒体技术基础及应用2信号处理原理40240422计算机图形学基础2数据结构40240472计算机实时图形和动画技术2几何与代数40240402虚拟现实2计算机组成原理40240462现代控制技术2系统分析与控制40240372信息检索2数据结构40240362电子商务平台及核心技术2数据结构JAVA程序设计数据库系统原理40240492数据挖掘2数据库系统原理计算机科学与技术专业 业务培养目标:本专业培养具有良好的科学素养,系统地、较好地掌握计算机科学与技术包括计算机硬件、软件与应用的基本理论、基本知识和基本技能与方法,能在科研部门、教育单位、企业、事业、技术和行政管理部门等单位从事计算机教学、科学研究和应用的计算机科学与技术学科的高级专门科学技术人才。

C语言程序设计(2014年清华大学出版社出版的图书)

C语言程序设计(2014年清华大学出版社出版的图书)
韩婷婷,女,硕士,鲁东大学信息与电气工程学院副软件工程系讲师。主要研究领域为模型驱动的软件工程, 软件测试,软件维护,形式化方法。
谢谢观看
C语言程序设计(2014年清华大学出 版社出版的图书)
2014年清华大学出版社出版的图书
01 成书过程
03 教材目录 05 教材特色
目录
02 内容简介 04 教学资源 06 作者简介
《C语言程序设计》是2014年清华大学出版社出版的图书,作者是宋丽华、雷鹏、张小峰、韩婷婷。 该书是普通高等教育“十一五”国家级规划教材、计算机系列教材。该教材可作为计算机类、电气信息类的 本科教材,也可作为科技工作者业务学习的参考用书。 该教材共分9章,以程序设计思想为中心,强化算法思想和规范化编程。
雷鹏,男,工学硕士,毕业于山东大学计算机软件与理论专业,鲁东大学信息与电气工程学院副教授。研究 方向为计算机算法设计与分析、Led照明最优化、伽马辐照装置放射源棒最优化排列、软件工程、程序设计。
张小峰,男,工学博士,鲁东大学信息与电气工程学院副教授。主要从事数字图像处理、模式识别等方面的 研究工作。先后为本科生讲授《离散数学》《信息论与编码》《算法分析与设计》等课程。
2014年6月1日,该教材由清华大学出版社出版。
内容简介
第1章C语言入门:介绍简单的C程序组成、C程序的运行环境,算法的特性以及描述算法的方法,结构化程序 设计思想。
第2章数据类型和表达式:介绍C语言的基本数据类型,数据的表示,常量和变量,运算符和表达式,以及表 达式的计算过程。
第3章C语言的基本控制结构:介绍了C语言的三种基本结构,包括C语句的种类、数据的输入与输出、选择结 构和循环结构,并通过程序实例分析了选择和循环结构的构造过程。
成书过程

第1章 概述-编译原理及实践教程(第3版)-黄贤英-清华大学出版社

第1章 概述-编译原理及实践教程(第3版)-黄贤英-清华大学出版社
• 重点掌握:编译程序工作的基本过程及其各阶 段的基本任务,编译程序总框。
《编译原理实践及应用》
1.1 程序设计语言及翻译程序
为什么要使用编译程序?
• 机器语言 (machine language)
C7 06 0000 0002
• 汇编语言 (assembler language)
MOV X , 2
为该语言编译程序能够识别的形式加入到标准源程序中。 在VC++6.0中,通过预处理后,将.c的源程序变为了.i的文 本文件。
《编译原理实践及应用》
编译
标准的C语言程序由编译程序翻译为对应于某个计算机 上的汇编语言程序。汇编语言是和机器语言一一对应的易于 阅读的文本形式的语言。编译的结果是某种机器上汇编语言 书写的程序。如在VC++6.0中,编译这一步将.i的文本文件 生成了.cod的文本文件,这就是汇编代码。有的编译器生成 .s或.asm后缀的文件。
• 解释程序:将高级程序设计语言写的源程序作为输入,
边解释边执行源程序本身,而不产生目标程序的翻译程序。
• 其他概念:
– 诊断编译程序 – 优化编译程序 – 交叉编译程序 – 可变目标编译程序
宿主机 目标机
《编译原理实践及应用》
对编译程序的一些说明
• 编译程序实质上是一个翻译程序,要注意等价变 换
• 高级语言 (high-level language)
X=2
《编译原理实践及应用》
语言层次和翻译程序大家族
翻译程序:能够将某种语言写的程序转换成另一
种语言的程序,而且后者与前者在逻辑上是等价的。
转换
高级语言层 高级语言1
程序
高级语言2
高级语言3 高级语言4

软件体系结构

软件体系结构

第21页
第一章 概述
软件体系结构的意义
1.5 软件体系结构的意义
软件体系结构是早期设计决策的体现:
明确了对系统实现的约束条件 决定了开发和维护组织的结构
制约着系统的质量属性
通过研究软件体系结构可以预测软件的质量 使推理和控制软件更新更加有效 有助于循序渐进的原型设计 可以作为培训的基础
《软件体系结构》 黑龙江大学计算机科学技术学院 版权所有© 2006-2007
《软件体系结构》 黑龙江大学计算机科学技术学院 版权所有© 2006-2007
第14页
第一章 概述
概念
构件(Component)
1.3 软件体系结构的概念和术语
构件是语义完整、语法正确和有重用价值的单位软件。 一般来说,任何在系统运行过程中承担一定功能、发挥一定
作用的软件体都可以看作是构件,譬如设备驱动程序、函数
模块;也可以是一个独立的软件,如数据库服务器。 连接件把不同的构件连接起来形成软件系统。它可以是过程
调用、管道、远程方法调用等等。
约束一般为构件连接时的规则、条件或方式。
《软件体系结构》 黑龙江大学计算机科学技术学院 版权所有© 2006-2007
第11页
第一章 概述
补充说明
1.2 软件体系结构的定义
第20页
第一章 概述
软件体系结构的意义
1.5 软件体系结构的意义
软件体系结构是风险承担者进行交流的手段:系统的
各个风险承担者(客户、项目管理人员、设计开发人 员、测试人员、集成人员)把软件体系结构作为各自
关心的不同方面的描述,并以此作为相互沟通,达成
共识的基础。
《软件体系结构》 黑龙江大学计算机科学技术学院 版权所有© 2006-2007

C 面向对象程序设计(2010年清华大学出版社出版的图书)

C  面向对象程序设计(2010年清华大学出版社出版的图书)
除了发表过大量的学术论文,Savitch教授还编写了多部非常畅销的计算机教材。
第1章计算机和C++编程入门 概述 1.1计算机系统 1.2编程和问题求解 1.3 C++入门 1.4测试和调试 小结 自测题答案 编程项目 第2章 C++基础知识 概述
图书五
内容简介
图书目录
《C++面向对象程序设计》从实际应用出发,系统地介绍C++面向对象程序设计的原理、方法和技巧。重点突 出,叙述清楚,深入浅出,论述详尽,使读者既能深刻领会面向对象程序设计的思想,了解面向对象程序设计的 特征,又能掌握C++语言的编程与应用。全书共8章,主要包括:面向对象程序设计语言概述、C++语言基础知识、 类和对象、对象成员和友员、继承和派生、多态性和运算符重载、模板、C++的输入/输出流。在每一章的知识点 后面,都给出了相应的程序设计实例,这些实例不仅有助于读者巩固知识点的内容,而且更有助于读者创新能力 的培养。
图书一
内容提要
目录
C++面向对象程序设计本书介绍了C++面向对象程序设计的基本知识和编程方法,以及C++面向对象的基本特征。 针对初学者的特点,本书力求通过大量实例、习题和上机实验题,以通俗易懂的语言讲解复杂的概念和方法,使读 者能深刻理解和领会面向对象程序设计的特点和风格,掌握其方法和要领,以期帮助读者尽快地迈入面向对象程 序设计的大门。
Savitch教授的研究领域包括复杂性理论、形式语言理论、计算语言学和计算机教材的开发。他因为对复杂 性理论所做的贡献而声名远扬,其中包括他提出的第一个完整语言(complete1anguage)范例。这个奠基性的

第11章 软件项目管理-软件工程基础(第3版)-胡思康-清华大学出版社

第11章  软件项目管理-软件工程基础(第3版)-胡思康-清华大学出版社

第 4 页4
软件项目管理概述
软件项目管理目标
软件项目管理成功的目标包括以下几方面: ⑴ 如期完成项目 ⑵ 项目成本控制在计划之内 ⑶ 妥善处理用户的需求变动 ⑷ 保证项目质量⑸ 保持对项目进度的跟踪与控制
第11章 软件项目管理
第 5 页5
软件项目规模度量
任何软件项目都需要定量描述才能制定软件开发成本。只有把软件项目 中设计的各项因素,如软件开发时间、人员数量、开发环境的软件工具和硬 件系统、资金等资源的指标尽可能量化,才能准确估算软件产品的规模、复 杂度、工作总量。没有定量的项目将难以展开软件管理和实施过程。
❖系统的内部处理复杂吗
❖代码设计可重用吗
❖ 设计中包括转换和安 装吗
❖ 系统的设计支持不同 组织的多次安装吗
❖ 系统的实际有利于用 户的修改和使用吗
第 10 页10
软件项目规模度量
面向功能的度量
一旦计算出功能点,就可仿照LOC的方式度量软件的生产率、质量和 其它属性:
生产率 = FP/E 质量 = ER/FP 成本 = S/FP 文档 = ER/FP
第11章 软件项目管理
第 2 页2
软件项目管理概述
软件项目管理的特点
⑷ 软件产品虽然分通用软件和领域软件,但其都是“定制”的定向系统 ,目前仍无法摆脱手工开发模式。“没有完全一样的软件项目”,这不仅对 项目实施过程难以控制,而且还需要根据具体应用领域、环境等制定特殊管 理过程和内容。
⑸ 源于应用领域的复杂性和软件开发技术的复杂性,软件自身是一个复 杂系统。因而软件管理要对复杂软件系统过程做到未雨绸缪,对软件开发内 容抽丝剥茧般的细致。 ⑹ 软件项目管理需要综合各方面,特别是社会因素、精神因素、认知要素、 技术问题、领域问题、用户沟通等各项复杂内容。

第13章 计算机编程-计算机导论(第2版)-微课版-吕云翔-清华大学出版社

第13章 计算机编程-计算机导论(第2版)-微课版-吕云翔-清华大学出版社

编程语言的分类
• 编程语言可以按照多种方式进行分类: • 1. 低级语言和高级语言 • 低级语言直接为最底层硬件编写指令,可
分为机器语言和汇编语言。机器语言完全 由0、1二进制字符串组成,可直接交由处 理器处理;汇编语言稍微简便一些——它 可以使用处理器提供的特有指令(如移位 操作、简单的加减法)。 • 高级语言使用了符合人类语言的语法和关 键字,通过使用容易理解的命令来代替难 以理解的二进制代码或汇编代码——这一 工作交由编译器或解释器进行。
• 当发现bug时,编程人员可以使用调试器来 逐行检查程序。通过调试器可以检查程序 执行到特定步骤时的变量值。
编程工具
• 文本编辑器、程序编辑器都属于编程工具,但 在一般情况下,编程人员不会只使用它们进行 编程工作,而是趋向于使用包含了大量编程工 具的SDK或IDE。
• SDK(Software Development Kit,软件开发工 具包)是指某种语言特有的工具集。SDK通常 包含编译器、语言文档和安装说明,一些SDK 还会包含编辑器、调试器、图形化用户界面设 计和API(应用程序编程接口)。
• 文本编辑器。如Windows 的“记事本”。 • 程序编辑器。可以理解为是专门用来进行代码
编写的文本编辑器,它们提供了辅助编程的工 具,如将关键字用彩色显示、自动补全、查找 替换、格式化代码等。 • 可视化开发环境(Visual Development Environment,简称VDE)。提供了可视化编程 的工具,编程人员可以在其中拖动代表对象的 控件并设置其属性。
• 在编程语言编写的程序中,每行代码都由 关键字和参数按照语法规则组合在一起。 关键字是由对应编程语言的编译器或解释 器预先定义的,每个关键字都有其特殊的 含义。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

精选PPT
19
• 应用特性
• 不同的程序设计语言满足不同的技术特性, 可以对应于不同的应用。例如Prolog语言适 用于人工智能领域、SQL语言适用于关系数 据库。语言的技术特性对软件工程各阶段有 一定的影响,特别是确定了软件需求之后, 程序设计语言的特性就很重要了,要根据不 同项目的特性选择相应特性的语言。
精选PPT
20
程序设计语言的发展和分类
• 程序设计语言的分类
– 按语言级别:低级语言和高级语言; – 按应用范围:通用语言和专用语言; – 按用户要求:过程式语言和非过程式语言; – 按语言所含的成分:顺序语言、并发语言
精选PPT
17
▪ 将设计翻译成代码的便利程度:语言若直 接支持结构化部件、复杂的数据结构、特 殊I/O处理、按位操作和OO方法,则便于 将设计转换成代码。
▪ 编译器的效率:编译器应生成效率高的代 码
▪ 源代码的可移植性:语言的标准化有助于 提高程序代码的可移植性,源程序中应尽 量不用标准文本以外的语句。
精选PPT
7
程序设计语言的基本成分
• 程序设计语言基本成份可归纳为四种:数 据成分、运算成分、控制成分、传输成分
– 数据成分:它指明该语言能接受的数据,用 来描述程序中的数据。如各种类型的变量、 数组、指针、记录等。作为程序操作的对象, 具有名称、类型和作用域等特征。使用前要 对数据的这些特征加以说明。数据名称由用 户通过标识符命名,类型说明数据需占用存 储单元的多少和存放形式,作用域说明数据 可以使用的范围。
14
▪ 紧致性(compactness):指程序员必须 记忆的与编码有关的信息总量。刻画紧致 性的指标有:对结构化部件的支持程度, 可用关键字和缩写的种类,算术及逻辑操 作符的数目,预定义函数的个数等。
▪ 局部性:程序由模块组成,应采用高内聚 低耦合、模块独立、局部化等原则。
▪ 线性:人们习惯于按逻辑上线性的次序理 解程序,程序中大量的分支和循环、随意 的GOTO语句会破坏程序的线性,提倡结 构化程序设计。
精选PPT
2
Байду номын сангаас
内容摘要
• 程序设计语言 • 程序设计风格
精选PPT
3
内容摘要
• 程序设计语言 • 程序设计风格
精选PPT
4
基本概念
• 程序设计语言是指用于书写计算机程序的 语言,它是一种实现性的软件语言
• 语法(syntax)用来表示构成语言的各个 记号之间的组合规则,它是构成语言结构 正确成分所需遵循的规则集合
精选PPT
13
影响程序员心理的语言特性有:
▪ 一致性:指语言采用的标记法(使用的符 号)协调一致的程度。如,一符多用的标 记法容易导致错误。
▪ 二义性:对语句不同理解所产生的二义性 将导致程序员对程序理解的混乱。如,
if then if then else x := a ** b ** c
精选PPT
精选PPT
8
• 以 C语言为例,其数据构造方式可分为基本 类型和派生类型
精选PPT
9
• 运算成分:它指明该语言允许执行的 运算,用来描述程序中所需进行的运 算。如 + 、- 、* 、/ 等。
• 控制成分:它指明该语言允许的控制 结构,人们可利用这些控制成分来构 造程序中的控制逻辑。基本的控制成 分包括:顺序结构、条件选择结构和 重复结构。如下页图
软件工程
第10章 程序设计语言和编码
• 编码阶段的任务是根据详细设计说明书 编写程序
• 程序设计语言的特性和程序设计风格会 深刻地影响软件的质量和可维护性
• 为了保证程序编码的质量,程序员必须 深刻理解、熟练掌握并正确地运用程序 设计语言的特性
• 此外,还要求源程序具有良好的结构性 和良好的程序设计风格
精选PPT
12
程序设计语言的特性
• 心理特性
– 从设计到编码的转换基本上是人的活动,因 此,语言的性能对程序员的心理影响将对转 换产生重大影响
– 在维持现有机器的效率、容量和其它硬件限 制条件的前提下,程序员总希望选择简单易 学、使用方便的语言,以减少程序出错率, 提高软件可靠性,从而提高用户对软件质量 的可信度
(1)计算表达式1
(2)计算表达式2,若计算结果为0,则终止循环; 否则转(3)
(3)执行循环体
(4)计算表达式3
(5)转向(2)
精选PPT
6
• 语用(pragmatic)用来表示构成语言的各 个记号和使用者的关系。
如:语言是否允许递归?是否要规定递归 层数的上界?这种上界如何确定?这些都属 于语用上的问题。
精选PPT
18
▪ 配套的开发工具:CASE工具可减少编码时 间,提高代码质量。尽可能使用工具和程 序设计支撑环境。
▪ 可复用性:指编程语言能否提供可复用的 软件成分,复用时需要修改调整的内容多 少
▪ 可维护性:包括可理解性、可测试性、可 修改性。源程序的可读性和文档化特性是 影响可维护性的重要因素。
– 如C语言中for语句的构成规则是: for(表达式1;表达式2;表达式3)语句 语法中不涉及到这些记号的含义,也不涉及使用者
精选PPT
5
• 语义(semantic)用来表示按照各种表示方式所表 示的各个记号的特定含义,但它不涉及到使用者。
如上述for语句中:表达式1表示循环初值;表达 式2表示循环条件;表达式3表示循环的增量;语句 为循环体。整个语句的语义是:
精选PPT
10
基本程序控制结构
精选PPT
11
• 传输成分:它指明该语言允许的数据传 输方式,在程序中可用它进行数据传输。
例如:Turbo C语言标准库提供了两个 控制台格式化输入、输出函数printf ( ) 和scanf ( ),这两个函数可以在标准输 入输出设备上以各种不同的格式读写数 据。 Printf ( )函数用来向标准输出设 备(屏幕)写数据 ,scanf ( ) 函数用来 从标准输入设备(键盘)上读数据。
精选PPT
15
▪ 传统性:传统性容易影响人们学习新语种 的积极性
精选PPT
16
• 工程特性
• 程序设计语言的特性影响人们思考程序的方 式,从而也限制了人们与计算机进行通信的 方式。为满足软件工程的需要,程序设计语 言还应该考虑:将设计翻译成代码的便利程 度、编译器的效率、源代码的可移植性、配 套的开发工具、软件的可复用性和可维护性。
相关文档
最新文档