Константы ссылаются на фиксированные значения, которые программа не может изменить во время выполнения. Эти фиксированные значения также называются литералами .
Константы могут быть любого из основных типов данных, таких как целочисленная константа, плавающая константа, символьная константа, комплексная константа или строковый литерал. Есть только две логические константы: .true. и .false.
Константы обрабатываются как обычные переменные, за исключением того, что их значения не могут быть изменены после их определения.
Именованные константы и литералы
Есть два типа констант —
- Литеральные константы
- Именованные константы
Литеральная константа имеет значение, но не имеет имени.
Например, следующие буквальные константы —
Тип | пример |
---|---|
Целочисленные константы | 0 1 -1 300 123456789 |
Реальные константы | 0,0 1,0 -1,0 123,456 7,1E + 10 -52,715E-30 |
Комплексные константы | (0,0, 0,0) (-123,456E + 30, 987,654E-29) |
Логические константы | .правда. .ложный. |
Символьные константы |
«PQR» «a» «123’abc $% # @!» » цитата «» « ‘PQR’ ‘a’ ‘123 «abc $% # @!’ «апостроф» |
«PQR» «a» «123’abc $% # @!»
» цитата «» «
‘PQR’ ‘a’ ‘123 «abc $% # @!’
«апостроф»
Именованная константа имеет значение, а также имя.
Именованные константы должны быть объявлены в начале программы или процедуры, точно так же, как объявление типа переменной, с указанием ее имени и типа. Именованные константы объявляются с атрибутом параметра. Например,
real, parameter :: pi = 3.1415927
пример
Следующая программа рассчитывает смещение из-за вертикального движения под действием силы тяжести.
program gravitationalDisp ! this program calculates vertical motion under gravity implicit none ! gravitational acceleration real, parameter :: g = 9.81 ! variable declaration real :: s ! displacement real :: t ! time real :: u ! initial speed ! assigning values t = 5.0 u = 50 ! displacement s = u * t - g * (t**2) / 2 ! output print *, "Time = ", t print *, 'Displacement = ',s end program gravitationalDisp
Когда приведенный выше код компилируется и выполняется, он дает следующий результат —