Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
лаб работы ТП_рус.doc
Скачиваний:
58
Добавлен:
01.05.2015
Размер:
695.81 Кб
Скачать

8 Лабораторная работа. Функции. Рекурсия

Цель: получить практические навыки использования функций в С++.

8.1 Общие сведения

Кроме стандартных функций, размещенных в заголовочных файлах, язык C++ позволяет фор­мировать пользовательские функции. Эти функции целесообразно создавать, если при решении задач возникает необходимость проводить вычисления много­кратно по одним и тем же алгоритмам. Применение функций позволяет разделить программу на простые, легко контролируемые части. При использовании функций необходимо различать описа­ние функции и оператор вызова функции.

Структура функции похожа на структуру программы main. Описание функции содержит заголовок функции, объявления пе­ременных и операторы:

тип_функции имя_функции (список_формальных_параметров)

{

объявления переменных;

оператор1;

;

операторN;

}

Здесь: тип_функции - тип результата, возвращаемого в основную программу; имя_функции - уникальное имя, соответствующее по смыслу операции, которую выполняет функция; список_формальных_параметров - перечень формальных параметров и их типов.

Для вызова функции достаточно указать ее имя со списком фактических параметров в любом выражении вызывающей про­граммы:

имя_функции (список_фактических_параметров);

Для возвращения вычисленного значения в основную программу в функциях используется оператор:

return (результат);

Если обращение к функции предшествует ее описанию, в начало программы следует поместить прототип функции. Прототип функции содержит ин­формацию об имени функции, типе возвращаемого значения, количестве и типе формальных параметров.

Локальные переменные объявляются внутри функции точно так же, как и внутри главной функции main. Локальные переменные действуют только внутри функции, в которой они объявлены. Глобальные переменные объявляются в начале программы вне какой-либо функции. Глобальные переменные доступны для лю­бой функции в программе. Если локальная и глобальная переменные имеют одинаковое имя, то переменная в функции воспринимается компилятором C++ как локальная переменная. Если внутри функции нужно исполь­зовать глобальную переменную, совпадающую по имени с локаль­ной переменной, то в этом случае нужно воспользоваться гло­бальным оператором разрешения:

:: имя_переменной

Поскольку значения глобальных переменных могут быть лег­ко изменены любой функцией, не рекомендуется их использова­ние в программах.

8.2 Задание к лабораторной работе

Используя рекурсию, решить задачу, соответствующую варианту, выбранному по таблице 8.1.

Таблица 8.1 – Варианты заданий

Вариант

Задание

1

2

Продолжение таблицы 8.1

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

Окончание таблицы 8.1

21

22

23

24

25

26

27

28

29

30

8.3 Контрольные вопросы

8.3.1 Дайте определение функции.

8.3.2 Что представляет собой описание функции?

8.3.3 С какой целью используются прототипы?

8.3.4 С какой целью в типе функции используется void?

8.3.5 Как осуществляется обращение к функции?

8.3.6 Что понимается под фактическими параметрами?

8.3.7 В чем заключается отличие формальных параметров функции от фактических?

8.3.8 Как осуществляется выход из функции?

8.3.9 В чем заключаются преимущества и недостатки рекурсивных функций?

8.3.10 С какой целью используются локальные и глобальные параметры?

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]