Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 19.01.2009, 15:55   #1
Picaso18
 
Регистрация: 25.12.2008
Сообщений: 8
По умолчанию Не могу найти ошибку.

Помогите пожалуйста найти ошибку в программе.Программа решение квадратных уравнений.
Код:
1program task1;
2 Var
3 a,b,c,x1,x2,x,d:real;
4 begin
5 Writeln('Введите a,b,c ');
6 readln(a,b,c);
7 if a = 0 Then  if b = 0 Then if c = 0
8 Then Writeln('Любое х') Else Writeln('нет решений')
9 Else begin  x:= - c / b ; Writeln (x) end;
10 else d:= sqr(b) - 4 * a * c;
11 if  d < 0 Then Writeln('Нет вещественных корней') Else
12 begin x1:=(-b + sqrt(d))/(2* a);
13 x2:=(-b - sqrt(d))/(2 * a);
14 Writeln(x1,x2)
15 end;
16 end.
когда выполняешь программу пишет ошибку в 10 строке.Что то типо неправельный символ.
"Наша жизнь такова, какой делают ее наша мысли."
Picaso18 вне форума Ответить с цитированием
Старый 19.01.2009, 15:57   #2
Google[Bot]
Пользователь
 
Аватар для Google[Bot]
 
Регистрация: 09.01.2009
Сообщений: 65
По умолчанию

В девятой строке надо убрать последнюю ";"
Google[Bot] вне форума Ответить с цитированием
Старый 19.01.2009, 16:10   #3
alex_fcsm
Участник клуба
 
Аватар для alex_fcsm
 
Регистрация: 10.11.2008
Сообщений: 1,502
По умолчанию

Код:
program task1;
 Var
 a,b,c,x1,x2,d:real;
 begin
 Writeln('Введите a,b,c ');
 readln(a,b,c);
 if (a = 0)and(b=0)and(c=0) then writeln('Любой х')
 else if a<>0 then
  begin
  d:= sqr(b) - 4 * a * c;
  if d>0 then  begin
               x1:=(-b + sqrt(d))/(2* a);
               x2:=(-b - sqrt(d))/(2 * a);
               Writeln('Первый корень:',x1);
               Writeln('Второй корень:',x2);
               end
     else if d<0 then writeln('Решений нет')
       else    writeln((-b + sqrt(d))/(2* a));
  end
   else if b<>0 then writeln(- c / b)
     else writeln('Решений нет');
 end.
Нормальное состояние техники - нерабочее, все остальное частный случай.

Последний раз редактировалось alex_fcsm; 19.01.2009 в 17:07.
alex_fcsm вне форума Ответить с цитированием
Старый 19.01.2009, 17:05   #4
pomoshnic
Форумчанин
 
Аватар для pomoshnic
 
Регистрация: 16.11.2008
Сообщений: 192
По умолчанию

Не забудьте про Readln перед end.
pomoshnic вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Не могу найти ошибку(С++) Yura_n Помощь студентам 8 20.01.2009 12:36
Не могу найти ошибку . KVANTOM Общие вопросы Delphi 2 08.01.2009 17:15
Лаба по программированию. Не могу найти ошибку((( KrL^^ Помощь студентам 3 08.10.2008 14:49
Не могу найти ошибку! Эдуард Общие вопросы C/C++ 7 27.02.2008 16:34