LOGO
Главная Регистрация Вход RSS
Приветствую Вас, Гость
Категории раздела
Случайное решение
[24.09.2015][ОГЭ]
Выписано несколько последовательных чле­нов геометрической прогрессии: 20; х; 5; -2,5; ... Найдите член прогрессии, обозна­ченный буквой х (0)
[13.10.2015][ЕГЭ (П)]
В треугольнике АБС угол С равен 90°, sin А =3/5 . Найдите cos В (0)
[11.02.2016][ОГЭ]
Сберегательный банк начисляет на срочный вклад 10% годовых. Вкладчик положил на счёт 900 рублей. Сколько рублей будет на этом счёте через го (0)
[05.08.2013][Castle Game Engine]
Castle game engine . Вставка трехмерной сцены в форму (0)
[05.05.2015][ЕГЭ (П)]
По тарифному плану «Просто как день» компания сотовой связи каждый вечер снимает со счёта абонента 18 рублей. Если на сче¬ту осталось меньше (0)
[21.12.2014][ЕГЭ (П)]
Керамическая плитка одной и той же торговой марки выпускается трёх разных размеров. Плитки упакованы в пачки. Пользуясь данными таблицы (0)
[24.01.2016][ОГЭ]
Точки М и N являются серединами сторон АВ и ВС треугольника ABC, сторона АС равна 62. Найдите MN (0)
[27.01.2016][ОГЭ]
х^2+7=8х (0)
Статистика
Яндекс.Метрика
Поделиться
Реклама
Вход на сайт
Популярное
[14.10.2015][ОГЭ]
Площадь четырёхугольника можно вычислить по формуле s=d1*d2*sin a/2 , где d1 и d2 — длины диагоналей четырехугольника, а —угол между диа (0)
[11.03.2016][ОГЭ]
Найдите площадь квадрата, описанного около окружности радиуса 9. (0)
[21.12.2014][ЕГЭ (П)]
Диагональ правильной четырёхугольной призмы наклонена к плоскости основания под углом 30°. Боковое ребро равно 3. Найдите диагональ призмы. (0)
[15.04.2015][ЕГЭ (П)]
В прямоугольном параллелепипеде ABCDA1B1C1D1 известны длины рёбер: АВ = 3, AD = 4, АА1 = 32. Найдите площадь сечения, про¬ходящего через вер (0)
[21.12.2014][ЕГЭ (П)]
Корень(9 - 4*корень(5)) - корень(5) или √9-4√5-√5 (0)
[21.12.2014][ЕГЭ (П)]
В случайном эксперименте симметричную монету бросают триж¬ды. Найдите вероятность того, что решка выпадет все три раза (0)
[14.10.2015][ОГЭ]
12. На клетчатой бумаге с размером клетки 1x1 изображён параллелограмм. Найдите его пло¬щадь (0)
[29.01.2016][ОГЭ]
Биссектриса равностороннего треугольника равна 9Корень(3) . Найдите его сторону. (0)
[11.02.2016][ОГЭ]
На клетчатой бумаге с размером клетки 1x1 изображена трапеция. Найдите длину её средней линии. (0)
[14.10.2015][ОГЭ]
После уценки телевизора его новая цена составила 0,57 старой. На сколько процентов уменьшилась цена телевизора в результате уценки? (0)
Главная » Статьи » Программирование » Pascal, Delphi, Lazarus

Lazarus. Решение квадратного уравнения.

Квадратное уравнение является одним из самых распространенных уравнений школьного курса. Хотя оно решается достаточно легко, иногда требуется проверить ответы. Для этого можно использовать простую программу. Ее написание не займет много времени.

Начать нужно с самого квадратного уравнения. Из курса алгебры мы знаем, что квадратным уравнением называется уравнение вида ax2+bx+c=0, где x – переменная, a, b и с – некоторые числа, причем a.

Из определения видно, что в уравнении меняются только коэффициенты a, b и c. Вот эти параметры мы и будем вводить в нашу программу, а для этого создадим три поля ввода из компонентов.

Рис 14.1 Поля ввода для коэффициентов.

Так же из определения следует, что a. В этом случае уравнение не будет квадратным. И это условие мы будем проверять в первую очередь. Создадим кнопку «Решить» и ее разработчике событий при помощи оператора if проверим  условие a. И если a=0 сообщим что наше уравнение не квадратное.

Вот обработчик событий для кнопки:

procedure TForm1.Button1Click(Sender: TObject);

var

  a,b,c:real;

begin

   a:=strtofloat(edit1.Text);

   b:=strtofloat(edit2.Text);

   c:=strtofloat(edit3.Text);

   if a=0 then  Label4.Caption:='Уравнение не является квадратным';

end;

Рис. 14.2 Проверка на существование уравнения.

Теперь необходимо описать, что будет происходить, если же уравнение квадратное. Это тоже будет в том же операторе if  после слова else и при использовании составного оператора.

Если уравнение квадратное, то будем сразу его решать по формуле дискриминанта и корней квадратного уравнения.

Дискриминант найдем по формуле:  D:=b*b – 4*a*c;

Если дискриминант меньше нуля то уравнение не имеет решений. Это опишется так:

If d<0 then label4. Caption:=’Уравнение не имеет решений’ else

А после else пойдет непосредственный поиск корней уравнения по формулам:

X1:=(-b+sqrt(D))/2*a;

X2:=(-b-sqrt(D))/2*a;

Вот полный код оператора if:

if a=0 then  Label4.Caption:='Уравнение не является квадратным' else

     begin

       D:=b*b-4*a*c;

       if d<0 then Label4.Caption:='Уравнение не имеет решений' else

           begin

               X1:=(-b+sqrt(D))/2*a;

               X2:=(-b-sqrt(D))/2*a;

               Label4.Caption:='X1='+floattostr(x1)+'   X2='+floattostr(x2);

           end;

     end;

Рис. 14.3 Рабочее окне программы квадратное уравнение.

 

Категория: Pascal, Delphi, Lazarus | Добавил: Ret-Ar (17.08.2013)
Просмотров: 12990 | Рейтинг: 4.7/3