编辑: 黑豆奇酷 2019-07-08

1、存储表示:用于在计算机存储器中表示数据对象.

2、数据类型操作是以特殊的算法或过程表示的方式,这些算法和过程操纵数据对象的存储表示. 返回 数据类型的规约与实现 从语法表示来看,规约和实现大体上独立于特定的语法形式.属性:表示为声明或类型定义值:表示为文字或定义的常量操作:可由特殊的符号、固有过程或函数、或隐含地通过其他语言元素的特殊组合来调用. 基本(简单)数据类型的规约 简单数据对象包含单个数据值,这类数据对象称为基本数据类型.虽然不同的语言有不同的基本类型集合,但整数、实数、字符、布尔、枚举、指针等基本都是有的.但各自精确的规约对不同语言会有差异. 简单数据类型的规约:属性 数据对象的基本属性(如类型和名字)通常在生命期中是不变的.有的属性可存放在描述子中,作为数据对象的一部分在运行时出现.有的属性只用于确定其存储表示,在执行中不显式地出现.属性值和数据对象的值是不同的. 简单数据类型的规约:值 数据对象的类型确定了它可包含的可能值集,但在执行中任一点,只包含一个来自该集合的单值.基本数据类型定义的值集通常是有序集,有最小值和最大值. 简单数据类型的规约:操作(1) 操作确定数据对象被处理的方式.操作可能是原始操作,也可是用户定义操作.操作是一个数学函数,对一给定输入参数,有定义的、唯一确定的结果.每个操作有作用域、值域.操作的动作定义了对给定参数的结果.算法可用于刻划操作的动作,但其他规约也是可以的.如可用乘法表来刻划乘法的动作. 简单数据类型的规约:操作(2) 操作的基调(signature)――定义了操作的作用域中参数的数量、顺序和类型,以及结果值域的顺序和类型.数学记号:OP:type1*type2*…typen?type―也称为函数原形操作有单元、二元和多元.动作的精确规约需要比参数类型更多的信息.特别地,参数类型的存储表示通常确定那些参数如何被操作,如:二进制数的乘法和十进制数的乘法有很大不同.这样,在操作的规约中,常给出动作的非形式的描述.一旦参数的存储表示确定,动作的精确规约是操作实现的一部分. 简单数据类型的规约:操作(3) 有时难于确定操作的精确规约为数学函数,有四个主要因素.

1、操作对某些输入无定义.

2、隐含的参数――操作会访问其他隐含参数(全局变量;

非局部变量).

3、副作用(隐含结果)――可能修改其他数据对象.

4、自我修改(历史敏感性)――操作修改自己的内部结构、或是执行中保持的局部数据、或是代码.操作的结果还依赖于历史调用.例:随机数产生器.LISP中可自我修改代码. 基本数据类型的实现 存储表示基本类型的存储受低层计算机的影响很大.如:整数或实数几乎就是在低层硬件中使用的数的整数或浮点数表示.对字符值,硬件或操作系统字符码被使用.基本理由:如使用硬件存储表示,则该类型数据基本操作可以用硬件提供的基本操作实现.否则,将使用软件仿真,从而带来效率损失. 基本数据类型的实现 基本数据类型的属性被类似地处理.

1、为了效率,很多语言设计为属性由编译器确定.属性本身并不存放在运行时存储表示中――存储表示通常直接使用硬件,如:C、Fortran、Pascal等.

下载(注:源文件不在本站服务器,都将跳转到源网站下载)
备用下载
发帖评论
相关话题
发布一个新话题