logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

Jak działa funkcja w Pascalu zwracająca dzień tygodnia?

popylacz 11 Maj 2011 18:35 2446 5
REKLAMA
  • #1 9495809
    popylacz
    Poziom 2  
    Posty: 2
    Prosze o pomoc w rozszyfrowaniu tej funkcj. Ma ona podac dzien tygodnia. Nie bardzo wiem skad te działania.

    Kod: text
    Zaloguj się, aby zobaczyć kod


    Proszę pamiętać o używaniu znaczników syntax. Opcja Listing kodu. - arnoldziq
  • REKLAMA
  • #2 9497794
    leburaque
    Poziom 17  
    Posty: 488
    Pomógł: 4
    Ocena: 111
    Mógłbyś tylko dodać co jest daną wejściową? Łatwiej będzie o rozszyfrowanie działania. Tzn - jeśli podasz co ma wczytywać funkcja, czyli jakie dane mają być dla (d,m,r) to będzie łatwiej.

    Domyślam się, że chodzi o dzień, miesiąc i rok, tak?

    Przy okazji - w Pascalu, tak jak i w Delphi dość łatwo jedną funkcją odczytać obecny dzień tygodnia:

    Pascal:

    
    const
      dni : array [0..6] of String[12] =
        ('Niedziela','Poniedzialek','Wtorek','Sroda',
         'Czwartek','Piatek','Sobota');
    var y, mc, d, dow : Word;
    
    { ostatnia wartość wczytywana funkcją GetDate, czyli w naszym przypadku "dow" 
    będzie numeryczną wartością obecnego dnia tygodnia 0 = niedziela...6=sobota }
    
    begin
       GetDate(y,mc,d,dow); 
       Write('Dzis mamy: ', dni[dow]);
    end.
    


    W Delphi jest jeszcze prościej:



    Ta funkcja zwraca obecny dzień tygodnia w wartości numerycznej takiej jak w Pascalu.

    Rozumiem jednak, że Twoja funkcja ma podawać dzień tygodnia niezależnie od danych wejściowych, czyli - nie obecny dzień tygodnia, a dzień tygodnia w dla podanej daty.

    A przy okazji - masz w swoim kodzie DWIE funkcje! :)

    Dodano po 7 [minuty]:

    Aha - znalazłem jeszcze to, dzięki temu powinieneś zrozumieć algorytm:

    https://www.elektroda.pl/rtvforum/topic526993.html
    http://4programmers.net/Delphi/Gotowce/Jak_z_podanej_daty_odliczy%C4%87_dzie%C5%84_tygodnia
    http://www.mimuw.edu.pl/delta/artykuly/delta0508/kalendarzysta.pdf
    http://rudy.ca/doomsday.html

    Jeśli nadal coś będzie niejasne - pisz.
  • REKLAMA
  • #3 9503690
    ed-ek
    Poziom 34  
    Posty: 1814
    Pomógł: 275
    Ocena: 42
    Funkcje f1 i f2 zwracają ilość dni które upłynęły od 01.01.01 roku do dnia podanego jako d.m.r (dzień,miesiąc,rok). W zależności od m (miesiąca) używa się fcji f1 lub f2. Do podanego cytatu należy dodać właściwy program realizujący żądany algorytm. Przypuszczam, że cytat jest wyjęty z któregoś z moich dawnych postów. Dalsze wątpliwości mogę wyjaśnić.
  • REKLAMA
  • #4 9508586
    popylacz
    Poziom 2  
    Posty: 2
    co za znaczenie mają w funkcji liczby 0.75 0.4 2.3 itp???
  • REKLAMA
  • #5 9511573
    ed-ek
    Poziom 34  
    Posty: 1814
    Pomógł: 275
    Ocena: 42
    Wzory tych funkcji dostałem od znajomego profesora z Politechniki. Niewątpliwie są to funkcje wyznaczane empiryczne. Prawdopodonmie istnieje więcej podobnych funkcji.
  • #6 9512316
    leburaque
    Poziom 17  
    Posty: 488
    Pomógł: 4
    Ocena: 111
    W swoim poprzednim poście podałem kilka linków - artykułów w których zwięźle opisane są różne algorytmy wyznaczania dnia tygodnia wg daty. Wystarczy chyba tylko popatrzeć w nie, prawda? I będzie wiadomo, dlaczego np. mnożymy sumę dni przez jakąś stałą...
REKLAMA