В строке 1 размещается повторяющееся ключевое слово. В строке 2 – сдвиги, соответствующие буквам ключа.
Функция КОДСИМВ(символ) в качестве результата получает код аргумента. Аргументом может быть либо символьная константа, либо адрес ячейки, в которой хранится символ. В последнем случае выдается код содержимого ячейки. Поскольку буквы английского алфавита в коде расположены по алфавиту и имеют подряд идущие номера (внутренние коды), то порядковый номер буквы в алфавите равен коду данной буквы минус код буквы «a» плюс единица. Так вычисляется сдвиг, соответствующий букве ключевого слова.
В строке 3,5,7 располагаются шифруемые слова. В ячейках строки 4, 6, 8 помещаются формулы шифрования.
Функция СИМВОЛ(код символа) возвращает символ по значению его ASCII-кода.
Функция ОСТАТ(делимое; делитель) возвращает остаток от целочисленного деления. Английский алфавит содержит 26 букв. Остатки деления на 26 – числа в диапазоне от 0 до 25. Это позволяет оставаться в пределах кодов английского алфавита (строчных букв): от кода буквы «a» до кода буквы «z».
vara,b,c,d,max,min:integer;
BEGIN
writeln('Введите 4 целых числа через пробел или Enter -> ');
readln(a,b,c,d);
if (a>b) then max:=a else max:=b;
if (c>max) then max:=c;
if (d>max) then max:=d;
min:=a;
if b<a then min:=b;
if c<b then min:=c;
if d<c then min:=d;
writeln('Большее из чисел = ',max);
writeln('Меньшее из чисел = ',min)
END.
Писал на скорую руку, но вроде всё правильно.