Код программы расчета корней квадратного уравнения

Примеры по математике, информатике и прочим дисциплинам, взятые из контрольных и курсовых работ студентов.

Страницы

  • Главная страница
  • Графика
  • Программирование
  • Работы на украинском языке

пятница, 20 февраля 2015 г.

Калькулятор вычисления корней квадратных уравнений в Delphi

Очередной, но совершенно другой калькулятор, разработанный в Delphi 7.0. Исходники калькулятора находятся в конце статьи.

Постановка задачи

Разработать калькулятор, решающий квадратные уравнения (в действительных или комплексных числах). Вычисление корней проводится в форме, заданной пользователем.

Схема алгоритма решения задачи

Для решения поставленной задачи нам необходимо:

  1. Если пользователем введены значения, считать их.
  2. Найти дискриминант.
  3. Если дискриминант >= нулю, то найти действительные корни, если же меньше нуля, предложить пользователю вычислить мнимые корни.
  4. Вывести результат.

Калькулятор вычисления корней квадратных уравнений в Delphi

Программа, определяющая корни квадратного уравнения. Язык программирования Python.

Описание используемых компонентов

  • поля Edit (для ввода пользовательских значений и вывода полученных результатов);
  • кнопки Button;
  • поле Memo (для вывода логов работы программы);
  • Label (Надписи, с помощью которых подпишем поля).

При нажатии кнопки Button1 вызывается процедура TForm1.Button1Click, с помощью которой считываются данные, введенные пользователем, и находится дискриминант. Затем полученное значение сравнивается с нулем. Если оно больше или равно нулю, то находятся корни х1 и х2, если же меньше, на форме появляется надпись, сообщающая, что действительных корней нет, и кнопка Button2, предлагающая вычислить мнимые корни.

Изначально в свойстве этой кнопки и надписи указано, что они невидимы. При нажатии на кнопку активируется процедура TForm1.Button2Click, в которой вычисляются корни в комплексной форме. Если данные были неправильно введены пользователем, то на экран и в файл логов работы выводится сообщение об ошибке.

Читайте также:
Программа для записывания звука на ноутбуке

При нажатии кнопки Button3 очищаются поля ввода и вывода.

При нажатии кнопки Button4 выводятся на экран логи работы программы. Они включают в себя введенные пользователем данные, результат операций с этими данными, а так же сообщения об ошибках.

При нажатии кнопки Button5 вызывается справочная система калькулятора. Справочная система разработана с помощью утилиты Hcw.exe. Для этого сначала справочный материал был написан в Microsoft Word, расставлены ссылки в каждом пункте справки, информация сохранена в rtf формате. Далее, с помощью вышеназванной утилиты была создана справочная система и оглавление к ней. Для связи справочной системы с нашим приложением было введено название help-файла в меню Borland Delphi «Проект» → «Параметры» → «Приложение» → «Файл справки».

Программа для решения корней квадратного уравнения с использованием дискриминанта на языке Паскаль

Пример результатов работы программы

Например, вычислим корни уравнения

Калькулятор вычисления корней квадратных уравнений в Delphi

Получим такие результаты:

Калькулятор вычисления корней квадратных уравнений в Delphi

Если же мы возьмем уравнение

Калькулятор вычисления корней квадратных уравнений в Delphi

Калькулятор вычисления корней квадратных уравнений в Delphi

При нажатии на кнопку «Вычислить мнимые корни» получим:

Калькулятор вычисления корней квадратных уравнений в Delphi

При неправильном вводе данных мы увидим такое сообщение:

Калькулятор вычисления корней квадратных уравнений в Delphi

При нажатии на кнопку «Логи» мы увидим логи работы нашей программы:

Калькулятор вычисления корней квадратных уравнений в Delphi

Текст log-файла находится в приложении А, расположенном ниже. Также в конце статьи вы сможете найти ссылку на готовое приложение-калькулятор и на его исходники.

При нажатии на кнопку помощи мы увидим справочное руководство:

Калькулятор вычисления корней квадратных уравнений в Delphi

При выборе необходимого нам пункта можно будет почитать интересующий материал.

Инструкция пользователю программы

Вычисление корней квадратного уравнения:

Для вычисления корней квадратного уравнения нужно ввести значения коэффициентов a, b, c и нажать кнопку «Вычислить». Если коэффициент равен нулю, то нужно в соответствующее поле ввести «0». Если какое-то из полей не будет заполнено, выведется сообщение об ошибке.
Если уравнение имеет действительные корни, то они будут выведены в полях х1 и х2. Иначе пользователю будет предложено найти мнимые корни. На форме появится кнопка «Вычислить мнимые корни». При нажатии на нее появится искомый результат.

Читайте также:
Программа для того чтобы узнать пароль от ВК

Сохранение данных в файл:

Программа автоматически сохраняет все входные и выходные данные в файл. Для просмотра этого файла нужно нажать кнопку «Логи».

Приложение А

Вычисление действительных корней
a b c
3 -4 1
x1= 1.00 x2= 0.33
Вычисление мнимых корней
a b c
3 -4 5
x1,2=( 4.00+- 6.63*i)/ 6.00
Неправильно введены данные

Вы можете скачать листинг программы-калькулятора, предназначенной для решения квадратных уравнений, и готовое приложение:

Источник: ucheba-pro100.blogspot.com

Программа для нахождения корней квадратного уравнения на C++

06.03.2021 Программирование Комментарии: 0 Давыдов В. Г.

Эта программа в C++ принимает от пользователя коэффициенты квадратного уравнения и отображает корни (как действительные, так и комплексные корни в зависимости от дискриминанта).

