C++ за 21 день седьмое издание



Download 1,38 Mb.
bet97/437
Sana22.02.2022
Hajmi1,38 Mb.
#89455
TuriРеферат
1   ...   93   94   95   96   97   98   99   100   ...   437
Bog'liq
word1

#include




  1. using namespace std;



2 :



  1. const double Pi = 3.14159;








  1. // Объявления функций (прототипы)




  1. double Area(double InputRadius);




  1. double Circumference(double InputRadius);

8 :



  1. int main()



10: {

  1. cout « "Enter radius: ";




  1. double Radius = 0;




  1. cin » Radius;



14:



  1. // Вызов функции "Area"




  1. cout « "Area is: " « Area(Radius) « endl;








  1. // Вызов функции "Circumference"



19: cout « "Circumference is: " « Circumference(Radius) « endl;
2 0 :

  1. return 0;




  1. }

23:



  1. // Определения функций (реализации)




  1. double Area(double InputRadius)




  1. {




  1. return Pi * InputRadius * InputRadius;




  1. }



29:



  1. double Circumference(double InputRadius)




  1. {




  1. return 2 * Pi * InputRadius;




  1. }



Результат


Enter radius: 6 .5


Area is: 132.732


Circumference is: 40.8407

Потребность в функциях

147



Анализ

На первый взгляд это выглядит как то же содержимое, но в разных упаковках. Впо­ следствии вы оцените, что разделение вычисления площади и периметра на отдельные функции позволяет многократно использовать этот код, поскольку функции можно вы­ зывать неоднократно, как и когда понадобится. Функция m ain () весьма компактна, она делегирует действия функциям A rea () и C irc u m fe re n c e (), вызов которых осуществля­ ется в строках 16 и 19 соответственно.


Программа демонстрирует следующие элементы, используемые при применении функций.


■ Прототипы функции объявляются (declare) в строках 6 и 7. Так компилятор узнает о том, что означают термины A re a и C irc u m f e r e n c e , когда они будут использованы


в функции m ain ().



  1. Функции A rea () и C irc u m fe re n c e () вызываются (invoke) в функции m ain () в стро­ ках 16 и 19.

■ Ф ункция A re a () определяется (define) в строках 25 -38, а функция C i r c u m f e r ­ e n c e () — в строках 30-33.


Что такое прототип функции

Рассмотрим строки 6 и 7 в листинге 7.1:




double Area(double InputRadius);


double Circumference(double InputRadius);

Состав прототипа функции представлен на рис. 7.1.




double Area(double InputRadius);

Тип

Имя

Параметры функции (необязательно),

возвращаемого

функции

Список, способный состоять из нескольких

значения




параметров и включающий указания типов







и имен (необязательно), разделенных запятой

РИС. 7.1. Части прототипа функции


Прототип функции в основном указывает имя функции (в данном случае A rea), список получаемых ею параметров (в данном случае один параметр типа d o u b le по имени In p u ­ tR a d iu s ) и тип возвращаемого функцией значения (в данном случае d o u b le ).


Без прототипа функции по достижении строк 16 и 19 в функции m ain () компилятор не будет знать, что это за термины такие — A rea и C irc u m fe re n c e . Прототипы функции указывают компилятору, что A re a и C irc u m f e r e n c e — это функции, которые получа­ ют один параметр типа d o u b le и возвращают значение типа d o u b le . Теперь компилятор распознает эти операторы и считает их допустимыми, а свою задачу понимает как необ­ ходимость связать функции с их реализациями и гарантировать, чтобы при выполнении программа фактически вызывала именно их.


148 ЗАНЯТИЕ 7. Организация кода при помощи функций




ПРИМЕЧАНИЕ Функции могут иметь список из нескольких параметров, разделенных запяты­
ми, но только один тип возвращаемого значения.

При создании функции, которая не должна возвращать никаких значений, ука­ жите ее тип возвращаемого значения как void (пусто).





Download 1,38 Mb.

Do'stlaringiz bilan baham:
1   ...   93   94   95   96   97   98   99   100   ...   437




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