Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Informatica / Лаб_р_2.doc
Скачиваний:
19
Добавлен:
09.04.2015
Размер:
198.66 Кб
Скачать
  1. Ввод данных

Задание исходных данных, над которыми должны выполняться преобразования в программе, можно организовать различными способами:

1). В разделе констант задаются соответствующие значения, при этом тип констант автоматически определяется по содержимому правой части. Такой способ задания исходных данных не всегда удобен, так как фактически позволяет вычислять результат только для одного набора параметров. Изменять значения констант в операторной части программы нельзя.

2). Соответствующие значения присваиваются переменным в операторной части программы с помощью оператора присваивания. В этом случае возможности варьирова­ния значениями переменных расширяются, так как в программе можно организовать их изменение, однако набор параметров будет статическим.

3). В языке Паскаль предусмотрены процедуры ввода Read и Readln осуществляю­щие ввод из стандартного файла Input. Использование этих процедур позволяет выполнять программы с различными наборами исходных данных. Форма использования процедур ввода следующая:

Read (<список ввода>);

Readln(<список ввода>).

Список ввода представляет собой перечисленные через запятую именапеременных, которым присваиваются введенные значения. Переменные могут быть целого, вещест­венного, символьного типа и типа String. Их количествоможет быть любым (в том числе и пустым). Рассмотрим, как выполняется оператор процедуры ввода

Read(a,b,с);

При выполнении этого оператора система перейдет в состояние ожидания ввода с клавиатуры трех значений. Типы вводимых значений должны совпадать с типами переменных а, b и с, но, если переменные а, b, с вещественного типа, то соответствующие им значения могут быть либо вещественными числами, либо целыми (в этом случае осуществляется преобразование целого числа в вещественный тип). Значения при вводе должны отделяться друг от друга одним или несколькими пробелами, а ввод должен быть завершен нажатием клавиши Enter. Наличие других символов в качестве разделителей приводит к ошибке. В процессе ввода значений набираемые на клавиатуре символы отображаются на экране. После нажатия клавиши Enter введенные значения будут присвоены переменным а, b и с, и выполнение программы будет продолжено.

Стандартная процедура Readln отличается от процедуры Read тем, что после ввода всех указанных данных осуществляется переход к началу следующей строки.

Процедура Readln может быть и без параметров, в этом случае она просто пропускает все символы в текущей входной строке и переходит к началу следующей строки. Эта процедура задерживает выполнение всех операторов программы до нажатия клавиши Enter.

4. Вывод данных

Вывод информации из памяти ПЭВМ на экран дисплея осуществляется с помощью процедур Write и Writeln. Обращение к этим процедурам записывается так:

Write (<список вывода>);

Writeln (<список вывода>).

В этих операторах список вывода – это перечисленные через запятую выражения, значения которых выводятся на экран. Выражения могут быть целого, вещественного, логического, символьного типа, а также типа String. Число элементов списка вывода может быть любым (в том числе и нулевым; при этом процедура Write не выполняет никаких действий, а процедура Writelnосуществляет переход на новую строку).

Отличие процедур вывода Write и Writeln состоит в том, что после вывода значений с помощью процедуры Write не происходит переход на начало новой строки, как при использовании процедуры Writeln, так что в случае следующих обращений к процедурам Write и Writeln, печать будет производиться в текущую строку.

Форма представления выводимых значений определяется типом переменных:

- данные целого типа выводятся в виде целого числа, под них отводится количество позиций, равное количеству символов в числе;

- данные вещественного типа выводятся в форме с плавающей точкой, занимают в строке вывода 17 позиций и имеют следующий вид: #,##########Е##, знак # означает цифру, знак '+' перед числом заменяется пробелом.

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

Write (b:m); Writeln (b:m);

где b — выражение (переменная), m — выражение целого типа, определяющее поле, отводимое под значение.

Например,

Const С=13861; S=-З5;

……………………….

Write(C:6, S:8);

Значения переменных С и S размещаются в одной строке и занимают соответственно 6 и 8 позиций. Выводимое значение размещается в правых позициях поля, при этом незаполненные позиции остаются свободными, образуя пробелы:

_13861_____ -35

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

Например,

Z:=-13.23; Writeln(Z:11);

На экран будет выведено:

-1.32Е+0001

Если для вывода конкретной информации выделенного поля недостаточно, оно автоматически увеличивается до нужного размера. Если при выводе вещественного числа ширина поля указана меньше 8, то она автоматически увеличивается до 8 позиций.

Для вывода значения вещественного типа в форме с фиксированной точкой используется следующая форма записи:

Write(b:m:d) или Writeln(b:m:d);

где b – выражение, т ширина поля, отводимого под значение выражения, d– количество цифр в дробной части.

Например,

Z:=-13.23

Writeln(Z:9:3);

В данном случае под значение Z выделяется 9 позиции, 3 из которых отводятся под дробную часть числа

__-13.230

При выводе нескольких значений на одной строке для наглядности можно задавать несколько пробелов между ними. Для этого нужно записать oпeрaтop процедуры вывода в виде:

Write('_':q);

где q – выражение целого типа, указывающее число пробелов.

Результаты могут выводиться со своими именами и снабжаться заголовками и комментариями.

Например,

Const n=13; b=-25.35б;

Begin

Writeln('_':3,'константы');

Writeln('n=', n:3,'_':3,’b=',b: 7: 3);

End.

Результат работы этой программы:

Константы

N=_13___b=-25.356

Соседние файлы в папке Informatica