Сформировать расписание экзаменов сессии в заданном году - 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.
Объяснение кода листинга программы
- Переменная
d
инициализируется значением дня месяца, в котором начинается сессия. - Переменная
m
инициализируется значением месяца, в котором начинается сессия. - Переменная
g
инициализируется значением года, в котором начинается сессия. - Переменная
k
инициализируется количеством дней для подготовки к экзаменам. - Переменная
n
инициализируется количеством экзаменов. - Если год високосный, то значение переменной
feb
устанавливается равным 29, иначе 28. - Значение переменной
d
увеличивается на 1. - Если значение переменной
d
меньше 10, то переменнаяl
устанавливается равной`. иначе
`. - Выводится текущее значение переменных
d
,m
,g
. - Запускается цикл
for i := 2 to n
, который выполняет следующие действия: - В зависимости от значения переменной
m
выполняются различные действия: - Если значение переменной
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
устанавливается равной
- Значение переменной
- Если значение переменной
m
равно 4, 6, 9, 11, то выполняются следующие действия:- Значение переменной
d
увеличивается на количество дней для подготовки. - Если значение переменной
d
больше 30, то значение переменнойm
увеличивается на 1. - Если значение переменной
d
больше 30, то значение переменнойd
уменьшается на 30. - Если значение переменной
d
меньше 10, то переменнаяl
устанавливается равной
- Значение переменной
- Если значение переменной
m
равно 2, то выполняются следующие действия:- Значение переменной
d
увеличивается на количество дней для подготовки. - Если значение переменной
d
больше февральского количества дней, то значение переменнойm
увеличивается на 1. - Если значение переменной
d
больше февральского количества дней, то значение переменнойd
уменьшается на февральское количество дней. - Если значение переменной
d
меньше 10, то переменнаяl
устанавливается равной
- Значение переменной
- Выводится текущее значение переменных
d
,m
,g
.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д