- •Часть 1 Функции
- •Содержание
- •Порядок выполнения лабораторных работ
- •Оборудование, технические средства, инструмент
- •Требования к оформлению лабораторных работ
- •Требования к защите лабораторных работ
- •Лабораторная работа №3. Функции
- •3.1 Пример программы с использованием функции, не возвращающей значения
- •Int r; //радиус основания цилиндра
- •3.2 Пример программы с использованием функции, возвращающей значения
- •Int n; // элемент последовательности
- •3.3 Задание 1
- •3.4 Задание 2
- •3.5 Задание 3
-
-
Лабораторная работа №3. Функции
Цель работы: научиться оформлять отдельные фрагменты программ в виде функций.
-
3.1 Пример программы с использованием функции, не возвращающей значения
Рассмотрим программу, выводящую на экран объем цилиндра. Основная программа запрашивает радиус основания и высоту цилиндра и передает их в функцию. (листинг 8) Функция реализует вычисления и вывод результата на экран (рис.14).
Листинг 8 Пример программы с использованием функции
#include <iostream>
#include <math.h>
using namespace std;
void func(int h1, int r1)
{ cout << "\n Объем цилиндра: ";
cout << M_PI*r1*r1*h1 << "\n";
}
int main(void)
{ int h; //высота цилиндра
Int r; //радиус основания цилиндра
cout << "Введите высоту цилиндра:";
cin >> h;
cout << "Введите радиус основания цилиндра:";
cin >> r;
func(h, r);
}
Рисунок 14 – Результат выполнения программы
-
3.2 Пример программы с использованием функции, возвращающей значения
Рассмотрим следующую задачу: вводится последовательность целых чисел, 0 - конец последовательности. Найти минимальное число среди простых чисел и максимальное среди чисел, не являющихся простыми. Целое число называется простым, если оно делится нацело только на само себя и единицу.
Для решения данной задачи создадим функцию prostoe (листинг 9), которая будет проверять, является ли число N простым. Входным параметром функции будет целое положительное число N. Функция будет возвращать значение 1, если число простое и 0 - в противном случае. Результат работы программы находится на рис. 15.
Листинг 9 Пример программы с использованием функции
#include <iostream>
using namespace std;
int prostoe(int N)
{ //Функция определяет, является ли число простым
int i, pr = 1;
for(i = 2;i <= N/2;i++)
if (N % i == 0)
{ pr = 0; break;}
return pr;
}
int main(void)
{ int kp = 0; //счетчик простых чисел
int knp = 0; //счетчик не простых чисел
int min, max;
Int n; // элемент последовательности
cout <<"Введите последовательность целых чисел,";
cout << "\n ноль - конец последовательности\n";
cout << "n = "; // ввод первого элемента
cin >> n; // последовательности
while (n!=0)
{
if (prostoe(n))
{ kp++; //увеличиваем счетчик простых чисел
if (kp == 1) // Предполагаем, что первое
min = n; // простое число минимально,
//если найдется меньшее число, сохраняем его
else if (n < min) min = n;
}
else
{ knp++; //увеличиваем счетчик чисел,
// не являющихся простыми
if (knp == 1 ) // Предполагаем, что первое
max = n; // не простое число максимально,
//если найдется большее число, сохраняем его
else if (n > max) max = n;
}
// ввод следующего элемента последовательности
cout << "n = "; cin >> n;
}
if (kp > 0)
cout << "\n Минимальное простое число - " <<min;
else cout << "\nНет простых чисел!\n";
if (knp > 0)
cout << "\n Максимальное не простое число - " << max << "\n";
else cout << "\nНет не простых чисел!\n";
}
Рисунок 15 – Результат выполнения программы