Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум «Всё о Паскале» _ Алгоритмы _ Помогите найти ошибку в коде

Автор: nowichok9 4.02.2011 17:08

Помогите найти ошибку

Код

program algebra23;
var a,b,c,d,i,e,f: integer;
begin
     writeln('видите a b c');
     readln(a, b, c);
     writeln;
     for i:= -10 to 10 do
     begin
          e:=a*sqr(i)+b*i+c;
          write('  (',i,';',e,')');
     end;
     write('нахождение дискриминанта');
     D:= sqr(b)-(4*a*b);
     writeln;
     writeln('дискриминант  = ',d);
     writeln('x1=',-b,'+',sqrt(d),' / ',2*a,' = ',(-b+sqrt(d))/(2*a),' ');  {ошибка 207: ошибочная операция с плавающей точкой}
     writeln('x2 = ',-b*-1,'-',sqrt(d),'  / ',2*a,' = ',(b*-1-sqrt(d))/(2*a));
     readln;
end.

если дискриминант = 0 то выполняется
чувствую какая то простая ошибка а понять в чём не могу wacko.gif

Автор: TarasBer 4.02.2011 17:11

Если дискриминант меньше нуля, то облом наступает при попытке извлечь квадратный корень из отрицательного числа. Если равен, то ничего происходить не должно.
Ещё облом - если a=0 - тогда деление нуля на ноль будет.

Автор: nowichok9 4.02.2011 17:18

Спасибо good.gif
тогда как сделать что бы программа не завершалась

Добавлено через 7 мин.
всё догадался попробую через метки smile.gif

Автор: TarasBer 4.02.2011 17:31

Зачем метки?!


if d>= 0 then begin
writeln;
writeln('дискриминант = ',d);
writeln('x1=',-b,'+',sqrt(d),' / ',2*a,' = ',(-b+sqrt(d))/(2*a),' ');
writeln('x2 = ',-b*-1,'-',sqrt(d),' / ',2*a,' = ',(b*-1-sqrt(d))/(2*a));
end else begin
writeln('дискрииминант меньшу нуля, решений нет');
end;


Автор: Lapp 5.02.2011 8:57

Цитата(TarasBer @ 4.02.2011 13:31) *
Зачем метки?!

хи-хи ))
Тарас настолько испугался, что сразу выложил код ))
страааашный GOTO diablo.gif !fire.gif

Автор: TarasB 5.02.2011 16:13

Lapp, тут тогда нужна картинка не с демоном, а с велоцераптором.

Автор: TarasBer 3.06.2011 17:19

Изображение

Автор: Lapp 4.06.2011 2:48

Цитата(TarasB @ 5.02.2011 13:13) *
Lapp, тут тогда нужна картинка не с демоном, а с велоцераптором.

Спасибо. А то я все ломал голову, что за зверь такой (про WD знаю, и даже использую)).