Меню

Ошибка паскаль встречено else а ожидался оператор

Выдает ошибку, что поставить?

Встречено ‘else’, а ожидался оператор (строка 19)

var a, b, c, d, x1, x2: real;
begin
  writeln ('ax2+bx+c=0');
  write ('a=');
  readln (a);
  write ('b=');
  readln (b);
  write ('c=');
  readln (c);
  d := (b*b)+(4*a*c);
  if (a = 0) then
    write ('Уравнение не является квадратным.')
  else
    if (d > 0) then
      d:= sqrt(d);
      x1 := (-b+d)/2;
      x2 := (-b-d)/2;
      write ('x1=', x1, 'x2=', x2);
    else
      if (d = 0) then
        x1 := (-b-d)/2
        write ('Единственный x=', x1)
      else
        write ('Корней нет');
end.

Kromster's user avatar

Kromster

13.2k12 золотых знаков41 серебряный знак70 бронзовых знаков

задан 17 янв 2019 в 18:10

Ярослав Смирнов's user avatar

1

Простые условия должны записываться в виде

if .. then
  одна строчка кода
else
  одна строчка кода

Если же вам нужно выполнить несколько строк или блоков кода по условию, то следует обернуть их в begin .. end вот так:

if .. then
begin
  ..
  несколько строк кода
  ..
end
else
begin
  ..
  несколько строк кода
  ..
end

Для вашего случая:

if (d > 0) then
begin                         <<-- тут нужно начать блок
  d:= sqrt(d);
  x1 := (-b+d)/2;
  x2 := (-b-d)/2;
  write ('x1=', x1, 'x2=', x2);
end                           <<-- тут нужно закончить блок
else
                              <<-- тут блок begin-ом начинать не нужно, т.к. if это уже блок
  if (d = 0) then
  begin                       <<-- тут нужно начать блок
    x1 := (-b-d)/2
    write ('Единственный x=', x1)
  end                         <<-- тут нужно закончить блок
  else
    write ('Корней нет');

ответ дан 18 янв 2019 в 4:32

Kromster's user avatar

KromsterKromster

13.2k12 золотых знаков41 серебряный знак70 бронзовых знаков

В чем ошибка? Пишет:

Встречено ‘else’, а ожидалось ‘; ‘

Что делать ведь перед ‘else’ нельзя ставить ‘; ‘

Program BlockAlgorithm;

var

x, y : integer;

begin

writeln (‘Start’) ;

writeln (‘Imput x ‘) ;

read (x) ;

writeln (‘Imput y ‘) ;

read (y) ;

if x>y then

x : = x-y;

y : = x+y;

writeln (x, y) ;

writeln (x)

else

if x y : = y-x

x : = y+x

writeln (x, y)

end.

Язык Pascal

P. S я новичек ничерта не понимаю

Найдите правильный ответ на вопрос ✅ «В чем ошибка? Пишет: Встречено ‘else’, а ожидалось ‘; ‘ Что делать ведь перед ‘else’ нельзя ставить ‘; ‘ Program BlockAlgorithm; var x, y : …» по предмету 📘 Информатика, а если вы сомневаетесь в правильности ответов или ответ отсутствует, то попробуйте воспользоваться умным поиском на сайте и найти ответы на похожие вопросы.

Смотреть другие ответы

Главная » ⭐️ Информатика » В чем ошибка? Пишет: Встречено ‘else’, а ожидалось ‘; ‘ Что делать ведь перед ‘else’ нельзя ставить ‘; ‘ Program BlockAlgorithm; var x, y : integer; begin writeln (‘Start’) ; writeln (‘Imput x ‘) ; read (x) ; writeln (‘Imput y ‘) ; read (y) ;


Главная



  • 0




Встречено ‘else’, а ожидался оператор(в чём ошибка)
var a: integer;
begin
Writeln (‘Введите число’);
readln(a);
if a mod 2=0
then
Writeln(‘Число чётное’);
else
Writeln(‘Число нечётное’);
readln;
end.




Лев Симинеев


Вопрос задан 7 августа 2019 в


1 — 4 классы,  

Информатика.

  • Комментариев (0)

Добавить

Отмена


  • 1
    Ответ (-а, -ов)

    • По голосам
    • По дате



    • 0


    Как и говорил, убираем «;» после последнего оператора до else

    var a: integer;

    begin

    Writeln (‘Введите число’);

    readln(a);

    if a mod 2=0

    then

    Writeln(‘Число чётное’)

    else

    Writeln(‘Число нечётное’);

    readln;

    end.

    Отмена




    Олеся Биджнева


    Отвечено 7 августа 2019

    • Комментариев (0)

    Добавить

    Отмена

  • Ваш ответ

    0 0 голоса
    Рейтинг статьи
    Подписаться
    Уведомить о
    guest

    0 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии

    А вот еще интересные материалы:

  • Яшка сломя голову остановился исправьте ошибки
  • Ясность цели позволяет целеустремленно добиваться намеченного исправьте ошибки
  • Ясность цели позволяет целеустремленно добиваться намеченного где ошибка
  • Ошибка открытия файла прототипа t flex
  • Ошибка открытия указанного файла 4 принтер epson