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

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

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

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

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

textual
Листинг программы
var
  d, m, g, k, i, n, feb: integer;
  l: string;
 
begin
  Writeln('В какой день начинаєтся сессия?');
  readln(d, m, g);
  Writeln('Количество экзаменов');
  readln(n);
  Writeln('Количество дней для подготовки');
  readln(k);
  
  if g mod 4 = 0 then feb := 29 else feb := 28;
  d := d + 1;
  if d < 10 then l := ' ' else l := '';
  writeln(l, d, '.', m, '.', g);
  for i := 2 to n do
  begin
    case m of
      1, 3, 5, 7, 8, 10, 12:   
        begin
          d := d + k;
          if d > 31 then m := m + 1;
          if d > 31 then d := d - 31;
          if m = 13 then g := g + 1;
          if m = 13 then m := 1;
          if m = 13 then m := 1;
          if d < 10 then l := '  ' else l := ' ';
        end;
      4, 6, 9, 11:
        begin
          d := d + k;
          if d > 30 then m := m + 1;
          if d > 30 then d := d - 30;
          if d < 10 then l := '  ' else l := ' '; 
        end;      
      2:
        begin
          d := d + k;
          if d > feb then m := m + 1;
          if d > feb then d := d - feb;
          if d < 10 then l := '  ' else l := ' ';
        end;    
    
    end;
    writeln(l, d, '.', m, '.', g);
  end;
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
Похожие ответы