Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Задания (вариант a).doc
Скачиваний:
1
Добавлен:
01.05.2025
Размер:
957 Кб
Скачать
☆

7.4. Стек и очередь

7.4.1. Создать связанную структуру данных – стек. Разработать функции для выполнения базовых операций над линейными связанными структурами, содержащими записи со сведениями о студентах: ФИО, возраст, пол, курс, успеваемость.

Выполнить задание 6.2.

7.4.2. Создать связанную структуру данных – очередь. Разработать функции для выполнения базовых операций над линейными связанными структурами, содержащими записи со сведениями о студентах: ФИО, возраст, пол, курс, успеваемость.

Выполнить задание 6.2.

8. Классы

8.1. Класс «число». Инкапсуляция Объявить класс «натуральное число» и определить его методы. Выполнить задание, используя объекты этого класса.

  1. Определить число, полученное выписыванием в обратном порядке цифр натурального числа n.

  2. Определить количество и сумму различных десятичных цифр в записи натурального числа n.

  3. Проверить, есть ли в десятичном представлении натурального числа n одинаковые цифры. Вывести эти цифры.

  4. Проверить, является ли введенное с клавиатуры натуральное число n палиндромом.

  5. Найти сумму делителей и определить количество разрядов натурального числа n.

  6. Определить сумму всех общих делителей натуральных чисел n и m

  7. Проверить, является ли натуральное число n совершенным, т.е. равным сумме своих делителей.

  8. Определить количество и сумму различных десятичных цифр в записи натурального числа n.

  9. Определить число, полученное из заданного натурального числа n, путем удаления цифры, значение которой вводится с клавиатуры (если она есть в записи числа). Порядок следования других цифр числа не изменять.

  10. Определить число, полученное из заданного натурального числа n, путем добавления цифры, значение которой вводится с клавиатуры, на место разряда, номер которого вводится с клавиатуры. Порядок следования других цифр числа не изменять.

  11. Определить число, полученное из заданного натурального числа n, путем удаления одинаковых цифр (если они есть в записи числа). Порядок следования других цифр числа не изменять.

  12. Определить число, полученное из заданного натурального числа n, путем повторения одинаковых цифр (если они есть в записи числа). Порядок следования других цифр числа не изменять.

8.2. Конструктор и деструктор

Объявить заданный класс и определить его методы. Реализовать в задании три конструктора (без аргументов, инициализации, копирования) и деструктор. Выполнить задание, используя объекты этого класса.

  1. Определить класс для работы с объектом «комплексное число», которое задается вещественной и мнимой частями. Реализовать: сложение, вычитание, произведение, деление двух чисел, возведение в целочисленную степень, извлечение квадратного корня.

  2. Определить класс для работы с объектом «рациональная дробь» (вида m/n). Реализовать: сложение, вычитание, умножение, деление двух дробей, приведение дроби к несократимому виду, вывод дроби в виде m/n, сравнение двух дробей.

  3. Определить класс для работы с объектом «полином». Ввод осуществить по возрастанию степеней членов полинома. Реализовать: сложение, вычитание, умножение, деление двух полиномов, умножение полинома на число, вычисление значения полинома в заданной точке, интегрирование полинома.

  4. Определить класс для работы с объектом «строка символов». Реализовать: вставку в строку указанного символа в заданную позицию, удаление ведущих пробелов. Добавить в заданную строку отсутствующие символы из второй заданной строки, на позиции с такими же номерами.

  5. Определить класс для работы с объектом «множество целых чисел». Реализовать: объединение двух множеств, пересечение двух множеств, разность двух множеств, добавление элемента во множество, удаление элемента из множества.

  6. Определить класс для работы с объектом «строка символов». Реализовать: сравнение строк, удаление из строки указанного символа. Удалить из заданной строки все символы, встречающиеся во второй заданной строке.

  7. Определить класс для работы с объектом «комплексное число», которое задается своим модулем и углом. Реализовать: сложение, вычитание, произведение, деление двух чисел, возведение в целочисленную степень, извлечение квадратного корня.

  8. Определить класс для работы с объектом «время», которое задается в формате час.минута.секунда. Реализовать (учесть переход через 24 ч.): добавления ко времени заданного количества секунд, вычитания из времени заданного количества секунд, сложения двух моментов времени, вычитание из одного момента времени другого, подсчет числа секунд между двумя моментами времени, лежащими в пределах одних суток.

  1. Определить класс для работы с объектом «строка символов». Реализовать: замену подстроки на подстроку, конкатенацию строк. Заменить в заданной строке заданную подстроку на другую заданную подстроку (столько раз, сколько она встречается в тексте).

  2. Определить класс для работы с объектом «множество действительных чисел». Реализовать: объединение двух множеств, пересечение двух множеств, разность двух множеств, добавление элемента во множество, удаление элемента из множества.

  3. Определить класс для работы с объектом «дата», которое задается в формате число.месяц.год. Реализовать (учесть високосные года): сложение даты с заданным количеством дней, вычитания из даты заданного количества дней, вычисление числа дней, прошедших между двумя датами.

  4. Определить класс для работы с объектом «строка символов». Реализовать: удаление подстроки из строки, проверку, является ли строка палиндромом. Удалить из заданной строки заданную подстроку (столько раз, сколько она встречается в тексте).