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

Правило:

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

При вводе информации можно пропускать, не читая, некоторые позиции. Например:

READ(5,6) K,L

6 FORMAT(2X, I3, 4X, I5)

разделители

Считывать значения, вводимые с клавиатуры, будем следующим образом:

Отступим две позиции от начала строки, из трех позиций прочитаем число и поместим его в переменную K, пропустим 4 позиции и прочитаем из следующих пяти позиций число в переменнуюL. Т.е. данные должны быть представлены следующим образом:

123 12345

2Х 4Х

I3I5

Если в конце строки ввести лишние цифры, то они не будут восприняты ЭВМ.

Если ввести не все цифры, то ЭВМ воспримет их как пробелы. Компилятор преобразовывает пробелы в нули и при неправильном вводе данных в программу считается, например не 1, а 100.

Так:

– считает как 0;

999 – максимальное число, которое можно читать по формату I3.

Разделители

Разделителем оператора FORMATможет быть запятая («,») или символ слэш («/»).

Символ слэш, расположенный в тексте оператора FORMAT, означает переход на новую строку или новую запись.

Пример:

6 FORMAT(2X,I3/4X,I5)

Первая позиция каждой строки при выводе информации служит для управления печатью.

Если в первой позиции стоит символ (пробел) или текстовый символ, то вывод осуществляется в следующую строку после текущей. При этом информация, попадающая в первую позицию,теряется.

Если в первую позицию заносится «0» (ноль), то информация выводится через одну строку).

Если заносится в первую позицию «1» (единица), то дальнейший вывод информации будет осуществляться с первой строки следующей страницы. Одна страница при выводе на печатающее устройство содержит 63 строки, а при выводе на экран – 25 строк.

Если в первой позиции символ «+», то вывод информации на принтер осуществляется без прогона строк на одно и то же место.

Пример:

WRITE(6,9) A,B

  1. FORMAT(‘+’,F10.3,F6.2)

После выполнения оператора FORMATпроизойдёт автоматический переход на следующую строку для дальнейшего вывода информации, но можно установить гашение перехода на следующую строку с использованием символа обратный слэш («\»).

Пример:

WRITE(6,10)

  1. FORMAT(1X,’Введите значение А=’\)

READ(5,*)А

Данный блок сработает следующим образом: появится надпись «Введите значение А=». Вводимое число будет отображаться сразу после знака равно (из-за знака обратный слэш). Если не использовать обратный слэш, то вводимое число будет отображаться на следующей строке, что менее наглядно.

Для вывода информации в конкретное место строки используется спецификация Т:

Tn

где n– номер позиции, начиная с которой будет обрабатываться информация.

Пример:

FORMAT(T5,I3) FORMAT(4X,I3)

Ввод-вывод данных вещественного типа осуществляется по спецификации Fили Е.

Спецификация f

Используется для ввода-вывода данных вещественного типа. Позволяет вводить и выводить информацию с фиксированной десятичной точкой.

Общая запись спецификации F:

Fw.d

где w– количество позиций, отведенных под число;

d– количество позиций изw, в которых размещается дробная часть числа.

Пример:

READ(5,11) A,B

11 FORMAT(F6.2,2X,F8.4)

Информация для ввода по спецификацииFможет быть представлена в 2-х формах:

1) без десятичной точки

2) с десятичной точкой

Первый вариант: ввод информации осуществляется без десятичной точки с первой позиции.Предположим, что на экране дисплея мы набрали следующую информацию:

01234567890123456789

d=2 2X d=4

w=6w=8

F6.2F8.4

Ввод значения переменной А производится по формату F6.2 (смотри пример). Это значит, что первое число будет читаться из первых 6 (w=6) позиций, из которых 2 последние позиции (d=2) будут считаться дробной частью вводимого числа. Переменной А присвоится значение А=0,12345*103. Затем будут пропущены два символа 6 и 7 (так как используется пропуск символов по формату 2X) и произведётся считывание значения переменной В по форматуF8.4, т. е. её значение составит: В=0,89012345*104.Последние цифры 6789 не входят в перечень описанных в операторе FORMAT полей, считываться и обрабатываться не будут.

Второй вариант: информация подготавливается с десятичной точкой. В этом случае параметр d не играет никакой роли, а число читается из отведенного для него количества позиций w.

Примеры:

для спецификации F6.2 можно задавать численные данные:

–123.5

99999.

.12345

.12 12 – пробелы внутри числа использовать не рекомендуется, т.к. на некоторых версиях компиляторов информация воспринимается не корректно.

При вводе данных с десятичной точкой в виде:

1. 234567890123. 456

d=2 2X d=4

w=6w=8

F6.2F8.4

получим значения переменных А=1,2345 В=890123,4. Цифры 6 и 7 будут пропущены по спецификации 2Х. Последние цифры 5 и 6 не прочитаются, так как выходят за пределы обрабатываемых полей.

Соседние файлы в папке Программирование на Фортране