Лабораторная работа: ЛР 2 Вариант 25 РК6
Описание
Разработать программу, реализующую обработку строк текста и функционирующую в рамках 3-х потоков управления.
Поток 0 (корневой) порождает 2-ух потомков (напрямую или опосредованно, решать вам) и организует передачу строк символов в последовательности "поток-0=> поток-1=>поток-2". Поток 0 получает строку символов латинского алфавита со стандартного ввода и передаёт ее в неизменном виде потоку 1.
Поток 1 умеет преобразовывать полученную от потока 0 строку символов различными способами:
- трансляция строки в неизменном виде;
- инвертирование строки — первый символ становится последним и т.д.;
- обмен соседних символов — нечетный становится на место четного и наоборот;
- перевод в КОИ-8 — установление в 1 старшего (8-ого) бита каждого символа.
Поток 2 умеет преобразовывать полученную от потока 1 строку символов следующими способами:
- трансляция строки в неизменном виде;
- перевод всех символов строки в "верхний регистр";
- перевод всех символов строки в "нижний регистр";
- смена "регистра" всех символов строки.
Основная функциональноcть потока 0 — считывание со стандартного ввода строк латинского текста и передача их (строк) потоку 1. Однако сигнал SIGINT (Ctrl/C) переводит поток 0 в состояние однократного чтения со стандартного ввода команды перехода потока 1 или 2 к новому способу обработки поступающих к нему строк текста (синтаксис команд придумать самостоятельно). Обязательно обеспечить индикацию результатов работы каждого потока в правильной временной последовательности.
Файлы условия, демо
Характеристики лабораторной работы
Список файлов
- lab2_25var.docx 282,93 Kb