Строки и множества. Случайным образом заполнить множество рабочих дней в цикле из 6 повторений - Turbo Pascal

Узнай цену своей работы

Формулировка задачи:

Строки и множества. Случайным образом заполнить множество рабочих дней в цикле из 6 повторений.

Решение задачи: «Строки и множества. Случайным образом заполнить множество рабочих дней в цикле из 6 повторений»

textual
Листинг программы
  1. type
  2.     TWeekDay = (mon, tue, wed, thu, fri, sat, sun);
  3. const
  4.     DAYNAMES: Array[TWeekDay] Of String = ('понедельник', 'вторник', 'среда', 'четверг', 'пятница', 'суббота', 'воскресенье');
  5. var
  6.     d: TWeekDay;
  7.     used: Set Of TWeekDay;
  8. begin
  9.     Randomize;
  10.     used := [Low(TWeekDay)..High(TWeekDay)];
  11.     Exclude(used, TWeekDay(Random(7)));
  12.     for d := Low(TWeekDay) to High(TWeekDay) do
  13.         if (d in used)
  14.         then
  15.             WriteLn(DAYNAMES[d]);
  16. 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

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы