ПрезентацияФункцииЛекции18-23.pptx
- Количество слайдов: 14
ЛЕКЦИЯ 13. 1. Создание подпрограмм-функций 2. Сборка библиотек
Пример использования стандартной библиотечной функции sin() Y=A+sin(x)- 7. 5 *sin(b-3. 2) *sin( 4. 5* d) А что , если ее не было бы?
Структура сложной программы • Любая программа на языке высокого уровня может быть разбита на ряд самостоятельных программных единиц - подпрограмм. Такое разделение вызвано двумя причинами. • Экономия памяти. Каждая подпрограмма записывается в программе один раз, в то время как обращаться к ней можно многократно из разных точек программы. • Структурирование программы. Алгоритм решения задачи может быть достаточно сложным, поэтому целесообразно выделить самостоятельные смысловые части алгоритма и оформить их в виде подпрограмм. • В языке Си существует один вид подпрограмм, который называется функция. • Каждая программа должна иметь главную функцию (main), которая служит точкой входа в программу.
Функции • Функция – это автономная часть программы, реализующая определенный алгоритм и допускающая обращение к ней из различных частей программы. • в языке С++ существует два вида функции • Типовая • Без типовая.
задача В трех разного размера матрицах найти среднее значение их элементов. Матрицы могут содержать любые числа. (см. Текст Программа. Функция 1 )
Описание функции содержит заголовок списком формальных параметров типовая и тело функции. без типовая Тип Имя. Функции (список формальных параметров) { Описание локальных переменных; Операторы тела функции; return результат; } void Имя. Функции (список формальных параметров) { Описание локальных переменных; Операторы тела функции; }
Обращение к функции Для того чтобы вызвать функцию до ее вызова о ней должно быть известно компилятору. Это значит, что • текст функции нужно поместить до функции main() • либо перед main() записaть прототип функции. Прототип функции - это заголовок функции, в конце которого ставится “; ”.
Согласование параметров • Формальные и фактические параметры должны быть согласованы друг с другом по • количеству • типу • и порядку следования. Это означает, что количество формальных параметров должно быть равно количеству фактических параметров; каждый формальный параметр должен иметь тот же тип и занимать в списке то же место, что и соответствующий ему фактический параметр.
Механизм замены параметров В языке Си существует два механизма передачи параметров в функции: • по значению • по адресу
Механизм замены параметров • по значению Результат работы типовой функции возвращается в точку вызова с помощью оператора return. Таким образом, функция может вернуть только одно скалярное значение.
Механизм замены параметров • по адресу • Если функция должна вернуть несколько результатов, то этот возврат реализуется с помощью параметров, передаваемых по адресу. ( Безтиповая функция) • При передаче параметров по адресу все действия в функции выполняются непосредственно над фактическим параметром, а не его копией. Поэтому любое изменение формального параметра приводит к изменению соответствующего ему фактического параметра.
иллюстрация механизма передачи параметров Пример 1 Пример 2
Параметры-массивы в функциях • Массивы, так же как и простые переменные, можно передавать в функции в качестве параметров. • Так как имя массива – это адрес, то передача массива происходит всегда по адресу. Любое изменение элементов массива в функции приведет к изменению массива в целом в прогаммею
иллюстрация механизма передачи параметров Пример 1 /* #include <stdio. h> void { y=l; } Z (int у) void main() { int х; x=0; Z(x); printf(“x=%d”, x); } Пример 2 #include <stdio. h> void Z (int *у) { *y=1; } void main() { int х; х=0; Z(&x); printf(“x=%d”, x); }
ПрезентацияФункцииЛекции18-23.pptx