Перейти к основному содержимому

Первая программа на Fortran

Разработчику Архитектору Инженеру

Play ITЗагрузка интерактивного демо…


Первая программа на Fortran​

Как читать эту статью​

Идите сверху вниз: установка → hello.f90 → разбор строк → компиляция → запуск → типичные ошибки. Интерактив выше — для быстрой проверки синтаксиса.

Время: 30–60 минут с нуля на Windows (MSYS2).


Где применяют Fortran​

Fortran до сих пор основа научных расчётов и HPC. Первая программа — program, implicit none, print.

Дальше: Основы · о разделе


Поддержка Fortran на операционной системе Windows​

Fortran полностью поддерживается на платформе Windows. Для написания, компиляции и запуска программ на этом языке требуется компилятор Fortran и текстовый редактор или интегрированная среда разработки (IDE). Windows не поставляется с встроенным компилятором Fortran, поэтому его необходимо установить отдельно. Существует несколько проверенных решений, совместимых с современными версиями Windows, включая Windows 10 и Windows 11.

Наиболее популярные компиляторы Fortran:

  • GNU Fortran (gfortran) — свободный компилятор, входящий в состав проекта GCC (GNU Compiler Collection). Он поддерживает стандарты Fortran до Fortran 2018 и активно развивается сообществом.
  • Intel Fortran Compiler (ifort / ifx) — коммерческий компилятор от Intel, оптимизированный для процессоров этой компании. Он предлагает расширенные возможности для высокопроизводительных вычислений, но требует лицензии для полного функционала.
  • Silverfrost FTN95 — компилятор, разработанный специально для Windows. Он включает собственную IDE и поддерживает графический вывод, что удобно для начинающих.

Для первого знакомства с языком рекомендуется использовать gfortran, так как он бесплатен, кроссплатформенный и соответствует современным стандартам Fortran.


Установка компилятора gfortran на Windows​

Существует несколько способов установить gfortran на Windows. Наиболее простой и надёжный — через дистрибутив MSYS2, который предоставляет Unix-подобную среду и менеджер пакетов для Windows.


Шаг 1 — Установка MSYS2​

  1. Перейдите на официальный сайт https://www.msys2.org.
  2. Скачайте установщик для вашей архитектуры (обычно x86_64).
  3. Запустите установщик и следуйте инструкциям. Рекомендуется выбрать путь установки без пробелов и кириллицы, например: C:\msys64.
  4. После завершения установки запустите MSYS2 MinGW x64 из меню "Пуск". Это окно терминала, в котором можно выполнять команды Unix-стиля.

Шаг 2 — Обновление системы и установка gfortran​

В терминале MSYS2 MinGW x64:

pacman -Syu

Эта команда обновляет базу пакетов и саму систему. После завершения может потребоваться закрыть и снова открыть терминал MSYS2 MinGW x64.

Затем установите компилятор gfortran:

pacman -S mingw-w64-x86_64-gcc-fortran

Эта команда устанавливает полный набор компиляторов GCC, включая gfortran, для 64-битной архитектуры. Установка может занять несколько минут в зависимости от скорости интернета.

После завершения установки проверьте работоспособность компилятора:

gfortran --version

Если всё сделано правильно, терминал отобразит версию компилятора, например:

GNU Fortran (MinGW-W64 x86_64-ucrt-...) ...

Это означает, что компилятор готов к использованию.


Выбор текстового редактора или IDE​

Для написания первой программы не обязательно использовать сложную интегрированную среду разработки. Достаточно любого текстового редактора, который сохраняет файлы в формате UTF-8 без добавления скрытых символов. Однако использование специализированной IDE упрощает навигацию по коду, подсветку синтаксиса и запуск компилятора.

Рекомендуемые варианты:

  • Visual Studio Code (VS Code) — лёгкая, бесплатная и расширяемая редакторская платформа от Microsoft. С помощью расширений можно добавить поддержку Fortran, включая подсветку синтаксиса, автодополнение и интеграцию с компилятором.
  • Code::Blocks — бесплатная IDE с поддержкой нескольких компиляторов, включая MinGW. Требует ручной настройки пути к gfortran.
  • Geany — минималистичная IDE в среде MSYS2. Установка из репозитория MSYS2:
pacman -S geany

Для первого запуска достаточно использовать Блокнот или Notepad++, но дальнейшая работа будет комфортнее в VS Code.


Установка VS Code и настройка поддержки Fortran​

  1. Скачайте и установите Visual Studio Code с официального сайта: https://code.visualstudio.com.
  2. Откройте VS Code и перейдите в раздел расширений (иконка в виде квадратиков слева).
  3. В поиске введите Modern Fortran и установите расширение от автора mkoehler. Оно обеспечивает подсветку синтаксиса, сниппеты и базовую навигацию по коду.
  4. Также установите расширение Fortran IntelliSense для улучшенной поддержки автодополнения (опционально).

Теперь VS Code готов принимать код на Fortran.


Создание рабочего каталога​

Прежде чем писать код, создайте отдельную папку для ваших проектов на Fortran. Например:

C:\fortran_projects\hello_world

Эта папка будет содержать исходный файл программы и скомпилированный исполняемый файл. Такая организация помогает избежать путаницы при работе с несколькими проектами.


Написание первой программы — "Hello, World!"​

Программа "Hello, World!" — традиционный первый шаг в изучении любого языка программирования. Она демонстрирует базовую структуру кода, способ вывода текста и процесс компиляции. В Fortran эта программа проста, но содержит все необходимые элементы корректной программной единицы.

