Zadanie 2. Analiza algorytmu (2019)

Przeanalizuj podaną funkcję pisz().
Specyfikacja:
  Dane:
    s – napis
    n – liczba całkowita dodatnia,
         nie mniejsza niż długość napisu s
    k – liczba całkowita z zakresu [2..10]
    
  funkcja pisz(s,n,k)
    jeżeli dł(s) = n 
       wypisz s 
    w przeciwnym razie
       dla i=0,1 … k-1 wykonuj
           pisz(s + napis(i), n, k)

Uwaga:
   dł(x) – daje w wyniku długość napisu x
   s1 + s2 – daje w wyniku złączenie napisów s1 i s2
   napis(p) – daje w wyniku napis będący
             zapisem dziesiętnym liczby całkowitej p

Zadanie 2.1. (0–2)
  • Uzupełnij miejsca oznaczone kropkami w drzewie wywołań funkcji pisz otrzymanym w wyniku wywołania pisz("",2,2).
  • W kwadratowych polach, przy węzłach drzewa, podaj odpowiednią kolejność wywołańfunkcji pisz, tzn. przy pierwszym wywołaniu – 1, przy kolejnym – 2 itd.



  • odp:
    6.pisz("10",2,2) 7.pisz("11",2,2)

    Zadanie 2.2. (0–2)
    Uzupełnij poniższą tabelę – przeanalizuj podane w niej wywołania funkcji pisz. Podaj napisy wypisywane w wyniku wywołania funkcji pisz z zadanymi parametrami oraz łączną liczbęwywołań tej funkcji.

    Pierwsze wywołanieNapisy wypisane na ekranieŁączna liczba wywołań pisz()
    pisz("",3,2)  
    pisz("",2,3)  
    odp:
    000 001 010 011 100 101 110 111 - 15
    00 01 02 10 11 12 20 21 22 - 13

    Zadanie 2.3. (0–2)
    Podaj wzór na łączną liczbę wywołań funkcji pisz w wyniku wywołania pisz("", n, k).

    odp:
    k^0 +k^1+...+k^n
    patrz film z omówieniem