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



Download 5,27 Mb.
Pdf ko'rish
bet55/193
Sana24.02.2022
Hajmi5,27 Mb.
#227496
1   ...   51   52   53   54   55   56   57   58   ...   193
Bog'liq
Book-qtC


Глава 4. Использование функций при программировании на C++
cout<<"Количество палиндромов равно K = "<return 0 ;
}
Задача 4.5.
Заданы два числа — X в двоичной системе счисления, Y в системе
счисления с основанием пять. Найти сумму этих чисел. Результат вывести в
десятичной системе счисления.
Любое целое число N, заданное в b-ичной системе счисления, можно предста-
вить в десятичной системе счисления:
N = P
n
· b
b
+ P
n−1
· b
n−1
+ ... + P
2
· b
2
+ P
1
· b + P
0
=
n
X
i=0
P
i
· b
i
,
где b — основание системы счисления (целое положительное фиксированное чис-
ло), P
i
— разряд числа: 0 6 P
i
6
b − 1, i = 0, 1, 2, ..., n. Например,
743
10
= 7 · 10
2
+ 4 · 10
1
+ 3 · 10
0
= 700 + 40 + 3 = 743
10
;
1011101
2
=
1 · 2
6
+ 0 · 2
5
+ 1 · 2
4
+ 1 · 2
3
+ 1 · 2
2
+ 0 · 2
1
+ 1 · 2
0
= 64 + 16 + 8 + 4 + 1 = 93
10
.
Создадим функцию для перевода целого числа N, заданного в b-ичной систе-
ме счисления, в десятичную систему счисления.
#include 
using namespace s t d ;
unsigned long long i n t DecNC( unsigned long long i n t N, unsigned i n t b )
{
//Функция выполняет перевод числа N, заданного в b-ичной системе счисления,
//в десятичную систему счисления
unsigned long long i n t S , P ;
f o r ( S=0 ,P=1;N! = 0 ; S+=N%10∗P , P∗=b ,N/=10) ;
return S ;
}
i n t main ( )
{
unsigned long long i n t X,Y; unsigned i n t bX , bY ;
cout<<" X = " ; c i n >>X;
//Ввод числа X.
cout<<" b = " ; c i n >>bX ; //Ввод основания с/с.
cout<<" Y = " ; c i n >>Y;
//Ввод числа X.
cout<<" b = " ; c i n >>bY ; //Ввод основания с/с.
//Вывод заданных чисел в десятичной с/с.
cout<cout<//Вычисление суммы и вывод результата.
cout<cout<return 0 ;
}
Задача 4.6.
Задано число X в десятичной системе счисления. Выполнить пере-
вод числа в системы счисления с основанием 2, 5 и 7.
Вообще, для того чтобы перевести целое число из десятичной системы счис-
ления в другую, необходимо выполнить следующие действия:
1. Разделить данное число на основание новой системы счисления: остаток от
деления — младший разряд нового числа;
2. Если частное от деления не равно нулю, продолжать деление, как указано
в п.1.
Программирование на языке С++ в среде Qt Creator


4.4. Решение задач с использованием функций
111
На рис. 4.1 приведён пример «ручного» перевода числа 256, заданного в десятич-
ной системе счисления, в восьмеричную. В результате получим 256
(10)
= 400
(8)
.
256
8
−256
32
8
0
−32
4
0
Рис. 4.1: Пример перевода числа в новую систему счисления
Далее приведён текст программы, реализующей решение задачи 4.6.
#include 
using namespace s t d ;
unsigned long long i n t NC( unsigned long long i n t N, unsigned i n t b )
{
unsigned long long i n t S , P ;
f o r ( S=0 ,P=1;N! = 0 ; S+=N%b∗P , P∗=10 ,N/=b ) ;
return S ;
}
i n t main ( )
{
unsigned long long i n t X;
cout<<" X = " ; c i n >>X;
//Ввод числа X.
//Перевод числа X в заданные системы счисления.
cout<cout<cout<return 0 ;
}
Задача 4.7.
Найти корни уравнения x
2
− cos(5 · x) = 0.
Для решения задачи использовать:
• метод половинного деления,
• метод хорд,
• метод касательных (метод Ньютона),
• метод простой итерации.
Оценить степень точности предложенных численных методов, определив, за
сколько итераций был найден корень уравнения. Вычисления проводить с точ-
ностью ε = 10
−3
.
Вообще говоря, аналитическое решение уравнения
f (x) = 0
(4.1)
можно найти только для узкого класса функций. В большинстве случаев прихо-
дится решать уравнение (4.1) численными методами. Численное решение урав-
нения (4.1) проводят в два этапа: сначала необходимо отделить корни уравне-
ния
, т.е. найти достаточно тесные промежутки, в которых содержится только
один корень, эти промежутки называют интервалами изоляции корня; на вто-
ром этапе проводят уточнение отделённых корней, т.е. находят корни с заданной
точностью
.
© 2015 Алексеев Е. Р., Злобин Г. Г., Костюк Д. А., Чеснокова О. В., Чмыхало А. С.


112
Download 5,27 Mb.

Do'stlaringiz bilan baham:
1   ...   51   52   53   54   55   56   57   58   ...   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