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

时间: 2024-12-30 00:31:24 |   作者: 南宫注册入口官网注册

  

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

  • 文本编辑器、程序编辑器都属于编程工具,但 在正常的情况下,编程人员不会只使用它们进行 编程工作,而是趋向于使用包含了大量编程工 具的SDK或IDE。

  • SDK(Software Development Kit,软件开发工 具包)是指某种语言特有的工具集。SDK通常 包含编译器、语言文档和安装说明,一些SDK 还会包含编辑器、调试器、图形化用户界面设 计和API(应用程序编程接口)。

  • 在程序设计阶段,第一步是要定义问题陈述, 即明确问题的范围、清楚指定已知信息, 并指定问题何时算是已经解决。

  • 已知信息在程序中通常用变量或常量表示。 • 大多数问题解决的标志是程序输出一个结果。

  • 在问题陈述定义好后,还要选择一种软 件开发方法,目前常用的软件开发方法有 预测方法和敏捷方法。

  • 在编程语言编写的程序中,每行代码都由 关键字和参数按照语法规则组合在一起。 关键字是由对应编程语言的编译器或解释 器预先定义的,每个关键字都有其特殊的 含义。

  • 编程语言俗称计算 机语言,是一套关 键字和语法规则, 旨在生成计算机可 以理解和执行的指 令。

  • 在设计阶段需要完成类似于信息系统分析与设 计中的软件设计说明书,说明书中会指定人软 件每个模块的逻辑流程额,编程人员按照说明 书中的流程即可按部就班地编写程序。

  • 专注于灵活开发的过程,它的软件设计说明书 是随着项目开发进度不断发展的。

  Language),即机器语言。 • 第二代编程语言(2GL),即汇编语言。 • 第三代编程语言(3GL),高级程序设计语言,

  • 当代码编写完毕后,编程人员需要进行测 试以确保程序没有bug(即错误)。bug大 体可分为以下几类:

  • 语法错误,即由于编码时的手误,或对于编程 语言的不够熟悉,而导致程序无法通过编译。

  • 编程语言可以按照多种方式进行分类: • 1. 低级语言和高级语言 • 低级语言直接为最底层硬件编写指令,可

  分为机器语言和汇编语言。机器语言完全 由0、1二进制字符串组成,可直接交由处 理器处理;汇编语言稍微简便一些——它 可以使用处理器提供的特有指令(如移位 操作、简单的加减法)。 • 高级语言使用了符合人类语言的语法和关 键字,通过使用容易理解的命令来代替难 以理解的二进制代码或汇编代码——这一 工作交由编译器或解释器进行。

  • 大多数需要通过计算机程序求解的问题都 是模糊的,即用户一般只提出需求,而不 关心如何达成需求。因此在程序编码前, 软件工程师或计算机程序员需要先将需求 抽象成可以用编程语言编写的逻辑构造— —这就是程序设计。

  • 文本编辑器。如Windows 的“记事本”。 • 程序编辑器。能够理解为是专门用来进行代码

  编写的文本编辑器,它们提供了辅助编程的工 具,如将关键字用彩色显示、自动补全、查找 替换、格式化代码等。 • 可视化开发环境(Visual Development Environment,简称VDE)。提供了可视化编程 的工具,编程人员可以在其中拖动代表对象的 控件并设置其属性。

  • 面向对象编程(Object Oriented Programming, 简称OOP)。针对程序处理过程的实体及其属 性和行为进行抽象封装,以获得更加清晰、高 效的逻辑单元划分,程序由一系列的对象和方 法构成。

  • 说明性编程。专注于如何使用事实和规则,用 人类易于理解的方式描述问题。

  高级程序设计语言,如SQL。 • 第五代编程语言(5GL)目前有两种定义,一

  种是可视化编程语言,即利用可视化或图形化 接口编程;另一种是自然语言,即最接近日常 生活用语的编程语言,LISP和Prolog正在向这 方面靠近。

  • 过程化编程。强调时间上的线性,按照程序执 行过程按部就班地编写代码。

  • 使用编译器生成的目标程序可以脱离其语 言环境独立运行,使用比较方便、效率较高。 但如果需要修改应用程序,则需要先修改其 源代码,再重新编译。

  • 编程基础知识 • 过程化编程 • 面向对象编程 • 面向方面编程 • 可适应和敏捷软件开发

  • 编程语言是一套关键字和语法规则,旨在 生成计算机能够理解和执行的指令。如数 据库的SQL就是编程语言的一种,其他比较 流行的编程语言如Java、C、Python、C# 等。

  • 解释器在程序运行时,一次只会转换并执行 一条语句。在一条语句被执行后,解释器才 会转换到下一条语句,如此循环直到程序结 束。这种方式效率较低,应用程序不能离开 其解释器,但比较灵活,可以动态地调整、修 改应用程序。