Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Программирование очередей кольцевой обработки д...docx
Скачиваний:
4
Добавлен:
10.09.2019
Размер:
80.94 Кб
Скачать

Контрольные задания

1.  Рассмотреть вариант задачи Иосифа, где пороговое значение счетчика шагов по кругу обслуживания не является постоянным, а изменяется случайным образом после удаления каждого элемента или является известной функцией его номера.  2.  Изменить программу Joseph таким образом, чтобы вместо целочисленных номеров для обозначения элементов в круге обслуживания задачи Иосифа использовались буквы латинского алфавита. В этом случае исходный набор элементов может быть задан соответствующей строкой символов.  3.  Модифицировать программу Joseph таким образом, чтобы для хранения элементов обслуживания применялась очередь с линейным фиксированным буфером минимально возможного размера.  4.  Разработать класс очередь с файловым буфером (FileQueue), где для хранения элементов очереди используется регулярный файл, обслуживаемый операциями чтения-записи по 2-м файловым указателям (типа File*) или дескрипторам к контексте процесса, один из которых можно получить, если открыть файл по чтению, другой - в режиме добавления в конец файла. При разработке методов класса FileQueue рекомендуется использовать библиотечные функции ввода-вывода системы программирования С или соответствующие вызовы OSUNIX.  5.  Разработать класс сдвиговой очереди (ShiftQueue), организация которой будет напоминать работу сдвигового регистра: после исключения головного элемента все остальные сдвигаются на 1 шаг в направлении головы очереди.  6.  Рассмотреть возможность применения программных каналов OSUNIX для моделирования кругового обслуживания элементов в условиях задачи Иосифа.

Рекомендуемая литература

1. Д. Кнут.  Искусство программирования для ЭВМ - т. 1, Основные алгоритмы,  М., Мир, 1976.  2.  Б. Мейер, К. Бодуэн.  Методы программирования, т. 1, М., Мир, 1989. 3.  Й.Лэнгсам, М.Огенстайн, А.Тененбаум.  Структуры данных для персональных ЭВМ , М., Мир, 1989 4.  П. Лукас.  С++ под рукой, Киев, НИПФ "Диа-Софт", 1993.  5.  Т. Чан.   Системное программирование на С++ для UNIX-BHV, Киев, 1997.

6. http://www.interface.ru/home.asp?artId=5354 Использование шаблонов в C++