- •Лекция-1 основы программирования на языке фортран
- •§ 1.1. Алфавит языка Фортран
- •§ 1.2. Структура главной программы. Форматы записи
- •1.2.1. Структура главной программы.
- •1.2.2. Свободный формат записи.
- •1.2.3. Фиксированный формат записи.
- •§ 1.3. Имена
- •§ 1.4. Объекты данных
- •1.4.1. Виды объектов данных.
- •1.4.2. Встроенные типы данных.
- •1.4.3. Буквальные константы.
- •1.4.4. Именованные константы.
- •1.4.5. Переменные.
- •1.4.6. Правила умолчания о типах данных и их изменение.
- •§ 1.5. Арифметические операции и выражения
- •1.5.1. Понятие операции, выражения и операнда.
- •1.5.2. Арифметические операции и арифметические выражения.
- •§ 1.6. Встроенные математические функции
- •§ 1.7. Оператор присваивания
1.4.2. Встроенные типы данных.
Для описания различных данных в Фортране предусмотрены различные типы данных. В частности, укажем пять стандартных типов: целый(integer),вещественный(real,вещественные числа одинарной точности),комплексный(complex,комплексные числа одинарной точности),логический(LOGICAL) исимвольный(CHARACTER).
В таблице 1.4.1 приведены сведения о диапазонах изменения числовых типов данных (целый, вещественный и комплексный типы).
При этом, в таблице 1.4.1 диапазон изменения вещественных чисел представлен в научном формате, в котором, например запись − 3.435E+38 обозначает − 3.435∙1038.
Память, занимаемая переменной или константой стандартного целого или вещественного типа, равна 4 байтам.
Объекты стандартных числовых типовобъявляются операторами, имена которых совпадают с именами типов данных, например:
integer i, j ! Объявляем переменные целого типа i и j real a, b ! Объявляем переменные вещественного типа a и b complex d ! Объявляем переменную комплексного типа d i=3; j=6*i ! Используем переменные в простых выражениях x=1.5; y=0.2*x d=(1.2, -2.4)*1.5 ! Возвращает: (1.8, -3.6) |
Таблица 1.4.1.Диапазоны изменения числовых типов данных.
№ п/п |
Тип |
Диапазон изменения |
1 |
integer |
от − 2 147 483 648до+ 2 147 483 647 |
2 |
real |
отрицательные числа: от − 3.4028235E+38 до − 1.1754944E−38; число 0; положительные числа: от + 1.1754944E−38 до + 3.4028235E+38; дробная часть может содержать до шести десятичных знаков. |
3 |
complex |
Состоит из пары вещественных чисел одинарной точности real, задающих действительную и мнимую часть комплексного числа. |
Параметр разновидности стандартных числовых типов данных равен четырем, то есть, например, для целого типа объявления integerиinteger(4)эквивалентны.
В таблице 1.4.2 представлены возможные числовые типы данных.
Таблица 1.4.2.Возможные числовые типы данных.
№ п/п |
Тип |
Диапазон изменения |
Число байт |
Целый | |||
1 |
integer(1) |
от − 128 до + 127 |
1 |
2 |
integer(2) |
от − 32 768 до + 32767 |
2 |
3 |
integer(4) |
то же, что и integer |
4 |
4 |
byte |
то же, что и integer(1) |
1 |
Вещественный | |||
5 |
real(4) |
то же, что и real |
4 |
6 |
real(8) |
отрицательные числа: от − 1.797693134862316D+308 до − 2.225073858507201D−308; число 0; положительные числа: от 2.225073858507201D−308 до 1.797693134862316D+308; дробная часть может содержать до 15 десятичных знаков. |
8 |
7 |
double precision |
тоже, что и real(8). |
8 |
Комплексный | |||
8 |
complex(4) |
то же, что и complex |
8 |
9 |
complex(8) |
Состоит из пары вещественных чисел двойной точности real(8), задающих действительную и мнимую часть комплексного числа. |
16 |
10 |
DOUBLE COMPLEX |
то же, что и complex(8) |
16 |
Тип real(8)называется вещественным типом двойной точности.
Запись типа 3.435D+38 для данных двойной точности обозначает 3.435∙1038.
Очевидно, что использование данных с меньшим параметром разновидности позволяет экономить занимаемую данными память, а в случае вещественных или комплексных чисел еще и время вычислений.
Объект логического типаданных может принимать два значения:.TRUE.(истина) и.FALSE. (ложь). Объект стандартного логического типа объявляется операторомLOGICALилиLOGICAL(4), например
logical id1 logical(4) :: id2=.true. |
Объект стандартного логического типа занимает в памяти 4 байта, объекты типа LOGICAL(2)− 2 байта, аLOGICAL(1)− 1 байт. Объекты с меньшим значением параметра разновидности используются, в частности, с целью экономии памяти.
Символьный тип данных имеет вид CHARACTER(n), гдеn− длина символьной строки (1≤n≤32767) или длина строки в байтах (занимаетnбайт). В частности, типCHARACTERилиCHARACTER(1)занимает 1 байт.
В заключении заметим, что в Фортране стандарта FORTRAN-77 синтаксис определения типа был иным, а именно вместо integer(1), integer, complex(4) и complex(8) используются соответственно integer*1, integer, complex*8 и complex*16.