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



Download 5,27 Mb.
Pdf ko'rish
bet60/193
Sana24.02.2022
Hajmi5,27 Mb.
#227496
1   ...   56   57   58   59   60   61   62   63   ...   193
Bog'liq
Book-qtC


Глава 4. Использование функций при программировании на C++
Задача 4.9.
Вычислить n-ю степень числа a (n — целое число).
Результатом возведения числа a в целую степень n является умножение это-
го числа на себя n раз. Но это утверждение верно только для положительных
значений n. Если n принимает отрицательные значения, то a
−n
=
1
a
n
. В случае
n = 0, a
0
= 1.
Для решения задачи создадим рекурсивную функцию stepen, алгоритм ко-
торой представлен на рис. 4.11.
Рис. 4.11: Рекурсивный алгоритм вычисления степени числа
Текст программы с применением рекурсии:
#include 
using namespace s t d ;
f l o a t s t e p e n ( f l o a t a , i n t n )
{
i f ( n==0)
return 1 ;
e l s e i f ( n<0)
return 1/ s t e p e n ( a ,
−n ) ;
e l s e
return a ∗ s t e p e n ( a , n
−1) ;
}
i n t main ( )
{
i n t i ; f l o a t s , b ;
cout<<" b = " ; c i n >>b ;
cout<<" i = " ; c i n >>i ;
s=s t e p e n ( b , i ) ;
cout<<" s = "<return 0 ;
}
Задача 4.10.
Вычислить n-е число Фибоначчи.
Если нулевой элемент последовательности равен нулю, первый — единице,
а каждый последующий представляет собой сумму двух предыдущих, то это
последовательность чисел Фибоначчи
(0, 1, 1, 2, 3, 5, 8, 13, 21, 34, ... ).
Программирование на языке С++ в среде Qt Creator


4.6. Перегрузка функций
123
Алгоритм рекурсивной функции fibonachi изображён на рис. 4.12.
Рис. 4.12: Рекурсивный алгоритм вычисления числа Фибоначчи
Текст программы:
#include 
using namespace s t d ;
long i n t f i b o n a c h i ( unsigned i n t n )
{
i f ( ( n==0) | | ( n==1) )
return n ;
e l s e
return f i b o n a c h i ( n
−1)+f i b o n a c h i ( n−2) ;
}
i n t main ( )
{
i n t i ; long i n t f ;
cout<<" i = " ; c i n >>i ;
f=f i b o n a c h i ( i ) ;
cout<<" f = "<return 0 ;
}
4.6
Перегрузка функций
Язык C++ позволяет связать с одним и тем же именем функции различные
определения, то есть возможно существование нескольких функций с одинако-
вым именем. У этих функций может быть разное количество параметров или
разные типы параметров. Создание двух или более функций с одним и тем же
именем называется перегрузкой имени функции. Перегруженные функции созда-
ют, когда одно и то же действие следует выполнить над разными типами входных
данных.
В приведённом далее тексте программы три функции с именем Pow. Пер-
вая выполняет операцию возведения вещественного числа a в дробную степень
n =
k
m
, где k и m — целые числа. Вторая возводит вещественное число a в
© 2015 Алексеев Е. Р., Злобин Г. Г., Костюк Д. А., Чеснокова О. В., Чмыхало А. С.


124
Download 5,27 Mb.

Do'stlaringiz bilan baham:
1   ...   56   57   58   59   60   61   62   63   ...   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