Program Dr; Var a,b,c,D,x1,x2:Real; Begin D:=b*b-4*a*c; Read(a,b,c); if D<0 Then Writeln...

0 голосов

Program Dr;
Var a,b,c,D,x1,x2:Real;
Begin
D:=b*b-4*a*c;
Read(a,b,c);
if D<0 Then Writeln ('корней нет')<br> else if D=0 then begin x:=-b/(2*a):Writeln(x);
end;
else
begin x1:=(-b-SQRT(D))/(2*a);
x2:=(-b+SQRT(D))/(2*a);
Writeln(x1);
Writeln(x2);
end;
end.


Program1.pas(9) : Встречено 'else', а ожидался оператор.
В чём проблема?


спросил от (15 баллов) в категории Информатика
оставил комментарий от (15 баллов)

Program1.pas(7) : Неизвестное имя 'x'

оставил комментарий от Одаренный (1.4k баллов)

ну так вы не объявили её в var

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

ах точно!

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

Program1.pas(7) : Форматное выражение может использоваться только внутри write, writeln и str

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

на 7ой строчке

оставил комментарий от Одаренный (1.4k баллов)

else if D=0 then begin x:=-b/(2*a):Writeln(x); и ещё в этой строке перед writeln вы поставили : вместо ;

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

ща попробую

оставил комментарий от Одаренный (1.4k баллов)

там в ответах уже всё исправленное оставили

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

вижу

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

Спасибо!

1 Ответ
0 голосов
ответил от Архангел (142k баллов)
 
Лучший ответ

Program Dr;
var
  a,b,c,D,x,x1,x2:Real;
begin
  Read(a,b,c);
  D:=b*b-4*a*c;
  if D<0 Then Writeln ('корней нет')<br>  else
    if D=0 then begin x:=-b/(2*a); Writeln(x); end
    else begin
      x1:=(-b-SQRT(D))/(2*a);
      x2:=(-b+SQRT(D))/(2*a);
      Writeln(x1);
      Writeln(x2)
    end
end.

оставил комментарий от Архангел (142k баллов)

исправлено приличное количество ошибок...

оставил комментарий от Архангел (142k баллов)

Работа программы проверена на тестовых примерах.

...