Формула для нахождения корня квадратного уравнения

  • Если дискриминант больше 0, корни действительные и разные.
  • Если дискриминант равен 0, корни действительные и равны.
  • Если дискриминант меньше 0, корни сложные и разные.

Вычисление корней квадратного уравнения

Пример: использование формул в С++

#include #include using namespace std; int main() < float a, b, c, x1, x2, discriminant, realPart, imaginaryPart; cout > a >> b >> c; discriminant = b*b — 4*a*c; if (discriminant > 0) < x1 = (-b + sqrt(discriminant)) / (2*a); x2 = (-b — sqrt(discriminant)) / (2*a); cout else if (discriminant == 0) < cout else < realPart = -b/(2*a); imaginaryPart =sqrt(-discriminant)/(2*a); cout return 0; >
Enter coefficients a, b and c: 4 5 1 Roots are real and different. x1 = -0.25 x2 = -1

  • Преобразование восьмеричного числа в десятичное и наоборот в C++
  • Преобразование двоичного числа в восьмеричное и наоборот в C++
  • Как перевернуть строку в C++

Источник: calmsen.ru

Код программы расчета корней квадратного уравнения

Здравствуйте, форумчане. Помогите пожалуйста разобраться в чем проблема.

Задание:
Вычислить корни квадратного уравнения (a*x^2)+(b*x)+c=0, если (d^2)-4*a*c>=0, то корни действительные; следовательно, необходимо вычислять
e=(-b)/(2*a)
f= (sqrt(d)/(2*a)
x1=e+f
x2=e-f
если d e=(-b)/(2*a)
f= (sqrt(abs(d))/(2*a)
x1=e+f
x2=e-f

Вот мои наброски но они не работают:

Читайте также:
Как автоматически запустить программу с диска

program Project2; uses SysUtils,Windows; var a,b,c:integer; x1,x2,d,e,f:Real; begin SetConsoleCP(1251); SetConsoleOutPutCP(1251); write(‘Введите a = ‘); readln(a); write(‘Введите b = ‘); readln(b); write(‘Введите c = ‘); readln(c); d:=sqr(b)-4*a*c; if (d>=0) then begin e:= (-b/(2*a)); f:= (Sqrt(d)/(2*a)); x1:= (e+f); x2:= (e-f); writeln(‘x1= ‘,x1:6:2); Writeln(‘x2= ‘,x2:6:2); end else begin e:= (-b/(2*a)); f:= (Sqrt(Abs(d))/(2*a)); x1:= (e+f); x2:= (e-f); writeln(‘x1= ‘,x1:6:2); Writeln(‘x2= ‘,x2:6:2); end; Readln; end.
ЗЫ: программу нужно сделать в Делфи в Console application.
Регистрация: 02.03.2008
Сообщений: 2,537

Код написан мягко говоря, очень нерационально.
Но все работает, только не пишет от том, какие корни — действительные или мнимые.

И еще. a,b,c — могут быть только целые ?

PS А где ? Перед uses должно быть.

Последний раз редактировалось type_Oleg; 26.04.2014 в 18:52 .
Пользователь
Регистрация: 26.04.2014
Сообщений: 20

Немного подредактировал, вроде заработало.

program Project2; uses SysUtils,Windows; var a,b,c:integer; x1,x2,d,e,f:Real; begin SetConsoleCP(1251); SetConsoleOutPutCP(1251); writeln(‘Введите a = ‘); readln(a); writeln(‘Введите b = ‘); readln(b); writeln(‘Введите c = ‘); readln(c); d:=sqr(b)-4*a*c; if (d>=0) then begin e:= (-b/(2*a)); f:= (Sqrt(d)/(2*a)); x1:= (e+f); x2:= (e-f); writeln(‘x1= ‘,x1:6:2); Writeln(‘x2= ‘,x2:6:2); end else begin e:= (-b/(2*a)); f:= (Sqrt(Abs(d))/(2*a)); x1:= (e+f); x2:= (e-f); writeln(‘x1= ‘, e:6:2, ‘ + ‘, f:6:2, ‘i’); Writeln(‘x2= ‘, e:6:2, ‘ — ‘, f:6:2, ‘i’); end; Readln; end.
ЗЫ: по заданию не требуют написать мнимые или нет, но можно дописать так:
program Project2; uses SysUtils,Windows; var a,b,c:integer; x1,x2,d,e,f:Real; begin SetConsoleCP(1251); SetConsoleOutPutCP(1251); writeln(‘Введите a = ‘); readln(a); writeln(‘Введите b = ‘); readln(b); writeln(‘Введите c = ‘); readln(c); d:=sqr(b)-4*a*c; if (d>=0) then begin e:= (-b/(2*a)); f:= (Sqrt(d)/(2*a)); x1:= (e+f); x2:= (e-f); Writeln(‘Корни действительные’); writeln(‘x1= ‘,x1:6:2); Writeln(‘x2= ‘,x2:6:2); end else begin e:= (-b/(2*a)); f:= (Sqrt(Abs(d))/(2*a)); x1:= (e+f); x2:= (e-f); Writeln(‘корни мнимые’); writeln(‘x1= ‘, e:6:2, ‘ + ‘, f:6:2, ‘i’); Writeln(‘x2= ‘, e:6:2, ‘ — ‘, f:6:2, ‘i’); end; Readln; end.
Последний раз редактировалось adrenalin142; 26.04.2014 в 19:59 .

Источник: www.programmersforum.ru

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru