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