HH. Powered by Blogger.

6. Các kiểu biến trong Pascal

Một biến được xác định bằng tên gán cho một vùng nhớ mà chương trình của bạn có thể truy cập và các thao tác. Mỗi biến trong Pascal có một kiểu cụ thể, kiểu đó sẽ xác định kích thước và bộ nhớ, khoảng giá trị mà có thể lưu trữ và tập hợp các toán tử áp dụng trên biến đó.

Tên biến có thể bao gồm các kí tự, số và dấu gạch dưới _. Phải bắt đầu bằng kí tự hoặc dấu gạch dưới. Tên không phân biệt chữ hoa chữ thường. Dựa trên các kiểu dữ liệu cơ bản trong Pascal ở các bài trước, dưới đây là các kiểu biến cơ bản.

Kiểu biến cơ bản trong Pascal

TypeDescription
CharacterTypically a single octet (one byte). This is an integer type.
IntegerThe most natural size of integer for the machine.
RealA single-precision floating point value.
BooleanSpecifies true or false logical values. This is also an integer type.
EnumeratedSpecifies a user-defined list.
SubrangeRepresents variables, whose values lie within a range.
StringStores an array of characters.
NNLT Pascal cho phép định nghĩa rất nhiều kiểu dữ liệu khác cho biến, các phần này sẽ được trình bày sau như kiểu con trỏ Pointer, Mảng, Bản ghi, Tập hợp, tệp,... còn ở bài này chỉ xét đến các kiểu dữ liệu cơ bản.

Khai báo biến trong Pascal

Tất cả các biến dùng trong chương trình đều phải được khai báo. Phần khai báo bắt đầu bằng từ khóa VAR. Cú pháp khai báo biến như sau:
var
variable_list : type;
Kiểu dữ liệu (Type) ở cú pháp trên phải là một trong các kiểu dữ liệu của Pascal hoặc được người dùng định nghĩa, mỗi danh sách biến (variable_list) có thể gồm nhiều tên biến cách nhau bởi dấu phẩy (,). Dưới đây là một số khai báo biến đúng:
var
age, weekdays : integer;
taxrate, net_income: real;
choice, isready: boolean;
initials, grade: char;
name, surname : string;
Trong phần trước đã học đến câu lệnh Type để khai báo một kiểu. Một kiểu có thể được xác định bằng tên (hay định danh). Kiểu này có thể được dùng để định nghĩa biến thuộc kiểu đó. Ví dụ:
type
days, age = integer;
yes, true = boolean;
name, city = string;
fees, expenses = real;
Bây giờ ta sẽ khai báo các biến với kiểu vừa định nghĩa ở trên:
var
weekdays, holidays : days;
choice: yes;
student_name, emp_name : name;
capital: city;
cost: expenses;
Lưu ý sự khác nhau giữa khai báo Type và khai báo Var.

Khởi tạo giá trị cho biến

Các biến được gán cho một giá trị bằng câu lệnh gán. Dưới đây là câu lệnh gán giá trị hằng cho biến. Cú pháp chung như sau:
variable_name := value;
Mặc định các biến trong Pascal không được khởi tạo là 0. Nó có thể chứa một giá trị rác nào đó. Tốt hơn cả là bạn khởi tạo một giá trị cho các biến trong chương trình. Các biến có thể được gán giá trị ngay từ lúc khai báo. Việc khởi tạo giá trị sau từ khóa Var theo cú pháp dưới đây:
var
variable_name : type = value;
Một vài ví dụ cụ thể:
age: integer = 15;
taxrate: real = 0.5;
grade: char = 'A';
name: string = 'John Smith';
Chúng ta xem xét một ví dụ về việc sử dụng các kiểu dữ liệu của biến được đề cập phía trên:
program Greetings;
const
message = ' Welcome to the world of Pascal ';
type
name = string;
var
firstname, surname: name;
begin
   writeln('Please enter your first name: ');
   readln(firstname);
   writeln('Please enter your surname: ');
   readln(surname);
   writeln;
   writeln(message, ' ', firstname, ' ', surname);
end.
Khi chương trình trên được thực thi, kết quả sẽ như sau:
Please enter your first name:
John
Please enter your surname:
Smith
Welcome to the world of Pascal John Smith

Biến kiểu liệt kê

Khai báo biến kiểu liệt kê:
var
var1, var2, ...  : enum-identifier;
Khi bạn khai báo kiểu liệt kê, bạn có thể khai báo các biến thuộc kiểu đó. Ví dụ:
type
months = (January, February, March, April, May, June, July, August, September, October, November, December);
Var
m: months;
...
M := January;
Dưới đây là ví dụ minh họa:
program exEnumeration;
type
beverage = (coffee, tea, milk, water, coke, limejuice);
var
drink:beverage;
begin
   writeln('Which drink do you want?');
   drink := limejuice;
   writeln('You can drink ', drink);
end.
Khi chạy đoạn mã trên sẽ đưa kết quả như sau:
Which drink do you want?
You can drink limejuice

Biến kiểu miền con

Khai báo biến kiểu miền con:
var
subrange-name : lowerlim ... uperlim;
Ví dụ về biến có kiểu miền con:
var
marks: 1 ... 100;
grade: 'A' ... 'E';
age: 1 ... 25;
Dưới đây là ví dụ minh họa:
program exSubrange;
var
marks: 1 .. 100;
grade: 'A' .. 'E';
begin
   writeln( 'Enter your marks(1 - 100): ');
   readln(marks);
   writeln( 'Enter your grade(A - E): ');
   readln(grade);
   writeln('Marks: ' , marks, ' Grade: ', grade);
end.
Chương trình trên chạy sẽ đưa kết quả như sau:
Enter your marks(1 - 100): 
100
Enter your grade(A - E):
A
Marks: 100 Grade: A

0 comments:

Post a Comment