Algorytmy cd (rekurencja)
Click here to load reader
Transcript of 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