Сформировать расписание экзаменов сессии в заданном году - PascalABC.NET

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

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

Сессия начинается в день d.m.g.. Для студентов специальности "Электронные системы " она состоит из N экзаменов. Первый экзамен приходится на второй день сессии. Между экзаменами - M дней подготовки. Сформировать расписание экзаменов сессии в заданном году.

Решение задачи: «Сформировать расписание экзаменов сессии в заданном году»

textual
Листинг программы
  1. var
  2.   d, m, g, k, i, n, feb: integer;
  3.   l: string;
  4.  
  5. begin
  6.   Writeln('В какой день начинаєтся сессия?');
  7.   readln(d, m, g);
  8.   Writeln('Количество экзаменов');
  9.   readln(n);
  10.   Writeln('Количество дней для подготовки');
  11.   readln(k);
  12.  
  13.   if g mod 4 = 0 then feb := 29 else feb := 28;
  14.   d := d + 1;
  15.   if d < 10 then l := ' ' else l := '';
  16.   writeln(l, d, '.', m, '.', g);
  17.   for i := 2 to n do
  18.   begin
  19.     case m of
  20.       1, 3, 5, 7, 8, 10, 12:  
  21.         begin
  22.           d := d + k;
  23.           if d > 31 then m := m + 1;
  24.           if d > 31 then d := d - 31;
  25.           if m = 13 then g := g + 1;
  26.           if m = 13 then m := 1;
  27.           if m = 13 then m := 1;
  28.           if d < 10 then l := '  ' else l := ' ';
  29.         end;
  30.       4, 6, 9, 11:
  31.         begin
  32.           d := d + k;
  33.           if d > 30 then m := m + 1;
  34.           if d > 30 then d := d - 30;
  35.           if d < 10 then l := '  ' else l := ' ';
  36.         end;      
  37.       2:
  38.         begin
  39.           d := d + k;
  40.           if d > feb then m := m + 1;
  41.           if d > feb then d := d - feb;
  42.           if d < 10 then l := '  ' else l := ' ';
  43.         end;    
  44.    
  45.     end;
  46.     writeln(l, d, '.', m, '.', g);
  47.   end;
  48. end.

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

  1. Переменная d инициализируется значением дня месяца, в котором начинается сессия.
  2. Переменная m инициализируется значением месяца, в котором начинается сессия.
  3. Переменная g инициализируется значением года, в котором начинается сессия.
  4. Переменная k инициализируется количеством дней для подготовки к экзаменам.
  5. Переменная n инициализируется количеством экзаменов.
  6. Если год високосный, то значение переменной feb устанавливается равным 29, иначе 28.
  7. Значение переменной d увеличивается на 1.
  8. Если значение переменной d меньше 10, то переменная l устанавливается равной `. иначе `.
  9. Выводится текущее значение переменных d, m, g.
  10. Запускается цикл for i := 2 to n, который выполняет следующие действия:
  11. В зависимости от значения переменной m выполняются различные действия:
  12. Если значение переменной m равно 1, 3, 5, 7, 8, 10, 12, то выполняются следующие действия:
    • Значение переменной d увеличивается на количество дней для подготовки.
    • Если значение переменной d больше 31, то значение переменной m увеличивается на 1.
    • Если значение переменной d больше 31, то значение переменной d уменьшается на 31.
    • Если значение переменной m равно 13, то значение переменной g увеличивается на 1.
    • Если значение переменной m равно 13, то значение переменной m уменьшается на 1.
    • Если значение переменной m равно 13, то значение переменной m уменьшается на 1.
    • Если значение переменной d меньше 10, то переменная l устанавливается равной  , иначе .
  13. Если значение переменной m равно 4, 6, 9, 11, то выполняются следующие действия:
    • Значение переменной d увеличивается на количество дней для подготовки.
    • Если значение переменной d больше 30, то значение переменной m увеличивается на 1.
    • Если значение переменной d больше 30, то значение переменной d уменьшается на 30.
    • Если значение переменной d меньше 10, то переменная l устанавливается равной  , иначе .
  14. Если значение переменной m равно 2, то выполняются следующие действия:
    • Значение переменной d увеличивается на количество дней для подготовки.
    • Если значение переменной d больше февральского количества дней, то значение переменной m увеличивается на 1.
    • Если значение переменной d больше февральского количества дней, то значение переменной d уменьшается на февральское количество дней.
    • Если значение переменной d меньше 10, то переменная l устанавливается равной  , иначе .
  15. Выводится текущее значение переменных d, m, g.

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


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

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

8   голосов , оценка 4.25 из 5

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

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

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