Структура программы

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

1. Прописные или строчные буквы латинского алфавита от А до Z;

2. Цифры от 0 до 9;

3. Специальные символы: (символ пробел и специальные символы: =, +, -, *, /, (, ), ., $, ', :, _, #, &, <, >.).

Буквы русского алфавита и другие символы могут использоваться только в комментариях, операторах ввода и вывода программы.

Любая программа состоит из операторов (предложений) языка, которые располагаются в строках длиной 2049 символов. Положение символа в строке нумеруется слева направо, начиная с 1-ой позиции.

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

Записать программу в Фортране можно двумя способами.

Первый способ – классический (характерен для версии Fortran-77). Согласно ему, текст программы записывается с 7-й по 72-ю (в Fortran Power Station – по 2049-ю) позиции строки (поле текста программы, рис. 1), причем в этих пределах расположение произвольное.

Любой оператор может быть помечен меткой – целым десятичным числом (не более 5 цифр), метка располагается в позициях 1-5 строки (поле меток). Метки ставят не на все операторы, а только на те, на которые будут ссылки в программе. Назначение меток: метки дают возможность обращаться к нужной строке программы из любого места этой программы.

При использовании меток в программе необходимо учитывать следующее:

НЕ нашли? Не то? Что вы ищете?

1) в одной программе не может быть двух одинаковых меток;

2) номера меток ставятся в произвольном порядке.

Рис. 1. Структура программы

В строке программы должен размещаться только один оператор, однако, если оператор не помещается в позициях 7-72 или желателен его перенос на следующую строку, то в каждой строке продолжения в 6-ой позиции (поле переноса) печатается символ звездочка «*», либо любой другой символ, отличный от нуля. Если в первой позиции любой строки программы напечатан «!» (восклицательный знак), то такая строка рассматривается как комментарий текста программы и транслятором игнорируется. Для записи текста комментария могут использоваться любые символы, а сам текст комментария располагается в позициях 2-72 строки. При сохранении программы написанной таким способом необходимо присваивать ей расширение. FOR.

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

Второй способ – универсальный. При реализации программы этим способом можно располагать операторы с 1-й позиции по 2049-ю, не соблюдая поле меток. В случае, когда необходимо какой-то строке присвоить метку, ее располагают в самом начале строки, а затем не менее чем через пробел располагают оператор. При сохранении программы написанной таким образом можно присваивать ей расширение. F90.

Предложения описания переменных в Фортране 90 имеет вид:

ТИП : : СПИСОК_ПЕРЕМЕННЫХ

или

ТИП, АТРИБУТЫ : : СПИСОК_ПЕРЕМЕННЫХ

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

Отличия Фортрана 90 от Фортрана 77

С момента появления стандарта FORTRAN 77 вычислительная техника проделала огромный путь в своем развитии: помимо роста мощности расширилось и число различных компьютерных платформ. Результатом этого явилось появление систем программирования, каждая из которых обладала собственным набором расширений стандарта ANSI 77. Это, конечно, не способствовало межплатформенной совместимости Fortran-программ.

В 1992 г. был принят новый стандарт — Fortran 90. В этот момент изменился принцип написания названия языка: раньше оно писалось большими буквами (FORTRAN), а теперь заглавной является только первая буква (Fortran). Этот принцип написания относится ко всем языкам программирования — Basic, Cobol, Pascal и пр.

По устоявшейся традиции новый стандарт обеспечивает полную совместимость с предыдущим. В целом, Fortran 90 включает многие расширения стандарта FORTRAN 77, реализованные в различных конкретных системах разработки, и поэтому обеспечивает более высокий уровень совместимости между различными платформами. Большинство из них имеет свои прямые аналоги среди других современных языков программирования (C/C++, Pascal, Basic).

Fortran 90 добавляет к Fortran 77 средства новых вычислений, динамические структуры данных, введения в параллельные архитектуры, объектно-ориентированные средства. Fortran 90 имеет такие объектно-ориентированные средства как:

1) абстрактные типы данных — типы, определенные пользователем;

2) закрытие данных — атрибуты PRIVATE и PUBLIC;

3) инкапсуляция — средства модулей и закрытых данных;

4) наследование и расширение — супертипы, оператор перекрытия и родовые процедуры;

5) полиморфизм — пользователь может перекрывать ее с помощью перегрузки родовых программ;

6) повторное использование — через модули.

Основные характеристики Fortran 90:

1) свободный синтаксис;

2) длина идентификаторов до 31 символа;

3) вставочные комментарии;

