Forum Forum klasy 3B 1LO w Lubinie Strona Główna Forum klasy 3B 1LO w Lubinie
Po prostu forum grząbieli z 3B :)) o wszystkim :))
 
 FAQFAQ   SzukajSzukaj   UżytkownicyUżytkownicy   GrupyGrupy   GalerieGalerie   RejestracjaRejestracja 
 ProfilProfil   Zaloguj się, by sprawdzić wiadomościZaloguj się, by sprawdzić wiadomości   ZalogujZaloguj 

Zadanie na informatykę :)

 
Napisz nowy temat   Odpowiedz do tematu    Forum Forum klasy 3B 1LO w Lubinie Strona Główna -> Sprawdziany, kartkówy i inne badziewia...
Zobacz poprzedni temat :: Zobacz następny temat  
Autor Wiadomość
ry5i3kszczur
Moderator



Dołączył: 25 Sty 2007
Posty: 98
Przeczytał: 0 tematów

Ostrzeżeń: 0/10

PostWysłany: Sob 21:42, 14 Kwi 2007    Temat postu: Zadanie na informatykę :)

Poniżej podaje dwa kody źródłowe - dla początkujących i średnio zaawansowanych (poczytajcie w komentach jaka jest różnica). Jeśli będę miał czas to zamieszczę jeszcze wersje dla zaawansowanych (dodam zapętlanie, jakąś tablicę i tym podobne smaczki) ale to się zobaczy. A więc oto kody:

Kod:
program jaki_dzien;
{program podaje nazwe dnia w zaleznosci od wprowadzonej daty
 WERSJA PODSTAWOWA - bez zadnych warunkow sprawdzajacych poprawnosc wprowadzonych
 danych ani tym podobnych usprawnien - "goly" algorytm}

var
   m, d, y, z, dzien : integer;
{-m: numer miesiaca;
-d: numer dnia miesiaca;
-y: rok;
-z: w zaleznosci od warunku 1 zmienna przyjmuje wartosci podane w warunku;
-dzien: zwraca kod dnia wg ktorego pozniej okresla sie dzien}

begin
     writeln('Program podaje nazwe dnia tygodnia wybranej daty.');
     write('Podaj rok: '); readln(y);
     write('Podaj numer miesiaca: '); readln(m);
     write('Podaj numer dnia miesiaca: '); readln(d);

     if(m<3) then z:=y-1
     else z:=y;
     {powyzsze dwie linie to warunek 1. okresla zmienna z}

     if(m>=3) then
              dzien:=(((23*m) div 9)+d+4+y+(z div 4)-(z div 100)+(z div 400)-2) mod 7
     else
         dzien:=(((23*m) div 9)+d+4+y+(z div 4)-(z div 100)+(z div 400)) mod 7;
         {"serce" algorytmu}

     if(dzien=0) then writeln('Ten dzien to NIEDZIELA.');
     if(dzien=1) then writeln('Ten dzien to PONIEDZIALEK.');
     if(dzien=2) then writeln('Ten dzien to WTOREK.');
     if(dzien=3) then writeln('Ten dzien to SRODA.');
     if(dzien=4) then writeln('Ten dzien to CZWARTEK.');
     if(dzien=5) then writeln('Ten dzien to PIATEK.');
     if(dzien=6) then writeln('Ten dzien to SOBOTA.');
     {powyzsze 7 linii okresla dzien tygodnia na zasadzie kodu obliczonego z dzialania}

     readln;
end.



------


Kod:
program jaki_dzien;
{program podaje nazwe dnia w zaleznosci od wprowadzonej daty
 WERSJA DLA SREDNIO ZAAWANSOWANYCH - dodane sa warunki, ktore sprawdzaja
 poprawnosc wprowadzonych danych}

var
   m, d, y, z, dzien, p : integer;
{-m: numer miesiaca;
-d: numer dnia miesiaca;
-y: rok;
-z: w zaleznosci od warunku 1 zmienna przyjmuje wartosci podane w warunku;
-dzien: zwraca kod dnia wg ktorego pozniej okresla sie dzien;
-p: zmienna pomocnicza, okresla przestepnosc roku}

