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

Fortran — чек-лист

Разработчику

Чек-лист самопроверки

Ответьте своими словами (без подглядывания в код):

  1. Зачем в каждой программе пишут implicit none?
  2. Чем program отличается от subroutine и function?
  3. Что означает print *, и чем write гибче?
  4. Почему в Fortran индексация массивов часто начинается с 1?
  5. Что такое allocatable и когда вызывают allocate / deallocate?
  6. Чем free-form отличается от fixed-form?
  7. Какую роль играет module?
  8. Что такое pure procedure и зачем она нужна в HPC?
  9. Какие флаги вы бы поставили для учебной сборки gfortran?
  10. Где в разделе искать coarray и OpenMP?

Практический мини-тест (без IDE-подсказок)

  1. Напишите файл check.f90 с program, implicit none, массивом real :: a(5), присвойте a = 1.0 и выведите sum(a).
  2. Добавьте функцию pure real function sqr(x) и примените ее к массиву.
  3. Соберите с флагами -Wall -std=f2018 -fcheck=all и устраните все предупреждения.

Если это получается без подсказок, базовый уровень по разделу уже уверенный.


Как интерпретировать результат

Если на половину вопросов ответ уверенный — переходите к справочнику 811 и к чтению чужого .f90 из репозитория.