Фортран язык программирования примеры программ

Язык программирования Фортран (Fortran) был разработан в 1954-1957 гг. группой программистов компании IBM под руководством Джона Бэкуса и стал фактически первым коммерчески успешным языком высокого уровня.

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

Язык до сих пор развивается, обладает возможностями объектно-ориентированного программирования и другими современными опциями. Актуальными являются стандарты Fortran 95 и Fortran 2003.

История развития Фортран

Первая спецификация Фортран, документация по работе с ним и инструменты для программирования на этом языке были опубликованы в 1956-1957 гг.

Скорость работы программ, написанных на нем, оказалась сопоставимой с той, которую обеспечивал Ассемблер. Фортран быстро обрел широкую популярность среди пользователей.

Fortran 77 programming in FreeDOS

Рисунок 1. Перфокарта с программой на Фортран. Автор24 — интернет-биржа студенческих работ

Замечание 1

Слово Fortran — сокращение от FORmula TRANslator, что можно перевести с английского как переводчик формул.

Язык быстро был портирован для популярных аппаратных платформ: IBM 709, 650, 1620, 7090. Собственные компиляторы для этого языка старались разрабатывать и многие производители вычислительных устройств. К середине 1960-х гг. количество реализаций Фортрана составляло уже около полусотни.

«Fortran, язык программирования»
Готовые курсовые работы и рефераты
Решение учебных вопросов в 2 клика
Помощь в написании учебной работы

Быстрый рост популярности Фортрана в США вызвал в Европе стремление разработать столь же эффективное средство программирования. В результате был сформирован комитет, создавший под руководством Питера Наура язык International Algorithmic Language, получивший известность под названием ALGOL (ALGOrithmic Language) и ставший академическим стандартом.

Фортран активно использовался в интернациональных проектах, развивавшихся под эгидой ЦЕРН, что сделало его широко известным среди ученых многих стран мира, в том числе и в СССР. Впервые в нашей стране этот язык был применен на ЭВМ «Минск-2». Широкую известность получила версия ФОРТРАН-ДУБНА для компьютера БЭСМ-6 (1968 г.). Фортран использовался и на широко применявшихся в странах социалистического содружества ЕС ЭВМ (1970-е гг.).

В связи с высокой популярностью, Фортран, по мере развития, многократно стандартизировался (1966, 1978, 1991, 1997, 2003 гг.).

Средства разработки для Фортран

Одним из направлений деятельности корпорации Microsoft, ставшей флагманом IT-индустрии в 1990-е гг., была разработка инструментария для программирования на Фортран в рамках проекта Microsoft Visual Studio. С 1998 г. этот проект был передан компании DEC (входит в состав HP). С тех пор эта среда разработки известна как Digital Visual Fortran.

Бывший лучший язык программирования

Рисунок 2. Интерфейс среды Digital Visual Fortran. Автор24 — интернет-биржа студенческих работ

Альтернативный компилятор предоставляет компания Lahey. Ее продукт является кроссплатформенным, работает как на ОС Windows, так и в среде Linux.

Рисунок 3. Интерфейс среды Lahey. Автор24 — интернет-биржа студенческих работ

Компания Intel развивает собственную версию — Intel Fortran Compiler — оптимизированную для соответствующих процессоров.

Еще один поставщик компилятора для Фортран — компакния Watcom, распространяющая свою версию Open Watcom под свободной лицензией и с открытым исходным кодом.

Бесплатную и открытую версию FORTRAN предоставляет фонд GNU.

Программирование на Фортран

Структура программ на Фортран в процессе эволюции языка претерпела существенные изменения.

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

В версиях языка до 1990 г. отсутствовали операторы сравнения больше и меньше в виде угловых скобок. Вместо них использовались комбинации .LE. , .GE. .

Для ранних версий Фортран характерно также широкое использование оператора безусловного перехода GOTO .

Читайте также:
Прекращена работа программы library

В дальнейшем, как и в других современных языках, эти недостатки были преодолены. Стали широко применяться привычные циклы ( DO … END , DO , DO . WHILE ), операторы ветвления ( SELECT . CASE ), подпрограммы и функции.

Замечание 2

Подпрограмма в Фортране отличается от функции тем, что не возвращает значения.

Отличительной особенностью Фортрана является наличие мощных средств для работы с массивами, а также гибкие способы обращения к их ячейкам.

Фортран поддерживает работу с целыми, вещественными и комплексными числами высокой точности, что делает его хорошопригодным для математических вычислений.

Пример программы, приводящей буквы в тексте к смешанному регистру (CamelCase):

