Вопрос задан 21.08.2023 в 15:38. Предмет Информатика. Спрашивает Гладько Инга.

PascalABCNET Ввести строку из латинских букв. Ввести натуральное число. Зашифровать исходную

строку, сдвигая буквы на введенное количество позиций.
0 0
Перейти к ответам

Ответы на вопрос

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Князь Влад.
1.
var s1,s2:string;
i,n:integer;
begin
writeln('Введите строку:');
readln(s1);
writeln('Введите число:');
readln(n);
s2:='';
for i:=1 to length(s1) do
 s2:=s2+chr(ord(s1[i])+n);
writeln(s2);
end.

Пример:
Введите строку:
program
Введите число:
5
uwtlwfr

2.
begin
  var s:=ReadlnString('Введите строку:');
  var n:=ReadlnInteger('Введите число:');
  s.Select(c->chr(ord(c)+n)).Println;
end.

Пример:
Введите строку: program
Введите число: 5
uwtlwfr
0 0
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

Для решения данной задачи в PascalABC.NET, вы можете использовать следующий код:

pascal
program StringEncryption; var inputString: string; shiftAmount, i: integer; encryptedString: string; begin // Ввод строки и числа сдвига Write('Введите строку из латинских букв: '); Readln(inputString); Write('Введите количество позиций для сдвига: '); Readln(shiftAmount); // Гарантируем, что сдвиг находится в пределах диапазона [1, 25] shiftAmount := shiftAmount mod 26; // Шифрование строки encryptedString := ''; for i := 1 to Length(inputString) do begin if inputString[i] in ['A'..'Z'] then encryptedString := encryptedString + Chr(Ord('A') + (Ord(inputString[i]) - Ord('A') + shiftAmount) mod 26) else if inputString[i] in ['a'..'z'] then encryptedString := encryptedString + Chr(Ord('a') + (Ord(inputString[i]) - Ord('a') + shiftAmount) mod 26) else encryptedString := encryptedString + inputString[i]; end; // Вывод зашифрованной строки WriteLn('Зашифрованная строка: ', encryptedString); end.

Этот код позволяет вам ввести строку из латинских букв и натуральное число, после чего он зашифровывает исходную строку, сдвигая буквы на указанное количество позиций. Сдвиг осуществляется как по верхнему регистру (заглавные буквы), так и по нижнему (строчные буквы). Шифрование происходит с учетом кругового сдвига, чтобы не выйти за пределы латинского алфавита.

0 0

Похожие вопросы

Топ вопросов за вчера в категории Информатика

Последние заданные вопросы в категории Информатика

Задать вопрос