第 6章 用户自定义类型本章要点:
理解并掌握枚举类型的概念,定义与使用方法
理解并掌握子界类型的概念,定义与使用方法
理解并掌握集合类型的概念,定义与使用方法
理解并掌握记录类型的概念,定义与使用方法
6.1 循序渐进学理论
6.1.1 枚举类型的定义与使用
1.枚举类型的定义枚举类型就是将要用到的数据一一列举出来,因此,枚举类型要求数据个数有限,特别适合于表示物体的颜色、人的职业、星期几、月份等非数值型数据。
枚举类型的定义格式如下。
[格式 ],Type
类型标识符 =( 标识符 1,标识符 2,标识符 3…
标识符 n) ;
2.枚举类型的使用枚举类型属于顺序类型,枚举类型的每个元素对应一个有序的整数,其中第一个元素对应序数 0。因此,枚举类型本质上是用一些枚举常量来表示一组连续的整数。但枚举常量不能直接进行算术运算,可以进行关系运算或间接的算术运算。例如,有下列枚举类型的定义:
Type
Color1=(Red,Green,Blue,Yellow);
【 例 6-1】 编写一个设置文本格式的应用程序,程序的设计界面如图 6-1
所示 。 程序运行时,在编辑框中显示的文本是,轻松学习 Delphi”。 程序运行时,
单击 【 宋体 】 按钮,文本字体为宋体;
单击 【 隶书 】 按钮,文本字体为隶书;
单击 【 黑体 】 按钮,文本字体变为黑体 。
图 6-2是单击隶书时的运行界面 。 要求用枚举类型实现 。
图 6-1 程序设计界面图 6-2 程序运行界面
6.1.2 子界类型的定义与使用
1.子界类型的定义子界类型表示有序类型中的一部分,子界类型的定义格式如下。
[格式 ],Type
类型标识符 =常量 1..常量 2;
2,子界类型的使用子界类型允许进行多种运算,这取决于子界类型的基类型 。 和枚举类型一样,可以进行关系运算 。 但和枚举类型也有不同之处,子界类型可以直接进行算术运算,而且子界类型的第一个元素的序数值为 1而不是 0。
6.1.3 集合类型的定义与使用
1.集合类型的定义集合是具有相同性质但又可以区分开来的对象的全体。集合的对象可以是无限的,也可以是有限的。集合中的对象称为元素。
集合类型的定义格式如下。
[格式 ],Type
类型标识符 =set of 基类型 ;
2.集合类型的使用定义了集合类型和声明了集合类型变量后就可以使用集合类型 。 在使用集合类型时需注意三点:集合变量的取值;集合的交,
并和差运算;集合的各种关系运算 。
【 例 6-2】 编写一个判断字符串中是否有元音字母的程序,程序的设计界面如图 6-3所示 。 程序运行时,在,输入单词,后面的编辑框中输入一个任意单词,然后单击 【 判断 】 按钮,将在,结果,旁的编辑框中显示有无元音字母的文本 。 其中,元音字母为
,a,e,i,o,u”等字母,程序运行界面如图 6-4所示 。
要求用集合类型实现 。
图 6-3 程序设计界面 图 6-4 程序运行界面
6.1.4 记录类型的定义与使用
1.记录类型的定义记录类型的定义格式如下。
[格式 ],Type
记录类型标识符 =Record
字段 1:类型 1;
字段 2:类型 2;
…
字段 n:类型 n;
end;
2.记录类型的使用
( 1) 限定访问记录的字段格式如下,
[格式 ]:记录变量名,字段名
( 2) 使用 With语句访问记录的字段格式如下,
[格式 ],With 记录变量名 Do 语句注意,With语句也可以嵌套 。
【 例 6-3】 编写一个程序,用来输入和显示某单位员工基本信息。程序的设计界面如图 6-5所示,程序运行时,
单击 【 输入信息 】 按钮,用户可以输入员工的基本信息,包括姓名、职称和基本工资。单击 【 查看信息 】 按钮,可以显示刚刚输入的该单位员工的基本信息,
如图 6-6所示。
图 6-5 程序设计界面 图 6-6 程序运行界面
6.2 典型实例练能力
6.2.1 典型实例一:颜色选择程序
【 实例题目 】
编写一个颜色选择程序,程序的设计界面如图 6-7所示 。 程序运行时,单击 【 显示各种颜色 】 按钮,将显示各种颜色以及代表该颜色的数字;在,你喜欢的颜色的数字 =”旁的编辑框中输入数字,单击 【 选择 】 按钮,将显示用户选择的颜色,程序运行界面如图 6-8所示 。
图 6-7 程序设计界面 图 6-8 程序运行界面
6.2.2 典型实例二:学生信息处理程序
【 实例题目 】
假设某个班只有 5名学生,考试完毕需要记录每个学生的学号,姓名和各科成绩 ( 语文,数学,英语和文科综合 ) 。 编写一个学生信息的输入和显示程序,要求能够输入和显示学生的学号,姓名和各科成绩 。 程序设计界面如图 6-9,程序运行时,单击 【 输入并显示学生信息 】 按钮,将输入学生的信息并显示在窗体上,如图 6-10所示 。
图 6-9 程序设计界面 图 6-10 程序运行界面
6.3 上机练习重应用
6.3.1 上机练习一:寻找 1~100之间的全部素数
【 练习 题目 】
编写一个寻找 1~100之间的全部素数的程序,程序的设计界面如图 6-11所示 。 程序运行时,单击 【 寻找素数 】 按钮将显示 1~100之间的全部素数,如图 6-12所示 。 单击 【 清除 】
按钮,窗体上显示的素数将消失 。
图 6-11 程序设计界面 图 6-12 程序运行界面
6.3.2 上机练习二:摸彩球
【 练习 题目 】
商场搞促销活动,顾客凭购物发票摸彩球 。 在装球的小箱子里连续摸三次,每次摸的球都要放回去,如果三次摸的球颜色各不相同,那么该顾客就中奖了 。 假设箱子里一共只有 3种颜色的球,分别为红色球,绿色球和蓝色球,请编写程序找出不同的摸奖办法,
并显示摸出的球 。 程序设计界面如图 6-13所示,程序运行界面如图 6-14所示 。 要求用枚举类型实现 。
图 6-13 程序设计界面 图 6-14 程序运行界面
理解并掌握枚举类型的概念,定义与使用方法
理解并掌握子界类型的概念,定义与使用方法
理解并掌握集合类型的概念,定义与使用方法
理解并掌握记录类型的概念,定义与使用方法
6.1 循序渐进学理论
6.1.1 枚举类型的定义与使用
1.枚举类型的定义枚举类型就是将要用到的数据一一列举出来,因此,枚举类型要求数据个数有限,特别适合于表示物体的颜色、人的职业、星期几、月份等非数值型数据。
枚举类型的定义格式如下。
[格式 ],Type
类型标识符 =( 标识符 1,标识符 2,标识符 3…
标识符 n) ;
2.枚举类型的使用枚举类型属于顺序类型,枚举类型的每个元素对应一个有序的整数,其中第一个元素对应序数 0。因此,枚举类型本质上是用一些枚举常量来表示一组连续的整数。但枚举常量不能直接进行算术运算,可以进行关系运算或间接的算术运算。例如,有下列枚举类型的定义:
Type
Color1=(Red,Green,Blue,Yellow);
【 例 6-1】 编写一个设置文本格式的应用程序,程序的设计界面如图 6-1
所示 。 程序运行时,在编辑框中显示的文本是,轻松学习 Delphi”。 程序运行时,
单击 【 宋体 】 按钮,文本字体为宋体;
单击 【 隶书 】 按钮,文本字体为隶书;
单击 【 黑体 】 按钮,文本字体变为黑体 。
图 6-2是单击隶书时的运行界面 。 要求用枚举类型实现 。
图 6-1 程序设计界面图 6-2 程序运行界面
6.1.2 子界类型的定义与使用
1.子界类型的定义子界类型表示有序类型中的一部分,子界类型的定义格式如下。
[格式 ],Type
类型标识符 =常量 1..常量 2;
2,子界类型的使用子界类型允许进行多种运算,这取决于子界类型的基类型 。 和枚举类型一样,可以进行关系运算 。 但和枚举类型也有不同之处,子界类型可以直接进行算术运算,而且子界类型的第一个元素的序数值为 1而不是 0。
6.1.3 集合类型的定义与使用
1.集合类型的定义集合是具有相同性质但又可以区分开来的对象的全体。集合的对象可以是无限的,也可以是有限的。集合中的对象称为元素。
集合类型的定义格式如下。
[格式 ],Type
类型标识符 =set of 基类型 ;
2.集合类型的使用定义了集合类型和声明了集合类型变量后就可以使用集合类型 。 在使用集合类型时需注意三点:集合变量的取值;集合的交,
并和差运算;集合的各种关系运算 。
【 例 6-2】 编写一个判断字符串中是否有元音字母的程序,程序的设计界面如图 6-3所示 。 程序运行时,在,输入单词,后面的编辑框中输入一个任意单词,然后单击 【 判断 】 按钮,将在,结果,旁的编辑框中显示有无元音字母的文本 。 其中,元音字母为
,a,e,i,o,u”等字母,程序运行界面如图 6-4所示 。
要求用集合类型实现 。
图 6-3 程序设计界面 图 6-4 程序运行界面
6.1.4 记录类型的定义与使用
1.记录类型的定义记录类型的定义格式如下。
[格式 ],Type
记录类型标识符 =Record
字段 1:类型 1;
字段 2:类型 2;
…
字段 n:类型 n;
end;
2.记录类型的使用
( 1) 限定访问记录的字段格式如下,
[格式 ]:记录变量名,字段名
( 2) 使用 With语句访问记录的字段格式如下,
[格式 ],With 记录变量名 Do 语句注意,With语句也可以嵌套 。
【 例 6-3】 编写一个程序,用来输入和显示某单位员工基本信息。程序的设计界面如图 6-5所示,程序运行时,
单击 【 输入信息 】 按钮,用户可以输入员工的基本信息,包括姓名、职称和基本工资。单击 【 查看信息 】 按钮,可以显示刚刚输入的该单位员工的基本信息,
如图 6-6所示。
图 6-5 程序设计界面 图 6-6 程序运行界面
6.2 典型实例练能力
6.2.1 典型实例一:颜色选择程序
【 实例题目 】
编写一个颜色选择程序,程序的设计界面如图 6-7所示 。 程序运行时,单击 【 显示各种颜色 】 按钮,将显示各种颜色以及代表该颜色的数字;在,你喜欢的颜色的数字 =”旁的编辑框中输入数字,单击 【 选择 】 按钮,将显示用户选择的颜色,程序运行界面如图 6-8所示 。
图 6-7 程序设计界面 图 6-8 程序运行界面
6.2.2 典型实例二:学生信息处理程序
【 实例题目 】
假设某个班只有 5名学生,考试完毕需要记录每个学生的学号,姓名和各科成绩 ( 语文,数学,英语和文科综合 ) 。 编写一个学生信息的输入和显示程序,要求能够输入和显示学生的学号,姓名和各科成绩 。 程序设计界面如图 6-9,程序运行时,单击 【 输入并显示学生信息 】 按钮,将输入学生的信息并显示在窗体上,如图 6-10所示 。
图 6-9 程序设计界面 图 6-10 程序运行界面
6.3 上机练习重应用
6.3.1 上机练习一:寻找 1~100之间的全部素数
【 练习 题目 】
编写一个寻找 1~100之间的全部素数的程序,程序的设计界面如图 6-11所示 。 程序运行时,单击 【 寻找素数 】 按钮将显示 1~100之间的全部素数,如图 6-12所示 。 单击 【 清除 】
按钮,窗体上显示的素数将消失 。
图 6-11 程序设计界面 图 6-12 程序运行界面
6.3.2 上机练习二:摸彩球
【 练习 题目 】
商场搞促销活动,顾客凭购物发票摸彩球 。 在装球的小箱子里连续摸三次,每次摸的球都要放回去,如果三次摸的球颜色各不相同,那么该顾客就中奖了 。 假设箱子里一共只有 3种颜色的球,分别为红色球,绿色球和蓝色球,请编写程序找出不同的摸奖办法,
并显示摸出的球 。 程序设计界面如图 6-13所示,程序运行界面如图 6-14所示 。 要求用枚举类型实现 。
图 6-13 程序设计界面 图 6-14 程序运行界面