Помогите добрые люди составить программу по информатике сколько дней вы прожили по PascalABC нужно срочно
Answers & Comments
ZaXoD
Var dd1,mm1,yyyy1,dd2,mm2,yyyy2:integer; ww:real; Begin Writeln('Введи текущую дату "дд мм гггг"'); Readln(dd1,mm1,yyyy1); Writeln('Введи дату рождения "дд мм гггг"'); Readln(dd2,mm2,yyyy2); yyyy1:=(yyyy1-yyyy2); if mm2>mm1 then begin yyyy1:=yyyy1-1; mm1:=mm1+12; end; mm1:=mm1-mm2; if dd2>dd1 then begin mm1:=mm1-1; dd1:=dd1+30; end; dd1:=dd1-dd2; ww:=dd1+mm1*30.4368499+yyyy1*365.242199; Writeln(round(ww)); End.
3 votes Thanks 1
ZaXoD
две оговорки. Во первых, эти странные числа на которые всё умножается в конце - это среднеарефметическое дней в месяце и дней в году соответственно. Можно и без них, но с ними результат точнее. Во вторых вы врядли изучали функцию round();. Если спросят - она используется для округления вещественных чисел (real)
Answers & Comments
dd1,mm1,yyyy1,dd2,mm2,yyyy2:integer;
ww:real;
Begin
Writeln('Введи текущую дату "дд мм гггг"');
Readln(dd1,mm1,yyyy1);
Writeln('Введи дату рождения "дд мм гггг"');
Readln(dd2,mm2,yyyy2);
yyyy1:=(yyyy1-yyyy2);
if mm2>mm1 then begin yyyy1:=yyyy1-1; mm1:=mm1+12; end;
mm1:=mm1-mm2;
if dd2>dd1 then begin mm1:=mm1-1; dd1:=dd1+30; end;
dd1:=dd1-dd2;
ww:=dd1+mm1*30.4368499+yyyy1*365.242199;
Writeln(round(ww));
End.