Первые программы
Оператор program
Оператор program – задает имя программе; является необязательным оператором.
Правило хорошего тона – записывать оператор program с именем программы.
Имя программы может состоять из символов:
- латинские буквы (большие/маленькие);
- цифры 0..9, со второй позиции;
- знак "подчеркивание", со второй позиции.
program flow_3D или program TestSolveDiff
! Отсутствие зарезервированных имен !
program program
Оператор print
Оператор print – печатает данные на экране
! Вывод строки текста print *, "Fortran 2008" ! Вывод текста и числа print *, "Resistance R0 = ", 2000, " Om"
"*" означает вывод под управлением списка или с форматом по умолчанию, т.е. "программа знает" как печатать данные на экране.
Умолчания можно изменить, если вместо "*" указать строку формата.
Строка формата
Строка формата заключается между символами "( строка формата )" и может содержать дескрипторы:
- 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
Позволяет избегать дублирование строки формата.
print "(A20,\)", "Pressure = " print "(A20,\)", "Velocity = " print "(A20,\)", "Length = " print "(A20,\)", "Width = "
Лучше записать с использованием целочисленной метки на оператор format
print 100, "Pressure = " print 100, "Velocity = " print 100, "Length = " print 100, "Width = " 100 format(A20,\)
Оператор end
Указывает на конец программы.
End может использоваться с другими операторами. Можно указать явно к какому оператору относится данный end.
Самая короткая программа на языке Fortran состоит из одного оператора end.
Об ошибках компиляции
Неверно записанная программа приводит к синтаксическим ошибкам!
Устранять ошибки – работа программиста!
Как писать без ошибок ?
Писать без ошибок не получится
Учитесь исправлять ошибки.
Изучайте язык и пишите программы
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 должна выводиться очередная строка куплета. Припевы выводятся полностью и отделены от куплетов двумя пустыми строками.
- При помощи строки формата вывести на экран треугольник из символов.