В
Все
У
Українська література
Г
Геометрия
Д
Другие предметы
Э
Экономика
Г
География
О
ОБЖ
М
Математика
М
МХК
Х
Химия
Қ
Қазақ тiлi
Л
Литература
У
Українська мова
О
Обществознание
Ф
Физика
А
Английский язык
А
Алгебра
И
История
Б
Беларуская мова
Б
Биология
М
Музыка
П
Право
И
Информатика
П
Психология
В
Видео-ответы
Н
Немецкий язык
Ф
Французский язык
О
Окружающий мир
Р
Русский язык
maloyzolotov
maloyzolotov
09.11.2021 10:36 •  Информатика

Компилятор в паскале пишет: строка 18 нет перегруженной подпрограммы с такими типами параметров program shifr; var s1,s2: string; i,n,k,p: integer; key: integer; //ключ шифрования f1,f2: text; begin assign(f1,'dannie.txt'); assign(f2,'shifr.txt'); reset(f1); rewrite(f2); writeln('введите ключ шифрования от 1 до 33: '); readln(key); while not(eof(f1)) do begin readln(f1,s1); s2: =''; for i: =1 to length(s1) do s2: =s2+chr(ord(s1[i]+key)); writeln(f2,s2); end; close(f1); close(f2); end.

Ответ:
dianka27091987
dianka27091987
05.10.2020 07:39
В строке
s2:=s2+chr(ord(s1[i]+key));
скобка не на месте. Надо так:
s2:=s2+chr(ord(s1[i])+key);
0,0(0 оценок)
Ответ:
SKIRLES
SKIRLES
05.10.2020 07:39
А что Вас удивляет?
Ошибка в операторе s2:=s2+chr(ord(s1[i]+key));
s1 - строка, поэтому s1[i] - её i-й символ, который имеет тип char.
key - переменная типа integer.
Вы складываете char и integer. Что ожидаете получить?
В большинстве реализаций паскаля такая операция запрещена. В PascalABC.NET она допустима и результатом будет строка типа string.
Но и в этом случае функция Ord() будет вызвана неверно, поскольку её аргумент должен быть типа char, но не string.
0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?