计算思维导论课件,第4章

1 程序设程序设 计语言计语言 一 程序设计的概念 程序 计算机的一组指令 经过编译和 执行才能最终完成程序的功能 程序设计 计算机解决问题的全过程 4 1 程序设计基础 程序设计的基本过程 分析问题 明确任务 建立数学模型 选择合适的解决方案 确定数据结构和算法 编写程序 调试程序 整理文档 交付使用 2 程序设程序设 计语言计语言 二 程序设计方法 1 结构化程序设计 基本思想 顺序结构 选择结构 循环结构 设计原则 自顶向下 逐步求精 模块化 4 1 程序设计基础 程序模块1 程序模块2 程序模块2 条件 程序模块1 成立 不成立 条件 程序模块 成立 不成立 3 程序设程序设 计语言计语言 2 面向对象程序设计 对象 用来描述客观事物的实体 反映 系统为之保存信息和与之交互的能力 每个 对象有各自的内部属性和操作方法 4 1 程序设计基础 属性 频道 颜色 音量 方法 调节频道 调节颜色 调节音量 电视机 电视机对象 整个程序是由一系列相互作用的对象构成 的 对象之间的交互通过发送消息来实现 4 程序设程序设 计语言计语言 类 具有相同的属性和操作方法 并遵 守相同规则的对象的集合 类是对象集合的抽象 规定了这些对象 的公共属性 即数据结构 和方法 操作数据 的函数 对象是类的一个实例 4 1 程序设计基础 例如 一个面向对象的图形程序 在屏幕的左下角显示一个半径为2cm 的红色圆 在屏幕的中部显示一个半径为3cm的黄色圆 在屏幕的右下 角显示一个半径为4cm的蓝色圆 这三个圆的圆心位置 半径大小和颜 色均不相同 是三个不同的对象 但是它们有相同的属性 圆心坐标 半径 颜色 和相同的操作 显示图形 移动 缩放等 因此它们是同 一类事物 可以用 Circle类 来定义 OOP特点 封装 继承 多态性 5 程序设程序设 计语言计语言4 1 程序设计基础 三 程序设计语言 文章汉语 英语字 词 语法结构写文章 程序计算机语言数据表示 表达式 语句结构 编程序 计算机语言 计算机所能够识别的语言 程序设计语言 计算机语言 6 程序设程序设 计语言计语言 1 语言的分类 应用范围 通用语言 专用语言 系统程序设计语言 科学计算语言 事务处理语言 实时控制语言 程序设计 方法 结构化语言 模块化语言 面向对象语言 与硬件的 联系程度 机器语言 汇编语言 高级语言 与计算机硬件基本无关 依赖于计算机硬件 低级语言 4 1 程序设计基础 7 程序设程序设 计语言计语言 机器语言 从本质上说 计算机只能识别0和1两个 数字 因此 计算机能够直接识别的指令是 由一连串的0和1组合起来的二进制编码 机器指令 操作码 操作数 机器语言 指计算机能够直接识别的指 令的集合 即以二进制代码表示的机器指令 集合 它是计算机能够直接识别和执行的语 言 4 1 程序设计基础 8 程序设程序设 计语言计语言 优点 占用内存少 执行速度快 缺点 面向机器语言 通用性差 不易阅 读和记忆 编程工作量大 难以维护 4 1 程序设计基础 例题 用Intel 8086指令系统来编写机器语 言程序 要求完成 9 8 9 程序设程序设 计语言计语言 优点 比机器语言程序容易阅读和修改 缺点 面向机器语言 通用性差 4 1 程序设计基础 汇编语言 汇编语言 用符号代替机器指令所产生 的语言 例如 8086汇编语言对9 8 编程 10 程序设程序设 计语言计语言 源程序 用汇编语言编写的程序 汇编程序 负责翻译的软件 主要作用 源程序转换成用二进制代码 表示的目标程序 连接程序 将目标程序与库文件或其他 目标程序连接起来形成可执行程序 4 1 程序设计基础 汇编语言源程序目标程序 可执行程序 汇编程序 连接程序 11 程序设程序设 计语言计语言 高级语言 高级语言 用接近自然语言和数学语言 的语法 符号描述基本操作的程序设计语言 BASIC FORTRAN Pascal COBOL C VB VC Delphi Java C 例如前面9 8 用C语言编程 main int al al 9 8 4 1 程序设计基础 12 程序设程序设 计语言计语言 优点 符合人类习惯 简单易学 通用性强 便于维护 源程序 用高级语言编写的程序 翻译程序 将源程序翻译成用二进制代 码表示的目标程序 翻译程序的工作方式 解释方式 边解释边执行 编译方式 写程序 编译程序 运行程序 4 1 程序设计基础 13 程序设程序设 计语言计语言 高级语言源程序执行结果 解释程序 解释方式 4 1 程序设计基础 编译方式 可执行程序 高级语言源程序 编译程序 目标程序 连接程序 14 程序设程序设 计语言计语言 2 程序设计语言的选择 选择编程语言涉及很多因素 人的因素 编程小组精通这门语言吗 任务需要 选择的语言能否实现任务 的全部功能 能跨平台吗 有数据库接口功 能吗 能直接控制声卡等硬件吗 客户指定 或要通过串行口控制一个 外部设备 C 汇编语言是最明智的选择 了解一些流行的语言 对于做出合理选择会有帮助 4 1 程序设计基础 15 程序设程序设 计语言计语言4 2 程序设计语言的发展 一 程序语言的开端 1940 1950 Plankalul 第一个真正意义上的计算机程序设计语言 ENIAC coding system 第一台电子计算机的编程语言 二 百花齐放的阶段 1950 1967 FORTRAN 科学计算领域广泛使用的语言 LISP 第一个函数式程序设计语言 COBOL 第一个商用语言 ALGOL 面向算法设计的高级语言 BASIC 面向初学者的简单易用的高级语言 16 程序设程序设 计语言计语言 三 范型发展阶段 1968 1978 4 2 程序设计语言的发展 Pascal 广泛使用的结构化程序设计语言 C 使用最普遍的系统级程序设计语言 Smalltalk 第一个面向对象程序设计语言 Prolog 逻辑式程序设计语言 SQL 数据应用领域的标准语言 四 巩固提高阶段 1979 1989 C 面向对象和系统级程序设计结合 Ada 美国政府的标准化系统开发语言 Perl 著名脚本语言 17 程序设程序设 计语言计语言 五 互联网时代 1990 1999 4 2 程序设计语言的发展 Haskell 函数式程序设计语言 Python 著名脚本语言 Visual Basic 流行RAD语言 HTML 网页语言 Java 跨平台通用高级语言 Delphi 基于Pascal的RAD语言 六 进一步发展的新世纪 2000 至今 NET 微软公司的编程平台 C 面向对象的运行于 NET上的高级语言 18 程序设程序设 计语言计语言4 3 命令式程序设计语言 命令式程序设计语言 通过指明一列可 执行的运算及运算的次序来描述计算过程的 语言 结构化程序设计语言 FORTRAN BASIC Pascal COBOL ALGOL C 面向对象程序设计语言 Visual Basic C Java Delphi C Python 19 程序设程序设 计语言计语言4 4 函数式程序设计语言 函数式程序设计语言 用于函数式程序 设计的语言 其中函数是构造程序的基本成 分 并提供一些设施用于构造更为复杂的函 数 程序人员根据提出的问题去定义求解函 数 其中可能包含一些辅助函数 函数式程序设计语言 LISP Erlang Ruby Haskell Scala ML 20 程序设程序设 计语言计语言4 5 逻辑式程序设计语言 逻辑程序设计语言 用于逻辑程序设计 的语言 包括 顺序逻辑程序设计语言 并行逻辑程序设计语言 约束逻辑程序 设计语言 逻辑程序设计语言的思路 将逻辑直接作为 程序设计的语言 并将计算作为受控推理 它通过依赖于设定某种特定的建立在事实上 的规则来解决问题 而不是通过设定特定的 步骤来解决问题 如 Prolog 21 程序设程序设 计语言计语言4 6 标记语言和Web开发语言 一 标记语言 SGML HTML XML 二 Web开发语言 CGI ASP PHP JSP JavaScripe AJAX 22 程序设程序设 计语言计语言4 7 SQL语言 SQL语言 数据库管理系统中专用的结构 化查询语言 SQL包含四部分 数据查询语言 SELECT 数据操纵语言 INSERT UPDATE DELETE 数据定义语言 CREATE ALTER DROP 数据控制语言 COMMIT WORK ROLLBACK WORK 2012 3 7 微软正式发布SQL Server 2012 此次版 本发布口号是大数据来替代云的概念 微软对SQL Server 2012的定位是帮助企业处理每年大量的数 据 Z级别 增长 23 程序设程序设 计语言计语言本章小结 网络编程语言 标记语言 Web开发语言 数据库查询语言 SQL语言 24