【5.高级数据类型】2.子界

2.子界

在Object Pascal中,对具有确定的数据类型(称为基类型),且其取值范围确定的数据称为子界类型。基类型必须为顺序类型。

2.1子界类型的定义

子界类型定义的语法格式:

type
    <类型名称> = <常量1> .. <常量2>;

说明:

  1. 常量1表示子界类型的下界,常量2表示子界类型的上界,上下界必须是相同的顺序类型,即应同时为整型、布尔型、字符型或同一枚举类型。

  2. 子界的上下界的类型就是子界的基类型。

  3. 子界的上界必须不小于下界。

  4. 子界类型所对应的序数与基类型相关,下界常量在子界类型中对应的序数就是其在基类型中的序数,上界同理。

如:

type
    age = 0..99;
    week = (sun, mon, tue, wed, thu, fri, sat);
    workday = mon..fri;

2.2子界类型变量的声明

子界类型变量的声明与其他类型相同。如:

var
    a1: age;
    w1: workday;

也可以直接声明子界变量,如:

var
    a1,a2: 0..99;
    w1,w2: mon..fri;

2.3子界类型的运算

子界类型所允许的运算与其基类型所允许的运算完全相同。

示例:输入年龄,输出所处年龄期,界面如下:

 

代码如下:

procedure TForm1.Button1Click(Sender: TObject);
type
  ageType = 0..99;
var
  age: ageType;
  iAge: integer;
  s: String;
begin
  // 判定按钮单击事件
  iAge := StrToInt(Edit1.Text);
​
  age := iAge;
​
  if (age >= 0) and (age < 1) then
    s := '婴儿';
  if (age >= 1) and (age < 3) then
    s := '幼儿';
  if (age >= 3) and (age < 7) then
    s := '儿童';
  if (age >= 7) and (age < 15) then
    s := '少年';
  if (age >= 15) and (age < 36) then
    s := '青年';
  if (age >= 36) and (age < 61) then
    s := '中年';
  if age >= 61 then
    s := '老年';
​
  Edit2.Text := '您的年龄:' + inttostr(age) + ', 处于' + s + '期';
end;
​
procedure TForm1.Button2Click(Sender: TObject);
begin
  // 清除按钮单击事件
  Edit1.Text := '';
  Edit2.Text := '';
end;
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Janeb1018

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值