Очень доброжелательный и компетентный автор. Всегда был на связи, все разъяснил, предоставил несколько вариантов программы. Рекомендую.
Подробнее о работе
Гарантия сервиса Автор24
Уникальность не ниже 50%
Введение 3
Теоретические сведения 3
Объектно-ориентированная парадигма программирования и ее отличия от процедурной парадигмы 3
Классы и объекты в языке C++ 7
Инкапсуляция и наследование 9
Условие задачи 11
Раздел 1. Решение задачи с использованием функций 11
Выбор функций, назначение функций 11
Шаблоны функций 11
Состав данных функции main 12
Блок-схема алгоритма функции main 12
Описание данных функции обработки 13
Блок-схема алгоритма функции average 14
Код консольного приложения с подпрограммами 16
Раздел 2. Консольная программа с использованием класса 18
Описание класса и методов 18
Код консольного приложения с использованием класса 18
Раздел 3. Определение класса-наследника 21
Описание классов и методов 21
Код консольного приложения с использованием класса-наследника 21
Тесты 25
Заключение 31
Список литературы 31
Инкапсуляция и наследование
Инкапсуляция – такое объединение внутри класса полей и методов, при котором доступ к полю возможен только путем вызова соответствующего метода.
При идеальном выполнении принципа инкапсуляции поля класса могут быть только личными (private).
Ниже перечислены уровни инкапсуляции, т. е. уровни доступа к элементам класса:
• private (личный). Этот уровень накладывает самые жесткие ограничения на доступ к элементам класса. Именно эти элементы могут быть использованы только методами данного класса. Как правило, поля класса объявляются private.
• public (общий). Элементы класса данного уровня доступны из любой точки программы (самый «широкий» доступ).
• protected (защищенный). Элементы класса данного класса доступны методам данного класса и его наследников.
...
Выбор функций, назначение функций
Алгоритм вычисления среднего арифметического значения удовлетворяющих определенному условию элементов для каждой из строк матрицы одинаков (с точностью до обозначений и констант) для матриц A, B. Поэтому вычисление этих значений следует оформить как функцию (с названием average), а затем применить ее два раза к конкретным (фактическим) матрицам A, B с разными параметрами, в зависимости от свойства элементов быть положительными либо большими единицы. Алгоритм ввода одинаков для всех матриц, поэтому ввод также будет оформлен как функция (с названием input). Аналогично вывод матриц будет осуществлять функция output. Для вывода результатов функции average на экран создана функция printAverage.
...
Описание данных функции обработки
Описание данных функции average представлено в таблице 3.
Таблица 3. Описание данных функции average
Имя
Смысл
Тип
Структура
Входные данные
mat
заданная матрица
float (вещественный)
двумерный массив с 7 столбцами
n
количество строк
int (целый)
простая переменная
m
количество столбцов
int (целый)
простая переменная
x
значение, задаваемое для выбора элементов для подсчета среднего арифметического значения каждой из строк матрицы
int (целый)
простая переменная
Промежуточные данные
sum
сумма элементов строки, больших x
float (вещественный)
простая переменная
avg
ср. арифм. элементов строки, больших x
float (вещественный)
простая переменная
count
кол.-во элементов строки, больших x
int (целый)
простая переменная
i
индекс строки (текущий)
int (целый)
простая переменная
j
индекс столбца (текущий)
int (целый)
простая переменная
Выходные данные
data
ср. арифм.
...
Код консольного приложения с подпрограммами
#include
#include
Описание класса и методов
Объявление класса начинается с зарезервированного ключевого слова class, после которого написано имя этого класса – maker. Далее объявлен спецификатор доступа private, дающий доступ к полям класса только методам текущего класса. Для методов класса объявлен спецификатор доступа public, то есть методы можно использовать в любой точке программы, где доступно описание класса. Конструктор maker (имя конструктора такое же, как и имя класса) – специальный метод класса, предназначенный для инициализации элементов класса и распределения памяти под поля класса. Деструктор ~maker - специальный метод класса, который служит для уничтожения класса.
...
Код консольного приложения с использованием класса
#include
#include
#include
#include
using namespace std;
class maker
{
private:
float **mat;
int n, m;
char c;
float* avg;
public:
maker(int n, int m, char c);
~maker();
void input();
void output();
void printAverage();
void average(int x);
};
/*Конструктор с выделением памяти под массив*/
maker::maker(int n, int m, char c)
{
this->n = n;
this->m = m;
this->c = c;
mat = new float*[n];
for (int i = 0; i < n; i++)
{
mat[i] = new float[m];
}
avg = new float[n];
}
/*Функция ввода элементов матрицы*/
void maker::input()
{
int i, j;
cout << "Ввод матрицы " << c << ".
...
Код консольного приложения с использованием класса-наследника
#include
#include
#include
#include
using namespace std;
class maker
{
protected:
float **mat;
int n, m;
char c;
float* avg;
public:
maker(int n, int m, char c);
~maker();
void input();
void output();
void printAverage();
void average(int x);
};
/*Конструктор с выделением памяти под массив*/
maker::maker(int n, int m, char c)
{
this->n = n;
this->m = m;
this->c = c;
mat = new float*[n];
for (int i = 0; i < n; i++)
{
mat[i] = new float[m];
}
avg = new float[n];
}
/*Функция ввода элементов матрицы*/
void maker::input()
{
int i, j;
cout << "Ввод матрицы " << c << ".
...
Б. Страуструп. Язык программирования С++. — Издательство: Бином, 2011. – 1136 с.
Не подошла эта работа?
Закажи новую работу, сделанную по твоим требованиям
Введение 3
Теоретические сведения 3
Объектно-ориентированная парадигма программирования и ее отличия от процедурной парадигмы 3
Классы и объекты в языке C++ 7
Инкапсуляция и наследование 9
Условие задачи 11
Раздел 1. Решение задачи с использованием функций 11
Выбор функций, назначение функций 11
Шаблоны функций 11
Состав данных функции main 12
Блок-схема алгоритма функции main 12
Описание данных функции обработки 13
Блок-схема алгоритма функции average 14
Код консольного приложения с подпрограммами 16
Раздел 2. Консольная программа с использованием класса 18
Описание класса и методов 18
Код консольного приложения с использованием класса 18
Раздел 3. Определение класса-наследника 21
Описание классов и методов 21
Код консольного приложения с использованием класса-наследника 21
Тесты 25
Заключение 31
Список литературы 31
Инкапсуляция и наследование
Инкапсуляция – такое объединение внутри класса полей и методов, при котором доступ к полю возможен только путем вызова соответствующего метода.
При идеальном выполнении принципа инкапсуляции поля класса могут быть только личными (private).
Ниже перечислены уровни инкапсуляции, т. е. уровни доступа к элементам класса:
• private (личный). Этот уровень накладывает самые жесткие ограничения на доступ к элементам класса. Именно эти элементы могут быть использованы только методами данного класса. Как правило, поля класса объявляются private.
• public (общий). Элементы класса данного уровня доступны из любой точки программы (самый «широкий» доступ).
• protected (защищенный). Элементы класса данного класса доступны методам данного класса и его наследников.
...
Выбор функций, назначение функций
Алгоритм вычисления среднего арифметического значения удовлетворяющих определенному условию элементов для каждой из строк матрицы одинаков (с точностью до обозначений и констант) для матриц A, B. Поэтому вычисление этих значений следует оформить как функцию (с названием average), а затем применить ее два раза к конкретным (фактическим) матрицам A, B с разными параметрами, в зависимости от свойства элементов быть положительными либо большими единицы. Алгоритм ввода одинаков для всех матриц, поэтому ввод также будет оформлен как функция (с названием input). Аналогично вывод матриц будет осуществлять функция output. Для вывода результатов функции average на экран создана функция printAverage.
...
Описание данных функции обработки
Описание данных функции average представлено в таблице 3.
Таблица 3. Описание данных функции average
Имя
Смысл
Тип
Структура
Входные данные
mat
заданная матрица
float (вещественный)
двумерный массив с 7 столбцами
n
количество строк
int (целый)
простая переменная
m
количество столбцов
int (целый)
простая переменная
x
значение, задаваемое для выбора элементов для подсчета среднего арифметического значения каждой из строк матрицы
int (целый)
простая переменная
Промежуточные данные
sum
сумма элементов строки, больших x
float (вещественный)
простая переменная
avg
ср. арифм. элементов строки, больших x
float (вещественный)
простая переменная
count
кол.-во элементов строки, больших x
int (целый)
простая переменная
i
индекс строки (текущий)
int (целый)
простая переменная
j
индекс столбца (текущий)
int (целый)
простая переменная
Выходные данные
data
ср. арифм.
...
Код консольного приложения с подпрограммами
#include
#include
Описание класса и методов
Объявление класса начинается с зарезервированного ключевого слова class, после которого написано имя этого класса – maker. Далее объявлен спецификатор доступа private, дающий доступ к полям класса только методам текущего класса. Для методов класса объявлен спецификатор доступа public, то есть методы можно использовать в любой точке программы, где доступно описание класса. Конструктор maker (имя конструктора такое же, как и имя класса) – специальный метод класса, предназначенный для инициализации элементов класса и распределения памяти под поля класса. Деструктор ~maker - специальный метод класса, который служит для уничтожения класса.
...
Код консольного приложения с использованием класса
#include
#include
#include
#include
using namespace std;
class maker
{
private:
float **mat;
int n, m;
char c;
float* avg;
public:
maker(int n, int m, char c);
~maker();
void input();
void output();
void printAverage();
void average(int x);
};
/*Конструктор с выделением памяти под массив*/
maker::maker(int n, int m, char c)
{
this->n = n;
this->m = m;
this->c = c;
mat = new float*[n];
for (int i = 0; i < n; i++)
{
mat[i] = new float[m];
}
avg = new float[n];
}
/*Функция ввода элементов матрицы*/
void maker::input()
{
int i, j;
cout << "Ввод матрицы " << c << ".
...
Код консольного приложения с использованием класса-наследника
#include
#include
#include
#include
using namespace std;
class maker
{
protected:
float **mat;
int n, m;
char c;
float* avg;
public:
maker(int n, int m, char c);
~maker();
void input();
void output();
void printAverage();
void average(int x);
};
/*Конструктор с выделением памяти под массив*/
maker::maker(int n, int m, char c)
{
this->n = n;
this->m = m;
this->c = c;
mat = new float*[n];
for (int i = 0; i < n; i++)
{
mat[i] = new float[m];
}
avg = new float[n];
}
/*Функция ввода элементов матрицы*/
void maker::input()
{
int i, j;
cout << "Ввод матрицы " << c << ".
...
Б. Страуструп. Язык программирования С++. — Издательство: Бином, 2011. – 1136 с.
Купить эту работу vs Заказать новую | ||
---|---|---|
0 раз | Куплено | Выполняется индивидуально |
Не менее 40%
Исполнитель, загружая работу в «Банк готовых работ» подтверждает, что
уровень оригинальности
работы составляет не менее 40%
|
Уникальность | Выполняется индивидуально |
Сразу в личном кабинете | Доступность | Срок 1—6 дней |
500 ₽ | Цена | от 500 ₽ |
Не подошла эта работа?
В нашей базе 150502 Курсовой работы — поможем найти подходящую