Составьте программу, которая, учитывая наименование года и день недели соответствующий 1 января, выводит на экран наименования месяцев в которых число 13 выпадет на пятницу (программа pascal abc) надо, не понимаю как составить(
//Можно и без дня недели пятницы //PascalABC.NET 3.2 сборка 1318
//PascalABC вариант
Var Year,YearCode:integer; begin readln(Year); case(Year div 100 mod 4) of 0:YearCode:=6; 1:YearCode:=4; 2:YearCode:=2; 3:YearCode:=0; end; YearCode:=(YearCode+Year mod 100+ Year mod 100 div 4) mod 7; if Year mod 4<>0 then begin if (13+1+YearCode) mod 7=6 then writeln('Январь'); end else if (13+1+YearCode) mod 7=0 then writeln('Январь'); if Year mod 4<>0 then begin if (13+4+YearCode) mod 7=6 then writeln('Февраль'); end else if (13+4+YearCode) mod 7=0 then writeln('Февраль'); if (13+1+YearCode) mod 7=6 then writeln('Октябрь'); if (13+2+YearCode) mod 7=6 then writeln('Май'); if (13+3+YearCode) mod 7=6 then writeln('Август'); if (13+4+YearCode) mod 7=6 then writeln('Март'); if (13+4+YearCode) mod 7=6 then writeln('Ноябрь'); if (13+5+YearCode) mod 7=6 then writeln('Июнь'); if (13+6+YearCode) mod 7=6 then writeln('Декабрь'); if (13+6+YearCode) mod 7=6 then writeln('Сентябрь'); if (13+0+YearCode) mod 7=6 then writeln('Апрель'); if (13+0+YearCode) mod 7=6 then writeln('Июль'); end.
//.NET вариант
uses system;
const Day=13; n=12;
Var Year,i:integer; ars:array[1..n] of string:=('Январь','Февраль','Март','Апрель','Май','Июнь','Июль','Август','Сентябрь','Октябрь','Ноябрь','Декабрь'); ard:array[1..n] of DateTime; begin readln(Year); for i:=1 to n do begin ard[i]:=ard[i].AddDays(Day-1); ard[i]:=ard[i].AddMonths(i-1); ard[i]:=ard[i].AddYears(Year-1); if ard[i].DayOfWeek.ToString='Friday' then writeln(ars[i]); end; end.
Пример ввода: 2016 Пример вывода: Май
0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota
Оформи подписку