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

с программой в Pascal ABC, нельзя преобразовать real в integer.

Программа:
Var
a,b,c,d,e,f:real;
n:integer;
Begin
a:=0; b:=0; c:=0; d:=0; e:=0; f:=0; n:=0;
Write('Введите ваш уровень - ');
Readln(a);
Write('Введите желаемый уровень - ');
Readln(b);
Write('Введите уровень спавнера - ');
Readln(n);
If b>a then begin;
if a<16 then c:=17*a;
if (a>15)and(a<31) then c:=1.5*a*a-29.5*a+360;
if a>30 then c:=3.5*a*a-151.5*a+2220;
if b<16 then d:=17*b-c;
if (b>15)and(b<31) then d:=1.5*b*b-29.5*b+360-c;
if b>30 then d:=3.5*b*b-151.5*b+2220-c;
end
else Writeln('Желаемый уровень должен быть больше вашего');
e:=d/n/5; e:=int(e);
if e mod 1=0 then e:=e
else e:=trunc(e)+1;
f:=d/n/10;f:=int(f);
if f mod 1=0 then f:=f
else f:=trunc(f)+1;
Writeln('Вам потребуется ',d,' опыта, для чего потребуется убить ',e,' скелетов/зомби/криперов или ',f,' ифритов');
end.

Ошибка здесь
e:=d/n/5; e:=int(e);
if e mod 1=0 then e:=e
else e:=trunc(e)+1;
f:=d/n/10;f:=int(f);
if f mod 1=0 then f:=f
else f:=trunc(f)+1;

Показать ответ
Ответ:
Alikman123
Alikman123
13.10.2020 22:01

Переменная e объявлена как real, после чего Вы используете над ней операцию mod вот здесь:

if e mod 1=0 then e:=e

Что недопустимо, поскольку mod используется только с целыми числами. Заменив эту строку на следующую, ошибка исчезнет:

if trunc(e) mod 1=0 then e:=e

0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота