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

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

7.3.1 Что представляют собой файлы?

7.3.2 Какие типы файлов Вам известны?

7.3.3 Какие библиотечные функции применяются при работе с файлами?

7.3.4 Из каких шагов складывается работа с файлами?

7.3.5 Какие операторы используются при работе с файлами?

7.3.6 Перечислите режимы записи данных в файл?

7.3.7 Как добавить данные в файл?

7.3.8 Приведите пример чтения данных из файла.

7.3.9 Приведите пример записи массива в файл.

7.3.10 Каковы особенности записи массива в файл?

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

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

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

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

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

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

{

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

оператор1;

…;

операторы; }

Здесь: тип_функции — тип возвращаемого в основную про­грамму результата;

имя_функции — уникальное имя, соответствующее по смыслу операции, которую выполняет функция (например, max — опре­деление максимального из двух чисел);

список_формальных_параметров — перечень формальных параметров и их типов.

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

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

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

Фактические параметры — это наименования переменных, значения которых при обращении к функции, присваиваются соответствующим формальным параметрам.

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

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

float max(float, float);

Кроме переменных, в качестве формальных параметров в функциях могут выступать и массивы.

Рекурсия - вычислительный процесс, направленный на решение определенной задачи таким образом, что само решение использует этот же процесс, решающий аналогичную подзадачу. В программировании под рекурсией понимают такую реализацию, в которой подпрограмма использует в своем теле вызов самой себя. Такие вызовы называют рекурсивными. Когда функция A в своем теле вызывает только одну рекурсивную функцию (саму себя), то говорят о простой рекурсии. Под косвенной рекурсией понимают явление, когда рекурсивные функции вызывают друг друга (например, функция А вызывает B, а функция B вызывает A).

Рекурсивные алгоритмы сложнее отлаживать, но порой они позволяют очень гибко и красиво решить задачу. Известно, что любой рекурсивный алгоритм можно заменить нерекурсивным, но это будет стоить больше времени на реализацию. Главное, чтобы рекурсивная функция не вызывала себя бесконечно, иначе программа не будет работать. Поэтому при реализации рекурсивных алгоритмов необходимо уделять внимание тому, чтобы алгоритм был конечным, т.е. выполнение рекурсивной функции должно когда-нибудь завершиться.