Учебники

Фортран — Константы

Константы ссылаются на фиксированные значения, которые программа не может изменить во время выполнения. Эти фиксированные значения также называются литералами .

Константы могут быть любого из основных типов данных, таких как целочисленная константа, плавающая константа, символьная константа, комплексная константа или строковый литерал. Есть только две логические константы: .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

пример

Следующая программа рассчитывает смещение из-за вертикального движения под действием силы тяжести.

Live Demo

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

Когда приведенный выше код компилируется и выполняется, он дает следующий результат —