Przejdź do treści

Ćwiczenie 5

Zapoznaj się z poniższą specyfikacją oraz pseudokodem, a następnie rozwiąż zadania.

Specyfikacja

Dane

  • \(a\) - liczba rzeczywista
  • \(n\) - liczba naturalna, \(n \neq 0\)

Wynik

  • Liczba rzeczywista \(p=a^n\)

Pseudokod

1. p := 1
2. b := a
3. Dopóki n > 0, wykonuj:
    4. Jeżeli n mod 2 = 1, to
        5. p := p * b
    6. b := b * b
    7. n := n div 2

Zadanie 1

Przeanalizuj powyższy algorytm i uzupełnij poniższą tabelę wartościami zmiennych \(p\), \(b\) oraz \(n\) po kolejnych wykonaniach kroku 3 dla dowolnej początkowej wartości \(a\) oraz początkowej wartości zmiennej \(n\) równej \(12\).

p b n
1 a 12
1 \(a^2\)

Zadanie 2

Uzupełnij poniższą tabelę wpisując liczby wszystkich mnożeń wykonywanych przez powyższy algorytm dla podanych wartości \(n\), tzn. liczby wykonanych instrukcji p:=p*b i b:=b*b

n liczba mnożeń
2
3
4
5
6
7

Zadanie 3

Jaka jest złożoność powyższego algorytmu?