Программирование
Тип работы: | Все Задача Курсовая работа Лабораторная работа Ответы на вопросы |
Язык программирования: | Все Basic C C# C++ Delphi Fortran Free Basic HTML Java Pascal Pascal ABC Turbo Pascal VBA Ассемблер |
Блок-схема: | Все Есть Нет |
-
120 руб.
Создать иерархию классов, состоящую из одного базового класса и не менее двух классов-наследников. Сделать программу, демонстрирующую функциональность этих классов.
3. Базовый класс – Спортсмен, производные классы – Тренер, Атлет (участник соревнований) -
200 руб.
Создать код на C++, реализующий сортировку исходного массива методом выбора, не выполняя при этом физического перемещения в памяти элементов массива.
Каждый элемент массива содержит сведения об участнике кошачье выставки: кличку, год рождения, получен/не получен ветеринарный пропуск.
Исходные данные массива могут либо вводиться с клавиатуры, либо читаться из файла.
Сортировка должна быть возможна по любому сведению (и по кличке, и по году рождения, и по наличию/отсутствию ветпропуска) как в порядке возрастания, так и в порядке убывания.
Указание: следует создать массив указателей, который на момент запуска процедуры сортировки ■ содержит адреса исходных ячеек массива.
-
250 руб.
Написать программу «Моя записная книжка». Одна запись содержит фамилию и имя, дату рождения и номер телефона. База хранится в текстовом файле.
Предусмотреть возможность работы с произвольным числом записей, поиска записи по дате рождения, добавления и удаления записей.
Хранение данных организовать с применением класса tree.
-
Упражнение Д6.5. Напишите программу, которая создаёт контейнер типа list<double> и заполняет его десятью элементами, вставляя их в порядке возрастания значений.
-
Написать программу соответствия между числом и цветом фона (0-черный, 1-голубой,2-зеленый, 3-васильковый, 4-красный, 5-фиолетовый, 6-коричневый, 7-светло-серый).
-
Даны два файла одного и того же типа. С помощью процедур BlockRead и BlockWrite добавить к первому файлу содержимое второго файла, а ко второму файлу — содержимое первого.
-
Разработка графического интерфейса приложения «Цвет». С помощью меню и диа-логового окна выбрать цвет и на рабочей области родительского окна вывести название цвета, за-крашенное заданным цветом.
-
1 000 руб.
Разработка системы имитационного моделирования работы строительных машин.
Условие: на строительстве здания занято 3 машины (экскаватор и 2 бульдозера), машины периодически ломаются, математические ожидания межремонтного (рабочего) времени равны: для экскаватора – 4 часа, для бульдозера – 6 часов. Машины работают две смены подряд (16 часов). Третья смена используется для профилактики (в случае необходимости в 3-ю смену ведется ремонт). Таким образом, каждый рабочий день машины начинают в исправном состоянии. После каждого отказа машины подвергаются ремонту. Обслуживает машины бригада из двух слесарей (6 и 3 разряд). Продолжительность ремонта – случайная величина, распределенная по экспоненциальному закону, зависит она от типа машины и от состава бригады. Математические ожидания продолжительности ремонта:
Состав бригады
Экскаватор
Бульдозер
Бульдозер
Слесарь 3-го разряда
2 часа
Не может
Не может
Слесарь 6-го разряда
1 час
2 часа
2 часа
Вместе
0,25 часа
1,5 часа
1,5 часа
Межремонтное время также распределено по экспоненциальному закону. Простой машин приносит следующие убытки: экскаватор – 5000 рублей/час, бульдозер – 3000 рублей/час. Работа машин приносит следующий доход – экскаватор – 5000 рублей/час, бульдозер – 3000 рублей/час. Слесарь 6-го разряда получает 1000 рублей/час за ремонт, слесарь 3-го разряда получает 600 рублей/час. Накладные расходы на бригаду – 500 рублей/час. Требуется определить экономическую целесообразность увольнения слесаря 3-го разряда.
-
Вариант №6
- Задан массив A из N элементов. Сформировать массив B, coдержащий только те элементы массива A, значение которых больше заданного числа X. Значения X, N и элементы массива A ввести с клавиатуры.
- В матрице размерами N*M (N и M не больше 10) определить сумму элементов той строки, где расположен максимальный элемент. Размеры матрицы задать при помощи ввода, а саму матрицу сформировать из случайных чисел в диапазоне от 0 до 100.
- Вводится строка произвольного текста. Поменять местами ее первое и последнее слово (слова разделены пробелами)
- Вводится строка произвольного текста. Подсчитать количество гласных букв в ней.
Вариант №16
- Заданы два массива X и Y из N элементов каждый. Сформировать и вывести на печать массив Z из 2*N элементов, в котором элементы массивов X и Y чередуются.
- Сформировать и отпечатать "шахматную" матрицу, т.е. матрицу размерами 8*8, состоящую из нулей и единиц, расположенных в шахматном порядке.
- Вводится строка произвольного текста. Удалить из нее все пробелы и вывести, сколько пробелов было удалено.
- Вводится строка произвольного текста. Удвоить первое слово.
Вариант №26
- В отсортированный массив вставить произвольное число, введенное с клавиатуры, в нужное место.
- В целочисленной матрице A размерами N*M вычислить количество элементов, имеющих нечетные значения, в каждой строке. Размеры матрицы задать при помощи ввода, а саму матрицу сформировать из случайных чисел в диапазоне от 0 до 50.
- В заданной строке текста удалить части текста, заключённые в скобки.
- Вводятся две строки произвольного текста. Найти позицию первого несовпадающего символа или вывести сообщение о том, что строки равны.
- В текстовый файл записать 20 чисел. Программа должна переставить местами первое число с максимальным из чисел чисел (разрешается использовать для этой цели массив в оперативной памяти).
- Разработать библиотечный модуль, содержащий следующие подпрограммы (процедуры или функции) для работы со строками:
А. Подсчитать количество букв в последнем слове заданной строки
Б. Заменить в заданной строке все заглавные буквы на строчные.
В. Удалить все знаки препинания.
Написать программу, к которой подключается модуль, демонстрирующую работоспособность всех подпрограмм модуля.
Задание №1. Программирование линейных алгоритмов.
- 1. Найти площадь кольца, внутренний радиус которого равен r, а внешний – заданному числу R (R>r).
- 2. Составьте программу, находящую произведение и результат деления двух обыкновенных дробей.
Задание 2. Программирование ветвящихся алгоритмов.
- Определить, равен ли квадрат заданного трехзначного числа кубу суммы цифр этого числа.
- Дан круг радиуса R. Определить, поместится ли правильный треугольник со стороной а в этом круге.
- Дано натуральное число N. Если оно делится на 4, вывести на экран ответ N=4k (где k соответствующее частное); если остаток от деления на 4 равен 1, N=4k+1; если остаток от деления на 4 равен 2, N=4k+2; если остаток от деления на 4 равен 3, N=4k+3.
Например, 12 - 43, 22 - 45+2.
Задание 3. Программирование циклических алгоритмов.
- 1. Дано натуральное число N. Вычислить:
- 2. Вычислить: y=cosx+cosx2+cosx3+…+cosxn.
Задание 4. Линейные массивы. Сортировка массивов.
- 1. Найти произведение всех элементов массива вещественных чисел, меньших заданного числа. Размерность массива –10. Заполнение массива осуществить случайными числами от 50 до 100.
- 2. Вычислить среднее арифметическое значение тех элементов одномерного массива, которые попадают в интервал от –2 до 10.
- 3. Даны два линейных массива одинаковой размерности. Составить третий массив из произведений элементов первых двух массивов, стоящих на местах с одинаковым индексом.
- Задание 1.1.
Составить программу для вычисления по формулам. Предусмотреть задание исходных данных при помощи оператора ввода.
В треугольнике заданы сторона a и углы В и С. Найти площадь S и стороны b и c:
;;;
- Задание 1.2.
Составить блок-схему алгоритма и программу с использованием условного оператора. Предусмотреть задание исходных данных при помощи оператора ввода.
Дано действительное число А. Вычислить F(А),если
- Задание 1.3.
Составить блок-схему алгоритма и программу для вычисления суммы бесконечного сходящегося ряда. Суммирование прекратить при появлении в сумме слагаемых, имеющих абсолютную величину, меньшую заданной погрешности d. Значение d задается при помощи оператора ввода.
(суммировать отдельно слагаемые со знаком + и слагаемые со знаком -.Затем второе значение вычитается из первого)
- Задание 1.4
Составить программу для выполнения заданных действий над массивом чисел. В программе предусмотреть ввод значений его элементов.
В заданном массиве К из N элементов найти сумму элементов, имеющих четные номера, и произведение элементов ,имеющих нечетные номера.
-
400 руб.
Практическая работа № 5
Алгоритм поиска в отсортированных массивах
Постановка задачи
Составить программу поиска заданного элемента по ключу в одномерном целочисленном массиве A[n], используя алгоритм согласно варианту индивидуального задания. Провести тестирование программы на исходном массиве, сформированном вводом с клавиатуры. Рабочий массив A сформировать с использованием генератора псевдослучайных чисел. Провести контрольные прогоны программы для размеров массива n = 100, 1000, 10000, 100000 и 1000000 элементов в трех режимах: на массивах, строго убывающих, строго возрастающих и случайных чисел и сделать вывод о зависимости (устойчивости) алгоритма от исходной упорядоченности массива.
Провести эмпирическую (практическую) оценку вычислительной сложности алгоритма, для чего предусмотреть в программе подсчет фактического количества операций сравнения Сф.
Полученные результаты свести в сводную таблицу. Построить в одной координатной плоскости графики зависимости теоретической О(n)=f(С(n)) и эмпирической (Сф(n)) вычислительной сложности алгоритма от количества элементов в массиве n.
Сравнить вычислительную сложность алгоритма с вычислительной сложностью алгоритма последовательного поиска. Экспериментально оценить долю случаев, когда последовательный поиск выполняется быстрее, чем быстрый поиск.
Провести анализ полученных результатов. Сделать выводы о проделанной работе, основанные на полученных результатах.
Сводная таблица результатов
n
f(C)
Cф
100
1000
10000
100000
1000000
Варианты индивидуальных заданий
№
Алгоритм
5.1
Двоичного поиска
5.2
С использованием бинарного дерева поиска
5.3
Фибоначчиего поиска
5.4
Поиска хэшированием
5.5
Поиска по бору
5.6
Поиска Рабина-Карпа
Практическая работа № 6
Алгоритмы поиска строк в тексте
Постановка задачи
Составить программу поиска первого вхождения заданной строки P длиной m символов в тексте S, размером n символов, используя алгоритм согласно варианту индивидуального задания. Уточнение: настоящая задача поиска сводится к нахождению в тексте (массиве) S индекса, начиная с которого строка P полностью совпадает с фрагментом текста S. В частном случае заданная строка может отсутствовать в тексте.
Провести тестирование программы на исходном массиве, сформированном вводом с клавиатуры.
Рабочий текст (массив) сформировать из произвольного текстового файла, например, романа Л.Н. Толстого «Война и мир». Провести контрольные прогоны программы как минимум на трех текстовых файлах различной длины.
Провести эмпирическую (практическую) оценку вычислительной сложности алгоритма, для чего предусмотреть в программе подсчет фактического количества операций посимвольного сравнения Сф и сдвигов подстроки Мф относительно текста.
Полученные результаты свести в сводную таблицу. Построить в одной координатной плоскости графики зависимости теоретической О(n)=f(С+М) и эмпирической (Сф+Мф) вычислительной сложности алгоритма от размера текста (количества элементов в массиве) n.
Сравнить вычислительную сложность алгоритма с вычислительной сложностью алгоритма прямого поиска строки.
Провести анализ полученных результатов. Сделать выводы о проделанной работе, основанные на полученных результатах.
Сводная таблица результатов
n
f(C+М)
Cф+Мф
Варианты индивидуальных заданий
№
Алгоритм
6.1
Прямого поиска строки
6.2
Кнута-Морриса-Пратта
6.3
Бойера-Мура
6.4
Поиска хэшированием
Практическое задание №7
Линейные динамические списки
- 1. Однонаправленные списки
Постановка задачи
Определите список операции над списками варианта, включая операцию добавления узла в начало списка, вывода списка. Разработайте для каждой операции функцию с параметрами. Информационная часть узла имеет тип int.
Реализуйте программу решения задачи варианта.
Вариант 1
Даны два линейных однонаправленных списка L1 и L2. Разработать процедуру, которая формирует список L, включив в него по одному разу элементы, значения которых входят хотя бы в один из списков L1 и L2.
Вариант 2
Даны два линейных однонаправленных списка L1 и L2. Разработать процедуру, которая формирует список L, включив в него по одному разу элементы, значения которых входят одновременно в оба списка L1 и L2.
Вариант 3
Даны два линейных однонаправленных списка L1 и L2. Разработать процедуру, которая формирует список L, включив в него по одному разу элементы, значения которых входят в список L1 и не входят в список L2.
Вариант 4
Даны два линейных однонаправленных списка L1 и L2. Разработать процедуру, которая формирует список L, включив в него по одному разу элементы, значения которых входят в один из списков L1 и L2 и в не входят в другой.
- 2. Двунаправленные списки
Постановка задачи
Разработать многомодульную программу, которая демонстрирует выполнение всех операций, определенных вариантом, над линейным двунаправленным динамическим списком.
Требования к разработке.
- Разработать структуру узла списка, структура информационной части узла определена вариантом. Для определения структуры узла списка, используйте тип struct. Сохраните определение структуры узла в заголовочном файле.
- Разработайте функции для выполнения операции над линейным динамическим списком:
- вывод списка в двух направлениях
- поиск узла с заданным значением (операция должна возвращать указатель на узел с заданным значением).
- Дополнительные операции над списком, указанные вариантом оформите в виде функций и включите в отдельный файл с расширением cpp. Подключите к этому файлу заголовочный файл с определением структуры узла.
- Разработайте программу, управляемую текстовым меню, и включите в меню демонстрацию выполнения всех операций задания и варианта.
- Проведите тестирование операций.
- Оцените сложность алгоритма первой дополнительной операции для реализации линейного списка:
- на линейном динамическом списке
- на одномерном массиве.
Примечание. В определении информационной части узла варианта, подчеркнутое поле считать полем ключа.
Варианты
Вариант
Тип информационной части узла списка
Дополнительные Операции
1
Номер зач. книжки, Номер группы, Оценка.
Вставить новый узел перед первым узлом с таким же ключом, если такого узла еще нет, то вставить перед первым узлом, у которого ключ больше.
Удалить узлы с указанным номером группы.
Сформировать новый список из исходного, включив в него узлы с оценкой неуд, исключив их при этом из исходного списка.
2
Номер телефона (из 7 цифр), время разговора (целое число), номер телефона вызываемого абонента.
Добавить новый узел в список, упорядочивая узлы по первым четырем цифрам телефона в порядке возрастания.
Удалить последний узел с заданным значением телефона.
Подсчитать суммарное время разговора с заданного телефона.
3
Номер абонемента, Название книги, дата выдачи, дата возврата, дата фактического возврата.
Вставить новый узел в список после последнего узла с таким же номером абонента(дата фактического возврата еще не заполнена).
Изменить значение поля фактической даты возврата по указанной книге, указанного абонемента.
Удалить узлы, в которых дата возврата и дата фактического возврата совпадают.
Определить количество книг, заданного абонемента.
4
Номер мед. полиса, Дата обращения, Код диагноза (число).
Вставка нового узла перед первым узлом с заданным значением Мед. полиса, если такого нет, то узел вставить в конец списка.
Удаление из списка всех узлов с заданным значением Кода диагноза.
Переместить все узлы с одинаковым мед. полисом в новый список.
Определить количество обращений в одну и туже дату с одним и тем же диагнозом.
5
Номер счета в банке, дата, вид операции (приход или расход), сумма вклада.
Вставка нового узла перед первым узлом.
Удаление сведений по счету (всех узлов), у которого общая сумма вклада равна нулю ( сумма по приходу, минус сумма по расходу).
Создать новый список из исходного, которого будет содержать остаток по всем видам операций одного счета, указав вид операции – приход, и текущую дату.
6
Номер автобусного маршрута, время отправления (целое число), номер автобуса, стоимость одной поездки, дата отправления.
Вставить новый узел после последнего узла с заданным номером автобуса.
Удалить все узлы заданного автобуса.
Подсчитать, сколько раз автобус выходил на маршрут в течении заданного дня.
-
250 руб.
Написать компьютерную программу, содержащую
1. Описание класса vect, содержащего:
1. 1. Скрытые данные, описывающие размерность вектора и массив со значениями элементов вектора;
1. 2. Открытые данные, описывающие количество созданных векторов (static) и номер вектора;
1. 3. Набор конструкторов класса, включающий конструктор по умолчанию и конструктор копирования;
1. 4. Деструктор;
1. 5. Оператор-функции:
- сложения векторов,
- вычитания векторов,
- унарный минус,
- умножения числа на вектор,
- скалярного произведения векторов,
- присваивания;
1. 6. Описание дружественного класса matr.
2. Описание класса matr для квадратной матрицы, содержащего:
2. 1. Скрытые данные, описывающие размерность матрицы и массив со значениями элементов матрицы;
2. 2. Открытые данные, описывающие количество созданных матриц (static) и номер матрицы;
2. 3. Набор конструкторов класса, включающий конструктор по умолчанию и конструктор копирования;
2. 4. Деструктор;
2. 5. Оператор-функции:
- сложения матриц,
- вычитания матриц,
- унарный минус,
- умножения числа на матрицу,
- произведения матриц,
- умножения матрицы на вектор,
- присваивания.
2. 6. Функцию main, содержащую сценарий тестирования инструментария векторной алгебры.
Конструкторы, деструкторы и оператор-функции должны содержать вывод на экран сообщений о том, какие вектора и матрицы (по номерам) участвуют в преобразованиях. -
250 руб.
По каждому цеху предприятия имеются плановые и фактические показатели выпуска товарной продукции. Количество цехов не превышает 16. Для отдельных цехов и по предприятию в целом подсчитать средний процент выполнения плана, а также определить количество цехов, выполнивших план менее чем на 100%, 120%, 140%, 200%. Результат распечатать в виде двух таблиц:
Таблица 1.
Сведения о цехах, выполнивших план не более чем на .... процентов
Таблица 2
Указания: Заполнить исходную таблицу и отсортировать ее по возрастанию процента выполнения плана. Заполнить таблицу 2. После этого в цикле, пока не откажется пользователь
- запрашивать верхнюю границу процента выполнения плана,
- копировать из исходной в рабочую таблицу строки с процентом выполнения плана не более заданного
- выдавать сведения о цехах.
.
250 руб.1. Описание класса vect, содержащего:
1. 1. Скрытые данные, описывающие размерность вектора и массив со значениями элементов вектора;
1. 2. Открытые данные, описывающие количество созданных векторов (static) и номер вектора;
1. 3. Набор конструкторов класса, включающий конструктор по умолчанию и конструктор копирования;
1. 4. Деструктор;
1. 5. Оператор-функции:
- сложения векторов,
- вычитания векторов,
- унарный минус,
- умножения числа на вектор,
- скалярного произведения векторов,
- присваивания;
1. 6. Описание дружественного класса matr.
2. Описание класса matr для квадратной матрицы, содержащего:
2. 1. Скрытые данные, описывающие размерность матрицы и массив со значениями элементов матрицы;
2. 2. Открытые данные, описывающие количество созданных матриц (static) и номер матрицы;
2. 3. Набор конструкторов класса, включающий конструктор по умолчанию и конструктор копирования;
2. 4. Деструктор;
2. 5. Оператор-функции:
- сложения матриц,
- вычитания матриц,
- унарный минус,
- умножения числа на матрицу,
- произведения матриц,
- умножения матрицы на вектор,
- присваивания.
2. 6. Функцию main, содержащую сценарий тестирования инструментария векторной алгебры.
Конструкторы, деструкторы и оператор-функции должны содержать вывод на экран сообщений о том, какие вектора и матрицы (по номерам) участвуют в преобразованиях.1. Описание класса vect, содержащего:
1. 1. Скрытые данные, описывающие размерность вектора и массив со значениями элементов вектора;
1. 2. Открытые данные, описывающие количество созданных векторов (static) и номер вектора;
1. 3. Набор конструкторов класса, включающий конструктор по умолчанию и конструктор копирования;
1. 4. Деструктор;
1. 5. Оператор-функции:
- сложения векторов,
- вычитания векторов,
- унарный минус,
- умножения числа на вектор,
- скалярного произведения векторов,
- присваивания;
1. 6. Описание дружественного класса matr.
2. Описание класса matr для квадратной матрицы, содержащего:
2. 1. Скрытые данные, описывающие размерность матрицы и массив со значениями элементов матрицы;
2. 2. Открытые данные, описывающие количество созданных матриц (static) и номер матрицы;
2. 3. Набор конструкторов класса, включающий конструктор по умолчанию и конструктор копирования;
2. 4. Деструктор;
2. 5. Оператор-функции:
- сложения матриц,
- вычитания матриц,
- унарный минус,
- умножения числа на матрицу,
- произведения матриц,
- умножения матрицы на вектор,
- присваивания.
2. 6. Функцию main, содержащую сценарий тестирования инструментария векторной алгебры.
Конструкторы, деструкторы и оператор-функции должны содержать вывод на экран сообщений о том, какие вектора и матрицы (по номерам) участвуют в преобразованиях.450 руб.- Основной поток создает другой поток, передавая ему параметр. Параметр может принимать два значения: 0 или 1. Если параметр равен 1, то второй поток создает файл размером 10 Кб.
- Создать два потока. Один создает файл нулевой длины и завершается, а другой дожидается появления файла, созданного первым потоком, записывает в файл 1000 случайных чисел типа DOUBLE и также завершается. После этого основной поток удаляет файл.
1.) Составить программу, которая содержит сведения телефонной книжки.
Каждая запись включает:
- фамилия, имя;
- номер телефона;
- день рождения (массив из трех чисел).
2.) Программа должна обеспечивать:
- хранение всех записей в виде двусвязного списка, записи должны быть
- упорядочены по датам дней рождения;
- добавление новой записи;
- удаление из списка информации о человеке, фамилия которого введена с
- клавиатуры;
- вывод информации обо всех номерах телефонов;
- по запросу выводится информация о человеке (в виде таблицы- приложенный файл), номер телефона которого
- введен с клавиатуры.
3.) Программа должна обеспечивать диалог с помощью меню.
Реализовать с помощью меню:
1. Добавление данных в двусвязный список с возможностью записи в файл
2. Считывание списка из файла
3. Сортировка в соответствии с заданием и возможность записи в файл
4. Возможность вывода с начала списка и с конца списка
5. Выборка (поиск) в соответствии с заданием
250 руб.Разработка библиографического справочника с использованием динамической памяти на языке C++. В программе предусмотреть:
- Хранение справочника в файле;
- Поиск информации по имени автора;
- Поиск информации по укороченному имени;
- Включение новой информации о литературном источнике;
- Удаление информации по имени автора;
- Графический пользовательский интерфейс;
Структура данных: ЛОС.
400 руб.Вариант 1
Задание Классы
Описать класс, реализующий стек и работу с ним.
1.) Класс должен содержать следующие сведения об отправлении поездов дальнего следования:
- пункт отправления;
- номер поезда;
- время прибытия.
2.) В классе должны быть реализованы следующие операции над стеком:
- добавление данных о поездах в информационную систему;
- удаление данных о поезде по введенному номеру поезда;
- вывод информации обо всех поездах;
- вывод информации о поезде, номер которого введен с клавиатуры;
3.) Программа должна обеспечивать диалог с помощью меню.
4.) В программе должны быть созданы два экземпляра класса: прибывающие и задерживающиеся поезда, должны быть предусмотрена возможность перевода поезда из прибывающих в задерживающиеся и наоборот по введенному номеру поезда (при этом информация о данном поезде удаляется из одного списка и добавляется в другой). При выводе информации о поездах, пользователь должен выбрать какой список выводить (прибывающих или задерживающихся поездов), либо вывести все поезда из обоих списков.
Вариант 1
Задание Двуязычный список
1.) Автоматизированная информационная система на железнодорожном вокзале содержит сведения об отправлении поездов дальнего следования.
Для каждого поезда указывается:
- пункт назначения;
- номер поезда;
- время отправления.
2.) Программа должна обеспечивать:
- хранение данных в информационной системе в виде двусвязного списка, записи должны быть упорядочены по номерам поездов;
- добавление данных о поездах в информационную систему;
- удаление данных о поезде по введенному номеру поезда;
- вывод информации обо всех поездах;
- вывод информации о поезде, номер которого введен с клавиатуры;
3.) Программа должна обеспечивать диалог с помощью меню.
Вариант 1
Задание Файлы
Написать программу, которая считывает текст из файла и выводит на экран только предложения, состоящие из заданного количества слов.
Вариант 2
Задание Двуязычный список
1.) Составить программу, которая содержит текущую информацию о книгах в библиотеке.
Сведения о книгах включают:
- фамилию и инициалы автора;
- название;
- год издания;
- количество экземпляров данной книги в библиотеке.
2.) Программа должна обеспечивать:
- хранение всех данных обо всех книгах в библиотеке в виде двусвязного списка, записи должны быть упорядочены по годам издания;
- добавление данных о книгах вновь поступивших в библиотеку;
- удаление данных о списываемой книге, название которой введено с клавиатуры;
- вывод информации обо всех книгах в библиотеке;
- по запросу выводится информация обо всех книгах автора, имеющихся в библиотеке, чья фамилия введена с клавиатуры.
3.) Программа должна обеспечивать диалог с помощью меню
Вариант 2
Задание Файлы
Написать программу, которая считывает текст из файла и выводит на экран сначала вопросительные, а затем восклицательные предложения.
Вариант 2
Задание Классы
Описать класс, реализующий стек и работу с ним.
1.) Класс должен содержать следующие сведения о книгах в библиотеке:
- фамилию и инициалы автора;
- название;
- год издания;
- количество экземпляров данной книги в библиотеке.
2.) В классе должны быть реализованы следующие операции над стеком:
- добавление данных о книгах вновь поступивших в библиотеку;
- удаление данных о списываемой книге, название которой введено с клавиатуры;
- вывод информации обо всех книгах в библиотеке;
- по запросу выводится информация обо всех книгах автора, имеющихся в библиотеке, чья фамилия введена с клавиатуры.
3.) Программа должна обеспечивать диалог с помощью меню.
4.) В программе должны быть созданы два экземпляра класса: книги в библиотеке и выданные читателям. Когда читатель берет книгу в библиотеке, информация о ней (по введенному названию книги) должна быть автоматически удалена из списка книг в библиотеке и переведена в список книг у читателей. Когда читатель сдает книгу в библиотеку, информация о ней должна быть автоматически удалена из списка книг у читателей и перенесена в список книг в библиотеке. При выводе информации о книгах, пользователь должен выбрать какой список выводить (книги в библиотеке или у читателей), либо вывести все книги из обоих списков.