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

5.16. Первая программа

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

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

Поддержка 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

В открывшемся терминале последовательно выполните следующие команды:

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!' — оператор вывода. Звёздочка означает использование стандартного устройства вывода (обычно консоль). Текст в одинарных кавычках — строковая константа, которая будет напечатана на экране.
  • end program hello — завершает программную единицу. Указание имени после end program не обязательно, но рекомендуется для читаемости.

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


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

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

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

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

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

Используйте команду cd (change directory), чтобы перейти в папку с вашим файлом. Например:

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