Лабораторна робота № 8. Вбудовані функції

Мета:

Здобути навики використання середовища розробки мови C++, створити проект, що містить програми вбудованих функцій, здобути навички написання таких програм.

Короткі теоретичні відомості до роботи.

Бібліотека функцій, що вбудовані в компілятор С++, складаються з двох частин: стандартних функцій ANSI, який є в мові С, та функцій мови С++.

Кожна функція має прототип. Прототип функції вказує компілятору тип даних, який повертається функцією, кількість, тип та порядок проходження аргументів (параметрів), котрі очікує функція.

Прототипи повідомляють, що кожна із функцій потребує елементи аргументу (х) типу double і повертає значення типу double.

Вбудовані функції поділені на групи. Прототипи функцій кожної групи розміщені в окремому заголовному файлі. Заголовний файл має ім’я та розширення.h Директиву препроцесору поперед функції main має вигляд:

#include < ім’ я.h>

Прототипи згаданих раніш функцій floor та fabs включені у заголовочний файл math.h.

Перш ніж викликати (застосувати) будь-яку функцію треба перевірити, для яких типів даних вона розроблена та в який заголовний файл включена.

Для вбудованих функцій потрібно переглянути заголовні файли у директорії компілятора INCLUDE або скористатися довідником (у тому числі help компілятора).

Помилки виклику функції фіксуються компілятором.

ФУНКЦІЯ-ПІДПРОГРАМА

Функція-підпрограма є програмним блоком, який повторюється у програмі або в різних програмах. Перетворимо програму PART1\1-14 так, щоб власний розрахунок m! виділити в окрему функцію-підпрограму з ім’ям fact (factorial – факторіал). Підбираючи функції потрібно переконається, що воно не зустрічається в заголовних файлах, включених в програму.

Прототип функція-підпрограма обов’язково повинний бути визначений до того місця, де функція буде використовувана, хоча сама вона може бути описана й після. Прототип грає роль оголошення функції за аналогією з оголошенням змінної. У кінці прототипу крапка з комою необов’язкова. Прототип може бути оголошеним в тілі іншої функції. Опис функції складається із заголовку та тіла функції, яка описує сам алгоритм. Повернення значення у тілі функції визначається ключовим словом return.

Функція може мати тільки одне повертаємо значення. Після фігурних дужок, які оточують тіло функції, крапка з комою не ставиться. Функція не може бути описана у тілі іншої функції.

Перетворена програму з підпрограмою fact розглянемо у програмі PART1\1-16.

Розглянемо деякі особливості нашої функції-підпрограми:

• Значення змінної m у функції main після закінчення роботи підпрограми-функції остається незмінним. Так як у тілі функції дія виконується з тимчасовою копією змінної, яка після виходу із підпрограми знищується;

• Змінна Р, що оголошена всередині підпрограми, і змінна з тим ж ім’ям у функції main – різні змінні, що діють в всередині своєї функції (свого блоку).

У списку аргументів прототипу можна не вказувати ідентифікатор (m), тому що компілятору потрібний тільки тип змінної, але для програміста запис з ідентифікатором буває зручна, а в складних випадках – практично потрібна.

Написана підпрограма «прив’язана» до конкретної програми. Наступний крок – перетворення підпрограми fact у функцію, яку можна використовувати в будь який програмі. Для цього її потрібно записати в окремий файл та включити в потрібну програму директивою #include.

Для діючого програміста доцільно організувати власну бібліотеку функцій.

ОРГАНІЗАЦІЯ РОБОЧОГО ПРОСТОРУ В КОМП’ЮТЕРІ

Для організації робочого простору створимо спеціальну директорію (папку) з ім’ям СРР та вкладеними в неї директоріями (Рис. 1):

• BOX (коробка) – для програм та їх варіантів, що розроблені;

• CURRENT(поточний) – для поточною роботою з програмою;

• SUBPROG (підпрограма) – для розміщення бібліотеки програміста;

• CLASS – для розміщення бібліотеки класів;

• UTIL – для розміщення службових програм;

• PART!, PART2, … - для розміщення програм прикладів з лекцій курсу.

Рис. 1. Директорія СРР

Рис.2. Директорія CURRENT

Рис. 3. Директорія SUBPROG

 
 


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: