Zadanie Domowe... :/

Kto wie jak mam to zrobic??

Uzupełnij luki w poniźszym programie.


{Z14: Obliczenie liczby dni pomiedzy dwoma datami z dniem poczatkowym
i koncowym wlacznie}

PROGRAM Liczba_Dni;
TYPE
Miesiac=(sty,luty,mar,kw,maj,czer,lip,sier,wrze,paz,lis,gru);
Dni_Mc =1..31;
VAR
rokp,rokk :INTEGER;
mp,mk :Miesiac;
dzienp,dzienk:Dni_Mc;

FUNCTION Mc {zamiana numeru miesiaca na wartosc typu
wyliczeniowego}
(Nr_Mies:INTEGER):Miesiac;
BEGIN
CASE Nr_Mies OF
1: Mc:=sty;
2: Mc:=luty;
3: Mc:=mar;
4: Mc:=kw;
5: Mc:=maj;
6: Mc:=czer;
7: Mc:=lip;
8: Mc:=sier;
9: Mc:=wrze;
10: Mc:=paz;
11: Mc:=lis;
12: Mc:=gru
END
END; {Mc}

FUNCTION Dl_Mies {okreslanie liczby dni w miesiacu}
(mi:Miesiac;rok:INTEGER):INTEGER;
BEGIN
CASE mi OF
sty,mar,maj,lip,sier,paz,gru:
Dl_Mies:=31;
kw,czer,wrze,lis:
Dl_Mies:=30;
luty:
IF (rok MOD 4=0) AND ((rok MOD 100)<>0) OR ((rok MOD 400)=0)
THEN Dl_Mies:=29
ELSE Dl_Mies:=28
END
END; {Dl_Mies}

PROCEDURE Kontrola_Dat;
VAR
Dobrze:BOOLEAN;

