Ada数组的设置.pdfVIP

  1. 1、本文档共4页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Ada数组的设置

Ada数组的设置 访问和设置数组(Access and Set Arrays) 访问数组时,只需在添加在 index specification 范围内的下标,如 3.2 中的数组Unit 1: Unit1 (1) := 190; -- 赋予Unit(1)值 190; Unit1 (7) := 210; Unit1 (7) Unit (1) -- 返回 True; 数组的值虽然可以单个元素分别赋 ,但这样做明显是开玩笑的⿇烦。以上例中的 Var:Enrollment 为例,⼀般情况下可以如下赋值: Var := (15,14,13); 结果为 Var (Bill) = 15, Var (Jac ) = 14 , Var (Tom) = 13 ,( ) 中的值,按顺序赋给数组⾥ 的元素,因此数量也不能少: Var := (15,14) -- 不合法 当数组元素有名称时,例如元素下标是⽤枚举类型表⽰,也可以这样赋值: Var := (Bill = 15, Jac = 14, Tom = 13); 结果与上等同。但如果同时⽤以上两种表⽰法是不合法的,如: Var := (Bill = 15, Jac = 14, 13); -- 不合法 如希望相邻的⼀些元素都是相同值,如 Var (Bill)、 Var(Jac )、Var(Tom)都等于 15 , 则可以如下: Var := (Bill .. Tom = 15); 注意是 Bill 和 Tom (包括它们本⾝)之间的所有元素值为 15 。 ⽽希望 Var (Bill) 等于 15 ,其余都等于14 时,也可以如下: Var := (Bill = 15, others = 14); 这样 Var (Jac ) = Var(Tom) = 14 。others 在有很多元素都要赋 相同值时是相当有⽤。 如果将 Var 作为常量数组,则在声明该数组时就赋 初使值: Var :constant Enrollment := (Bill = 15, others = 14); 最后看⼀下以下三种情况: type Vector is array (Integer range ) of Float; V : Vector(1 .. 5) := (3 .. 5 = 1.0, 6 | 7 = 2.0);-- [1] V := (3 .. 5 = 1.0, others = 2.0); -- [2] V := (1.0, 1.0, 1.0, others = 2.0); -- [3] 对于 [3] ,我们已经学过:V(1)=V(2)=V(3)= 1.0 ,V(4)=V(5)=2.0 。 但 [1] 和 [2] 却很特 殊,在 [1] 中:V(1)=V(2)=V(3)= 1.0 ,V(4)=V(5)=2.0;在[2] 中V(3)=V(4)=V(5)= 1.0 , V(1)=V(2)=2.0 。[1]和[2] 的情况是 Ada95 新增的。像 [1] 的话,Ada83 会认为它是超 过了数组的下标,产⽣异常 Constraint_Error ,⽽在 Ada95 则是合法的,并且( )⾥⾯的 值按顺序赋给数组的元素;[2] 在 Ada83 ⾥也是不允许的,Ada95 允许先赋值给 V(3),V(4),V(5) ,others 就默认是指 V(1) 和 V(2) 。这3种情况很容易引起混淆,请读者 注意⼀下。 数组运算符(Array Operations) 赋值 整个数组的值可以赋给另⼀个数组,但这两个数组需要是同1种数组类型,如果是⽆ 约束数组,数组的元素的个数要相等。如: My_Name : String (1..10) := Dale ; Your_Name : String (1..10) := Russell ; Her_Name : String (21..30) := Liz ; His_Name : String (1..5) := Tim ; Your_Name := My_Name; Your_Name := Her_Name; -- 合法的,它们的元素个数和类型相同 His_name := Your_name; -- 会产⽣错误,类型虽然相同,但⻓ 不同 等式与不等式 数组也可以使⽤运算符 = ,/=,=,=,, ,但意义与单个元素使⽤这些运算符不⼀ 样。如: Your_Name = His_Name -

文档评论(0)

ctuorn0371 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档