Название: Информатика. Алгоритмический язык Фортран - учебное пособие (Худяков Д.С., Саблина Г.В.)

Жанр: Информатика

Просмотров: 3010


2.4. данные, обрабатываемые в фортране

 

Данные в языке Фортран можно классифицировать по видам и типам. В Фортране используются следующие виды данных: константы, переменные и массивы.

Константа – это, как уже говорилось, величина, значение которой задается в тексте программы в явном виде и в дальнейшем не изме-няется.

Переменная – это величина, к которой обращаются в программе, используя символическое имя и соответствующее время. Значение переменной может изменяться в процессе выполнения программы. Имена переменных могут содержать от одного до шести символов, причем первым должна быть буква, а последующими – либо буквы, либо цифры.

Массив – это упорядоченная последовательность величин, обозначенных одним именем. Символическое имя массива образуется в соответствии с общими правилами образования символических имен. Отдельные величины, образующие массив, называются элементами массива. Элемент массива именуется с помощью символического имени массива и индексов, которые указывают положение элемента в массиве.

Количество индексов, используемых для обозначения элемента массива, зависит от размерности массива, т. е. от количества измерений массива. Индексы (или индекс) записываются в скобках после имени массива и отделяются друг от друга запятыми. Наименьшее значение индекса равняется единице.

Количество измерений массива и максимальное значение каждого измерения описываются в операторе DIMENSION и в операторах явного описания типа.

Примеры:

ABC (17,23,2,1)

SUM (К+А**2,4*L,2*R(К))

ARRAY (I,J,К)

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

– целый;

– вещественный;

– вещественный удвоенной точности;

 

– комплексный;

– комплексный удвоенной точности;

– логический.

Тип данного определяет его внутреннее представление в памяти, например, данные вещественного типа представляются в памяти в виде чисел с плавающей точкой.

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

В основу неявного (по умолчанию) описания положено определение целого или вещественного типа по первому символу имени данного. Это определение заключается в следующем:

– если первый символ имени I, J, K, L, М или N, то данное относится к целому типу;

– если первым символом имени является любая другая буква, то тип данного вещественный.

Явное описание выполняется с помощью соответствующих операторов описания типа. С его помощью можно описать любой из перечисленных выше типов. По отношению к одним и тем же объектам программной единицы явное описание типа отменяет неявное описание.

Для текстовых данных нет способа установления типа. Такие данные могут именоваться символическими именами, для которых установлен один из указанных выше пяти типов.

Размер памяти, требуемой для размещения данных, зависит от типа данных, а также от способа установления типа. Об этом будет сказано более подробно при характеристике каждого из видов данных.

Целые константы представляют собой последовательность цифр без десятичной точки (разделителя). Перед отрицательным числом должен стоять знак минус, а перед положительным – знак плюс может отсутствовать. Примеры целых констант:

92

-7619

371

+956748

В памяти компьютера целая константа занимает 4 байта памяти и может иметь значение от  –2147483648  до  2147483647.

Вещественная константа может быть представлена одним из следующих двух способов.

I. Вещественная константа без порядка, т.е. число, записанное

с десятичной точкой, например:

74.95

-649.571

0.0

+4.

7.93

0.0041

II. Вещественная константа с порядком, которая записывается в виде

 nЕm

Здесь мантисса n – вещественная константа, порядок m представляется как однозначное или двузначное целое число со знаком или без знака, Е – разделительный символ. Примеры:

–0.02341Е2 (= –0,02341×102)

7.34Е+11 (= 7,34×1011)

0.03Е–7 (= 0,03×10-7)

В памяти компьютера вещественная константа занимает 4 байта памяти и имеет такое же внутреннее представление, как и вещественная константа с порядком. Диапазон изменения от –8.43Е–37 до 3.37Е+38, количество цифр в мантиссе не более семи.

Вещественная константа удвоенной точности записывается только в виде вещественной константы с порядком. Для указания порядка вместо буквы Е используется буква D. Примеры:

7.24D2

6.194D-14

В памяти компьютера вещественная константа двойной точности занимает 8 байт памяти. Диапазон изменения от –10D–64 до +9.99D+62, количество цифр в мантиссе не более 14.

Комплексная константа записывается в виде

(Хr,Хi)

где Хr и Хi – вещественные константы, причем Хr – действительная часть комплексного числа, Хi – мнимая часть. Примеры:

(12.35,-1.129)

(-3.94,2.0Е-13)

 

которые в обычной математической записи имеют вид

12,35 –i1,129

–3,94 +i2×10–13

В памяти компьютера комплексная константа занимает 8 байт памяти.

Комплексная константа удвоенной точности состоит из пары вещественных констант двойной точности. Пример:

(2.1D0,-3.12D-2)

В памяти компьютера такая константа занимает 16 байт памяти.

Логическая константа может принимать только два значения:

.TRUE.

.FALSE.

Точки в записи логических констант являются обязательными.

В памяти компьютера логическая константа занимает 4 байта.

Тип переменной должен быть определен в программе и не может изменяться в процессе ее выполнения. Переменная представляется и хранится в памяти компьютера так же, как константа соответствующего типа. Если никаких указаний о типе переменной в программе нет, то переменная относится к одному из двух типов (целому, вещественному) по следующему правилу: если переменная начинается с букв I, J, K, L, M, N, то данная переменная считается переменной целого типа, а если переменная начинается с любой другой буквы латинского алфавита, то она считается переменной вещественного типа.

Все вышесказанное относительно типов констант в равной степени относится и к переменным.

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

Расположение массивов в памяти. Элементы массива располагаются в памяти так, что значение первого индекса возрастает наиболее быстро, а значение последнего – наиболее медленно. Например, одномерный  массив  А,   состоящий  из  четырех  элементов,  размещается

в памяти следующим образом:

А(1)      А (2)      А(3)     А (4).

Элементы двумерного массива В, первое измерение которого имеет максимальное значение 3, а второе – 4, располагаются в следующем порядке:

В (1,1)      В (2,1)      В (3,1)      В (1,2)      В (2,2)      В (3,2)      В (1,3)

В (2,3)      В (3,3)      В (1,4)      В (2,4)      В (3,4).