PROGRAM CAMELC CHARACTER TEXT*30, CC*30 LOGICAL LSPACE READ (*, ‘(A)’) TEXT NCC = 0 LSPACE = .TRUE. DO 1, I = 1,LEN(TEXT) NC = ICHAR(TEXT(I:I)) IF (NC .GE. 65 .AND. NC .LE. 90 .OR. > NC .GE. 97 .AND.

NC .LE. 122) THEN IF (LSPACE) THEN IF (NC .GE. 97 .AND. NC .LE. 122) THEN NC = NC — 32 END IF ELSE IF (NC .GE. 65 .AND.

NC .LE. 90) THEN NC = NC + 32 END IF END IF NCC = NCC + 1 CC(NCC:NCC) = CHAR(NC) LSPACE = .FALSE. ELSE LSPACE = .TRUE. END IF 1 CONTINUE DO 2, I = NCC + 1,LEN(CC) 2 CC(I:I) = » » WRITE (*, *) CC END

Источник: spravochnick.ru

ЗАДАЧИ ДЛЯ ПРОГРАММИРОВАНИЯ

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

SUBROUTINE имя процедуры (список формальных параметров)
. описание формальных параметров
. описание внутренних параметров
. исполняемые операторы
CONTAINS
. внутренние подпрограммы
END имя процедуры
тип функции FUNCTION имя функции (список формальных параметров)
. описание формальных параметров
. описание внутренних параметров
. исполняемые операторы
CONTAINS
. внутренние функции
END подпрограммы-процедуры

Запись операторов подпрограммы-процедуры ограничена операторными скобками: SUBROUTINE … END, а для подпрограммы-функции операторными скобками являются: FUNCTION … END.

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

Подпрограмма-процедура может вернуть в вызывающую программу только список формальных параметров – для ее вызова используется оператор CALL (Пример 7.1).

Пример 7.1. Подпрограмма-процедура, складывающая два числа.

program SUBPRG1 real :: X=1., Y=2., Z call SUMAB(X, Y, Z) print *, Z end subroutine SUMAB(A,B,C) real :: A, B, C C = A + B return end

Подпрограмма-функция может использоваться в вызывающей программе аналогично переменной соответствующего типа (Пример 7.2), в том числе в выражениях и присваиваниях – для этого функция должна быть объявлена внешней, с помощью оператора EXTERNAL. Точно так же используется внутри Подпрограммы-функции ее имя – переменной соответствующего типа, но перед завершением работы подпрограммы-функции эта переменная должна получить значение, которое вернется в вызывающую программу. При этом подпрограмма-функция, как и подпрограмма-процедура, может изменять значения элементов списка формальных параметров (но этого делать не рекомендуется).

Пример 7.2. Подпрограмма-функция, складывающая два числа.

program SUBPRG2 external SUM real :: X=1., Y=2., Z Z = SUM(X, Y) print *, Z end real function SUM(A,B) real :: A, B SUM = A + B return end

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

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

Пример 7.3. Передача массива в подпрограмму.

program SUBPRG3 integer, parameter :: M=1, N=2 integer , dimension(M,N) :: A, B, C data A /1, 2/ B /3, 4/ call SUMARR(A, B, C, M, N) print *, C end subroutine SUMARR(X,Y, Z, K, L) integer , dimension(K, L) :: X,Y, Z Z = X+Y return end

Читайте также:
Имя telnet не распознано как имя командлета функции файла сценария или выполняемой программы

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

Одноименные переменные в списках формальных и фактических параметров программ и подпрограмм ни как не связаны друг с другом, поскольку являются внутренними переменными своих программ и подпрограмм (Пример 7.4).

Пример 7.4. Независимость имен (A и B) в программных компонентах.

program SUBPRG4 external SUM real :: A=1., B=2. print *, SUM (A, B) end real function SUM(A, B) real :: A, B SUM = A + B return end

Источник: www.accel.ru

T / FORTRAN / DOC / Немнюгин С.А., Стесик О.Л.-Фортран в задачах и примерах (2008)

Н50 Фортран в задачах и примерах / С. А. Немнюгин, О. Л. Стесик. — СПб.: БХВ-Петербург, 2008. — 320 с.: ил.

Книга представляет собой сборник примеров программ и задач для самостоятельного решения по программированию на одном из самых эффективных языков разработки вычислительных приложений — языке Фортран. Примеры и задачи различной сложности демонстрируют основные возможности языка. Дается краткое описание OpenMP — стандартного средства разработки программ для многоядерных процессоров. В книге содержится описание встроенных функций языка, что дает возможность использовать ее в качестве справочника по программированию на языке Фортран.

Группа подготовки издания:

Зам. главного редактора

Лицензия ИД ¹ 02429 от 24.07.00. Подписано в печать 25.06.08.

Формат 60Ч90 1 / 16 . Печать офсетная. Усл. печ. л. 20. Тираж 2500 экз. Заказ ¹

«БХВ-Петербург», 194354, Санкт-Петербург, ул. Есенина, 5Б.

Санитарно-эпидемиологическое заключение на продукцию ¹ 77.99.60.953.Д.003650.04.08 от 14.04.2008 г. выдано Федеральной службой

по надзору в сфере защиты прав потребителей и благополучия человека.