Откройте выбранный текстовый редактор (например, Visual Studio Code) и создайте новый файл. Сохраните его с расширением .f90 — это стандартное расширение для исходных файлов Fortran, соответствующих стандартам Fortran 90 и новее. Например, имя файла может быть:

hello.f90

Внутри файла напишите следующий код:

program hello
implicit none
print *, 'Hello, World!'
end program hello

Разберём каждую строку подробно.

  • program hello — объявляет начало программной единицы с именем hello. Каждая исполняемая программа на Fortran должна начинаться с такой директивы. Имя программы должно совпадать с именем в завершающей строке.
  • implicit none — директива, отключающая неявную типизацию переменных. По историческим причинам ранние версии Fortran автоматически присваивали тип переменным в зависимости от первой буквы имени (например, переменные, начинающиеся с I–N, считались целыми). Современный стиль требует явного указания всех типов, поэтому implicit none является обязательной частью любого современного кода.
  • print *, 'Hello, World!' — оператор вывода. Звёздочка означает формат "по умолчанию" (для чисел добавляет ведущий пробел). Без лишнего пробела у строки — write(*,'(A)') 'Hello, World!'.
  • end program hello — завершает программную единицу. Указание имени после end program не обязательно, но рекомендуется для читаемости.

Сохраните файл. Убедитесь, что он находится в созданной ранее папке, например: C:\fortran_projects\hello_world\hello.f90.


Компиляция программы через командную строку​

Теперь нужно преобразовать текст программы в исполняемый файл. Этот процесс называется компиляцией, и его выполняет компилятор gfortran.


Шаг 1 — Открытие терминала MinGW​

Запустите MSYS2 MinGW x64 из меню "Пуск". Это окно предоставляет доступ к компилятору gfortran и другим инструментам Unix-стиля, адаптированным для Windows.


Шаг 2 — Переход в рабочую директорию​

Переход в каталог с исходником (в MSYS2 диски — /c/, /d/):

cd /c/fortran_projects/hello_world

Обратите внимание: в MSYS2 диски Windows обозначаются как /c/, /d/ и так далее.

Проверьте содержимое папки:

ls

Вы должны увидеть файл hello.f90.


Шаг 3 — Запуск компилятора​

Компиляция:

gfortran -o hello.exe hello.f90

Разбор команды:

  • gfortran — вызов компилятора.
  • -o hello.exe — указание имени выходного файла. На Windows исполняемые файлы обычно имеют расширение .exe.
  • hello.f90 — имя исходного файла.

Если в коде нет синтаксических ошибок, компилятор завершится без сообщений, и в той же папке появится файл hello.exe.

Проверьте его наличие:

ls

Теперь вы увидите два файла: hello.f90 и hello.exe.


Запуск программы​

Чтобы запустить программу, введите в терминале:

./hello.exe

На экране появится:

Hello, World!

Обратите внимание: перед текстом может отображаться один пробел. Это особенность оператора print * в Fortran — он автоматически добавляет начальный пробел для выравнивания числового вывода. Это поведение неизменяемо в стандартном выводе, но не влияет на функциональность программы.

Поздравляем! Вы успешно написали, скомпилировали и запустили первую программу на Fortran.


Альтернативный способ — компиляция из проводника Windows​

Если вы не хотите постоянно использовать терминал MSYS2, можно создать простой пакетный файл (.bat), который автоматизирует компиляцию.

  1. Создайте в той же папке файл build.bat со следующим содержимым:
@echo off
set PATH=C:\msys64\mingw64\bin;%PATH%
gfortran -o hello.exe hello.f90
if errorlevel 1 (
echo Ошибка компиляции.
pause
) else (
hello.exe
pause
)
  1. Убедитесь, что путь C:\msys64\mingw64\bin соответствует месту установки MSYS2 на вашем компьютере.
  2. Дважды щёлкните по build.bat — программа скомпилируется и запустится в обычном окне командной строки Windows.

Этот метод удобен для быстрого тестирования небольших программ без открытия терминала.


Частые ошибки​

Начинающие часто сталкиваются с типичными проблемами. Вот несколько из них:

  • Ошибка: "gfortran: command not found"
    Причина: компилятор не установлен или путь к нему не добавлен в переменную окружения. Решение — убедитесь, что вы работаете в терминале MSYS2 MinGW x64, а не в стандартной командной строке Windows.

  • Ошибка: "Unclassifiable statement"
    Причина — синтаксическая ошибка, например, опечатка в ключевом слове (prnt вместо print). Решение: проверьте написание всех ключевых слов.

  • Ошибка: "Program has no main entry"
    Причина: отсутствует блок program ... end program. Решение: убедитесь, что программа начинается с program имя и заканчивается end program.

  • Программа компилируется, но не запускается
    Причина: антивирус может блокировать запуск .exe-файлов, созданных компилятором. Решение: добавьте папку проекта в исключения антивируса или временно отключите защиту при запуске.


Что дальше​

ТемаСтатья
МассивыОсновы
kindТипы
ПодпрограммыПодпрограммы и функции в Fortran
СамопроверкаFortran — чек-лист

Что попробовать​

  1. read(*,*) x — ввод числа и вывод обратно.
  2. real, dimension(5) :: a и a = 1.0.
  3. Сборка с -Wall -std=f2018.

В подборках​

Статья входит в тематические подборки и блок "С чего начать?" на главной. Соседние шаги того же маршрута:

Первые шаги (маршрут подборки) — Первая программа на COBOL, Первая программа на Lisp, Первая программа на ассемблере, Первая программа на Pascal, Первая программа на С, Первая программа на visual-basic.