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

18) Операторы ввода-вывода информации в языке Фортран.

Если в программе исходные данные задаются с помощью операторов при-сваивания и начальных данных, то при их изменении программу всякий раз приходится модифицировать и транслировать заново. Это неудобно. В Фортра-не (как и в других алгоритмических языках высокого уровня) предусмотрены специальные операторы ввода. Результаты выполнения программы могут стать доступными только с помощью операторов вывода, которые также предусмот-рены в Фортране.

2.1. Организация простого (бесформатного) ввода-вывода

Операторы ввода-вывода. При вводе с клавиатуры данные из текстового представления преобразовываются во внутреннее. При выводе на экран данные из внутреннего представления преобразовываются во внешнее (текстовое).

Преобразования ввода-вывода (В/В) можно задать дескрипторами преоб-разований. При простом В/В преобразования выполняются в соответствии с ус-тановленными по умолчанию правилами. Такого рода преобразования обеспе-чиваютсяуправляемым спискомВ/В.

Управляемые списком операторы выглядят так

  • 􀂃 ввода с клавиатуры:

READ(*, *) список ввода ! Ввод с клавиатуры

READ *, список ввода ! Ввод с клавиатуры

  • 􀂃 вывода на экран:

WRITE(*, *) список вывода ! Вывод на экран

PRINT *, список вывода ! Вывод на экран

Список ввода — часть оператора ввода, устанавливающая величины, которые надо ввести. Список вывода устанавливает величины, которые надо вывести. Список ввода может содержать только переменные. Список вывода — любого типа и вида выражения.

Последняя или единственная звездочка операторов означает, что В/В управля-ется списком. В операторах, содержащих две заключенные в скобки и разде-ленные запятой звездочки, первая задает устройство В/В — клавиатуру и эк-ран).

Разделители. В качестве разделителя задаваемых на клавиатуре или в файле значений можно помимо пробелов использовать и запятые или запятые вместе с пробелами, например:

3, 5

Некоторые правила ввода. Для рассмотрения правил ввода введем ряд по-нятий. Запись файла - строка символов, завершаемая символом новой строки. Поле записи файла - часть записи, содержащая данные, которые могут быть ис-пользованы оператором ввода. Файл состоит из записей и завершается специ-альной записью "конец файла". При вводе с клавиатуры при необходимости можно проставить запись "конец файла", нажав Ctrl+Z.

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

• поля записи могут разделяться пробелами и запятой;

• если между полями записи присутствует слеш (/), то ввод прекращается;

• каждый оператор ввода (если не задана опция ADVANCE = 'NO') выполняет ввод с начала новой записи. Например, при вводе

read *, х, у, z

можно обойтись одной записью:

1.1 2.2 3.3

тогда как при вводе

read *, х

read *, у

read *, z

уже потребуется 3 записи, например:

1.1

2.2

3.3

Если создать, например, в первой строке больше полей ввода:

1.1 4.4 5.5

2.2

3.3

то поля с символами 4.4 и 5.5 будут в последней версии ввода проигнорирова-ны и по-прежнему после ввода х = 1.1, у = 2.2, z = 3.3;

• если число элементов списка ввода больше числа полей записи, то для ввода недостающих значений оператор ввода перейдет к следующей записи;

• для ввода значения логической переменной достаточно набрать Т или F.

Ошибки ввода возникают:

если число элементов списка ввода больше числа доступных для чтения полей записи (то есть если выполняется попытка чтения записи "конец файла" или вслед за этой записью);

если размещенные на читаемом поле символы не могут быть преобразованы в тип соответствующего элемента списка ввода.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]