Fortran - Các biến

Một biến không là gì khác ngoài tên được đặt cho một vùng lưu trữ mà chương trình của chúng ta có thể thao tác. Mỗi biến phải có một kiểu cụ thể, xác định kích thước và cách bố trí bộ nhớ của biến; phạm vi giá trị có thể được lưu trữ trong bộ nhớ đó; và tập hợp các thao tác có thể áp dụng cho biến.

Tên của một biến có thể bao gồm các chữ cái, chữ số và ký tự gạch dưới. Tên trong Fortran phải tuân theo các quy tắc sau:

  • Nó không được dài hơn 31 ký tự.

  • Nó phải bao gồm các ký tự chữ và số (tất cả các chữ cái trong bảng chữ cái và các chữ số từ 0 đến 9) và dấu gạch dưới (_).

  • Ký tự đầu tiên của tên phải là một chữ cái.

  • Tên không phân biệt chữ hoa chữ thường.

Dựa trên các kiểu cơ bản được giải thích trong chương trước, sau đây là các kiểu biến:

Sr.No Loại & Mô tả
1

Integer

Nó chỉ có thể chứa các giá trị số nguyên.

2

Real

Nó lưu trữ các số dấu phẩy động.

3

Complex

Nó được sử dụng để lưu trữ các số phức.

4

Logical

Nó lưu trữ các giá trị Boolean logic.

5

Character

Nó lưu trữ các ký tự hoặc chuỗi.

Sự định nghĩa biến

Các biến được khai báo ở đầu chương trình (hoặc chương trình con) trong câu lệnh khai báo kiểu.

Cú pháp khai báo biến như sau:

type-specifier :: variable_name

Ví dụ

integer :: total  	
real :: average 
complex :: cx  
logical :: done 
character(len = 80) :: message ! a string of 80 characters

Sau đó, bạn có thể gán giá trị cho các biến này, như

total = 20000  
average = 1666.67   
done = .true.   
message = “A big Hello from Tutorials Point” 
cx = (3.0, 5.0) ! cx = 3.0 + 5.0i

Bạn cũng có thể sử dụng chức năng nội tại cmplx, để gán giá trị cho một biến phức tạp -

cx = cmplx (1.0/2.0, -7.0) ! cx = 0.5 – 7.0i 
cx = cmplx (x, y) ! cx = x + yi

Thí dụ

Ví dụ sau minh họa việc khai báo, gán và hiển thị biến trên màn hình:

program variableTesting
implicit none

   ! declaring variables
   integer :: total      
   real :: average 
   complex :: cx  
   logical :: done 
   character(len=80) :: message ! a string of 80 characters
   
   !assigning values
   total = 20000  
   average = 1666.67   
   done = .true.   
   message = "A big Hello from Tutorials Point" 
   cx = (3.0, 5.0) ! cx = 3.0 + 5.0i

   Print *, total
   Print *, average
   Print *, cx
   Print *, done
   Print *, message
   
end program variableTesting

Khi đoạn mã trên được biên dịch và thực thi, nó tạo ra kết quả sau:

20000
1666.67004    
(3.00000000, 5.00000000 )
T
A big Hello from Tutorials Point