
Вопрос задан 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

Информатика 75

Информатика 92

Информатика 21

Информатика 138

Информатика 964

Информатика 16
Топ вопросов за вчера в категории Информатика
Последние заданные вопросы в категории Информатика
Предметы
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili