Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Лекции по проге / 12_Функции, определяемые пользователем

.pdf
Скачиваний:
31
Добавлен:
14.03.2016
Размер:
209.62 Кб
Скачать

Пример определения входных данных для функции

printPoint() - печать на экран координат некоторой точки на плоскости

Входные данные:

два дробных числа одинарной точности — координаты точки

11

Задание на объявление функции

Определить способы реализации входных данных. Задать прототип функции printPoint() - печать на экран координат некоторой точки на плоскости в формате (x, y)

Входные данные:

два дробных числа одинарной точности — коор-

динаты точки

12

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

/*! Вариант a) — используем скалярные аргументы

*Печать координат точки на плоскости

*\param [in] x - x-координата

*\param [in] y - у-координата

*/

void printPoint(float x, float y);

/*! Вариант b) — используем массив

*Печать координат точки на плоскости

*\param [in] coordinates — координаты точки

*/

void printPoint(const float coordinates[2]);

13

Выходные данные: способы реализации

Возвращаемое значение — наиболее предпочтительный способ; применяется, когда возвращается одно значение

Выходные аргументы — используется, когда возвращаемых данных много

Совместное использование выходных аргументов и возвращаемого значения — обычно используется, когда возвращаемых данных много и одним из них является флаг об успешном исполнении функции

14

Возвращаемое значение

 

Скалярные типы

Массивы

 

Возвращаемое

+

указатель на элемент

Выходные

значение [return]

массива

данные

 

 

 

 

 

Функция может возвращать только одно значение, в том числе, структурированного типа

Однако массивы возвращать из функции нельзя ― можно возвратить только указатель на элемент массива, который был передан в функцию

Функция может не возвращать значение

15

Возвращаемое значение

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

<тип возвращ. значения> <имя функции>(...)

Для непосредственного возвращения значения из функции используется оператор return:

return <выражение>;

<выражение> должно быть согласовано по типу с 16 возвращаемым значением функции

Выходные аргументы

 

Скалярные типы

Массивы

 

Выходные аргу-

переданные по

+

Выходные

менты [out]

адресу

данные

 

Выходные аргументы скалярных типов данных и типа "структура" передаются по адресу, т.к. требуется их модификация внутри функции и возврат результата в вызывающую программу

Если выходным аргументом является массив, то он передается как есть (по адресу), что позволяет без

помех записать в него результат работы функции

17

Задание на определение выходных данных для функции

Определить входные и выходные данные, а так же способ их реализации для функции min() - поиск минимума двух значений

18

Пример определения выходных данных для функции

Функция min() - поиск минимума двух значений

Входные данные - два вещественных числа одинарной точности

Выходные данные - минимальное значение из двух:

a)возвращаемое значение - вещественное значение одинарной точности

b)выходной аргумент minimum - вещественное значе-

19

ние одинарной точности

 

Задание на объявление функции

Задать прототип функции min() - поиск минимума двух значений

Входные данные:

a и b - вещественные числа одинарной точности

Выходные данные - минимальное значение из двух:

a)возвращаемое значение - вещественное значение одинарной точности

b)выходной аргумент minimum - вещественное значе-

20

ние одинарной точности