1、选择一种你熟悉的语言,列出它的简单类型和结构类型。
类型分类示例(以 Ruby 语言为例)
简单类型
- 整数(integer)
- 布尔值(Boolean)
- 字符(character)
- 浮点数(floating point)
- 符号(Symbol)
结构类型
- 数组(arrays)
- 类(classes)
- 集合(sets)
- 范围(Range)
注 :Ruby 中没有内置的枚举(enumerations)类型,记录(records)在 Ruby 里不是标准术语,因此不将其列入。
2、考虑一种名为日志(Log)的容器,它是交易摘要的存档。摘要可以添加到日志的末尾,但一旦添加,就不能删除或更改。当摘要添加到日志时,会被打上时间戳,并且可以通过时间戳从日志中检索摘要。日志中的摘要也可以按任意顺序查看。a) 日志是结构化的吗?如果是,它具有哪种结构?b) 日志有访问限制吗?c) 日志提供键控访问吗?如果是,键是什么?d) 在容器层次结构中,日志是集合(Collection)还是分配器(Dispenser)?
a) 日志是结构化的,它具有按时间顺序排列的结构,摘要按添加顺序排列且有时间戳。
b) 日志有访问限制,摘要添加后不能删除或更改。
c) 日志提供键控访问,键是时间戳。
d) 日志是集合(Collection),因为摘要可按任意顺序查看,不满足分配器线性有序和有访问限制的特点。
3、考虑一种用于自动百家乐程序的容器,名为“鞋盒(Shoe)”。当创建一个“鞋盒”实例时,它包含八副随机排列的纸牌。纸牌可以从“鞋盒”的前端一次取出一张。纸牌不能放入“鞋盒”,不能被修改,也不能从其他位置取出。“鞋盒”里的纸牌不能被查看。a) “鞋盒”是否有结构?如果有,它是什么样的结构?b) “鞋盒”是否有访问限制?c) “鞋盒”是否提供键控访问?如果是,键是什么?d) 在容器层次结构中,“鞋盒”是集合(Collection)还是分配器(Dispenser)?
a) 是,“鞋盒”有线性结构,因为纸牌只能从前端依次取出。
b) 是,“鞋盒”有访问限制,纸牌只能从前端取出,不能放入、修改或从其他位置取出,也不能查看。
c) 否,“鞋盒”不提供键控访问。
d) “鞋盒”是分配器(Dispenser),因为它是线性有序且有访问限制的。

1796

被折叠的 条评论
为什么被折叠?



