Почему в частном пишет NaN? помогите пожалуйста program up1; var a,b,c:integer;x:real;...

0 голосов

Почему в частном пишет NaN? помогите пожалуйста
program up1;
var a,b,c:integer;x:real;
begin
x:=a/b/c;
writeln('Введите первое число');
read(a);
writeln('Введите второе число');
read(b);
writeln('Введите третье число');
read(c);
writeln('произведение чисел ',a,'*',b,'*',c,'=',a*b*c);
writeln('частное чисел ',a,'/',b,'/',c,'=',x);
end.


спросил от (25 баллов) в категории Информатика
оставил комментарий от Отличник (9.7k баллов)

А что означает x:=a/b/c; ? У Вас деление на 0 и переполнение, поэтому и пишет NAN

оставил комментарий от (25 баллов)

а почему на ноль

оставил комментарий от (25 баллов)

нужно найти произведение и частное трех чисел, вводимых с клавиатуры

оставил комментарий от Отличник (9.7k баллов)

Потому, что оператор x:=a/b/c; стоит до оператора read(b); , а транслятор первоначально обнуляет все переменные

1 Ответ
0 голосов
ответил от Бакалавр (13.9k баллов)

Вы попробуйте вычислить значение х не до ввода a,b,c а после:

program up1;
var a,b,c:integer;x:real;
begin
  writeln('Введите первое число');
  read(a);
  writeln('Введите второе число');
  read(b);
  writeln('Введите третье число');
  read(c);
  x:=a/b/c;
  writeln('произведение чисел ',a,'*',b,'*',c,'=',a*b*c);
  writeln('частное чисел ',a,'/',b,'/',c,'=',x);
end.

оставил комментарий от (25 баллов)

спасибо

оставил комментарий от (25 баллов)

как отметить лучший ответ

оставил комментарий от (25 баллов)

???

...