北京航空航天大学:《程序语言设计原理》课程教学资源(PPT课件讲稿)第三章 过程式程序设计语言

第三章过程式程序设计语言 基本观点: 计算实现的模型如果按冯·诺依曼原理强制改变内存中的值叫命令(或译指 强制 Imperative式)的。由于强制改变值,程序状态的变化没有一定规 则,程序大了就很难査错,很难调试,不易证明其正确 组织程序的范型即:算法过程+数据结构(计算控制+计算对象) 3.1计算对象表示一值与类型 3.2计算对象实现一存储 3.3计算对象连接一束定 3.4计算组织-一程序控制 3.5计算组织一函数与过程 3.6计算组织--抽象与封装
第三章 过程式程序设计语言 基本观点: 计算实现的模型如果按冯·诺依曼原理强制改变内存中的值叫命令(或译指 令、强制Imperative式)的。由于强制改变值,程序状态的变化没有一定规 则,程序大了就很难查错,很难调试,不易证明其正确。 组织程序的范型即:算法过程+数据结构(计算控制+计算对象) 3.1 计算对象表示—值与类型 3.2 计算对象实现—存储 3.3 计算对象连接—束定 3.4 计算组织---程序控制 3.5 计算组织---函数与过程 3.6 计算组织---抽象与封装

3.1计算对象值与类型 类型是计算机可能实现的结构和约定对客观世界差异的刻划 同一类型的外延,即同一结构表示所有可能的值构成一个域 分类原则:同样表示结构,同样语义解释,同样的操作。 同类型值运算结果:同类型。 无符号整数: 二进制解释的值 整数:符号 植值 0000101010111010001010100001110111 浮点数:符号阶码 尾数 程序语言中:基元( primitive)类型:整型/实(定,浮)/字符/值/枚举 结构( structured)类型:元组/数组/记录(结构)/表串
类型是计算机可能实现的结构和约定对客观世界差异的刻划。 同一类型的外延,即同一结构表示所有可能的值构成一个域。 分类原则:同样表示结构,同样语义解释,同样的操作。 同类型值运算结果:同类型。 无符号整数: 二进制解释的值 整数:符号 值 3.1 计算对象-值与类型 0 0 0 0 1 0 1 0 1 0 1 1 1 0 1 0 0 0 1 0 1 0 1 0 0 0 0 1 1 1 0 1 1 1 浮点数: 符号 阶码 尾数 程序语言中:基元(primitive)类型:整型/实(定,浮)/字符/真值/枚举 结构(structured)类型:元组/数组/记录(结构)/表/串

3.1.1字面量、变量、常量 名字操纵值,名:字面量从名字即知类型字面值不变 变量符号名要声明类型值可变 常量符号名要声明类型值不变 ·基元值的名字是地址的别名,地址值在计算机中不恒定 操纵地址的名字是指针(地址变量) float * p,x=37.32, p=&x: (p)203C(x)117F 117F 37.32
3.1.1 字面量、变量、常量 • 名字操纵值, 名: 字面量 从名字即知类型 字面值不变 变量 符号名要声明类型 值可变 常量 符号名要声明类型 值不变 • 基元值的名字是地址的别名, 地址值在计算机中不恒定 • 操纵地址的名字是指针(地址变量) float *p, x = 37.32; p=&x; (p)203C (x)117F 117F 37.32

续 名值可分导致 按名按名取值:引用 reference 存值 左值 右值 int rint svar Rnt是引用类型的变量,即左值变量必须给一右值,因 而成Sva别名 y=x++;ⅹ既是右值也是左值
续 •名值可分导致 x = x + 1; 按名 按名取值: 引用reference 存—值 左值 右值 int & Rint = Svar Rint 是引用类型的变量,即左值变量必须给一右值,因 而成Svar别名 y = x ++ ; x 既是右值也是左值

