Ch−ơng 1 Những yếu tố cơ bản của ngôn ngữ FORTRAN
1.6 Tên biến và tên hằng
Ta đã thấy rằng vị trí bộ nhớ có thể đ−ợc chỉ định bởi tên t−ợng tr−ng (symbolic
names), gọi là tên biến hoặc tên hằng, nh− SoTien và LaiSuat. Tên biến, tên hằng có
thể gồm 1 đến 31 ký tự, và phải bắt đầu bởi một chữ cái tiếng Anh. Các ký tự đ−ợc sử dụng để cấu tạo tên biến, tên hằng gồm 26 chữ cái tiếng Anh, không phân biệt chữ th−ờng, chữ hoa, (A−Z và a−z), 10 chữ số (0−9), và dấu gạch d−ới (_).
Ngoại trừ hằng xâu ký tự, Fortran không phân biệt tên viết bằng chữ th−ờng hay chữ hoa, ví dụ MYNAME và MyName là nh− nhau. Có lẽ những ng−ời có truyền thống lập trình Fortran lâu năm th−ờng viết ch−ơng trình chỉ bằng chữ cái in hoa. Tuy nhiên ta nên viết lẫn cả chữ th−ờng và chữ hoa cho dễ đọc. Chẳng hạn, nếu ta viết SoTien chắc chắn sẽ dễ hiểu hơn là viết SOTIEN. Mặt khác, vì Fortran 90, và cả các phiên bản mới hơn sau này, không khống chế độ dài tên chỉ 6 ký tự nh− các phiên bản cũ, nên để rõ ràng, tên viết dài có thể sẽ tốt hơn tên viết ngắn, vì nó mang tính gợi nhớ hơn. Chẳng hạn, nên viết SoTien thay cho cách viết đơn giản ST.
Sau đây là một số ví dụ về cách đặt tên biến, tên hằng hợp lệ và không hợp lệ:
Tên hợp lệ Tên không hợp lệ
X X+Y (vì chứa dấu + là một phép tốn)
R2D2 SHADOW FAX (vì chứa dấu cách)
Pay_Day 2A (vì ký tự đầu tiên là chữ số)
ENDOFTHEMONTH OBI-WAN (vì chứa dấu − là một phép tốn)
Biến là vị trí bộ nhớ mà giá trị của nó có thể bị thay đổi trong q trình thực hiện ch−ơng trình. Tên của biến đ−ợc cấu tạo theo qui tắc trên đây. Biến có kiểu và loại dữ liệu xác định, đ−ợc cho bởi khai báo kiểu, ví dụ:
INTEGER X ! X là biến nguyên 4 byte REAL LaiSuat ! LaiSuat là biến thực 4 byte CHARACTER LETTER ! LETTER là biến ký tự độ dài bằng 1
REAL :: A = 1 ! A là biến thực nhận giá trị khởi tạo 1
Chú ý rằng, biến có thể đ−ợc khởi tạo khi khai báo nó, nh− câu lệnh cuối cùng ở ví dụ trên. Trong tr−ờng hợp này phải sử dụng dấu hai chấm kép (::). Giá trị của biến đ−ợc khởi tạo theo cách này có thể bị thay đổi trong q trình ch−ơng trình thực hiện.
Mặc dù các biến X, LaiSuat và LETTER đã đ−ợc khai báo trong đoạn ch−ơng trình
trên, nh−ng giá trị của chúng vẫn ch−a đ−ợc xác định. Bạn đọc (đặc biệt là những ng−ời mới bắt đầu lập trình) phải chú ý tránh việc tham chiếu đến các biến ch−a đ−ợc xác định này, vì nó có thể sẽ dẫn đến lỗi trong lúc thực hiện ch−ơng trình (Run−time error), rất khó gỡ rối. Ví dụ, khi chạy ch−ơng trình sau đây ta sẽ nhận đ−ợc kết quả đúng:
Real x, y, z x = 3.0 y = 2.0 z = x / y print*, x, y, z end
Nh−ng nếu bỏ đi dòng thứ hai và thứ ba rồi chạy lại ch−ơng trình thì lỗi Run−time error sẽ xuất hiện do câu lệnh z = x/y đã tham chiếu đến các biến x và y ch−a xác định.
Biến có thể đ−ợc xác định bằng nhiều cách, ví dụ bằng việc khởi tạo nó (nh− ví dụ tr−ớc) hoặc bằng việc gán giá trị cho nó, nh− trong ví dụ trên đây hoặc ở những ví dụ tr−ớc.
Biến cũng có thể đ−ợc gán giá trị ban đầu bằng lệnh DATA sau khi đã khai báo, ví dụ:
REAL A, B INTEGER I, J
DATA A, B / 1, 2 / I, J / 0, -1/
Câu lệnh DATA trên đây lần l−ợt gán các giá trị 1 cho biến A, 2 cho biến B, 0 cho biến I và −1 cho biến J.
Tên (kể cả tên biến, tên hằng và tên ch−ơng trình) trong ch−ơng trình phải là duy
nhất. Chẳng hạn, nếu ch−ơng trình đ−ợc đặt tên là TinhTien, thì việc khai báo một biến khác cùng tên sẽ dẫn đến lỗi.
Các biến đã mơ tả trong những ví dụ ở trên gọi là các biến vơ h−ớng, hay biến đơn, vì tại một thời điểm chúng chỉ l−u một giá trị đơn nhất. Ngồi các biến vơ h−ớng cịn có các loại biến khác, chẳng hạn biến mảng. Ta sẽ đề cập chi tiết đến các loại biến này sau.