Fortran - zmienne

Zmienna to nic innego jak nazwa nadana obszarowi pamięci, którym nasze programy mogą manipulować. Każda zmienna powinna mieć określony typ, który określa rozmiar i układ pamięci zmiennej; zakres wartości, które mogą być przechowywane w tej pamięci; oraz zestaw operacji, które można zastosować do zmiennej.

Nazwa zmiennej może składać się z liter, cyfr i znaku podkreślenia. Imię w Fortranie musi przestrzegać następujących zasad -

  • Nie może mieć więcej niż 31 znaków.

  • Musi składać się ze znaków alfanumerycznych (wszystkie litery alfabetu oraz cyfry od 0 do 9) i podkreślenia (_).

  • Pierwsza litera imienia musi być literą.

  • W nazwach nie jest rozróżniana wielkość liter.

Na podstawie podstawowych typów opisanych w poprzednim rozdziale, poniżej przedstawiono typy zmiennych -

Sr.No Typ i opis
1

Integer

Może zawierać tylko wartości całkowite.

2

Real

Przechowuje liczby zmiennoprzecinkowe.

3

Complex

Służy do przechowywania liczb zespolonych.

4

Logical

Przechowuje logiczne wartości boolowskie.

5

Character

Przechowuje znaki lub ciągi.

Deklaracja zmiennej

Zmienne są deklarowane na początku programu (lub podprogramu) w instrukcji deklaracji typu.

Składnia deklaracji zmiennej jest następująca -

type-specifier :: variable_name

Na przykład

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

Później możesz przypisać wartości do tych zmiennych, np.

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

Możesz także użyć funkcji wewnętrznej cmplx, przypisać wartości do zmiennej złożonej -

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

Przykład

Poniższy przykład demonstruje deklarację zmiennej, przypisanie i wyświetlanie na ekranie -

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

Kiedy powyższy kod jest kompilowany i wykonywany, daje następujący wynik -

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