Вопрос по информатике:
Помогите пожалуйста.Паскаль авс
используя дату текущего дня, вычислить следующую дату. Сначала с помощью инструкции case проверить ,является ли текущий день последним днём месяца.Затем проверить, является ли текущий месяц днём декабрем:если нет, то номер месяца увеличить на 1,если да то номер года,а номер месяца оставить равен 1 (учесть возможность ввода високосного года(если год/4=0,то год високосный))
Трудности с пониманием предмета? Готовишься к экзаменам, ОГЭ или ЕГЭ?
Воспользуйся формой подбора репетитора и занимайся онлайн. Пробный урок - бесплатно!
- 04.04.2018 13:03
- Информатика
- remove_red_eye 15283
- thumb_up 29
Ответы и объяснения 1
Var
s,sd,sm,sy:string;
d,m,y,err:integer;
begin
Write('Введите текущую дату в формате дд/мм/гггг или дд.мм.гггг: ');
Readln(s);
if Length(s)10 then Writeln('Неверный ввод')
else begin
sd:=s[1]+s[2]; Val(sd,d,err);
sm:=s[4]+s[5]; Val(sm,m,err);
sy:=Copy(s,7,4); Val(sy,y,err);
if err>0 then Writeln('Неверный ввод')
else begin
if d<28 then d:=d+1
else begin
case m of
1,3,5,7,8,10,12:
if d<31 then d:=d+1
else begin d:=1; m:=m+1 end;
2:
if (y mod 4)=0 then
if d=28 then d:=29
else begin d:=1; m:=3 end
else begin d:=1; m:=3 end;
else
if d<30 then d:=d+1
else begin d:=1; m:=m+1 end
end
end;
if m>12 then begin m:=1; y:=y+1 end;
Str(d,sd); if Length(sd)=1 then sd:='0'+sd;
Str(m,sm); if Length(sm)=1 then sm:='0'+sm;
Str(y,sy);
s:=sd+'.'+sm+'.'+sy;
Writeln('Завтра будет '+s)
end
end
end.
- 05.04.2018 19:34
- thumb_up 25
Знаете ответ? Поделитесь им!
Есть сомнения?
Не нашли подходящего ответа на вопрос или ответ отсутствует? Воспользуйтесь поиском по сайту, чтобы найти все ответы на похожие вопросы в разделе Информатика.
Трудности с домашними заданиями? Не стесняйтесь попросить о помощи - смело задавайте вопросы!
Информатика — наука о методах и процессах сбора, хранения, обработки, передачи, анализа и оценки информации с применением компьютерных технологий, обеспечивающих возможность её использования для принятия решений.