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:
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.
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:
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ć.
Wzory tych funkcji dostałem od znajomego profesora z Politechniki. Niewątpliwie są to funkcje wyznaczane empiryczne. Prawdopodonmie istnieje więcej podobnych funkcji.
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łą...