3.1.2值是头等程序对象 程序语言中的值 字面量(整、实、布尔、字符、枚举、串 复合量(记录、数组、元组、结构、表、联合、集合、文件) 指针值 变量引用(左值、右值) 函数和过程抽象,数学对象参与运算的权利是一样的,值是 计算对象也要按一致性原则: 可出现在表达式中并求值 可作函数返回值 可单独存储 可以构成复杂的数据结构 可作函数参数
3.1.2 值是头等程序对象 程序语言中的值 • 字面量(整、实、布尔、字符、枚举、串) • 复合量(记录、数组、元组、结构、表、联合、集合、文件) • 指针值 • 变量引用(左值、右值) • 函数和过程抽象,数学对象参与运算的权利是一样的,值是 计算对象也要按一致性原则: – 可出现在表达式中并求值 – 可作函数返回值 – 可单独存储 – 可以构成复杂的数据结构 – 可作函数参数

3.1.3类型系统 类型定义值的集合和值上操作集合(V,Op) 类型系统一组可直接使用的类型 类型规则 类型检查机制
3.1.3 类型系统 •类型定义 值的集合和值上操作集合(V,Op) •类型系统 一组可直接使用的类型 •类型规则 •类型检查机制

3.1.3类型系统 静态与动态 静动 变量有类型无类型动态简洁、灵活 参数有类型无类型静态清晰、死板 值有类型有类型 弱/强类型 无类型LISP, Smalltalk 弱类型变量有类型。类型兼容性大,系统不作检查 强制类型隐式类型强制(转换),自动截尾,补零。显式 类型强制PL/ 伪强类型静态均有类型且作检査,由于不严,导出等价准贝 Pascal 强类型类型有严格定义,均作检查Ada
3.1.3 类型系统 • 静态与动态 静 动 变量 有类型 无类型 动态简洁、灵活 参数 有类型 无类型 静态清晰、死板 值 有类型 有类型 • 弱/强类型 –无类型 LISP , Smalltalk –弱类型 变量有类型。类型兼容性大, 系统不作检查 –强制类型 隐式类型强制(转换),自动截尾, 补零。显式 类型强制 PL/1 –伪强类型 静态均有类型且作检查,由于不严,导出等价准则 Pascal –强类型 类型有严格定义, 均作检查 Ada

续 类型等价 按结构等价 type a is array (range 1.. 100 of INTEGER type b is array (range 1.100)of INTEGER OAl, 0A2: A OBI, OB2: B 0C1: array (range 1.. 100) of INTEGER OD1, OD2: array (range 1. 100) of INTEGER OE1: A 0A1,OA2,OB1,OB2,OC1,OD1,OD2,OE1均等价
•类型等价 按结构等价 type A is array (range 1.. 100) of INTEGER; type B is array (range 1..100) of INTEGER; OA1, 0A2: A; OB1, OB2: B; OC1: array (range 1.. 100) of INTEGER; OD1, OD2: array (range 1..100) of INTEGER; OE1: A; OA1,OA2,OB1,OB2,OC1,OD1,OD2,OE1均等价 续

续 按名等价 0A1,OA2是同一类型(都用A声明) 0A1,OB1,0C1是不同类型(类型名为A,B,无) OD1,OD2是同一类型(同时声明,虽无名) OD1,OC1是不同类型(两次声明) 0A1,OE1是同一类型(虽两次声明,但同名 类型完整性准则 涉及值的类型中不能随意限定操作, 力求没有第二类的值
按名等价 OA1, OA2 是同一类型(都用A声明) OA1, OB1, OC1是不同类型(类型名为A,B, 无) OD1, OD2 是同一类型(同时声明, 虽无名) OD1, OC1 是不同类型(两次声明) OA1, OE1 是同一类型(虽两次声明, 但同名) • 类型完整性准则 涉及值的类型中不能随意限定操作, 力求没有第二类的值 续

3.1.4类型兼容 不同类型值混合运算,人为定出计算级别,由低层升 格为高层,结果值是高层的 隐式转换弱类型I:=R; 显式转换强类型I:= Integer((R; 强类型按名判定,不同类型名则不兼容只有子类型 不同名可以兼容 显式和隐式混合
3.1.4 类型兼容 • 不同类型值混合运算, 人为定出计算级别,由低 层升 格为高层, 结果值是高层的 • 隐式转换 弱类型 I := R; 显式转换 强类型 I := Integer(R); • 强类型按名判定,不同类型名则不兼容只有子类型 不同名可以兼容 • 显式和隐式混合
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 北京航空航天大学:《程序语言设计原理》课程教学资源(PPT课件讲稿)并发程序设计语言.ppt
- 中国科学技术大学:《计算机体系结构》课程教学资源(PPT课件讲稿)第6章 Data-Level Parallelism in Vector, SIMD, and GPU Architectures.ppt
- 山东大学:《微机原理及单片机接口技术》课程教学资源(PPT课件讲稿)第十一章 复位、时钟和省电方式控制.ppt
- 计算机应用基础课程:《信息技术应用基础》教学资源(PPT课件讲稿)第一章 中文WIN98操作系统.ppt
- 中国科学技术大学:《计算机视觉》课程教学资源(PPT课件讲稿)第七章 基于运动视觉的场景复原.ppt
- 中国科学技术大学:《计算机组成原理》课程教学资源(PPT课件讲稿)第五章 虚拟存储器(主讲:李曦).ppt
- 《Photoshop基础教程与上机指导》课程教学资源(PPT讲稿)第8章 简单编辑图像.ppt
- 安徽理工大学:《Linux开发基础 Development Foundation on Linux OS》课程教学资源(PPT课件讲稿)GNU C/C++ programming、CGI programming in GNU C/C++ language(方贤进).ppt
- 《面向对象程序设计》课程教学资源(课件讲稿)C++语言的面向对象特征、Java语言的面向对象特征、Python语言的面向对象特征、R语言的面向对象特征.ppt
- 面向对象程序设计语言(PPT课件讲稿).ppt
- 四川大学:《Linux操作系统》课程教学资源(PPT课件讲稿)第3章 Shell及其编程(主计:潘薇).ppt
- 清华大家:字符串匹配算法(PPT讲稿)String Matching Algorithm(Overview & Analysis).ppt
- Flexsim 初级培训讲义(PPT讲稿)Flexsim Basic Training.ppt
- 《C语言程序设计》课程电子教案(PPT课件讲稿)第2章 数据类型及基本运算量.ppt
- 《软件测试 Software Testing》教学资源(PPT讲稿)Part 2 Testing Fundamentals.ppt
- 《计算机网络安全技术》课程教学资源(PPT课件讲稿)第五章 防火墙技术.ppt
- 《数据库系统概论 An Introduction to Database System》课程教学资源(PPT课件讲稿)第一讲 绪论.ppt
- 《The C++ Programming Language》课程教学资源(PPT课件讲稿)Lecture 01 From C to C++.ppt
- 上海交通大学:《数字图像处理 Digital Image Processing》课程教学资源(PPT课件讲稿,第三版)Chapter 12 Object Recognition.pptx
- 《数据结构》课程教学资源(PPT课件讲稿)第二章 线性表.ppt
- 《微机原理及应用》课程教学资源(PPT课件讲稿)第4章 汇编语言程序设计.pptx
- 清华大学出版社:普通高校本科计算机专业特色教材精选《智能技术》课程教学资源(PPT讲稿课件)第4章 模糊逻辑技术(曹承志).ppt
- 《C++大学教程》课程教学资源(PPT课件讲稿)Chapter 17 文件处理 File Processing.ppt
- 《网站开发》课程教学资源(PPT课件讲稿)网站开发各阶段的任务.ppt
- 《数据结构》课程教学资源(PPT课件讲稿)第十章 文件、外部排序与外部搜索.ppt
- 香港浸会大学:《Data Communications and Networking》课程教学资源(PPT讲稿)Chapter 2 Protocol Architecture - TCP/IP model and OSI Model.ppt
- 南京理工大学:《数据挖掘与处理 Data Mining and Data Processing》课程教学资源(PPT课件讲稿)第一章 数据科学与数据挖掘(张正军).ppt
- 清华大学:A Heterogeneous Accelerator Platform for Multi-subject Voxel-based Brain Network Analysis(PPT讲稿).pptx
- 白城师范学院:《数据库系统概论 An Introduction to Database System》课程教学资源(PPT课件讲稿)第四章 数据库安全性.pptx
- 合肥工业大学:《数据库系统》课程教学资源(PPT课件讲稿)数据库编程 ACCESS、MYSQL、Oracle(张国富)第一章 绪论.ppt
- 《信息安全概论》课程教学资源(PPT课件讲稿)第九章 计算机软件的安全性.ppt
- 清华大学:Pass-Join(A Partition based Method for Similarity Joins).pptx
- 对外经济贸易大学:《电子商务概论》期末考试试卷(部分含答案).pptx
- 沈阳理工大学:《大学计算机基础》课程教学资源(PPT课件讲稿)第3章 办公软件 3.2 电子表格软件Excel 2010.ppt
- 深圳大学:Learning 3D mesh segmentation and labeling(PPT讲稿).ppt
- 《电脑组装与维护实例教程》教学资源(PPT课件讲稿)第4章 输入输出设备介绍及选购.ppt
- 北京科技大学:《物联网工程》课程教学资源(PPT课件讲稿)课程介绍.ppt
- 中国科学技术大学:《数据结构及其算法》课程PPT教学课件(Data Structure and Algorithm)第4章 栈和队列(主讲:刘东).pptx
- 清华大学:智能弹性重叠网关键技术研究(PPT讲稿,指导老师:李衍达).ppt
- 《Access 2013数据库技术及应用》课程教学资源(PPT课件讲稿)第12章 VBA模块设计.ppt