Выдает ошибку, что поставить?
Встречено ‘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
13.2k12 золотых знаков41 серебряный знак70 бронзовых знаков
задан 17 янв 2019 в 18:10
![]()
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
![]()
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)
Добавить
Отмена