Отпечатано с готовых диапозитивов в ГУП «Типография «Наука»

199034, Санкт-Петербург, 9 линия, 12

Глава 1. Компиляция, выполнение и отладка программ.

Как создается программа .

Компилятор фирмы Intel .

Компиляторы GNU Fortran .

Система программирования Compaq Visual Fortran.

Система программирования Sun Studio.

Глава 2. Элементы языка.

Алфавит и лексемы языка Фортран.

Формат записи исходного текста программы.

Как устроена программа.

Условный оператор if…then…endif .

Условный оператор if…then…else…endif .

Оператор цикла со счетчиком do…end do .

Вопросы и задания.

Глава 3. Операторы описания.

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

Оператор описания производного типа.

Неявное определение типа.

Структура оператора описания.

Типы и разновидности типов данных.

Вопросы и задания.

Глава 4. Арифметические выражения.

Особенности машинной арифметики .

Вопросы и задания.

Глава 5. Логические выражения.

Вопросы и задания.

Глава 7. Условные операторы и ветвления.

Глава 8. Структура программы.

Области видимости имен и меток.

Глава 9. Массивы.

Встроенные функции для работы с массивами.

Дополнительные свойства массивов.

Элементные встроенные функции и операции.

Оператор и конструкция where .

Оператор и конструкция forall .

Автоматические массивы и массивы подразумеваемой

Размещаемые (динамические) массивы.

Глава 10. Ввод и вывод.

Глава 12. Встроенные подпрограммы.

Встроенные процедуры определения даты и времени.

Функции преобразования и переноса типов.

Операции над массивами.

Функции редукции массивов .

Операции с векторами и матрицами.

Процедуры для работы с двоичными разрядами.

Глава 13. Производные типы и указатели.

Определение производных типов.

Атрибуты public и private .

Глава 14. Программируем на Фортране

для многоядерных процессоров.

Как распараллелить программу с помощью OpenMP .

Глава 15. Разные задачи.

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

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

Читайте также:
Программа развитие творческих способностей задачи

Успех языка во многом был предопределен личностью человека, который руководил его разработкой. Это Джон Бэкус. «Первую скрипку» в процессе работы над Фортраном, языком, предназначенным для программирования вычислений, играл человек с хорошим математическим образованием и большим опытом численных расчетов.

Фортран постоянно обновляется. Примерно один раз в 10 лет выходит новый стандарт языка, учитывающий современное состояние программирования с одной стороны и пожелания программи- стов-прикладников с другой. Фортран впитывает те достижения

Computer Science, которые действительно необходимы и полезны при программировании вычислений и не ухудшают скольконибудь заметным образом их скорость. Строгая стандартизация и постоянное обновление позволяют защитить инвестиции в прикладное программное обеспечение и сделать его универсальным. Таким образом, Фортран сочетает постоянное обновление и строгое следование стандартам.

В настоящее время разработчики программ на Фортране чаще всего используют стандарты Фортран 77 и Фортран 90. Принят и реализован в ряде компиляторов стандарт Фортран 2003. Благодаря возможностям сети Интернет доступны различные, в том числе и бесплатные, компиляторы и интсрументы разработки программ на Фортране.

Настоящая книга предназначена для того, чтобы познакомить читателя с основами программирования на Фортране. Мы ограничиваемся кратким описанием синтаксиса языка, делая упор на примеры программ и задачи. Для ряда задач приводятся решения. Читатель, заинтересованный в более глубоком изучении Фортрана, может обратиться к литературе, список которой приводится в конце книги.

В этой книге мы ориентируемся на Фортран 90, который достаточно распространен в среде прикладных программистов и науч- но-технических работников.

Компиляция, выполнение и отладка программ

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

Имеется большое и все возрастающее число компиляторов языка Фортран, как коммерческих, так и свободно распространяемых. Свободно распространяются для некоммерческого использования, например, некоторые компиляторы фирмы Intel, компилятор g95 и т. д. Последний разрабатывается в рамках проекта GNU, целью которого является создание и распространение бесплатного программного обеспечения.

Среди вспомогательных средств разработки программ находятся конвертеры с Фортрана на другие языки, например, C, различные системы отладки программ, поддерживающие работу с Фортраном, а также интегрированные среды, профилировщики и т. д. Среди них следует упомянуть такие программы, как dbx, gdb, ElectricFence и другие.

Как создается программа

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

1. Создание файла с исходным текстом программы . Для этого используется текстовый редактор, самостоятельный или входящий в состав какой-либо интегрированной среды. Интегрированная среда представляет собой специальную программу, обеспечивающую удобный доступ к различным инструментам разработки программ.

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

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

4. Создание исполняемого файла с помощью программы- компоновщика . Компоновщик «собирает» исполняемый файл из объектных файлов программы и необходимых библиотек, а также включает в него код запуска. Компоновку (сборку) завершает процесс создания исполняемого файла.

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

Источник: studfile.net

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru