Оператор присвоения

До этого момента переменные использовались для того, чтобы сохранять данные, прочитанные из INPUT. Единственный способ использования этих данных – вывод значения переменной в OUTPUT. Значения также могут быть скопированы из одной переменной в другую. Процесс копирования также называется присвоением и записывается с помощью оператора присвоения, который имеет следующую форму:

Name1 := Name2

Name1 := ‘x’

Где Name1 и Name2 переменные типа CHAR, описанные в разделе декларативной части программы, а ‘x’ – любой символ. Специальный сдвоенный символ := называется оператором присвоения.

В первой форме оператора присвоения значение переменной справа (Name2) становится новым значением переменной слева (Name1). Выполнение присваивания никак не влияет на значение переменной Name2.

Во второй форме оператора присваивания переменной Name1присваивается значение символьного литерала ‘x’.

Оператор присвоения не определен для файлов, текст

OUTPUT := INPUT

не имеет смысла и не является оператором присвоения.

Используя оператор присвоения мы можем предложить еще один вариант программы CopyReversed

PROGRAM CopyReversedTwo (INPUT, OUTPUT);

{Копирует первые два символа из INPUT в OUTPUT в обратном порядке}

VAR

In1, In2, Out1, Out2: CHAR;

BEGIN

READ(In1, In2);

Out1 := In2;

Out2 := In1;

WRITELN(Out1, Out2)

END.

INPUT:AZURE

OUTPUT:ZA

Таблица выполнения для программы CopyReversedTwo

  INPUT OUTPUT In1 In2 Out1 Out2
  PROGRAM CopyReversedTwo (INPUT, OUTPUT) VAR In1, In2, Out1, Out2: CHAR BEGIN READ(In1, In2) Out1 := In2 Out2 := In1 WRITELN(Out1, Out2) END AZURE AZURE   AZURE   AZURE AZURE AZURE AZURE AZURE   _   _   _ _ _ ZA/_ ZA   ?   A A A A     ?   Z Z Z Z   ?   ? Z Z Z     ?   ? ? A A  

Аннотированный вывод и эхо ввода.

Аннотированный вывод – размещение в OUTPUT текста, поясняющего выходные данные программы.

Эхо ввода – копирование введенных данных из INPUT в OUTPUT, чтобы пользователь мог дополнительно проконтролировать корректность ввода.

Использование этих двух подходов является хорошим стилем программирования, потому что позволяет упростить использование программы и сделать его более наглядным.

PROGRAM CopyAndShuffle (INPUT, OUTPUT);

{Копирует первые пять символов U, V, N, X, Y из INPUT в OUTPUT

в порядке U, X, V, Y, M}

VAR

In1, In2, In3, In4, In5: CHAR;

BEGIN

READ(In1, In2, In3, In4, In5);

WRITELN(‘INPUT DATA’);

WRITE(‘ ’);

WRITELN(In1, In2, In3, In4, In5);

WRITELN(‘SHUFFLED DATA’);

WRITE(‘ ’);

WRITELN(In1, In4, In2, In5, In3);

END.

INPUT :12345678

OUTPUT :INPUT DATA

SHUFFLED DATA

INPUT :BARE

OUTPUT :INPUT DATA

BARE

SHUFFLED DATA

BEAR

Наши рекомендации