до такого тупежа я опускался...
ну делал не условия, а case:
Код:
type месяц = (янв, фев, мар, апр, май, июн, июл, авг, сен, окт, ноя, дек);
var k:1..366; d:1..31; m:месяц;
begin
writeln('vvedite nomer dnya ne visokosnogo goda');
readln(k);
if (k>=1) and (k<=365) then begin
case k of
1..31:begin m:=янв; d:=(k-1)+1 end;
32..59:begin m:=фев; d:=(k-32)+1 end;
60..90:begin m:=мар; d:=(k-60)+1 end;
91..120:begin m:=апр; d:=(k-91)+1 end;
121..151:begin m:=май; d:=(k-121)+1 end;
152..181:begin m:=июн; d:=(k-152)+1; end;
182..212:begin m:=июл; d:=(k-182)+1 end;
213..243:begin m:=авг; d:=(k-213)+1 end;
244..273:begin m:=сен; d:=(k-244)+1 end;
274..304:begin m:=окт; d:=(k-274)+1 end;
305..334:begin m:=ноя; d:=(k-305)+1 end;
335..365:begin m:=дек; d:=(k-335)+1 end;
end;
case m of
янв:writeln('January');
фев:writeln('February');
мар:writeln('March');
апр:writeln('April');
май:writeln('May');
июн:writeln('June');
июл:writeln('July');
авг:writeln('August');
сен:writeln('September');
окт:writeln('October');
ноя:writeln('November');
дек:writeln('December');
end;
writeln(d,' day');
end
else writeln('eRRor');
readln;
end.
получается примитивно, зато работает...
но преподу не понравилось.
Получается, что я должен сделать что-то более продуманное чем условия или кейс, но примитивнее чем масивы.
В голову приходит только деление, но его по понятным причинам использовать не получится)