Выдержка из работы:
Введение
Функция представляет собой самостоятельную единицу программы, предназначенную для реализации конкретной задачи. Она позволяет разбить общую задачу на более простые подзадачи, повысить понятность программы, сократить повторение одинаковых фрагментов кода и сделать программу более структурированной. Вызов функции приводит к выполнению некоторой законченной последовательности действий, а результат работы функции может использоваться в других вычислениях программы.
Функция в языке C++ может принимать параметры и возвращать значение. Интерфейс функции определяется ее заголовком, в котором указываются имя функции, тип возвращаемого значения и список формальных параметров. Если функция не возвращает результат, используется тип void. Для использования функции в программе компилятор должен знать ее объявление, то есть прототип. Определение функции, помимо заголовка, содержит тело, состоящее из операторов и локальных описаний.
………………………………………
1 Задание на лабораторную работу
Согласно варианту 6 необходимо выполнить три программы: по разделу 5.1, по разделу 5.2 и по разделу 5.3.
1.1 Задание 1. Функции, параметры функций
Требуется определить три функции, выполняющие вычисления по одному и тому же заданию, но с разными способами передачи параметров: по значению, через указатель и по ссылке. Затем необходимо написать программу, которая вызывает эти функции несколько раз с различными параметрами. Для варианта 6 требуется вычислить сумму значений функции
Z = f(sin(x) + cos(y), x + y, 2) + f(x · y, sin(x), cos(y)) + f(sin?(x), x ? y?, y ? x?),
где
f(u, v, t) =
• v · u · t, если u > 1;
• u + t + v, если 0 ? u ? 1;
• v ? t ? u, если u < 0.
1.2 Задание 2. Передача одномерных массивов в функцию
………………………………………
3.2 Программа для задания 2
#include
#include
using namespace std;
double findMax(const double a[], int n)
{
double maxValue = a[0];
for (int i = 1; i < n; i++)
{
if (a[i] > maxValue)
maxValue = a[i];
}
return maxValue;
}
double sumEvenElements(const double a[], int n)
{
double sum = 0;
for (int i = 0; i < n; i++)
{
if (floor(a[i]) == a[i] && (int)a[i] % 2 == 0)
sum += a[i];
}
return sum;
}
void printArray(const double a[], int n)
{
for (int i = 0; i < n; i++)
cout << a[i] << " ";
cout << endl;
}
int main()
{
setlocale(LC_ALL, "Russian");
int n;
cout << "Введите размер массива: ";
cin >> n;
double a[100];
for (int i = 0; i < n; i++)
{
cout << "Введите элемент a[" << i << "]: ";
cin >> a[i];
}
cout << "Исходный массив: ";
………………………………………
4 Результаты выполнения программы
4.1 Результат выполнения задания 1
Пример результата работы программы:
Набор 1: x = 1.000000, y = 2.000000
По значению: 3.433047
Через указатели: 3.433047
По ссылке: 3.433047
Набор 2: x = 0.500000, y = 1.200000
По значению: 6.223415
Через указатели: 6.223415
По ссылке: 6.223415
Набор 3: x = 2.000000, y = -1.000000
По значению: 2.095016
Через указатели: 2.095016
По ссылке: 2.095016
………………………………………