uses crt; function Vis(n:integer): boolean; begin if ((n mod 100 <> 0) and (n mod 4 = 0)) or (n mod 400 = 0) then Vis := true else Vis := false; end; function Dn_gd(g,m,d:integer):integer; var k, k2:integer; begin if Vis(g) then k2 := 60 else k2 := 59; case m of 1: k := d; 2: k := 31 + d; 3: k := k2 + d; 4: k := k2 + 31 + d; 5: k := k2 + 61 + d; 6: k := k2 + 92 + d; 7: k := k2 + 122 + d; 8: k := k2 + 153 + d; 9: k := k2 + 184 + d; 10: k := k2 + 214 + d; 11: k := k2 + 245 + d; 12: k := k2 + 275 + d; end; Dn_gd := k; end; var a, b, c, i, k2, k: integer; begin write('Год: '); read(c); if (c < 0) then exit; write('Месяц: '); read(b); if (not (b in [1..12])) then exit; repeat write('День: '); read(a); if (a < 1) or (a > 31) then k := 1; if (b in [4, 6, 9, 11]) and (a > 30) then k := 1; if (b = 2) and Vis(c) and (a > 29) then k := 1; if (b = 2) and (c mod 4 <> 0) and (a > 28) then k := 1; until k = 0; write('Ответ: ',Dn_gd(c,b,a)); end.