Alt linux Программирование на языке С++ в среде Qt Creator Е. Р. Алексеев, Г. Г. Злобин, Д. А. Костюк, О. В. Чеснокова, А. С. Чмыхало Москва alt linux 2015



Download 5,27 Mb.
Pdf ko'rish
bet28/193
Sana24.02.2022
Hajmi5,27 Mb.
#227496
1   ...   24   25   26   27   28   29   30   31   ...   193
Bog'liq
Book-qtC


Глава 3. Операторы управления
Вспомогательные переменные: вещественная переменная d, в которой будет
храниться дискриминант квадратного уравнения.
Можно выделить следующие этапы решения задачи:
1. Ввод коэффициентов квадратного уравнения a, b и c.
2. Вычисление дискриминанта d по формуле d = b
2
− 4ac.
3. Проверка знака дискриминанта. Если d > 0, то вычисление действительных
корней: x1 =
−b+

d
2a
и x2 =
−b−

d
2a
и вывод их на экран. При отрицательном
дискриминанте выводится сообщение о том, что действительных корней
нет, и вычисляются комплексные корни
2
x1 =
−b
2a
+ i

|d|
2a
, x2 =
−b
2a
− i

|d|
2a
.
У обоих комплексных корней действительные части одинаковые, а мнимые
отличаются знаком. Поэтому можно в переменной x1 хранить действительную
часть числа
−b
2a
, в переменной x2 — модуль мнимой части

|d|
2a
, а в качестве
корней вывести x1 + i · x2 и x1 − i · x2.
На рис. 3.16 изображена блок-схема решения задачи. Блок 1 предназначен
для ввода коэффициентов квадратного уравнения. В блоке 2 осуществляется вы-
числение дискриминанта. Блок 3 осуществляет проверку знака дискриминанта,
если дискриминант отрицателен, то корни комплексные, их расчёт происходит
в блоке 4 (действительная часть корня записывается в переменную x1, модуль
мнимой — в переменную x2), а вывод — в блоке 5 (первый корень x1+i·x2, второй
— x1 −i·x2). Если дискриминант положителен, то вычисляются действительные
корни уравнения (блок 6) и выводятся на экран (блок 7).
Текст программы, реализующей поставленную задачу:
#include 
#include 
using namespace s t d ;
i n t main ( )
{
f l o a t a , b , c , d , x1 , x2 ;
cout<<" a = " ; c i n >>a ;
cout<<" b = " ; c i n >>b ;
cout<<" c = " ; c i n >>c ;
d=b∗b−4∗a∗ c ;
i f ( d<0)
{ //Если дискриминант отрицательный, то вывод соответствующего сообщения.
cout<<"Нет вещественных корней \ n " ;
x1=−b / ( 2 ∗ a ) ;
//Вычисление действительной части комплексных корней.
x2=s q r t ( f a b s ( d ) ) / ( 2 ∗ a ) ; //Вычисление модуля мнимой части комплексных корней
//Сообщение о комплексных корнях уравнения вида ax
2
+ bx + c = 0
.
cout<<"Комплексные корни уравнения \ n " ;
cout<//Вывод значений комплексных корней в виде x1 ± ix2
i f ( x2>=0)
{
cout<cout<}
e l s e
{
2
Комплексные числа записываются в виде a + ib, где a — действительная часть комплекс-
ного числа, b — мнимая часть комплексного числа, i — мнимая единица

−1. Подробно о
комплексных числах можно прочитать в главе 9.
Программирование на языке С++ в среде Qt Creator


3.3. Условные операторы
55
Рис. 3.16: Алгоритм решения задачи 3.5
cout<cout<}
}
e l s e
{
//Если дискриминант положительный, вычисление действительных корней и вывод их на экран.
x1=(−b+s q r t ( d ) ) /2/ a ;
x2=(−b−s q r t ( d ) ) / ( 2 ∗ a ) ;
cout<<"Вещественные корни уравнения \ n " ;
cout<cout<<" X1 = "<}
return 0 ;
}
Результаты работы программы к задаче 3.5 показаны ниже.
a=-5
b=-3
c=-4
© 2015 Алексеев Е. Р., Злобин Г. Г., Костюк Д. А., Чеснокова О. В., Чмыхало А. С.


56
Download 5,27 Mb.

Do'stlaringiz bilan baham:
1   ...   24   25   26   27   28   29   30   31   ...   193




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish