30.04.2009, 21:20 | #1 (ссылка) |
Новичок
Регистрация: 29.03.2009
Сообщений: 8
Репутация: 0
|
Люди, в чем ошибка? просит поставить ";" перед вторым else. Но оно там не нужно
Program formula;
var a, b, c, d, e, g, k, l, m, n, p, t, v: real; begin writeln('введите коэффициенты уравнения '); readln(a, b, c); d:= (b * b) - (4 * a * c); if d < 0 then writeln('уравнение не имеет решений ') else begin if d = 0 then e:= (-b)/ (2 * a); g:= sqrt(e); k:= g * (-1); writeln('уравнение имеет два корня ', g:6:3, ' è ', k:6:3) else begin if d > 0 then l:= ((-b) + sqrt(d))/(2 * a); m:= ((-b) - sqrt(d))/(2 * a); n:= sqrt(l); p:= n * (-1); t:= sqrt(m); v:= t * (-1); writeln('уравнение имеет четыре корня: ', n:6:3, ' ; ', p:6:3, ' и ', t:6:3, ' ; ', v:6:3); end end end. |
12.05.2009, 22:33 | #2 (ссылка) |
Новичок
Регистрация: 25.04.2009
Сообщений: 54
Репутация: 0
|
Друг мой, всё очень просто))
Дело в том, что первый твой ELSE привязан к первому IFу (и это правильно) Далее следует второй ELSE, а второго IFа ПЕРЕЛ ним нету. ELSE идёт исключительно в связки с IF ( а точнее после него) Пример: Если а=б то с=а+б ИНАЧЕ с=2*а А ты написал примерно следующее: Если <условие> то сделай действие один ИНАЧЕ1 действие 2 ИНАЧЕ2 действие 3 ИНАЧЕ2 (он же второй ELSE) не привязан к условию (IF) P,S, Наверное тебе уже не нужен ответ, т.к. ты писал пост аж 29 марта, но тем не менее)) |
Ads | |
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1) | |
Опции темы | |
|
|