"Типы операндов не соответствуют операции". Не могу найти ошибку, подскажите пожалуйста...

0 голосов
128 просмотров

"Типы операндов не соответствуют операции". Не могу найти ошибку, подскажите пожалуйста
Строчка, в которой ошибка: if (a mod 2 = 0) then a:=a/2;


Информатика (473 баллов) | 128 просмотров
Дан 1 ответ
0 голосов
Правильный ответ

Pascal как вижу
Могу сказать как PascalABC.Net, насчет Turbo или Free не уверен, что точно также

операция mod доступна для типов  real, ( на вход подаются целые числа)
 a : real;
  a := 10 mod 3; Работает
  a := a mod 3; Не работает

а вот операция деления (/) только для типа real

И если у тебя в описании a : integer; то работать (a:=a/2;) точно не будет

(2.6k баллов)
0

Да, Паскаль, забыла указать) У меня стоит тип real, а ошибка в скобке. Кстати, а нужны ли здесь скобки?

0

какой компилятор (Free, Turbo, ABC.Net) ?

0

Turbo

0

Скобки нужны, когда несколько условий Пример If (a < b) and (b > c) А когда условие одно, то не обязательно их ставить, они никак не влияют

0

Спасибо за информацию:)

0

Поработай с типами, возможно добавь доп переменную.

0

я допустил ошибку

0

исправил

0

Все заработало, спасибо!