Учебники

Фортран — Типы данных

Fortran предоставляет пять внутренних типов данных, однако вы также можете получить свои собственные типы данных. Пять внутренних типов —

  • Целочисленный тип
  • Реальный тип
  • Сложный тип
  • Логический тип
  • Тип персонажа

Целочисленный тип

Целочисленные типы могут содержать только целочисленные значения. В следующем примере извлекается наибольшее значение, которое может содержаться в обычном четырехбайтовом целом числе:

Live Demo

program testingInt
implicit none

   integer :: largeval
   print *, huge(largeval)
   
end program testingInt

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

2147483647

Обратите внимание, что функция large () выдает наибольшее число, которое может содержаться конкретным целочисленным типом данных. Вы также можете указать количество байтов, используя спецификатор вида . Следующий пример демонстрирует это —

Live Demo

program testingInt
implicit none

   !two byte integer
   integer(kind = 2) :: shortval
   
   !four byte integer
   integer(kind = 4) :: longval
   
   !eight byte integer
   integer(kind = 8) :: verylongval
   
   !sixteen byte integer
   integer(kind = 16) :: veryverylongval
   
   !default integer 
   integer :: defval
        
   print *, huge(shortval)
   print *, huge(longval)
   print *, huge(verylongval)
   print *, huge(veryverylongval)
   print *, huge(defval)
   
end program testingInt

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

32767
2147483647
9223372036854775807
170141183460469231731687303715884105727
2147483647

Реальный тип

Он хранит числа с плавающей запятой, такие как 2.0, 3.1415, -100.876 и т. Д.

Традиционно есть два различных реальных типа, реальный тип по умолчанию и тип двойной точности .

Однако Fortran 90/95 обеспечивает больший контроль над точностью реальных и целочисленных типов данных с помощью спецификатора вида , который мы изучим в главе о числах.

В следующем примере показано использование реального типа данных —

Live Demo

program division   
implicit none  

   ! Define real variables   
   real :: p, q, realRes 
   
   ! Define integer variables  
   integer :: i, j, intRes  
   
   ! Assigning  values   
   p = 2.0 
   q = 3.0    
   i = 2 
   j = 3  
   
   ! floating point division
   realRes = p/q  
   intRes = i/j
   
   print *, realRes
   print *, intRes
   
end program division  

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

0.666666687    
0

Комплексный тип

Это используется для хранения комплексных чисел. Комплексное число состоит из двух частей: действительной части и мнимой части. Два последовательных цифровых запоминающих устройства хранят эти две части.

Например, комплексное число (3,0, -5,0) равно 3,0 — 5,0i

Мы обсудим сложные типы более подробно в главе Numbers.

Логический тип

Есть только два логических значения: .true. и .false.

Тип персонажа

Тип символа хранит символы и строки. Длина строки может быть указана спецификатором len. Если длина не указана, это 1.

Например,

character (len = 40) :: name  
name = Zara Ali

Выражение name (1: 4) даст подстроку «Zara».

Неявная печать

В старых версиях Fortran допускалась функция, называемая неявной типизацией, т. Е. Вам не нужно объявлять переменные перед использованием. Если переменная не объявлена, то первая буква ее имени будет определять ее тип.

Имена переменных, начинающиеся с i, j, k, l, m или n, считаются целочисленными, а другие — действительными переменными. Однако вы должны объявить все переменные, так как это хорошая практика программирования. Для этого вы начинаете свою программу с заявления —

implicit none

Это утверждение отключает неявную типизацию.