Первый слайд презентации
C++ позволяет разделить код программ на части, называемые функциями. Сами функции могут быть записаны и отлажены отдельно от остального кода программы. Возможность разбивать программу на части с последующей отладкой каждой функции в отдельности существенно снижает сложность создания больших программ. Этот подход является, по сути, простейшей формой инкапсуляции. Функцией называют логически обособленный блок кода C++, имеющий следующий вид: < тип возвращаемого значения > name ( < аргументы функции >) { //... return < выражение > } Аргументами функции называются значения, которые можно передать ей при вызове. В возвращаемом значении указывается результат, который функция возвращает по окончании работы. Например, в вызове функции возведения в квадрат square (10) 10 – это аргумент, а возвращаемое значение равно 100.
Слайд 2
Фигурные скобки при написании функции должны быть расположены таким образом, чтобы очевидными были границы блока программного кода. Пример: void myFunction () { // тело функции } И аргументы, и возвращаемое значение функции необязательны. Если какой-либо элемент отсутствует, вместо него используется ключевое слово void. Если вместо списка аргументов используется void, то при вызове функция не получает никаких аргументов. Если же возвращаемый тип функции – void, то вызывающая программа не получает от функции никакого значения.
Слайд 3
Если размер функции небольшой, то её можно расположить в том же файле, где находится функция main(). 1. Описание функции может располагаться ДО функции main(). 3 варианта расположения функций: 1. перед main() ; 2. после main(), с использованием прототипов функций; 3. в заголовочных файлах. Более краткий способ:
Слайд 4
2. Если же функция достаточно объемная, или много мелких функций, то можно перед main() прописать прототип ы функций, а сами функции описать после main(). Прототипом функции называется объявление функции, не содержащее тела функции, но указывающее имя функции, арность (количество аргументов – унарный, бинарный и т.д.), типы аргументов и возвращаемый тип данных.
Слайд 5
Программа, демонстрирующая работу вложенных циклов: 3. Ранее была рассмотрена программа, которая суммировала числа. Эта программа содержала 2 цикла. Во вложенном цикле суммировалась последовательность введенных пользователем чисел. Вложенный цикл был включен во внешний цикл, который повторял процесс, пока пользователь не вводил сразу ноль или отрицательное число.
Слайд 6
Разделение этих двух циклов (внешнего и вложенного) с помощью функции accumulateSumma(), описанной в отдельном – заголовочном – файле accumulateSum.h поможет сделать программу более простой и наглядной. Здесь же нужно изменить имя заголовочного файла. Оставить указанное Расположение без изменений, нажать Добавить, и файл появится в папке с проектом.
Слайд 8
Тип возвращаемого значения Функции могут возвращать значение любого стандартного типа: int, double, char и т.п. Функция, которая ничего не возвращает, известна как void- функция. Инструкция return в void- функциях является необязательной. Примеры void- функций:
Слайд 9
Функции с аргументами Функции без аргументов используются редко, т.к. связь с такими функциями односторонняя, т.е. осуществляется только посредством возвращаемых значений. Аргументы функций позволяют установить двустороннюю связь – через передаваемые параметры и возвращаемое значение. Функции с одним аргументом Аргументами функции называют фактические значения, которые передаются функции во время вызова. Параметр — это переменная, объявленная в определении функции или метода, которая ожидает принять определенное значение при ее вызове. Иными словами, параметр — это место, зарезервированное для передачи аргумента. В определении параметра указывается его имя и тип данных, который он должен принимать.
Слайд 10
Можно из вызываемой функции вызвать очередную функцию. В этом случае очередная вызываемая функция должна быть описана ДО момента ее вызова. Кроме того, в строке 29 сначала передается управление функции sumOfSquare(), а пот ó м уже выводится “ Сумма квадратов… ”.
Слайд 11
(Та же программа) Либо можно использовать прототипы функций. В этом случае порядок расположения прототипов и самих функций неважен.
Слайд 12
Функции с несколькими аргументами = Во втором листинге переменная a, описанная в функции main(), и переменная a, описанная в функции sum(), – это НЕ одна и та же переменная. В функции sum () для a указывается тип данных, а указание типа данных обозначает объявление НОВОЙ переменной.
Слайд 14
В качестве аргументов в функцию можно передавать значения. Но не желательно, т.к. это будут "магические числа" и значения:
Слайд 15
Задача 1. Написать программу с функцией проверки ввода пароля. Использовать тип возвращаемого значения и тип аргумента функции – string.
Слайд 16
Задача 2. Написать программу, в которой функция принимает в качестве параметров 2 числа, которые ввел пользователь. Эта функция сравнивает полученные числа и возвращает в main() значение ‘>’, ‘<‘ или ‘ = ‘. Ввод / вывод данных производится в функции main().
Последний слайд презентации: C++ позволяет разделить код программ на части, называемые функциями. Сами
3. Найти и вывести все трехзначные числа кратные числу N. (Определить функцию) 4. Даны два натуральных числа. Выяснить, в каком из них сумма цифр больше. (Определить функцию для расчета суммы цифр натурального числа.) 5. Даны два натуральных числа. Выяснить, в каком из них больше цифр. (Определить функцию для расчета количества цифр натурального числа.)