Вопрос задан 21.08.2023 в 15:38.
Предмет Информатика.
Спрашивает Гладько Инга.
PascalABCNET Ввести строку из латинских букв. Ввести натуральное число. Зашифровать исходную
строку, сдвигая буквы на введенное количество позиций.Ответы на вопрос
Отвечает Князь Влад.
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
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
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.
Для решения данной задачи в PascalABC.NET, вы можете использовать следующий код:
pascalprogram 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.
Этот код позволяет вам ввести строку из латинских букв и натуральное число, после чего он зашифровывает исходную строку, сдвигая буквы на указанное количество позиций. Сдвиг осуществляется как по верхнему регистру (заглавные буквы), так и по нижнему (строчные буквы). Шифрование происходит с учетом кругового сдвига, чтобы не выйти за пределы латинского алфавита.
Похожие вопросы
Информатика 344
Информатика 76
Информатика 93
Информатика 21
Информатика 138
Информатика 964
Информатика 16
Топ вопросов за вчера в категории Информатика
Последние заданные вопросы в категории Информатика
Предметы
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili
