Строки и множества. Случайным образом заполнить множество рабочих дней в цикле из 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.

Объяснение кода листинга программы

  1. Создаётся тип данных TWeekDay, который представляет собой набор дней недели.
  2. Создаётся константа DAYNAMES, которая представляет собой массив имен дней недели на русском языке.
  3. Создаётся переменная d типа TWeekDay, которая будет использоваться для выбора случайного дня недели.
  4. Создаётся множество used, которое будет использоваться для отслеживания использованных дней недели.
  5. С помощью функции Randomize и Random(7) генерируется случайное число от 0 до 6, которое используется для выбора случайного дня недели из диапазона от Low(TWeekDay) до High(TWeekDay).
  6. Используя функцию Exclude, из множества used удаляются все элементы, кроме выбранного случайного дня недели.
  7. В цикле for перебираются все дни недели от Low(TWeekDay) до High(TWeekDay).
  8. Внутри цикла проверяется, является ли текущий день недели одним из элементов множества used. Если это так, то выводится имя этого дня недели.
  9. После завершения цикла выводится сообщение с именем выбранного случайного дня недели.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

14   голосов , оценка 3.857 из 5
Похожие ответы