Tạo kiểu dữ liệu (Type) trong Pascal

Trong bài này chúng ta sẽ học cách sử dụng từ khóa Type trong Pascal, đây là từ khóa dùng để khai báo một kiểu dữ liệu. Ví dụ bạn muốn tạo một kiểu dữ liệu  s thay thế cho string vì nó quá dài thì có thể sử dụng type. Hoặc bạn cũng có thể tự tạo kiểu dữ liệu với cấu trúc riêng. Chi tiết xin mời xem nội dung dưới đây.

1. Tạo kiểu dữ liệu mới trong Pascal

Khác với các ngôn ngữ cấp cao khác. một biến trong Pascal phải được khai báo ở đầu chương trình trước khi sử dụng, vì vậy khi bạn muốn tạo một kiểu dữ liệu mới thì cũng phải đặt nó ở phía trên cùng của chương trình. Xem cú pháp dưới đây:

program TypeInPascal;

const
	...
type
	type_name : value;

var
	...
begin
	...
end.

Chúng ta nên đặt vị trí theo quy tắc này, nó sẽ giúp chương trình của bạn trong sáng hơn.

Ví dụ: Tạo kiểu dữ liệu s thuộc kiểu string.

program TypeInPascal;

type
	s : string;

var
	name : s;

begin
	// ...
end.

Ví dụ: Tạo kiểu dữ liệu gồm tháng trong năm.

type
    months = (January, February, March, April, May, 
    June, July, August, September, October, November, December);

Vì bạn chưa học qua các kiểu dữ liệu phức tạp nên trong bài này mình chỉ nói về cách khai báo và thực hành đơn giản.

II. Ví dụ với Type Variable trong Pascal

Ví dụ 1: Hãy khai báo một kiểu dữ liệu gồm các món ăn.

program TypeInPascal;
type
	beverage = (coffee, tea, milk, water, coke, limejuice);

var
	drink:beverage;

begin
   writeln('Ban thich uong gi?');
   drink := limejuice;
   
   writeln('Toi thich uong ', drink);
   readln;
end.

Chạy chương trình này bạn sẽ nhận được kết quả như sau:

Ban thich uong gi?
Toi thich uong limejuice

III. Tạo dãy các giá trị cho biến trong Pascal

Có một điều rất đặc biệt ở Pascal, đó là bạn có thể tạo một biến với giá trị  bị giới hạn trong một khoảng nào đó. Điều kiện là dãy phải có quy luật tăng dần theo bảng mã ASCII.

Ví dụ:

  • Dãy số từ 1 đến 9: 1 ... 9
  • Dãy số từ 1 đến 100: 1 ... 100
  • Dãy ký tự từ a đến z: 'a' ... 'z'
Ví dụ
var
    marks: 1 ... 100;
    grade: 'A' ... 'E';
    age: 1 ... 25;

Nếu giá trị truyền vào cho biến nằm ngoài dãy đó thì sẽ bị báo lỗi. Hãy nhập thông tin sai ở ví dụ dưới đây để xem kết quả.

program TypeInPascal;

var
	marks: 1 .. 100;
	grade: 'A' .. 'E';

begin
   writeln( 'Nhap con so tu (1 - 100): ');
   readln(marks);
   
   writeln( 'Nhap ky tu tu (A - E): ');
   readln(grade);
   
   writeln('So: ' , marks, ' Ky tu: ', grade);
   
   readln;
end.

Trên là cách sử dụng từ khóa Type trong Pascal để định nghĩa kiểu dữ liệu mới. Chức năng này rất hay vì nó giúp lập trình viên tự chủ hơn trong việc khai báo.

Khóa học nên xem

Nguồn: freetuts.net