В строке 1 размещается повторяющееся ключевое слово. В строке 2 – сдвиги, соответствующие буквам ключа.
Функция КОДСИМВ(символ) в качестве результата получает код аргумента. Аргументом может быть либо символьная константа, либо адрес ячейки, в которой хранится символ. В последнем случае выдается код содержимого ячейки. Поскольку буквы английского алфавита в коде расположены по алфавиту и имеют подряд идущие номера (внутренние коды), то порядковый номер буквы в алфавите равен коду данной буквы минус код буквы «a» плюс единица. Так вычисляется сдвиг, соответствующий букве ключевого слова.
В строке 3,5,7 располагаются шифруемые слова. В ячейках строки 4, 6, 8 помещаются формулы шифрования.
Функция СИМВОЛ(код символа) возвращает символ по значению его ASCII-кода.
Функция ОСТАТ(делимое; делитель) возвращает остаток от целочисленного деления. Английский алфавит содержит 26 букв. Остатки деления на 26 – числа в диапазоне от 0 до 25. Это позволяет оставаться в пределах кодов английского алфавита (строчных букв): от кода буквы «a» до кода буквы «z».
всего 15 бабушек
var
i, summ, c:integer;
begin
i := 1;
c := 555 - 12;
summ := 555;
while summ < 7200 do
begin
summ := Summ + c;
c := c - 12;
inc(i);
end;
writeln('Summ = ', summ);
writeln('n = ', i - 1);
end.