function SumOdd(const Tablica : array of integer; const OrigLow : integer = 0): Int64;
{funkcja przyjmie tablicę statyczną lub dynamiczną o dowolnych rozmiarach - nie
tylko 40. Jesli przekazywana jest tablica statyczna numerowana inaczej niz od
zera, wtedy nalezy podac drugi parametr: wartosc dolnego indeksu
(Low(NazwaTablicy)). Tablica jest bowiem przekazywana jako tablica otwarta, wiec
wewnatrz funkcji jest indeksowana od zera. Mowiac scislej, poniewaz dolny indeks
tablicy jest potrzebny jedynie do ustalenia parzystosci indeksow, drugi parametr
jest konieczny tylko jesli dolny indeks jest nieparzysty, i moze byc wtedy
dowolna liczba nieparzysta}
var
i: integer;
begin
Result:=0;
i:=Low(Tablica); {poniewaz tablica jest otwarta, rownie dobrze moze byc i:=0}
if not Odd(i+OrigLow) then Inc(i); {zaczynamy od nieparzystego indeksu}
while i