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

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

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

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

/*! Поиск минимума двух значений — используем возвращаемое значение

*\param [in] a - первое значение

*\param [in] b - второе значение

*\return - минимальное значение из двух

*/

float min_1(float a, float b);

/*! Поиск минимума двух значений — используем выходной аргумент

*\param [in] a - первое значение

*\param [in] b - второе значение

*\param [out] minimum - минимальное значение из двух

*/

21 void min_2(float a, float b, float *minimum);

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

1) Используя min_1(), найти минимум из двух константных значений 3.9 и 5, результат записать в переменную min_value

2) Используя min_2(), вычислить выражение: result = (минимум из двух значений k и m) + 1

где int k = 34; float m = 33.333; float result;

3) Используя min_1() и min_2(), найти минимальное значение массива float mass[] = {3.9, .9, 2.222};

22

результат записать в переменную min_value

 

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

//Поиск минимума двух константных значений float min_value;

min_value = min_1(39.5, 5);

//Поиск минимума двух переменных

int k = 34; float m = 33.333; int result; min_2(k, m, &result); result++;

// Поиск минимального значения среди элементов массива float mass[] = {3.9, .9, 2.222};

min_value = min_1( mass[0], min_1(mass[1], mass[2]) );

min_2(mass[1], mass[2], &min_value); 23 min_2(mass[0], min_value, &min_value);

Задание на реализацию функции

Реализовать функции

/*! Поиск минимума двух значений

*\param [in] a - первое значение

*\param [in] b - второе значение

*\return - минимальное значение из двух

*/

float min_1(float a, float b);

/*! Поиск минимума двух значений

*\param [in] a - первое значение

*\param [in] b - второе значение

*\param [out] minimum - минимальное значение из двух

*/

24 void min_2(float a, float b, float *minimum);

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

/*! Поиск минимума двух значений

*\param [in] a - первое значение

*\param [in] b - второе значение

*\return - минимальное значение из двух

*/

float min_1(float a, float b)

{

float result;

if(a

>

b)

result = b;

else

 

 

result = a;

return

result;

}

25

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

/*! Поиск минимума двух значений

*\param [in] a - первое значение

*\param [in] b - второе значение

*\param [out] minimum - минимальное значение из двух

*/

void min_2(float a, float b, float *minimum);

{

if(a

> b)

*minimum

=

b;

else

 

*minimum

=

a;

}

26

Дополнительное задание на определение входных и выходных данных для функции

Определить входные и выходные данные для функции fourth_vertex_1 ()

Назначение функции: рассчитать координаты четвертой вершины прямоугольника (стороны прямоугольника параллельны осям координат)

27

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

Функция fourth_vertex_1 ()

Назначение функции: рассчитать координаты четвертой вершины прямоугольника (стороны прямоугольника параллельны осям координат)

Входные данные: координаты трех вершин прямоугольника — (x_a, y_a), (x_b, y_b), (x_c, y_c) — вещественные значения двойной точности

Выходные данные: координаты четвертой вершины прямоугольника — (x_d, y_d)

28

Дополнительное задание на объявление функции

Выбрать способ реализации входных и выходных данных функции. Объявить функцию fourth_vertex_1() (задать прототип)

Назначение функции: рассчитать координаты четвертой вершины прямоугольника (стороны прямоугольника параллельны осям координат)

Входные данные: координаты трех вершин прямоугольника — (x_a, y_a), (x_b, y_b), (x_c, y_c) — вещественные значения двойной точности

Выходные данные: координаты четвертой вершины

29 прямоугольника — (x_d, y_d)

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

/*!

*Определить четвертую вершину прямоугольника

*(стороны прямоугольника параллельны осям координат)

*\param [in] x_a, y_a координаты первой вершины

*\param [in] x_b, y_b координаты второй вершины

*\param [in] x_c, y_c координаты третьей вершины

*\param [out] x_d, y_d координаты четвертой вершины

*/

void fourth_vertex_1 ( double x_a, double x_b, double x_c, double *x_d,

double y_a, double y_b, double y_c, double *y_d );

30