Строки и множества. Случайным образом заполнить множество рабочих дней в цикле из 6 повторений - Turbo Pascal
Формулировка задачи:
Строки и множества. Случайным образом заполнить множество рабочих дней в цикле из 6 повторений.
Решение задачи: «Строки и множества. Случайным образом заполнить множество рабочих дней в цикле из 6 повторений»
textual
Листинг программы
type TWeekDay = (mon, tue, wed, thu, fri, sat, sun); const DAYNAMES: Array[TWeekDay] Of String = ('понедельник', 'вторник', 'среда', 'четверг', 'пятница', 'суббота', 'воскресенье'); var d: TWeekDay; used: Set Of TWeekDay; begin Randomize; used := [Low(TWeekDay)..High(TWeekDay)]; Exclude(used, TWeekDay(Random(7))); for d := Low(TWeekDay) to High(TWeekDay) do if (d in used) then WriteLn(DAYNAMES[d]); end.
Объяснение кода листинга программы
- Создаётся тип данных
TWeekDay
, который представляет собой набор дней недели. - Создаётся константа
DAYNAMES
, которая представляет собой массив имен дней недели на русском языке. - Создаётся переменная
d
типаTWeekDay
, которая будет использоваться для выбора случайного дня недели. - Создаётся множество
used
, которое будет использоваться для отслеживания использованных дней недели. - С помощью функции
Randomize
иRandom(7)
генерируется случайное число от 0 до 6, которое используется для выбора случайного дня недели из диапазона отLow(TWeekDay)
доHigh(TWeekDay)
. - Используя функцию
Exclude
, из множестваused
удаляются все элементы, кроме выбранного случайного дня недели. - В цикле
for
перебираются все дни недели отLow(TWeekDay)
доHigh(TWeekDay)
. - Внутри цикла проверяется, является ли текущий день недели одним из элементов множества
used
. Если это так, то выводится имя этого дня недели. - После завершения цикла выводится сообщение с именем выбранного случайного дня недели.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д