4) работа с массивами;

5) рекурсивные процедуры;

6) модульность;

7) улучшенный механизм передачи параметров;

8) пользовательские интерфейсы для процедур;

9) перегрузка операторов;

10) абстрактные типы данных;

11) новый синтаксис объявления типа данных;

12) динамическое распределение памяти посредством атрибута ALLOCATABLE и операторов ALLOCATE и DEALLOCATE;

13) структурированные конструкции циклов;

14) оператор CASE для множественного выбора;

15) новые и расширенные встроенные процедуры.

Изменения в формате кода

Жесткая структура формата исходного текста Fortran-программы (позиции 1-5 — для меток, 6 — перенос строки кода, 7-72 — операторы языка) была одним из главных объектов критики со стороны программистов. Это было не очень удобно еще во времена перфокарт, но стало просто анахронизмом при работе с дисплеем. Поэтому реализация "свободной формы" исходного текста в новом стандарте была совершенно необходима для получения статуса "современного языка программирования".

Основные изменения в формате исходного кода включают следующие элементы:

1) комментарий отмечается символом "!", который может находиться в любой позиции строки;

2) сам код программы может занимать позиции 1-132 строки;

3) идентификатор переменных и процедур содержит до 31 символа, в числе которых можно использовать знак подчеркивания "_";

4) в одной строке можно писать несколько операторов, разделенных символом ";";

5) для переноса длинной строки кода используется символ "&" в конце строки;

6) новое обозначение логических операторов (==, /=, <=, >=, <, >) вместо принятых ранее (.eq., .ne., .le., .ge., .lt., .gt.).

Пример программы на Fortran 90:

! Данная программа выполняет пересчет единиц измерения

! углов из "градусов" в "радианы"

program Free_Form_Example

implicit none   ! контроль описания типа переменных

integer start, finish, step

real degrees, radians

start = -90; finish = 90; step = 5

do degrees = start, finish, step   ! оператор "do... end do"

radians = &     ! "&" означает перенос строки

degrees*3.14159/180.0

end do

end program Free_Form_Example

Целью такой модернизации формы кода является не следование требованиям моды — в результате ее снижаются затраты на разработку программ. В связи с этим нужно добавить, что в состав Fortran 90 включен целый ряд операторов, управляющих логикой работы программы: DO (новый вариант), SELECT CASE, CYCLE, EXIT. Все это делает структуру программы более понятной и удобной для разработчика.

Другим новшеством является поддержка рекурсивных функций, а также механизма внутренних процедур (Internal Procedure) аналогично тому, как это делается в Pascal.

Пример:

subroutine OuterProcedure   ! основная процедура

...

contains    ! начало "включения" в процедуру

subroutine InternalProcedure   ! внутренняя процедура

...

end InternalProcedure   ! конец внутренней процедуры

end OuterProcedure   ! конец основной процедуры

Дальнейшим развитием этой идеи является появление понятия "модуль" (Module), которое сильно напоминает аналогичную конструкцию в MS Basic. Основой смысл данной конструкции заключается в объединении в одном модуле процедур, имеющих общие внутренние переменные.

Общий вид структуры модуля:

module ModuleName   ! начало модуля

... Блок описания общих переменных модуля...

contains   ! начало "включения" в модуль

... Процедуры (subroutine... end) ...

end module

Оператор CONTAINS отделяет исполняемые операторы от описания внутренних подпрограмм.

Для удобства работы с процедурами модуля из других частей программы можно использовать оператор USE, в этом случае он автоматически делает доступными все описания данных и процедур модуля. Но при этом пользователь может самостоятельно определить, к каким процедурам модуля можно обращаться извне (Public), а к каким — нет (Private).

Доступ к вычислительным ресурсам

1. Получить login (имя пользователя) и пароль для доступа на сервер. Имя пользователя и пароль выдаются администратором серверов.

2. Установить на рабочий компьютер программу PUTTY.

Доступ к серверам осуществляется через протокол SSH. Этот протокол используется для терминального доступа к командной строке (SSH – «secure shell»). Для работы с командной строкой рекомендуется программа putty. Эта программа позволяет единожды ввести адрес сервера и, в дальнейшем, выбирать его из списка сессий. В настройках putty необходимо указать протокол SSH. При первом соединении с сервером программа выдает предупреждение о том, что ключ шифрования сервера ранее не использовался, и предлагает его сохранить или отвергнуть (продолжить сеанс или прервать). Надо выбрать продолжение сеанса.

Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 4 5 6 7 8 9 10 11 12 13