Вопрос задан 24.08.2018 в 17:37. Предмет Информатика. Спрашивает Новиков Ваня.

Вообщем написал программу на паскале, а она не работает: Program Proga; var a,b,c,d,x1,x2: real;

begin writeln('Дано уравнение вида ax^2+bx+c=0'); Writeln ('Укажи переменную "a"'); readln(a); Writeln ('Укажи переменную "b"'); readln(b); Writeln ('Укажи переменную "c"'); readln(c); if a = 0 then; begin writeln('Не квадратное уравнение!'); end; else then; begin d:= sqr(b)-4*a*c; if d < 0 then; begin writeln('Нет корней'); end else then; x1:= (-b+sqrt(d))/2*a; x2:= (-b-sqrt(d))/2*a; writeln ('X1 =',x1,'X2 =',x2); end; end. на 16 строке пишет ошибку: Встречено 'else', а ожидалось ';' , если ставлю ";" пишет: Встречено 'else', а ожидался оператор Подскажите в чем беда, заранее спасибо!
0 0
Перейти к ответам

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

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Трефилов Валентин.
Vara,b,c,d,x1,x2: real;
begin
writeln('Дано уравнение вида ax^2+bx+c=0');
Writeln ('Укажи переменную "a"');
readln(a);
Writeln ('Укажи переменную "b"');
readln(b);
Writeln ('Укажи переменную "c"');
readln(c);
if a = 0
 then writeln('Не квадратное уравнение!')
 else begin
      d:= sqr(b)-4*a*c;
      if d < 0 then writeln('Нет корней')
               else begin
                    x1:= (-b+sqrt(d))/2*a;
                    x2:= (-b-sqrt(d))/2*a;
                    writeln ('X1 =',x1,'  X2 =',x2);
                    end;
      end;
end.
0 0
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

Проблема в вашем коде связана с неправильным использованием операторов `else` и `then`. В Pascal они используются в паре и не должны разделяться точкой с запятой. Давайте поправим ваш код:

```pascal Program Proga; var a, b, c, d, x1, x2: real;

begin writeln('Дано уравнение вида ax^2 + bx + c = 0'); Writeln('Укажи переменную "a"'); readln(a); Writeln('Укажи переменную "b"'); readln(b); Writeln('Укажи переменную "c"'); readln(c);

if a = 0 then begin writeln('Не квадратное уравнение!'); end else begin d := sqr(b) - 4 * a * c;

if d < 0 then begin writeln('Нет корней'); end else begin x1 := (-b + sqrt(d)) / (2 * a); x2 := (-b - sqrt(d)) / (2 * a); writeln('X1 = ', x1, ' X2 = ', x2); end; end; end. ```

Внесенные изменения включают исправления в использовании операторов `if`, `else`, и `then`. Также, обратите внимание на корректное использование скобок в выражении `(-b + sqrt(d)) / (2 * a)` и `(-b - sqrt(d)) / (2 * a)`.

0 0

Топ вопросов за вчера в категории Информатика

Последние заданные вопросы в категории Информатика

Задать вопрос