Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
современный фортран , Бортеньев.pdf
Скачиваний:
242
Добавлен:
26.03.2015
Размер:
2.34 Mб
Скачать

Приложение 2. Нерекомендуемые, устаревшие и исключенные свойства

если ассоциируемый объект имеет символьный тип или относится к упорядоченному производному типу с символьными компонентами, то все объекты в операторе EQUIVALENCE должны иметь один из таких типов, хотя могут быть и разной длины;

если ассоциируемый объект имеет упорядоченный производный тип, который не является чисто числовым или символьным, то все объекты в операторе EQUIVALENCE должны относиться к тому же производному типу;

если ассоциируемый объект имеет встроенный, но нестандартный тип, например INTEGER(1), то все объекты в операторе EQUIVALENCE должны иметь тот же тип и параметр разновидности типа.

Оператор EQUIVALENCE предназначен для экономии оперативной памяти. Так, можно использовать одну и ту же память под символьный и вещественный массивы, уменьшая издержки памяти в два раза. Недостатки оператора очевидны: если переменные a и b занимают одну и ту же память, то изменение значения одной из переменных приведет к изменению значения и другой. Поэтому каждый раз, применяя переменную a, необходимо следить, чтобы ее значение не было случайным образом изменено в результате изменения значения переменной b. В больших программах это может оказаться весьма затруднительным.

Другие применения оператора - создание псевдонимов и отображение одного типа данных в другой, что можно было бы использовать при хранении и выборке данных. Теперь все эти задачи можно решить более надежными и удобными средствами. В зависимости от ситуации вместо оператора EQUIVALENCE можно использовать автоматические массивы, размещаемые массивы и ссылки для повторного использования памяти; ссылки как псевдонимы и функцию TRANSFER (разд. 6.5) для отображения одного типа данных в другой.

П.-2.1.3. Оператор ENTRY

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

П.-2.1.4. Вычисляемый GOTO

Оператор имеет вид: GOTO (labels) [,] n

labels - список одной или более разделенных запятыми меток исполняемых операторов того же блока видимости. Одна и та же метка может появляться в списке более одного раза.

n - целочисленное выражение.

421