Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Семестр1.doc
Скачиваний:
3
Добавлен:
19.09.2019
Размер:
1.03 Mб
Скачать

2.3 Элементарные операции

При записи на ТР элементарной операции присваивания следует учесть, что имя операции – комбинация символов := (двоеточие и равенство), слева от имени оператора записывается имя переменной, которой присваивается значение, а справа – выражение. В выражении должны использоваться только допустимые для данного типа операции, порядок выполнения операций лучше указать скобками.

Элементарные операции ввода реализуются предопределенными в ТР процедурами ввода read и readln.

Read ( <список элементов ввода через запятую>)

Readln ( <список элементов ввода через запятую>)

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

Элементарные операции вывода реализуются предопределенными в ТР процедурами вывода write и writeln.

Write ( <список элементов вывода через запятую>)

Writeln ( <список элементов вывода через запятую>)

Под элементами вывода подразумеваются имена переменных и констант. Вывод данных осуществляется на устройство вывода. Отличие процедур заключается в том, что после завершения вывода данных процедура writeln осуществляет переход на новую логическую запись. Если устройство вывода – экран монитора, переход на новую логическую запись соответствует переходу курсора в начало следующей строки.

2.4. Таблица перевода для структур

Пусть нам удалось записать на языке ТР фрагменты Ф1 и Ф2.

Связать эти два фрагмента линейной структурой очень просто. Нужно выписать первый фрагмент, затем поставить знак ; (точка с запятой), а затем выписать второй фрагмент.

Чтобы связать фрагменты Ф1 и Ф2 структурой выбора, можно использовать следующий оператор ТР:

if Усл then begin Ф1 end else begin Ф2 end

Логические скобки begin … end можно опустить около фрагмента, если фрагмент представляет собой единый оператор.

Чтобы связать фрагменты Ф1 и Ф2 структурой цикла, можно воспользоваться следующей конструкцией:

M1: Ф1; if Усл then goto M2; Ф2; goto M1; M2:

Здесь используются метки M1 и M2, которые должны быть описаны в секции описаний. Предложенная реализация цикла довольно неуклюжа, однако, практически всегда можно модифицировать цикл так, либо фрагмент Ф1 отсутствовал, либо фрагмент Ф2 отсутствовал. Для таких частных случаев в языке ТР имеются очень удобные операторы:

repeat Ф1 until Усл

while not Усл do begin Ф2 end

Пример

Вычислить S = 1 - x2/2! + x**4/4! - x**6/6! + ... с точностью E.

Алгоритм:

Текст программы

PROGRAM Example01;

LABEL M17,M18;

var X,E,S,A:REAL; I,ZN:INTEGER;

BEGIN

READLN(X,E);

S:=0;

ZN:=1;

I:=0;

A:=1;

M17: S:=S+ZN*A;

IF A<E THEN GOTO M18;

ZN:=-ZN;

I:=I+2;

A:=A*X*X/(I*(I-1));

GOTO M17;

M18: WRITELN(S);

END.