В
Все
М
Математика
А
Английский язык
Х
Химия
Э
Экономика
П
Право
И
Информатика
У
Українська мова
Қ
Қазақ тiлi
О
ОБЖ
Н
Немецкий язык
Б
Беларуская мова
У
Українська література
М
Музыка
П
Психология
А
Алгебра
Л
Литература
Б
Биология
М
МХК
О
Окружающий мир
О
Обществознание
И
История
Г
Геометрия
Ф
Французский язык
Ф
Физика
Д
Другие предметы
Р
Русский язык
Г
География
никита3473
никита3473
22.10.2022 16:09 •  Информатика

Напишите программу в паскале) написать программу которая вычисляет дату следующего дня. введите цифрами сегодняшнюю дату(число,месяц,год) 31 12 1998

Показать ответ
Ответ:
nastyushakulik
nastyushakulik
23.07.2020 07:31
Const
  dm:array[1..12] of integer=(31,28,31,30,31,30,31,31,30,31,30,31);
var
  d,m,y,dFeb:integer;
begin
  Write('Введите дату в формате день месяц год: ');
  Read(d,m,y);
  if (m=2) and (d>=28) then begin
    if ((y mod 4=0) and (y mod 100 <> 0)) or
      ((y mod 100=0) and (y mod 400 =0)) then dFeb:=29
    else dFeb:=29;
    if d=dFeb then begin d:=1; Inc(m) end
    else Inc(d);
    if m=13 then begin m:=1; Inc(y) end
  end
  else begin
    Inc(d);
    if d>dm[m] then begin d:=1; Inc(m) end;
    if m=13 then begin m:=1; Inc(y) end
  end;
  Writeln('Следующая дата ',d,' ',m,' ',y)
end.
0,0(0 оценок)
Ответ:
лера1231231
лера1231231
23.07.2020 07:31
Program z2;
var day, month, year:integer;
begin
writeln('Введите число, месяц, год');
readln(day,month,year);
if(year mod 4=0) and (year mod 100 <> 0) or (year mod 100=0) and (year mod 400 = 0) then  //определение висок. года
begin 
 if(month=2) then 
  begin
     if(day=29) then
    begin     
day:=1;     
month:=3;   
end   
else     
day:=day+1; 
end 
else if(month=1) or (month=3) or (month=5) or( month=7) or (month=8) or (month=10) then
  begin   
if(day=31) then   
begin     
month:=month+1;     
day:=1;   
end   
else     
day:=day+1; 
end 
else if(month=12)then 
begin   
if(day=31) then     
begin       
year:=year+1;       
month:=1;       
day:=1;     
end   
else     
day:=day+1; 
end 
else    
begin
    if(day=30) then
      begin
        day:=1;
        month:=month+1;
      end
    else
     day:=day+1;
    end;
end
else //проверка обычного года
begin
  if(month=2) then
  begin
     if(day=28) then
    begin
      day:=1;
      month:=3;
    end
    else
      day:=day+1;
  end
  else if(month=1) or (month=3) or (month=5) or( month=7) or (month=8) or (month=10) then
  begin
   if(day=31) then
    begin
      month:=month+1;
      day:=1;
    end
    else
      day:=day+1;
  end
  else if(month=12)then
  begin
    if(day=31) then
      begin
        year:=year+1;
        month:=1;
        day:=1;
      end
    else
      day:=day+1;
  end
  else
     begin
    if(day=30) then
      begin
        day:=1;
        month:=month+1;
      end
    else
     day:=day+1;
    end;
end;
writeln('Следующий день: ',day, ' ',month, ' ',year);
end.
0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота