Задача 3 Урок 7 - считывание символов через пробел

Задача 3 Урок 7:

Получите от пользователя значения двух символьных переменных, сравните значение каждой с символьным литералом (используйте два разных) и выведите два результата сравнения на экран -- 1) сравнение первой переменной с первым литералом и 2) сравнения второй переменной со вторым литералом.

var a, b: char; // Если указать тип данных char, то при передаче двух аргументов, readln будет читать только первый символьный литерал

begin
  writeln('write 2 characters separated by a space:'); // Вывод пояснения
  readln(a, b); // Если тип данных char то оператор readln считывает только первую переменную
  writeln(a, ' = x ', a = 'x', ' ', b, ' = z ', b = 'z'); // Здесь вывод в консоль только первого символьного литерала

  readln;
end.

Вывод консоли:

write 2 characters separated by a space:
x  z
x  =  x  TRUE    =  z  FALSE

Ожидаемый вывод консоли:

write 2 characters separated by a space:
x  z
x  =  x  TRUE   z  =  z  TRUE
vedro-compota's picture

в примере выше символы вводятся через пробел, а что если их ввести без пробела?

(причина того, что вывод тут не совпадает с ожидаемым в том, что пробел тоже является символом - чтобы понять причину можно в т.ч. распечатать b отдельно)
В случае же с числами readln() просто фильтрует пробелы, т.к. они не относятся к ожидаемым значениям

_____________
матфак вгу и остальная классика =)

Понял, спасибо