- •Лабораторная работа 3 Функции
- •Примеры вызовов функций
- •Демонстрация функции без аргументов и не возвращающей значения
- •Демонстрация функции, определенной перед ее вызовом
- •Демонстрация функции с аргументами и не возвращающей значения
- •Демонстрация использования глобальных переменных при обмене данными между функциями
- •Демонстрация использования в функции локальных статических переменных
- •Передача в функцию в качестве параметра переменных разных типов Функция вычисления минимального расстояния между точками плоскости
- •Функция вычисления факториала
- •Функция вычисления хn через умножение
- •Функция определения максимального и минимального из двух чисел
- •Функция с параметром перечисляемого типа
- •Функция, выделяющая целую и дробную части вещественного числа
- •Функция, возвращающая ссылку как результат своей работы
- •Демонстрация inline-функций
- •Демонстрация функции с параметрами по умолчанию
- •Перегрузка функций
- •Перегрузка функций с равным числом аргументов
- •Перегрузка функций с разным числом аргументов
- •Шаблоны семейства функций
- •Рекурсивные функции
- •Рекурсивная функция вычисления факториала
- •Рекурсивная функция вывода на печать символов строки в обратном порядке
- •Рекурсивная функция печати числа в виде строки символов
- •Вычисление нод через итерации и через рекурсивную функцию
- •Вычисление интеграла по методу правых прямоугольников
- •Использование одинаковых вызовов функции для вычисления интеграла разными методами и для разных функций
- •Использование при вычислении интеграла многофайловой компиляции
- •Вычисление корня нелинейного уравнения
- •Правила оформления и вызова функций
- •Элементы оптимизации работы с функциями
Элементы оптимизации работы с функциями
-
устойчивость – идентификация вариантов завершения подпрограммы:
-
отслеживание ошибок на входе и публикация сообщений об этом:
-
выдача сообщения и прекращение работы программы – плохой способ;
-
присваивание специальному параметру определенных значений – не очень хороший способ;
-
контролирующая функция – самый надежный способ для подпрограмм с несколькими вариантами завершения: подпрограмма определяется как функция, которой присваиваются значения, свидетельствующие о варианте ее завершения
-
корректность – правильность вычислений:
-
отдельные алгоритмы – в функции;
-
способы повышения корректности взаимодействия программы с подпрограммами:
-
функции при выполнении вычислений в качестве рабочих используют локальные переменные;
-
передача данных осуществляется через параметры, а не через глобальные переменные
-
для передачи исходных данных используются передача параметров по значению;
-
для передачи в функцию исходных данных большого размера используется передача параметров по указателю или по ссылке;
-
передача параметров по указателю и ссылке используются для возврата из функции результатов;
-
использование в функциях глобальных переменных допускается только в исключительных случаях, например, при реализации набора операций над одной и той же общей (глобальной) переменной;
-
функции должны выполнять контроль своих параметров и вычислений, поэтому их надо оформлять в виде контролирующих функций, чтобы проверять все возвращаемые значения;
-
не надо смешивать в одной функции обработку информации и взаимодействие с внешними устройствами.