Zajęcia V

Transkrypt

Zajęcia V
Algorytmy i programowanie
Prowadzący: Piotr Zioło
Zajęcia V - Rekurencja, wyszukiwanie
1
Przykłady
Przykład. Wyszukiwanie maksimum w danej tablicy w wersji rekurencyjnej. Plik
MaxRek.dpr.
Przykład. Wyszukiwanie binarne w posortowanej tablicy:
Pseudokod:
WYSZUKIWANIE BINARNE(n, A, x)
i←1
j←n
k←1
while (A[k] 6= x) and (i ¬ j) do
k ← (i + j) div 2
if x > A[k]
then i ← k + 1
else j ← k − 1
if A[k] = x
then return k
else return −1
2
Zadania
Zadanie. Napisać w Turbo Pascalu rekurencyjne wersje programów:
1. Silnia.
2. Ciąg Fibonacciego.
3. Symbol Newtona.
4. NWD przy wykorzystaniu wzoru
N W D(a, b) = N W D(b, a mod b).
5. Wyszukiwanie binarne.
Zadanie. Napisać program wyszukujący element w posortowanej tablicy algorytmem wyszukiwania binarnego (pseudokod z przykładu). Wyszukiwanie ma być zrealizowane przy pomocy funkcji.
1