Ngay ở tiêu đề mình cũng có thể hiểu được một phần nào ý nghĩa của biến số và hằng số. Biến số là giá trị của nó sẽ thay đổi trong quá trình chạy chương trình tùy thuộc vào từng ngữ cảnh cụ thể.
Nội dung chính
1. Hằng.
1.1. Khái niệm về hằng (constant) :
Hằng là đại lượng có giá trị không thay đổi trong suốt quá trình thực hiện chương trình.
1.2. Cách khai báo hằng :
CONST
Tên_hằng = giá_trị;
trong đó Tên_hằng là tự đặt, theo đúng quy tắc của một tên, còn giá_trị có thể là một hằng hoặc một biểu thức mà các toán hạng đều là hằng.
Ví dụ 1 :
Const
max = 150; {hằng nguyên}
L = False; {hằng logic}
A = (5*7)/4; {hằng thực}
ch =’Y’; {hằng ký tự}
Ho = ’Viet Nam’; {hằng chuỗi}
Lưu ý : Pascal có sẵn một số hằng chuẩn cho phép sử dụng mà không phải khai báo như : Pi (có giá trị bằng số p), MaxInt (có giá trị bằng 32767, là số Integer lớn nhất). Chẳng hạn, có thể dùng lệnh sau :
Writeln(‘Diện tích hình tròn bán kính r = 5 là : ’,pi*5*5:8:3);
Không đặt tên biến hay tên hàm trùng với các hằng số có sẵn trong Pascal.
2. Biến.
2.1. Khái niệm về biến (variable) :
Biến là đại lượng có giá trị thay đổi được trong chương trình. Mỗi biến phải thuộc về một kiểu dữ liệu nhất định và phải được khai báo trước. Việc khai báo có tác dụng báo cho máy dành sẵn các ô nhớ thích hợp trong bộ nhớ để sẵn sàng chứa dữ liệu.
2.2. Cách khai báo biến :
VAR tên_biến : tên_kiểu_dữ_liệu;
Ví dụ 2 :
Var x, y, z : Real; {khai báo 3 biến kiểu Real, mỗi biến được cấp 6 bytes bộ nhớ}
chon : Char;
thoat : Boolean;
i, j : Integer;
ten : String[7];
Chú ý :
- Biến ten ở ví dụ trên chứa một dãy không quá 7 ký tự. Ta nói biến ten có độ dài 7 byte. Biến String khai báo tối đa là String[255].
- Một biến String (chuỗi, sâu ký tự) được cấp một số byte bằng độ dài của nó cộng thêm 1. Byte đầu tiên dùng để ghi số ký tự đang được lưu trữ, mỗi byte còn lại chứa một ký tự.
- Có thể vừa khai báo vừa khởi đầu (gán giá trị) cho các biến theo cách sau :
Const
x = 25.0;
y : Real = -5.23;
Ho_ten : String[25] = ‘Le Hung’;
Chú ý phân biệt x và y : x là hằng thực, y là biến thực. Trong chương trình có thể thay đổi giá trị của y nhưng không thể thay đổi giá trị của x.
3. Các loại biến, phạm vi của biến.
3.1 Biến toàn cục.
Một biến được gọi là toàn cục khi nó được khai báo ở đầu chương trình, chúng ta có thể gọi nó ra ở bất cứ vị trí nào trong chương trình. Ví dụ ở trên ta có a,b,c là biến toàn cục.
3.2 Biến cục bộ.
Biến cục bộ chỉ có thể truy cập được trong đoạn chương trình con của nó ví dụ như biến tam trong thủ tục Hoanvi bạn không thể truy cập biến tam trong chương trình chính. Biến a,b,c trong thủ tục cucbo cũng là biến cục bộ và mọi truy cập vào a,b,c bây giờ là biến cục bộ không phải biến a,b,c ở ngoài. Khi viết chương trình bạn nên hạn chế đặt tên biến trùng nhau như vậy.
4. Tham biến và tham trị.
4.1 Tham biến.
Nói một cách đơn giản khi một chương trình con khai báo biến ở phần tham số truyền vào có VAR thì nó là tham biến. Nó sẽ bị chương trình con làm thay đổi giá trị.
Ví dụ ta có đoạn chương chình chính như sau:
Begin
a:=1;
b:=10;
Hoanvi(a,b);
END.
Ta thấy rằng thủ tục hoán vị được khai báo là: Hoanvi(VAR x,y:byte) vậy x,y sẽ bị thay đổi tùy thuộc vào cái mà chúng ta đưa cho nó. Ở chương trình chính chúng ta đưa Hoanvi(a,b) vậy a và b BỊ THAY ĐỔI KHI KẾT THÚC CHƯƠNG TRÌNH CON. Trong trường hợp này giá trị của a,b bị đổi cho nhau. a=10, b=1. Hoanvi(a,b) a,b là tham biến.
4.2 Tham trị.
Vẫn ví dụ ở trên nếu chúng ta khai báo là Hoanvi(x,y:byte) thì sau khi ta gọi Hoanvi(a,b) giá trị của a,b KHÔNG BỊ THAY ĐỔI KHI KẾT THÚC CHƯƠNG TRÌNH CON, a:=1, b=10. Hoanvi(a,b) a,b là tham trị.
Hi vọng bài viết giúp bạn hiểu các khái niệm cơ bản về hằng và biến cũng như giúp bạn phân biệt được tham biến (có var) và tham trị (không có var). Để giỏi môn lập trình Pascal các bạn cần phải thực hành thật nhiều, mỗi lần phát sinh lỗi thì cố gắng đọc hiểu xem lỗi của nó nghĩa là gì. Cứ cố gắng kiên trì bạn sẽ thành công. Nếu chỉ biết copy rồi paste code của người khác thì thôi…bỏ đi 😂
Bài viết còn nghèo nàn. Mong tác giả đầu tư hơn!
Cảm ơn bạn đã góp ý mình sẽ thông báo lại cho tác giả.