Структура программы
Текст программы представляет из себя запись на языке программирования алгоритма решения поставленной задачи. При записи текста используются следующие символы:
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 |


