В строке 1 размещается повторяющееся ключевое слово. В строке 2 – сдвиги, соответствующие буквам ключа.
Функция КОДСИМВ(символ) в качестве результата получает код аргумента. Аргументом может быть либо символьная константа, либо адрес ячейки, в которой хранится символ. В последнем случае выдается код содержимого ячейки. Поскольку буквы английского алфавита в коде расположены по алфавиту и имеют подряд идущие номера (внутренние коды), то порядковый номер буквы в алфавите равен коду данной буквы минус код буквы «a» плюс единица. Так вычисляется сдвиг, соответствующий букве ключевого слова.
В строке 3,5,7 располагаются шифруемые слова. В ячейках строки 4, 6, 8 помещаются формулы шифрования.
Функция СИМВОЛ(код символа) возвращает символ по значению его ASCII-кода.
Функция ОСТАТ(делимое; делитель) возвращает остаток от целочисленного деления. Английский алфавит содержит 26 букв. Остатки деления на 26 – числа в диапазоне от 0 до 25. Это позволяет оставаться в пределах кодов английского алфавита (строчных букв): от кода буквы «a» до кода буквы «z».
Program n1; const n=15; var a: array[1..n] of integer; pc,pn,nmin,nmax,max,min,i: integer; begin randomize; pc:=1; pn:=1; write('массив: '); for i:=1 to n do begin a[i]:=random(100); write(a[i],' '); end; writeln; for i:=1 to n do if i mod 2=0 then pc:=pc*a[i] else pn:=pn*a[i]; if pc>pn then begin max:=a[1]; for i:=2 to n do if a[i]>max then begin max:=a[i]; nmax:=i; end; writeln('номер максимального элемента: ',nmax); end else begin min:=a[i]; for i:=2 to n do if a[i]<min then begin min:=a[i]; nmin:=i; end; write('номер минимального элемента: ',nmin); end; end.
В строке 1 размещается повторяющееся ключевое слово. В строке 2 – сдвиги, соответствующие буквам ключа.
Функция КОДСИМВ(символ) в качестве результата получает код аргумента. Аргументом может быть либо символьная константа, либо адрес ячейки, в которой хранится символ. В последнем случае выдается код содержимого ячейки. Поскольку буквы английского алфавита в коде расположены по алфавиту и имеют подряд идущие номера (внутренние коды), то порядковый номер буквы в алфавите равен коду данной буквы минус код буквы «a» плюс единица. Так вычисляется сдвиг, соответствующий букве ключевого слова.
В строке 3,5,7 располагаются шифруемые слова. В ячейках строки 4, 6, 8 помещаются формулы шифрования.
Функция СИМВОЛ(код символа) возвращает символ по значению его ASCII-кода.
Функция ОСТАТ(делимое; делитель) возвращает остаток от целочисленного деления. Английский алфавит содержит 26 букв. Остатки деления на 26 – числа в диапазоне от 0 до 25. Это позволяет оставаться в пределах кодов английского алфавита (строчных букв): от кода буквы «a» до кода буквы «z».
const n=15;
var a: array[1..n] of integer;
pc,pn,nmin,nmax,max,min,i: integer;
begin
randomize;
pc:=1;
pn:=1;
write('массив: ');
for i:=1 to n do begin
a[i]:=random(100);
write(a[i],' ');
end;
writeln;
for i:=1 to n do if i mod 2=0 then pc:=pc*a[i] else pn:=pn*a[i];
if pc>pn then begin
max:=a[1];
for i:=2 to n do if a[i]>max then begin
max:=a[i];
nmax:=i;
end;
writeln('номер максимального элемента: ',nmax);
end else
begin
min:=a[i];
for i:=2 to n do if a[i]<min then begin
min:=a[i];
nmin:=i;
end;
write('номер минимального элемента: ',nmin);
end;
end.