SZUKAJ NA TYM BLOGU

Pokazywanie postów oznaczonych etykietą Pseudokod. Pokaż wszystkie posty

Zadanie 3.1. (0–1) ()

 Rozważamy dwie funkcje F i G, których argumentem jest liczba całkowita x > 1 (gdzie mod oznacza resztę z dzielenia):

F(x):
  i ← 2
  dopóki x mod i ≠ 0 wykonuj
    i ← i + 1
  zwróć i

G(x):
  i ← x – 1
  dopóki x mod i ≠ 0 wykonuj
    i ← i – 1
  zwróć i


1.F(2)=2 oraz G(2)=1.PF
2.Dla każdej liczby parzystej x wartość F(x) jest parzysta.PF
3.Dla każdej liczby parzystej x wartość G(x) jest parzysta.PF
4.Dla każdej liczby x większej od 2 F(x) dzieli liczbę x.PF

Zadanie 3.1. (0–1) ()

Dana jest następująca funkcja: 

funkcja f(n):
    jeżeli n > 0
        wypisz n
        f(n – 2)
        wypisz n

1.W wyniku wywołania f(5) otrzymamy ciąg 5 5 5 5 5 5.PF
2.W wyniku wywołania f(6) otrzymamy ciąg 6 4 2 2 4 6.PF
3.W wyniku wywołania f(7) otrzymamy ciąg 7 5 3 1 1 3 5 7.PF
4.W wyniku wywołania f(8) otrzymamy ciąg 8 6 4 2 0 0 2 4 6 8.PF

Zadanie 3.1. (0–1) ()

Dana jest rekurencyjna funkcja f(n):

f(n):
  jeżeli n = 0
    wynikiem jest 1
  w przeciwnym przypadku
    s ← 1
    dla i = 0, 1, ..., n - 1
      s ← s + f(i)
    wynikiem jest s

1.Dla n < 10 wynikiem działania funkcji f jest liczba mniejsza od 1000.PF
2.Obliczenie poprawnego wyniku f(200) zajmie na komputerze w dowolnej szkolnej pracowni najwyżej kilka sekund.PF
3.W trakcie obliczania wartości funkcji f dla dowolnego n > 0 nastąpi łącznie co najwyżej 2n wywołań tej funkcji.PF
4.f(10) = 1024.PF

Zadanie 3.2. (0–1) ()

W poniższym algorytmie n jest nieujemną liczbą całkowitą, mod to operator reszty z dzielenia, div to operator dzielenia całkowitego. 

w ← 0
dopóki n ≠ 0 wykonuj
    w ← w + (n mod 10)
    n ← n div 10

1.Po wykonaniu algorytmu dla n = 45778 zmienna w przyjmuje wartość 30.PF
2.Po wykonaniu algorytmu dla liczby n wartością zmiennej w jest suma cyfr liczby n w zapisie dziesiętnym.PF
3.Podczas wykonywania algorytmu dla n = 1234 w kolejnych iteracjach pętli dopóki, zmienna w przyjmuje wartości 1, 3, 6, 10.PF
4.Po wykonaniu algorytmu dla n = 11111 zmienna w przyjmuje wartość 5.PF

Zadanie 3.4. (0–1) ()

Dana jest funkcja rekurencyjna Rek, której argumentem jest nieujemna liczba całkowita n. 

funkcja Rek(n)
 jeśli (n>0) to wykonaj kolejno dwie instrukcje:
  1. wywołaj Rek dla argumentu n-1
  2. wypisz n

Jeśli wywołamy ją dla n równego 5, to:

1.Zero będzie wypisane.PF
2.Największą wypisaną liczbą będzie 5.PF
3.Zostanie wypisanych 5 liczb.PF
4.Liczby zostaną wypisane w kolejności malejącej.PF

Zadanie 55.2 ()

Dana jest następujący algorytm F(n) dla n ∈ N,n > 0:
F(n)
jeżeli n = 1, zwróć 1 i zakończ
w przeciwnym razie zwróć
F(n div 2) + 1

Dla tego algorytmu zachodzi

1.F(8) = 3.PF
2.F(12) = 4.PF
3.F(1) = 0 lub F(9) = 4.PF
4.F(1) = 1 oraz F(9) = 3.PF

Zadanie 1.b (0–1) ()

Rozważmy poniższy algorytm, gdzie n jest liczbą całkowitą nieujemną:

(1) wynik ← 0;
(2) dopóki n ≠ 0 wykonuj
(3) wynik ← wynik + (n mod 10)
(4) n ← n div 10 

oraz:
mod to operator reszty z dzielenia,
div to operator dzielenia całkowitego. 

 Dla podanego algorytmu zachodzi:

1.dla n=36789 wynik=30.PF
2.dla n=11111111 wynik=8.PF
3.wynik jest równy sumie cyfr w zapisie dziesiętnym liczby n.PF
4.dla n=1234 zmienna wynik po kolejnych iteracjach pętli dopóki przyjmuje wartości 1, 3, 6, 10.PF