Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
55
Добавлен:
12.04.2015
Размер:
469.5 Кб
Скачать

20 Format(1x,a/) ! пропустить первый символ и напечатать текст строки

! переходя на новую строку

на экране: DISITION

Заметим, что формат неопределенной длины допускается только для спецификации А.

Группы спецификаций (использование повторителя)

Пусть P1,...,Pk ⎯ список переменных в операторе ввода или вывода, а S1,...,Sl ⎯ список спецификаций в соответствующем операторе format, который связан с данной записью (строкой). Количество символов в строке однозначно определяется списком спецификаций. Каждой спецификации в порядке слева направо отводится соответствующее поле в строке. При этом спецификации пробелов при вводе-выводе и спецификации текста при выводе присутствуют в соответствующих местах строки, без каких либо изменений.

Числовые и логические спецификации из списка S1,...,Sl в порядке слева направо ставятся с соответствие переменным P1,...,Pk, которые согласно этим спецификациям представляются в строке. Если список переменных меньше, чем количество числовых и логических спецификаций, то ввод-вывод осуществляется на первой строке до конца списка спецификаций, а последующие переменные вводятся или выводятся с новой строки вместе с переходом в начало списка спецификаций, и т.д. до конца списка переменных.

Запись повторяющихся спецификаций и групп спецификаций

Запись

m format(...,S,S,...,S,...)

N раз

эквивалентна записи:

m format(...,NS,...)

А запись

m format(...,S1,...,Sn,..., ,S1,...,Sn,...)

N раз

эквивалентна записи

m format(...,N(S1,...,Sn),...)

При форматном выводе первый символ интерпретируется как управляющий. Если в качестве первого символа стоит символ 0, то происходит переход через две строки; 1 – переход в начало следующей строки; + – не происходит переход к следующей строке; любой другой символ – переход к следующей строке.

Пример 7. Бесформатный ввод с клавиатуры числа a и форматный вывод на экран чисел на a+1, b=a+2 и c=a+3.

program redd1

integer*2 a,b,c

write (*,*) ' Vvedite celoe chislo a'

read (*,*) a

b=a+2

c=a+3

write (*,4) a+1,b,c

4 format (2x,' 1-е Chislo=',i2,2(' Drugoe chislo=',I3))

end

Еще примеры: Вывести числа a=8.978, b=0.3, c=1.25

В программе:

WRITE(*,5) a,b,c

5 FORMAT(3F6.3) ! все три числа выводятся по одному формату, в одну строку

Тогда на экране увидим: _8.978_0.3_ _ _1.25_ (пробелы показаны знаком подчеркивания)

Если записать оператор формата в виде: 5 FORMAT(F5.3/F3.1/F4.2),

То на экране вы увидите вывод в три строки:

8.978

0.3

1.25

Вопросы к лекции 6:

  1. Сформулируйте задачу табулирования функции.

  2. Объясните, как происходит накопление суммы нескольких слагаемых?

  3. Приведите пример программы вычисления суммы.

  4. Для чего при программировании алгоритма накопления суммы начальное значение переменной S должно быть равно нулю?

  5. Как строится программа вычисления произведения? Какое начальное значение для переменной произведения P необходимо задать до начала цикла?

  6. В каких случаях можно использовать алгоритм накопления произведения?

  7. Почему алгоритм вычисления количества элементов является частным случаем накопления суммы?

  8. Какое начальное значение дается переменной-счетчику K при вычислении количества элементов и почему?

  9. Приведите блок-схему вычисления факториала произвольного числа.

  10. Какой из алгоритмов применяется при вычислении факториала?

  11. Что такое вложенные циклы?

  12. Сформулируйте и покажите с помощью схем правила использования вложенных циклов в программе.

  13. Что называют форматным вводом/выводом? Какой оператор используется для форматного ввода/вывода?

  14. Почему чаще всего формат используют при выводе информации?

  15. Запишите общий вид операторов форматного ввода/вывода.

  16. Какой оператор используется для задания формата, как он записывается в программе?

  17. Для чего служат различные спецификации формата?

  18. Для вывода каких типов данных используется спецификация I?

  19. Какие спецификации используются для вывода вещественных чисел в Фортране?

  20. Какой тип переменных можно выводит с помощью спецификации G?

  21. Какой записать оператор форматного вывода текста на экран? Какой тип спецификатора в этом случае надо использовать?

  22. Что такое повторитель и для чего он используется в форматном выводе?

  23. Для чего используются знаки / (слэш) и \ (обратный слэш) при форматном выводе в Фортране?

  24. Что вы увидите в выводе числа на экране, если в спецификации формата выделено недостаточно позиций под число?

  25. Как сделать форматный вывод нескольких чисел с учетом пробелов между ними?

15

Соседние файлы в папке Лекции_фортран_текст