Фортран - переменные
Переменная - это не что иное, как имя, присвоенное области памяти, которой могут управлять наши программы. Каждая переменная должна иметь определенный тип, который определяет размер и структуру памяти переменной; диапазон значений, которые могут быть сохранены в этой памяти; и набор операций, которые можно применить к переменной.
Имя переменной может состоять из букв, цифр и символа подчеркивания. Имя в Fortran должно соответствовать следующим правилам -
Он не может быть длиннее 31 символа.
Он должен состоять из буквенно-цифровых символов (все буквы алфавита и цифры от 0 до 9) и подчеркивания (_).
Первым символом имени должна быть буква.
Имена регистронезависимы.
На основе основных типов, описанных в предыдущей главе, следующие типы переменных:
Старший Нет | Тип и описание |
---|---|
1 | Integer Он может содержать только целые значения. |
2 | Real В нем хранятся числа с плавающей запятой. |
3 | Complex Он используется для хранения комплексных чисел. |
4 | Logical В нем хранятся логические логические значения. |
5 | Character В нем хранятся символы или строки. |
Объявление переменной
Переменные объявляются в начале программы (или подпрограммы) в операторе объявления типа.
Синтаксис для объявления переменной следующий -
type-specifier :: variable_name
Например
integer :: total
real :: average
complex :: cx
logical :: done
character(len = 80) :: message ! a string of 80 characters
Позже вы можете присвоить этим переменным значения, например,
total = 20000
average = 1666.67
done = .true.
message = “A big Hello from Tutorials Point”
cx = (3.0, 5.0) ! cx = 3.0 + 5.0i
Вы также можете использовать встроенную функцию cmplx, присвоить значения сложной переменной -
cx = cmplx (1.0/2.0, -7.0) ! cx = 0.5 – 7.0i
cx = cmplx (x, y) ! cx = x + yi
пример
В следующем примере демонстрируется объявление, назначение и отображение переменных на экране.
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
Когда приведенный выше код компилируется и выполняется, он дает следующий результат:
20000
1666.67004
(3.00000000, 5.00000000 )
T
A big Hello from Tutorials Point