使用TDayTemperatures处理数组:《Marco Cantù Object Pascal Handbook》摘录

需积分: 10 84 下载量 138 浏览量 更新于2024-08-09 收藏 8.16MB PDF 举报
"本文档是《Object Pascal Handbook 中文版》的一部分,由 Marco Cantù 编著,主要讨论了 Object Pascal 编程语言在 Delphi 和 App Method 开发中的应用。内容涉及了数组的使用,特别是次范围型别的概念,以及在程序中的实际操作示例。" 在 Object Pascal 语言中,次范围型别(Subrange Types)是一种特殊的类型定义,它允许我们创建基于已存在类型的子集。在这个例子中,`TDayTemperatures` 就是一个次范围型别,它是 `Integer` 类型的一个子集,限制在从 1 到 24 的范围内。这样定义的好处在于,它能够帮助我们在编程时更加明确地表达数组元素的预期范围,从而减少潜在的错误。 ```pascal type TDayTemperatures = array [1..24] of Integer; var DayTemp1: TDayTemperatures; begin DayTemp1 [1] := 54; DayTemp1 [2] := 52; ... DayTemp1 [24] := 66; // The following line causes: // E1012 Constant expression violates subrange bounds // DayTemp1 [25] := 67; end; ``` 在这个代码段中,我们定义了一个名为 `TDayTemperatures` 的数组类型,它包含了 24 个整数。变量 `DayTemp1` 是这个类型的实例,允许我们存储一天24小时的温度。当试图将值赋给超出定义范围的索引(如 `DayTemp1[25]`),编译器会抛出错误 `E1012`,提示常量表达式违反了子范围边界,确保了程序的健壮性。 此外,文中提到的 for 循环是处理数组的常用方法。例如,可以使用以下代码遍历并打印 `DayTemp1` 数组的所有元素: ```pascal for I := 1 to 24 do Writeln(DayTemp1[I]); ``` 这段代码展示了如何通过 for 循环访问数组的每个元素,并将它们逐个打印出来。这种循环结构在处理数组时非常常见,因为它简洁且易于理解。 《Object Pascal Handbook》作者 Marco Cantù 是 Delphi 和 FreePascal 社区的知名专家,他的书籍深入浅出地讲解了 Object Pascal 语言的各个方面,包括面向对象编程、异常处理、单元测试、图形用户界面设计等。这本书对于 Delphi 和 App Method 开发者来说是一本宝贵的参考资料,能帮助他们更好地理解和应用 Object Pascal 语言。