Сайт начал процедуру переезда на новый хостинг

Новый сайт
LOGO
Главная Регистрация Вход RSS
Приветствую Вас, Гость
Категории раздела
Случайное решение
[28.10.2014][Олимпиады]
Вася задумал два числа. Их сумма равна их произведению и равна их частному. Какие числа задумал Вася? (0)
[14.10.2015][ОГЭ]
Из двух городов одновременно навстречу друг другу отправились два велосипедиста. Проехав некоторую часть пути, первый велосипедист сдела (0)
[29.01.2016][ОГЭ]
Найдите значение выражения ( корень(59)-5)^2 (0)
[11.03.2016][ОГЭ]
Найдите площадь квадрата, описанного около окружности радиуса 9. (0)
[11.02.2016][ОГЭ]
Расстояние от Юпитера до Солнца равно 778,1 млн км. В каком случае записана эта же величина? (0)
[15.04.2015][ЕГЭ (П)]
Найдите площадь прямоугольника ABCD (0)
[19.09.2015][ЕГЭ (П)]
Вероятность того, что новый тостер прослужит больше года, равна 0,98. Вероятность того, что он прослужит больше двух лет, равна 0,86. Найдит (0)
[11.03.2016][ОГЭ]
Какое из следующих утверждений верно? 1) Если три угла одного треугольника равны соответственно трём углам другого треугольника, то такие тр (0)
Статистика
Яндекс.Метрика
Поделиться
Реклама
Вход на сайт
Популярное
[11.03.2016][ОГЭ]
Найдите площадь квадрата, описанного около окружности радиуса 9. (0)
[14.10.2015][ОГЭ]
Площадь четырёхугольника можно вычислить по формуле s=d1*d2*sin a/2 , где d1 и d2 — длины диагоналей четырехугольника, а —угол между диа (0)
[21.12.2014][ЕГЭ (П)]
Диагональ правильной четырёхугольной призмы наклонена к плоскости основания под углом 30°. Боковое ребро равно 3. Найдите диагональ призмы. (0)
[15.04.2015][ЕГЭ (П)]
В прямоугольном параллелепипеде ABCDA1B1C1D1 известны длины рёбер: АВ = 3, AD = 4, АА1 = 32. Найдите площадь сечения, про¬ходящего через вер (0)
[14.10.2015][ОГЭ]
12. На клетчатой бумаге с размером клетки 1x1 изображён параллелограмм. Найдите его пло¬щадь (0)
[11.02.2016][ОГЭ]
На клетчатой бумаге с размером клетки 1x1 изображена трапеция. Найдите длину её средней линии. (0)
[21.12.2014][ЕГЭ (П)]
Корень(9 - 4*корень(5)) - корень(5) или √9-4√5-√5 (0)
[29.01.2016][ОГЭ]
Биссектриса равностороннего треугольника равна 9Корень(3) . Найдите его сторону. (0)
[14.10.2015][ОГЭ]
После уценки телевизора его новая цена составила 0,57 старой. На сколько процентов уменьшилась цена телевизора в результате уценки? (0)
[21.12.2014][ЕГЭ (П)]
В случайном эксперименте симметричную монету бросают триж¬ды. Найдите вероятность того, что решка выпадет все три раза (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)
Просмотров: 14771 | Рейтинг: 4.7/3