Algorytmy cd (rekurencja)

1

Click here to load reader

Transcript of Algorytmy cd (rekurencja)

Page 1: Algorytmy cd (rekurencja)

rekurencja

1.31. Poniżej zdefiniowane są ciągi, których kolejne wyrazy generowane są w sposób rekurencyjny:

a)

b)

Napisz algorytm rekurencyjny, który znajdzie wartość n-tego wyrazu ciągu. Napisz algorytmy w postaci iteracyjnej.

1.32. Napisać funkcję iteracyjną oraz rekurencyjną, która oblicza n-ty wyraz ciągu o wyrazie ogólnym:

a) an = 4 + 8 + 12 + ...+4n, dla n>0

b) bn = 1 + ½ + ⅓ + ¼ + ... + 1/n, dla n>0

c) cn = 5 3n-2

, dla n>1

d) dn = 5 + 3 (n-2), dla n>1

1.33. Dana jest funkcja fun: ℕ ℕ→ℕ

Oblicz fun(2,3). Co oblicza funkcja fun?

różne

1.34. Napisz program, w którym użytkownik wprowadza z klawiatury wzrost osoby w centymetrach. Następnie program wyświetla informację o zaliczeniu osoby do jednej z trzech grup: poniżej 150 cm — wzrost niski; od 150 cm poniżej 180 cm — wzrost średni; 180 cm i więcej — wzrost wysoki. Powtórzenie algorytmu (bez jego przerywania) uzależnij od decyzji użytkownika. Policz ile jest osób o niskim wzroście, średnim a ile o wysokim. Napisz, których osób było najwięcej.

1.35. Napisz algorytm a) wypisywania wszystkich liczb podzielnych przez liczbę d i nie większych od liczby n (d i n podane są przez użytkownika) b) wypisywania wszystkich dzielników liczby naturalnej n, podanej przez użytkownika c) wypisywania liczb określonych w podpunkcie a) albo b), w zależności od decyzji użytkownika.

1.36. Napisz algorytm w postaci funkcji, której parametrami są: n – liczba naturalne oraz tab – tablica dwuwymiarowa o n wierszach i n kolumnach o wyrazach rzeczywistych. Algorytm zwraca informację, czy tablica jest symetryczna, bez użycia instrukcji break. Narysuj schemat blokowy.

1.37. Napisz algorytm w postaci funkcji, której parametrem są: m, n – liczby naturalne oraz tab2 – tablica dwuwymiarowa o m wierszach i n kolumnach o wyrazach rzeczywistych. Algorytm zwraca tablicę jednowymiarową tab1, której elementami są kolejne elementy tablicy tab2, zapisywane wiersz po wierszu. Narysuj schemat blokowy.

1.38. Napisz iteracyjnie i rekurencyjnie algorytm Euklidesa wyznaczania NWD liczb naturalnych. Algorytm Euklidesa opiera się na spostrzeżeniu, że NWD dwóch liczb całkowitych a i b, a>b, jest równy NWD liczb b i a mod b (reszta z dzielenia a przez b).

1.39. Napisz algorytm w postaci funkcji, której parametrami są: n – liczba naturalna oraz tab – tablica jednowymiarowa o n elementach. Algorytm zwraca tablicę tab, której elementy są uporządkowane w kolejności rosnącej metodą bąbelkową. Narysuj schemat blokowy.

1.40. Napisz algorytm rysowania wzoru, który przykładowo dla n=3 wygląda następująco (liczbę naturalną n podaje użytkownik): 1 22 22 333 333 333