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

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

DO-цикл с вещественным параметром заменяется DOили DO WHILEциклом.

Не может быть рекомендовано и завершение вложенного DO-цикла одним общим помеченным оператором, например:

s = 0.0

do 1 i = 1, n1 do 1 j = 1, n2

do 1 k = 1, n3

s = s + a(i, j, k) 1 continue

Такая форма может послужить источником разнообразных ошибок.

П.-2.2.5. Переход на END IF

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

П.-2.2.6. Альтернативный возврат

Использование альтернативного возврата из подпрограммы (разд. 8.19) ухудшает структуру программы. Вместо него можно при выходе из подпрограммы вернуть код ее завершения, а последующее ветвление выполнить, например, конструкцией SELECT CASE.

П.-2.2.7. Дескриптор формата H

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

write(*, '(2x, 31HВведите границы отрезка [a, b]:)')

лучше записать:

write(*, '(2x, a)') 'Введите границы отрезка [a, b]: '

или

write(*, "(2x, 'Введите границы отрезка [a, b]: ')")

В отличие от первого оператора два последних не требуют подсчета числа передаваемых символов.

П.-2.3. Устаревшие свойства Фортрана, определенные стандартом 1995 г.

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

425

О. В. Бартеньев. Современный ФОРТРАН

Фортран 95. Прочие свойства отнесены к устаревшим еще стандартом Фортран 90. В списке 9 устаревших свойств:

арифметический оператор IF;

завершение нескольких DO-циклов одним оператором и завершение DO-цикла оператором, отличным от CONTINUE или END DO;

альтернативный возврат из процедуры;

вычисляемый оператор GOTO (***);

операторная функция (***);

размещение оператора DATA среди исполняемых операторов (***);

символьные функции предполагаемой - CHARACTER(len = *) - длины

(***);

фиксированная форма исходного кода (***);

форма CHARACTER* для объявления символьных типов данных (***).

Предполагается изъять из Фортрана первые 6 свойств уже в следующем стандарте.

П.-2.4. Исключенные свойства Фортрана

Стандарт 1995 г. исключил из Фортрана:

1)DO-цикл с вещественным и двойной точности параметром, например запрещен цикл:

real(4) :: x, xs = 1.0, xf = 3.0, dx = 0.1 do x = xs, xf, df

print *, x * sin(x) end do

2)переход на END IF из внешнего блока;

3)оператор PAUSE;

4)оператор ASSIGN присваивания меток и назначаемый GO TO; ясно, что нельзя использовать в качестве метки целочисленную переменную, получившую значение в результате выполнения оператора ASSIGN;

5)символьные константы с указателем длины, называемые также холлеритовскими константами.

426