
2 семестр ФИБС / Информатика / Практика 2 / ПР2
.docxМИНОБРНАУКИ РОССИИ
Санкт-Петербургский государственный
электротехнический университет
«ЛЭТИ» им. В.И. Ульянова (Ленина)
Кафедра ИИСТ
отчет
по практической работе №2
по дисциплине «Информационные технологии»
Тема: Введение в объектно-ориентированное программирование
Студентка гр. номер |
|
ФИО |
Преподаватель |
|
Куракина Н.И |
Санкт-Петербург
20__
Цель работы.
Написать программу с использованием понятия класса и нового типа данных «Массив» на языке С++.
Задание.
Написать программу, определяющую максимальное, минимальное, среднее арифметическое и среднее геометрическое значение в одномерном массиве целого типа. Используя понятие класса, создать новый тип данных «Массив». Предусмотреть:
· динамическое выделение памяти под массив (конструктор);
· заполнение элементов массива оформить в виде функции-члена;
· определение максимального, минимального и средних значений оформить в виде отдельных функций-членов.
Основные теоретические положения.
Что такое классы в С++?
Классы в программировании состоят из свойств и методов. Свойства — это любые данные, которыми можно характеризовать объект класса (его переменные). Методы — это функции, которые могут выполнять какие-либо действия над данными (свойствами) класса. В ООП существует три основных принципа построения классов:
Инкапсуляция — это свойство, позволяющее объединить в классе и данные, и методы, работающие с ними и скрыть детали реализации от пользователя.
Наследование — это свойство, позволяющее создать новый класс-потомок на основе уже существующего, при этом все характеристики класса родителя присваиваются классу-потомку.
Полиморфизм — свойство классов, позволяющее использовать объекты классов с одинаковым интерфейсом без информации о типе и внутренней структуре объекта.
Все свойства и методы классов имеют права доступа. По умолчанию, все содержимое класса является доступным для чтения и записи только для него самого. Для того, чтобы разрешить доступ к данным класса извне, используют модификатор доступа public. Все функции и переменные, которые находятся после модификатора public, становятся доступными из всех частей программы. Закрытые данные класса размещаются после модификатора доступа private. Если отсутствует модификатор public, то все функции и переменные, по умолчанию являются закрытыми.
Что такое функции-члены?
Функции-члены реализуют набор операций, применимых к объектам класса. Хотя у любого объекта класса есть собственная копия всех данных-членов, каждая функция-член существует в единственном экземпляре. Функции, определённые прямо в теле класса, называются встроенными. Так как встроенные функции-члены должны быть определены в каждом исходном файле, где они вызываются, то встроенную функцию, не определенную в теле класса, следует поместить в тот же заголовочный файл, в котором определен ее класс.
Функции-члены отличаются от обычных функций следующим:
- Функция-член объявлена в области видимости своего класса, следовательно, ее имя не видно за пределами этой области. К функции-члену можно обратиться с помощью одного из операторов доступа к членам – точки (.) или стрелки (->)
- Функции-члены имеют право доступа как к открытым, так и к закрытым членам класса, тогда как обычным функциям доступны лишь открытые. Конечно, функции-члены одного класса, как правило, не имеют доступа к данным-членам другого класса.
Как написать рассчитать среднее геометрическое значение?
Для расчёта среднего геометрического необходимо сначала перемножить все элементы массива, а потом возвести полученное число в степень 1/n, где n – количество элементов в массиве с применением функции pow.
Как рассчитать среднее арифметическое значение?
Для расчёта среднего арифметического необходимо найти сумму всех элементов массива, а потом разделить полученное число на количество всех элементов в массиве.
Результаты работы.
Общий вид программы:
Запускаем программу для выполнения.
При запуске программа требует ввести массива. Для проверки введём длину массива 10.
Теперь требуется заполнить массив элементами. Заполняем различными целыми числами через «пробел».
В результате программа определяет максимальное, минимальное, среднее арифметическое и среднее геометрическое значение элементов массива.
Проверим правильность работы программы с помощью калькулятора.
Посчитаем
среднее арифметическое. Как видно,
среднее арифметическое рассчитано
верно, программа округляет значение до
сотых.
Посчитаем среднее геометрическое с помощью степени. Значение рассчитано верно, программа округлила значение до сотых.
Максимальное и минимальное значение можно проверить самостоятельно. Значение также определены верно.
Выводы.
В результате выполнения практической работы была написана программа, определяющая максимальное, минимальное, среднее арифметическое и среднее геометрическое значение в одномерном массиве целого типа. Получен навык работы с классами, функциями-членами и функциями библиотеки <cmath>. Проверена корректность работы программы с помощью калькулятора. Программа работает правильно, для проверки использован массив из 10-ти случайных элементов.