PROCEDURE Czyt_Date {wprowadzanie daty z kontrola wartosci}
(VAR rok:INTEGER;VAR mies:miesiac;VAR dzien:Dni_Mc);
VAR
Prawidlowy:BOOLEAN;
mi :INTEGER;
BEGIN
REPEAT
WRITE(' rok ');
READLN(rok);
Prawidlowy:=(rok>1900) AND (rok
IF NOT Prawidlowy
THEN WRITELN('Blad we wprowadzaniu roku')
UNTIL Prawidlowy;
REPEAT
WRITE(' numer miesiaca ');
READLN(mi);
Prawidlowy:=(mi>=1) AND (mi
IF NOT Prawidlowy
THEN WRITELN('Blad we wprowadzaniu miesiaca')
ELSE mies:=Mc(mi)
UNTIL Prawidlowy;
REPEAT
WRITE(' dzien ');
READLN(dzien);
Prawidlowy:=(dzien>=1) AND (dzien
IF NOT Prawidlowy
THEN WRITELN('Blad we wprowadzaniu dnia')
UNTIL Prawidlowy
END; {Czyt_Date}

BEGIN {Kontrola_Dat}
REPEAT
Dobrze:=TRUE;
WRITELN('Podaj date poczatkowa');
Czyt_Date(rokp,mp,dzienp);
WRITELN('Podaj date koncowa');
Czyt_Date(rokk,mk,dzienk);
IF (rokp>rokk) OR (rokp=rokk) AND (mp>mk) OR (rokp=rokk) AND (mp=mk) AND
(dzienp>dzienk)
THEN
BEGIN
WRITELN('Data poczatkowa pozniejsza niz data koncowa');
Dobrze:=FALSE
END
UNTIL Dobrze
END; {Kontrola_Dat}

PROCEDURE Obliczenia;
VAR
n,llat :INTEGER;
miesp :Miesiac;
BEGIN
n:=0;
IF rokp<>rokk
THEN
BEGIN
llat:=rokk–rokp–1;
{dni w pelnych latach}
n:=n+llat*365+ROUND(INT(llat/4))
END;
{dni w pelnych miesiacach}
IF (rokp=rokk) AND ((mp<>gru) AND (mk<>sty))
THEN {dla dat w tym samym roku}
FOR miesp:=SUCC(mp) TO PRED(mk) DO
n:=n+Dl_Mies(miesp,rokp)
ELSE
BEGIN {dla dat w roznych latach}
IF mp<>gru {dla roku poczatkowego}
THEN
FOR miesp:=SUCC(mp) TO gru DO
n:=n+Dl_Mies(miesp,rokp);
IF mk<>sty {dla roku koncowego}
THEN
FOR miesp:=sty TO PRED(mk) DO
n:=n+Dl_Mies(miesp,rokk)
END;
{dni w mcu poczatkowym i koncowym}
IF (rokp=rokk) AND (mp=mk)
THEN n:=dzienk–dzienp+1
ELSE n:=n+Dl_Mies(mp,rokp)–dzienp+1+dzienk;
WRITELN('Liczba dni pomiedzy wprowadzonymi datami wynosi ',n)
END; {Czyt_Date}

1. Napisz program główny realizujący wymagania podane na początku:

BEGIN {Program glowny}
................
.................
WRITELN('Nacisniecie klawisza Enter zakonczy prace programu');
READLN
END. {Liczba_Dni}

2. Narysuj schemat działania programu
3. Wprowadź zmiany umoźliwiające dziłąnie programu w latach 1800 2050.


Mam to zrobic na jutro a zupelnie nie wiem o co w tym chodzi!!
Prosze o pomoc!!

Odpowiedzi: 6

Post pod postem będzie, przepraszam:

Otóź avatar został zmieniony, ale nie dlatego, źe snekkar wymógł to na mrsit'cie .
Rebe o to 'prosił' , a ze go lubie i szanuje tom sie zastosował.

Teraz do snekkar'a bezpośrednio będzie: nie myśl sobie człowieczku, źeś coś wywalczył przeciwnie. Odnoszę wraźenie źeś, jak Pani Dulska, chodzącym przykładem kołtuństa jest. Cóź współczuć wypada i tyle.
Anonymous
Dodano
23.11.2005 18:03:21
Wklej kod do Turbo Pascala i skompiluj.
Wszystkie błędy zostaną magicznie pokazane i podświetlone nawet.
Anonymous
Dodano
23.11.2005 10:38:16
Słuchajcie!!
nie chcialem zeby ktos sie tu klucil!!
poprostu facet dal nam takie zadanie, bez teorii i bez ksiazek i mam je zrobic :/
A kompletnie nie wiem jak!!

Takze prosze o pomoc
k.laska
Dodano
22.11.2005 21:59:48
snekkar:
gusioo denerwujesz mnie chłopak prosi o pomoc, a nie zebys za niego robił zawsze zadania!!!

Nie bede robił nikomu zadań.

snekkar:
a poza tym z kad wiesz ze bedzie On programista??!!

A gdzie ja napisałem o programowaniu. Czytaj uwaźnie.

snekkar:
i zmień ten twoj image

Bo ? Człowieku nie masz źadnego prawa ingerować w to co mam na avatarze.
Póki co jesteś za cienki w uszach.
Do póki Moderator tudzieź Admin nie zwróci mi uwagi do puty ten awatar będzie.

snekkar:
nawiasem mowiac "głodnemu chleb na mysli"

Coś Ci przeszkadza ? Za smarkaty jesteś, aby ferować takie wyroki.
Anonymous
Dodano
22.11.2005 19:33:18
gusioo denerwujesz mnie chłopak prosi o pomoc, a nie zebys za niego robił zawsze zadania!!!

a poza tym z kad wiesz ze bedzie On programista??!!

i zmień ten twoj image

nawiasem mowiac "głodnemu chleb na mysli"
snekkar
Dodano
22.11.2005 19:28:23
To ksiąźka i sie ucz. W pracy teź bedziesz prosił o pomoc, bo akurat ten dział ktoś za Ciebie odwalił ?
Bez yay
Anonymous
Dodano
22.11.2005 19:07:54
k.laska
Dodano:
22.11.2005 19:05:49
Komentarzy:
6
Strona 1 / 1