Используя один переменный алфавит, получить четыре других, циклически сдвинутых относительно исходного на N1, N2, N3, N4 букв (массив не использовать) — Pascal(Паскаль)

program AlphabetShift;

var
  initialChar, shiftedChar1, shiftedChar2, shiftedChar3, shiftedChar4: Char;
  N1, N2, N3, N4, initialCharCode: Integer;

function ShiftChar(c: Char; shift: Integer): Char;
var
  codeA, codeZ, shiftedCode: Integer;
begin
  codeA := Ord('A');
  codeZ := Ord('Z');
  shiftedCode := (Ord(c) - codeA + shift) mod 26 + codeA;
  ShiftChar := Chr(shiftedCode);
end;

begin
  Write('Введите исходную букву алфавита (A-Z): ');
  ReadLn(initialChar);

  Write('Введите значения сдвига N1, N2, N3, N4: ');
  ReadLn(N1, N2, N3, N4);

  shiftedChar1 := ShiftChar(initialChar, N1);
  shiftedChar2 := ShiftChar(initialChar, N2);
  shiftedChar3 := ShiftChar(initialChar, N3);
  shiftedChar4 := ShiftChar(initialChar, N4);

  WriteLn('Циклически сдвинутые буквы: ', shiftedChar1, ', ', shiftedChar2, ', ', shiftedChar3, ', ', shiftedChar4);
end.

Результат работы программы

Leave a Comment

+ 52 = 56