begin
     writeln('Program podaje nazwe dnia tygodnia wybranej daty.');
     write('Podaj rok: '); readln(y);
     if((y>9999) or (y<1)) then writeln('Ten algorytm nie obsluguje podanych lat.')
     {powyzszy warunek okresla czy zostal poprawnie podany rok}
     else begin
          write('Podaj numer miesiaca: '); readln(m);
          if((m>12) or (m<1)) then writeln('Podales bledny numer miesiaca.')
          {powyzszy warunek okresla czy zostal poprawnie podany numer miasiaca}
          else begin
               write('Podaj numer dnia miesiaca: '); readln(d);
               if(y mod 4=0) then p:=1
               else p:=2;
               {powyzsze dwie linie okreslaja przestepnosc roku;
                -p=1: rok przestepny;
                -p=2: rok nie przestepny}
               if(((((m=1) or (m=3) or (m=5) or (m=7) or (m=8) or (m=10) or (m=12)) and (d>31))
                 or (((m=4) or (m=6) or (m=9) or (m=11)) and (d>30))
                 or ((p=1) and (d>29) and (m=2)) or ((p=2) and (d>28) and (m=2))) or (d<1)) then
                    writeln('Podales bledny numer dnia.')
                    {powyzszy warunek okresla czy zostal poprawnie podany dzien
                     jest rozbudowany poniewaz rozne miesiace maja rozna ilosc dni}
               else begin

                   if(m<3) then z:=y-1
                   else z:=y;
                   {powyzsze dwie linie to warunek 1. okresla zmienna z}

                   if(m>=3) then
                            dzien:=(((23*m) div 9)+d+4+y+(z div 4)-(z div 100)+(z div 400)-2) mod 7
                   else
                       dzien:=(((23*m) div 9)+d+4+y+(z div 4)-(z div 100)+(z div 400)) mod 7;
                   {"serce" algorytmu}

                   if(dzien=0) then writeln('Ten dzien to NIEDZIELA.');
                   if(dzien=1) then writeln('Ten dzien to PONIEDZIALEK.');
                   if(dzien=2) then writeln('Ten dzien to WTOREK.');
                   if(dzien=3) then writeln('Ten dzien to SRODA.');
                   if(dzien=4) then writeln('Ten dzien to CZWARTEK.');
                   if(dzien=5) then writeln('Ten dzien to PIATEK.');
                   if(dzien=6) then writeln('Ten dzien to SOBOTA.');
                   {powyzsze 7 linii okresla dzien tygodnia na zasadzie kodu obliczonego z dzialania}
               end;
          end;
     end;
     readln;
end.


Wszystko powinno grać (było sprawdzane). Kompilowałem to w Turbo Pascalu 7.0. Jeśli coś będzie nie tak lub nie będziecie czegoś wiedzieć to pisać na gg: 1407798.


Post został pochwalony 0 razy
Powrót do góry
Zobacz profil autora
Zobacz poprzedni temat :: Zobacz następny temat  
Autor Wiadomość
FISIU




Dołączył: 28 Sty 2007
Posty: 63
Przeczytał: 0 tematów

Ostrzeżeń: 0/10
Skąd: Jaroszówka

PostWysłany: Nie 7:55, 15 Kwi 2007    Temat postu:

Dzieki Rysiek!! A na kiedy to trzeba oddac? Na czwartek czy wczesniej jakoś(bo ostatnio nie byłem na infie i nic nie wiem)

Post został pochwalony 0 razy
Powrót do góry
Zobacz profil autora
Zobacz poprzedni temat :: Zobacz następny temat  
Autor Wiadomość
ry5i3kszczur
Moderator



Dołączył: 25 Sty 2007
Posty: 98
Przeczytał: 0 tematów

Ostrzeżeń: 0/10

PostWysłany: Nie 20:09, 15 Kwi 2007    Temat postu:

moja grupa na wtorek a twoja Fisiu na czwartek

Post został pochwalony 0 razy
Powrót do góry
Zobacz profil autora
Zobacz poprzedni temat :: Zobacz następny temat  
Autor Wiadomość
FISIU




Dołączył: 28 Sty 2007
Posty: 63
Przeczytał: 0 tematów

Ostrzeżeń: 0/10
Skąd: Jaroszówka

PostWysłany: Nie 20:32, 15 Kwi 2007    Temat postu:

dzięki

Post został pochwalony 0 razy
Powrót do góry
Zobacz profil autora
Zobacz poprzedni temat :: Zobacz następny temat  
Autor Wiadomość
kapax88




Dołączył: 25 Sty 2007
Posty: 5
Przeczytał: 0 tematów

Ostrzeżeń: 0/10

PostWysłany: Śro 19:56, 18 Kwi 2007    Temat postu:

Rysiu a powiedz ty mi jaką funkcję pełni "div"??

Post został pochwalony 0 razy
Powrót do góry
Zobacz profil autora
Zobacz poprzedni temat :: Zobacz następny temat  
Autor Wiadomość
gaworzy
Admin



Dołączył: 25 Sty 2007
Posty: 227
Przeczytał: 0 tematów

Ostrzeżeń: 0/10
Skąd: Z Wieśburga !

PostWysłany: Śro 6:32, 25 Kwi 2007    Temat postu:

dzielenie bez reszty z zaokragleniem w dol

Post został pochwalony 0 razy
Powrót do góry
Zobacz profil autora
Zobacz poprzedni temat :: Zobacz następny temat  
Autor Wiadomość
szuli




Dołączył: 20 Lut 2007
Posty: 30
Przeczytał: 0 tematów

Ostrzeżeń: 2/10
Skąd: inąd

PostWysłany: Czw 23:13, 26 Kwi 2007    Temat postu:

dupa, dupa i "jestem anaalfabetą i nie potrafię nawet chuja porzadnie napisać" program Smile

Post został pochwalony 0 razy
Powrót do góry
Zobacz profil autora
Wyświetl posty z ostatnich:   
Napisz nowy temat   Odpowiedz do tematu    Forum Forum klasy 3B 1LO w Lubinie Strona Główna -> Sprawdziany, kartkówy i inne badziewia... Wszystkie czasy w strefie EET (Europa)
Strona 1 z 1

 
Skocz do:  
Nie możesz pisać nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach

fora.pl - załóż własne forum dyskusyjne za darmo
Powered by phpBB © 2001, 2005 phpBB Group
Regulamin