Информатика, вопрос задал uippevk84f , 6 лет назад

Программа паскаль. Пишет неизвестное имя А, вот программа
Program ostatok; Uses crt;
Var А, В, С: real
Begin
ClrScr;
Writeln ('Vvedite histoire A i hislo B);
C:=A mod B;
If A mod B=0then
Writeln (‘hislo А delitsia na В bez ostatka’) else
Writeln (‘hislo А delitsia na В s ostatkom’);
End.


valgrisa: У вас нет ввода чисел А и В
valgrisa: Кроме того real неподходящий тип переменных
uippevk84f: ввод чисел это readln(A,B)?
valgrisa: Да )
valgrisa: Ещё можно выкинуть переменную C и строку C:=A mod B; тут они не нужны

Ответы на вопрос

Ответил angryfukse
2

1) Операция MOD не применима к значениям вещественного типа, т.е к твоим переменным a и b. Они должны быть целочисленными.

2) Ты объявляешь переменные a и b, но не присваиваешь им значение. Т.е даже если бы mod и сработал, то вылезла бы ошибка "Обнаружено деление на ноль", т.к по умолчанию они проинициализированы нулём, а ты делишь их друг на друга - получаешь 0/0.

Исправленная версия программы:

var

 a, b:integer;

begin

 write('Введите число а и число b через пробел: ', #10);

 (a, b):=ReadInteger2();

 if (a mod b = 0) then

   write('Число ', a, ' делится на число ', b, ' без остатка.') else

     write('Число ', a, ' делится на число ', b, ' с остатком.');

end.

Приложения:

uippevk84f: спасибо огромное!
angryfukse: Пожалуйста, удачи. Пробуй программировать и дальше, в конце концов всё получится :)
Новые вопросы