
- •Lesson 3 Приближенные вычисления
- •Ряд Тейлора
- •Точность вычислений
- •Рекуррентная формула
- •Блок-схема алгоритма
- •Текст программы
- •Отладка программы
- •Альтернативная блок-схема
- •Bвод и вывод данных
- •Операторы open и close
- •Оператор read – ввод данных
- •Оператор write – вывод данных
- •Оператор format
- •Спецификации числовых данных
- •I -спецификация формата.
- •F -спецификация формата
- •E, d -спецификации формата
- •G-спецификация формата
- •Вывод комплексных чисел
- •Спецификации нечисловых данных a-спецификация формата
- •L-спецификация формата
- •X-спецификация формата
- •Cпецификация формата – «слэш»
- •Взаимодействие операторов write и format .
- •Оператор nameList
G-спецификация формата
G-спецификация формата – это универсальная спецификация для ввода и вывода данных любого типа. Общая форма этой спецификации имеет вид:
rGw.d
Здесь указано, что поле вывода содержит wпозиций, а дробная часть состоит из не более, чемd цифр. Значениеd игнорируется при использовании с данными логического или символьного типа.
С целыми значениями спецификация Gw.dдействует аналогично спецификацииIw.d.
С данными вещественного типа форма представления числа зависит от его значения. Если спецификация Fw.dпозволяет вывести число, то используется именно она, в противном случае (если число слишком велико или мало) используется спецификацияEw.d
Вывод комплексных чисел
Вывод одного комплексного числа выполняется с помощью двух вещественных спецификаций. Первая определяет преобразование вещественной части, вторая – мнимой части. Эти спецификации могут быть различными.
Пример.
complex:: cmp = (19.1, 0.0034)
104 format (F10.2, ' +', E9.3, ' i')
write (*, 104) cmp
Результирующая строка:
_____19.10_+_.340E-02_i
Спецификации нечисловых данных a-спецификация формата
A- спецификация формата предназначена для вывода символьных строк. .
Общая форма этой спецификации имеет вид:
rAилиrAw
где r– повторитель,wзадает ширину поля вывода. В случае, когдаw отсутствует, число символьных позиций в строке вывода определяется длиной выводимой строки.
Пример.
105 format (A, F7.2, A, F7.2)
write (*, 105) ‘ При радиусе‘,Radius, &
‘ площадь круга равна‘, Radius*Radius*3.1416
Если необходимо повторить группу спецификаций, то ее нужно заключить в скобки и записать повторитель перед открывающей скобкой, например:
105 format (2(A, F7.2))
write (*, 105) ‘ При радиусе‘,Radius, &
‘ площадь круга равна‘, Radius*Radius*3.1416
Если радиус Radius= 4.5, то в обоих случаях выводится строка:
_При_радиусе___4.50_площадь_круга_равна__63.62
Первая A- спецификация относится к первому элементу списка вывода, вторая – к третьему элементу списка вывода.
По спецификации Awвыводится толькоwсимволов соответствующей строки:
105 format (A6, F7.2, A, F7.2)
write (*, 105) ‘ При радиусе‘, Radius, &
‘ площадь круга равна‘, Radius*Radius*3.1416
Выведенная строка в этом случае имеет вид:
_При_р___4.50_площадь_круга_равна__63.62
Символьные константы можно также выводить без применения A- спецификации. Для этого нужно включить в список спецификаций оператораformat соответствующие символьные строки. В применении к предыдущему примеру это выглядит так:
105 format (‘ При радиусе‘, F7.2, ‘ площадь круга равна‘, F7.2)
write (*, 105) Radius, Radius*Radius*3.1416
Если нужно повторить символьную константу в операторе format, она заключается в скобки. Например, для вывода строки из 15 звездочек можно применить либо формат
10 format (‘***************‘)
write (*, 10)
либо формат
10 format (15(‘*‘)
write (*, 10)
L-спецификация формата
L- спецификация формата предназначена для вывода логических значений .
Общая форма этой спецификации имеет вид:
Lw
где wзадает ширину поля вывода. Строка, выведенная по форматуLw, состоит из (w-1)-го пробела и символа «T» или «F» («T» соответствует.true., «F» –.false.).
Пример.
logical:: Yes = .true.
103 format (L4)
write (*, 103) Yes
Выводится строка: ___T