Оператор program – задает имя программе; является необязательным оператором.
Правило хорошего тона – записывать оператор program с именем программы.
Имя программы может состоять из символов:
- латинские буквы (большие/маленькие);
- цифры 0..9, со второй позиции;
- знак «подчеркивание», со второй позиции.
program flow_3D или program TestSolveDiff
! Отсутствие зарезервированных имен !
program program
Оператор print
Оператор print – печатает данные на экране
! Вывод строки текста print *, «Fortran 2008» ! Вывод текста и числа print *, «Resistance R0 = «, 2000, » Om»
«*» означает вывод под управлением списка или с форматом по умолчанию, т.е. » программа знает» как печатать данные на экране.
Умолчания можно изменить, если вместо «*» указать строку формата.
Строка формата
Строка формата заключается между символами «( строка формата )» и может содержать дескрипторы:
Podlodka #187 – Я пишу на Fortran
- A – вывод символов,
- – запрет перехода на следующую строку,
- / – переход на следующую строку,
- // – пропуск строки,
- nx – вывод n пробелов
- .
! Форматированный вывод строки текста print «(A)», «Hello world!» ! Курсор останется на той же строке print «(A,)», «Hello world!»
Форматированный вывод
print «(A5)», «Hello world!» ! 5 позиций под вывод символов текста ! Выведется только 5 букв, Hello print «(A30)», «Hello world!» ! 30 позиций под вывод символов текста ! Сначала выводятся пробелы, затем текст ! Используется для выравнивания print «(2(A10))», «Hello», » world!» ! Вывод двух строк текста на одной строке print «(A10,/,A10)», «Hello», » world!» ! Вывод двух строк текста, на двух строках
Оператор format
Позволяет избегать дублирование строки формата.
Лучше записать с использованием целочисленной метки на оператор format
print 100, «Pressure = » print 100, «Velocity = » print 100, «Length = » print 100, «Width http://www.intuit.ru/2010/edi» >
Оператор end
Указывает на конец программы.
End может использоваться с другими операторами. Можно указать явно к какому оператору относится данный end.
<
div xmlns_edi=»http://www.intuit.ru/2010/edi» >
<
div >
program solver . end program solver
program solver . end
Самая короткая программа на языке Fortran состоит из одного оператора end .
Об ошибках компиляции
Неверно записанная программа приводит к синтаксическим ошибкам!
Устранять ошибки – работа программиста!
Структура программы на Fortran
Как писать без ошибок ?
Писать без ошибок не получится
Учитесь исправлять ошибки.
Изучайте язык и пишите программы
2-я программа
Печать текста в столбик.
program prog2A !— первый вариант print *, «W» print *, «o» print *, «r» print *, «l» print *, «d» print *, «!» end
program prog2B !— второй вариант print 100, «W», o», r», l», d», !» 100 format(6(A,/)) end
Если не хватает строки в редакторе, то используем символ » для продолжения на следующей.
Оператор write
Вместо оператора print можно использовать оператор write .
print *, «TEXT» print 100, «TEXT» ! печать ! пустой строки print *
write(*,*) «TEXT» write(*,100) «TEXT» ! печать ! пустой строки write(*,*)
Оператор write также используется при работе с файлами, имеется возможность обработки ошибок.
3-я программа
Вывод текста по буквам после нажатия клавиши Enter .
Оператор read используется для ввода данных в программу.
read(*,*) – ожидание нажатия клавиши Enter
Оператор stop
program prog3 write(*,*) «Fortran» write(*,*) «BASIC» stop «Only two rows necessary!» ! остальные операторы не выполняются write(*,*) «C++» write(*,*) «JAVA» end
Оператор stop останавливает выполнение программы.
Текстовая строка содержит сообщение по какой причине произошла остановка.
4-я программа
program prog4 ! —— второй вариант —— write(*,100) ! write(*,»(A)») «**********» write(*,101) ! write(*,»(A)») «* *» write(*,101) ! write(*,»(A)») «* *» write(*,100) ! write(*,»(A)») «**********» 100 format(10(«*»)) ! повторяем 10 «*» и 101 format(«*»,8x,»*») ! 8 пробелов end
Результат работы программы
Задания
- Составить программу, которая печатает информацию о разработчиках.
- Программа-караоке. После каждого нажатия клавиши Enter должна выводиться очередная строка куплета. Припевы выводятся полностью и отделены от куплетов двумя пустыми строками.
- При помощи строки формата вывести на экран треугольник из символов.
Источник: intuit.ru
Fortran учебник
Начало работы с Fortran
Фортран — это язык, широко используемый в научном сообществе из-за его пригодности для численного расчета. Особенно привлекательной является его интуитивная запись в виде массива, которая упрощает запись быстрых векторизованных вычислений.
Несмотря на свой возраст, Fortran по-прежнему активно развивается с многочисленными реализациями, включая GNU, Intel, PGI и Cray.
Версии
ФОРТРАН 66 | Первая стандартизация ASA (теперь ANSI) | 1966-03-07 |
ФОРТРАН 77 | Фиксированная форма, историческая | 1978-04-15 |
Фортран 90 | Бесплатная форма, стандарт ISO, операции с массивом | 1991-06-15 |
Фортран 95 | Чистые и элементарные процедуры | 1997-06-15 |
Fortran 2003 | Объектно-ориентированное программирование | 2004-04-04 |
Fortran 2008 | Co-Массивы | 2010-09-10 |
Установка или настройка
Fortran — это язык, который может быть скомпилирован с использованием компиляторов, поставляемых многими поставщиками. Различные компиляторы доступны для разных аппаратных платформ и операционных систем. Некоторые компиляторы являются свободным программным обеспечением, некоторые могут использоваться бесплатно, а некоторые требуют покупки лицензии.
Наиболее распространенным свободным компилятором Fortran является GNU Fortran или gfortran. Исходный код доступен из GNU в составе GCC, сборника компиляторов GNU. Бинарные файлы для многих операционных систем доступны по адресу https://gcc.gnu.org/wiki/GFortranBinaries . Распределения Linux часто содержат gfortran в своем диспетчере пакетов.
Другие компиляторы доступны, например:
- EKOPath by PathScale
- LLVM (бэкэнд через DragonEgg)
- Oracle Developer Studio
- Компилятор Absoft Fortran
- Компилятор Intel Fortran
- Компилятор Fortran NAG
- Компиляторы PGI
В HPC-системах часто доступны специализированные компиляторы, доступные системному провайдеру, например, компиляторы IBM или Cray .
Все эти компиляторы поддерживают стандарт Fortran 95. Обзор состояния Fortran 2003 и статуса Fortran 2008 различными компиляторами предлагается Форумом ACM Fortran и доступен в Вики-версии Fortran.
Привет, мир
Любая программа Fortran должна включать end качестве последнего оператора. Поэтому простейшая программа Fortran выглядит так:
Вот несколько примеров программ «привет, мир»:
print *, «Hello, world» end
С помощью оператора write :
write(*,*) «Hello, world» end
Для ясности теперь принято использовать инструкцию program для запуска программы и присвоения ей имени. Затем оператор end может ссылаться на это имя, чтобы сделать его очевидным, о чем идет речь, и дать компилятору проверить правильность кода. Кроме того, все программы Fortran должны содержать implicit none оператор. Таким образом, минимальная программа Fortran должна выглядеть следующим образом:
program hello implicit none write(*,*) ‘Hello world!’ end program hello
Следующий логический шаг от этого момента — это увидеть результат приветственной мировой программы. В этом разделе показано, как добиться этого в среде Linux. Мы предполагаем, что у вас есть некоторые основные понятия команд оболочки , в основном вы знаете, как добраться до терминала оболочки. Мы также предполагаем, что вы уже настроили среду fortran . Используя предпочтительный текстовый редактор (блокнот, блокнот ++, vi, vim, emacs, gedit, kate и т. Д.), Сохраните программу приветствия выше (скопируйте и вставьте) в файл с именем hello.f90 в вашем домашнем каталоге. hello.f90 — ваш исходный файл. Затем перейдите в командную строку и перейдите в каталог (домашний каталог?), Где вы сохранили исходный файл, затем введите следующую команду:
>gfortran -o hello hello.f90
Вы только что создали свою исполняемую программу hello world. В техническом плане вы просто скомпилировали свою программу. Чтобы запустить его, введите следующую команду:
>./hello
На вашем терминале оболочки вы должны увидеть следующую строку.
> Hello world!
Поздравляем, вы только что написали, скомпилировали и запустили программу Hello World.
Квадратное уравнение
Сегодня Fortran в основном используется для численного расчета. Этот очень простой пример иллюстрирует основную программную структуру для решения квадратичных уравнений:
program quadratic !a comment !should be present in every separate program unit implicit none real :: a, b, c real :: discriminant real :: x1, x2 print *, «Enter the quadratic equation coefficients a, b and c:» read *, a, b, c discriminant = b**2 — 4*a*c if ( discriminant>0 ) then x1 = ( -b + sqrt(discriminant)) / (2 * a) x2 = ( -b — sqrt(discriminant)) / (2 * a) print *, «Real roots:» print *, x1, x2 ! Comparison of floating point numbers for equality is often not recommended. ! Here, it serves the purpose of illustrating the «else if» construct. else if ( discriminant==0 ) then x1 = — b / (2 * a) print *, «Real root:» print *, x1 else print *, «No real roots.» end if end program quadratic
Нечувствительность к регистру
Прописные и строчные буквы алфавита эквивалентны в наборе символов Fortran. Другими словами, Fortran нечувствителен к регистру . Такое поведение контрастирует с чувствительными к регистру языками, такими как C ++ и многие другие.
Как следствие, переменные a и A являются a и той же переменной. В принципе можно написать программу следующим образом
pROgrAm MYproGRaM .. enD mYPrOgrAM
Это хороший программист, чтобы избежать таких уродливых выборов.
Источник: learntutorials.net
Hello World на Fortran
Ну что же, начнём знакомство с “мёртвым” языком программирования Фортран. Хотя на самом деле он не такой уж и мёртвый — он до сих пор поддерживается, развивается и используется. Особенно в научной среде непрограммистов. Для чего, в общем-то, изначально он и был создан.
Первый вопрос у начинающего программиста — как писать программы на каком-либо языке (в нашем случае на Фортране).
Второй вопрос — где писать программы.
Начну со второго вопроса. Компиляторов Фортрана существует довольно много, как бесплатных, так и платных. Но для ознакомления с языком я советую воспользоваться онлайн-интерпретатором. Их тоже существует немало. Например, можно использовать этот.
И теперь напишем нашу первую программу на Фортране:
PROGRAM Hello PRINT *, «Hello World» END PROGRAM Hello
Если вы написали эту программу в онлайн-компиляторе, ссылка на который приведена выше, то теперь щёлкните по зелёной кнопочке RUN, которая находится над редактором исходного кода:
Если вы не допустили ошибок, то в нижней части окна появится результат работы программы. В нашем случае это будет строка «Hello World» .
Ну а теперь давайте разберем программу.
Программа начинается с ключевого слова PROGRAM . Затем пишем имя программы. Имя может быть любым допустимым с точки зрения синтаксиса.
Заканчивается программа словами END PROGRAM , за которыми также надо написать имя программы (оно должно быть таким же, как и в начале программы).
Фортран не чувствителен к регистру. То есть вам необязательно писать ключевые слова большими буквами. Вы можете написать PROGRAM , Program или program . Всё это будет работать точно также.
Ну а теперь сама программа:
PRINT *, «Hello World»
Во-первых, обратите внимание на отступ. В данном случае он необязателен, но вообще отступы в Фортране играют такую же важную роль, как и в Python (теперь, думаю, вы понимаете, какой язык вдохновил разработчика Python на его создание).
PRINT — это оператор вывода. С его помощью выполняется вывод на экран. После имени оператора ОБЯЗАТЕЛЬНО требуется спецификатор формата. В нашем случае это звёздочка, что означает произвольный формат (то есть без форматирования — просто вывод данных).
Затем можно через запятую перечислить выражения, которые надо вывести на экран. В нашем случае это всего одна строковая константа, которая и будет выведена на экран:
Строки в Фортране заключаются в двойные кавычки. Но можно использовать и одинарные (хотя точно не знаю, может это допускается не во всех реализациях языка).
Если же вместо константы вы укажете, например, имя переменной, то будет выведено значение этой переменной.
Ну вот и всё. Ваша первая программа на загадочном и забытом Фортране готова и даже работает. С чем вас и поздравляю.
На самом деле Фортран забыт совершенно незаслуженно. Он такой же простой, как и Python (а в чём-то может даже и проще). И его вполне можно использовать для решения повседневных задач, для каких-то экспериментов и т.п.
Источник: info-master.su