- •9.1. Наследование 62
- •1 Семестр
- •18 Занятий
- •1. Линейные алгоритмы и ветвления
- •1.1. Вычисления по формулам. Использование стандартных математических функций
- •1.2. Целочисленная арифметика. Приведение типов
- •1.3. Логические выражения
- •1.4. Побитовые операции
- •Ветвления
- •Условный оператор
- •Логическое выражение в условном операторе
- •Графики и области на плоскости
- •2. Циклы
- •Простые циклы
- •Циклы с условием
- •Нахождение делителей числа
- •Перебор значений
- •Простые числа
- •Условные циклы
- •Пошаговый ввод данных
- •2.8. Вложенные циклы
- •Итерационные циклы
- •3. Массивы. Указатели
- •Обработка одномерных массивов
- •Простейшие действия над элементами матриц
- •Вложенные циклы с переменными границами
- •Заполнение матрицы значениями, зависящими от индексов
- •3.5. Преобразование матриц
- •3.6. Символьные матрицы
- •4. Строки
- •Обработка последовательностей символов
- •Выделение слов в строке
- •Перевод из одной cистемы счисления в другую
- •15 Занятий
- •Передача имени функции в качестве параметра. Вычисление корня уравнения
- •Сортировка массивов
- •Рекурсия
- •Массивы структур
- •7.4. Стек и очередь
- •8. Классы
- •8.1. Класс «число». Инкапсуляция Объявить класс «натуральное число» и определить его методы. Выполнить задание, используя объекты этого класса.
- •8.3. Класс «вектор»
- •8.4. Перегрузка операций
- •Наследование
- •9.1. Наследование
7.4. Стек и очередь
7.4.1. Создать связанную структуру данных – стек. Разработать функции для выполнения базовых операций над линейными связанными структурами, содержащими записи со сведениями о студентах: ФИО, возраст, пол, курс, успеваемость.
Выполнить задание 6.2.
7.4.2. Создать связанную структуру данных – очередь. Разработать функции для выполнения базовых операций над линейными связанными структурами, содержащими записи со сведениями о студентах: ФИО, возраст, пол, курс, успеваемость.
Выполнить задание 6.2.
8. Классы
8.1. Класс «число». Инкапсуляция Объявить класс «натуральное число» и определить его методы. Выполнить задание, используя объекты этого класса.
Определить число, полученное выписыванием в обратном порядке цифр натурального числа n.
Определить количество и сумму различных десятичных цифр в записи натурального числа n.
Проверить, есть ли в десятичном представлении натурального числа n одинаковые цифры. Вывести эти цифры.
Проверить, является ли введенное с клавиатуры натуральное число n палиндромом.
Найти сумму делителей и определить количество разрядов натурального числа n.
Определить сумму всех общих делителей натуральных чисел n и m
Проверить, является ли натуральное число n совершенным, т.е. равным сумме своих делителей.
Определить количество и сумму различных десятичных цифр в записи натурального числа n.
Определить число, полученное из заданного натурального числа n, путем удаления цифры, значение которой вводится с клавиатуры (если она есть в записи числа). Порядок следования других цифр числа не изменять.
Определить число, полученное из заданного натурального числа n, путем добавления цифры, значение которой вводится с клавиатуры, на место разряда, номер которого вводится с клавиатуры. Порядок следования других цифр числа не изменять.
Определить число, полученное из заданного натурального числа n, путем удаления одинаковых цифр (если они есть в записи числа). Порядок следования других цифр числа не изменять.
Определить число, полученное из заданного натурального числа n, путем повторения одинаковых цифр (если они есть в записи числа). Порядок следования других цифр числа не изменять.
8.2. Конструктор и деструктор
Объявить заданный класс и определить его методы. Реализовать в задании три конструктора (без аргументов, инициализации, копирования) и деструктор. Выполнить задание, используя объекты этого класса.
Определить класс для работы с объектом «комплексное число», которое задается вещественной и мнимой частями. Реализовать: сложение, вычитание, произведение, деление двух чисел, возведение в целочисленную степень, извлечение квадратного корня.
Определить класс для работы с объектом «рациональная дробь» (вида m/n). Реализовать: сложение, вычитание, умножение, деление двух дробей, приведение дроби к несократимому виду, вывод дроби в виде m/n, сравнение двух дробей.
Определить класс для работы с объектом «полином». Ввод осуществить по возрастанию степеней членов полинома. Реализовать: сложение, вычитание, умножение, деление двух полиномов, умножение полинома на число, вычисление значения полинома в заданной точке, интегрирование полинома.
Определить класс для работы с объектом «строка символов». Реализовать: вставку в строку указанного символа в заданную позицию, удаление ведущих пробелов. Добавить в заданную строку отсутствующие символы из второй заданной строки, на позиции с такими же номерами.
Определить класс для работы с объектом «множество целых чисел». Реализовать: объединение двух множеств, пересечение двух множеств, разность двух множеств, добавление элемента во множество, удаление элемента из множества.
Определить класс для работы с объектом «строка символов». Реализовать: сравнение строк, удаление из строки указанного символа. Удалить из заданной строки все символы, встречающиеся во второй заданной строке.
Определить класс для работы с объектом «комплексное число», которое задается своим модулем и углом. Реализовать: сложение, вычитание, произведение, деление двух чисел, возведение в целочисленную степень, извлечение квадратного корня.
Определить класс для работы с объектом «время», которое задается в формате час.минута.секунда. Реализовать (учесть переход через 24 ч.): добавления ко времени заданного количества секунд, вычитания из времени заданного количества секунд, сложения двух моментов времени, вычитание из одного момента времени другого, подсчет числа секунд между двумя моментами времени, лежащими в пределах одних суток.
Определить класс для работы с объектом «строка символов». Реализовать: замену подстроки на подстроку, конкатенацию строк. Заменить в заданной строке заданную подстроку на другую заданную подстроку (столько раз, сколько она встречается в тексте).
Определить класс для работы с объектом «множество действительных чисел». Реализовать: объединение двух множеств, пересечение двух множеств, разность двух множеств, добавление элемента во множество, удаление элемента из множества.
Определить класс для работы с объектом «дата», которое задается в формате число.месяц.год. Реализовать (учесть високосные года): сложение даты с заданным количеством дней, вычитания из даты заданного количества дней, вычисление числа дней, прошедших между двумя датами.
Определить класс для работы с объектом «строка символов». Реализовать: удаление подстроки из строки, проверку, является ли строка палиндромом. Удалить из заданной строки заданную подстроку (столько раз, сколько она встречается в тексте).
