Strona główna

X do dowolnej naturalnej potęgi n


Pobieranie 15.83 Kb.
Data18.06.2016
Rozmiar15.83 Kb.

  1. Narysuj schemat blokowy algorytmu podnoszenia liczby x do dowolnej naturalnej potęgi n (dla n > 0)

  2. Narysuj schemat blokowy programu wyświetlającego kolejne liczby nieparzyste

od 1 do 19

  1. Dany jest ciąg liczb zakończony zerem, które do ciągu nie należy. Narysuj schemat blokowy programu obliczającego sumę liczb dodatnich i sumę liczb ujemnych występujących w tym ciągu.

  2. Narysuj schemat blokowy programu znajdującego największą spośród trzech różnych liczb.

  3. Oblicz sumę pięciu kolejnych liczb naturalnych. Wynik oznacz przez S. Narysuj schemat blokowy tego algorytmu, napisz program w pseudojęzyku. Dokonaj analizy tego algorytmu metoda „krok po kroku”

  4. Masz dane trzy elementy A,B,C. Napisz algorytm (forma dowolna) wypisujący wszystkie możliwe sposoby rozmieszczenia tych elementów obok siebie w rzędzie. Wyprowadź wzór na ilość ustawień w zależności on n (n - ilość elementów)

  5. Ten algorytm sprawdza czy określona liczba występuje w danym zbiorze liczb – przy danych nieuporządkowanych:

Algorytm:

    1. Wczytaj zadany zbiór liczb i określ liczbę elementów tego zbioru (n)

    2. Wczytaj poszukiwaną liczbę (x)

    3. Wybierz kolejny element zbioru

    4. Sprawdź, czy ten element jest poszukiwaną liczbą, jeśli tak, to wypisz komunikat „znalazłem” i idź do punktu 5, w przeciwnym razie idź do punktu 3

    5. Koniec algorytmu

Ile instrukcji wykona ten algorytm i jak ta liczba instrukcji zależy od n (złożoność obliczeniowa)?



  1. Ten algorytm sprawdza czy określona liczba występuje w danym zbiorze liczb – przy danych uporządkowanych (zakładamy, że dane wejściowe są zawsze uporządkowane np. w kolejności rosnącej) [wyszukiwanie połówkowe (binarne)] Algorytm:

    1. Wczytaj zadany zbiór liczb i określ liczbę elementów tego zbioru

    2. Wczytaj poszukiwaną liczbę (x)

    3. Wybierz element środkowy i oznacz go jako y

    4. Porównaj y z liczbą x

    5. Jeżeli y=x to wypisz komunikat „znalazłem” i idź do punktu 8

    6. Jeżeli y>x to idź do punktu 3, zawężając obszar wyszukiwań do elementów znajdujących się na lewo od y, jeśli obszar ten jest niepusty. Gdy jest pusty, to wypisz komunikat „nie znalazłem” i idź do punktu 8

    7. Jeżeli yy, jeśli obszar ten jest niepusty. Gdy jest pusty, to wypisz komunikat „nie znalazłem” i idź do punktu 8

    8. Koniec algorytmu

Oszacuj maksymalną liczbę kroków tego algorytmu dla konkretnej ilości elementów (np. dla 100 elementów liczba kroków wynosi 7). Porównaj ten algorytm z poprzednim (7)




  1. Wyszukiwanie elementu najmniejszego(największego)

Mamy dany zbiór n liczb. Trzeba znaleźć najmniejszą (największą) spośród nich.

Algorytm:



    1. Wczytaj zadany zbiór liczb i określ liczbę elementów tego zbioru (n)

    2. Zapamiętaj pierwszy element jako aktualne minimum

    3. Wykonaj punkty 4 i 5 n-1 razy

    4. Wybierz kolejną liczbę

    5. Jeżeli ta liczba jest mniejsza od zapamiętanej, to zapamiętaj ją jako aktualne minimum

    6. Wypisz aktualne minimum

    7. Koniec algorytmu

Wskaż w tym algorytmie fragment, gdzie występuje warunek i iteracja.




  1. Dla danego algorytmu postaraj się odpowiedzieć, jaki będzie wynik, gdy wprowadzimy konkretne przykładowe dane.

Algorytm:



    1. Wczytaj liczbę N

    2. Zapamiętaj, że x=0

    3. Wykonaj krok 4 tyle razy, ile wynosi wczytana liczba N

    4. Dodaj do x liczbę 9

    5. Wypisz liczbę x

Jaką wartość wypisze ten algorytm, gdy w kroku 1 wczyta on liczbę 13?




  1. Algorytm I

Dane wejściowe: liczba naturalna N

    1. Dopóki liczba N jest różna od 1, wykonuj:

    1. Wypisz komunikat: „to ja, algorytm, wciąż żyję!!!”

    2. Jeżeli liczba N jest parzysta, to podziel ją przez 2, wynik zapamiętaj jako nową wartość N i wróć do punktu 1, w przeciwnym razie idź

do 1.3

    1. Pomnóż N przez 3 i dodaj 1, a wynik zapamiętaj jako nową wartość N i wróć do punktu 1.

    1. Koniec algorytmu

Prześledź działanie tego algorytmu dla N=52 i N=9


Algorytm II

Dane wejściowe: liczba naturalna n.

Dane wyjściowe: pewien ciąg liczb naturalnych.


    1. Weź daną liczbę n i wypisz ją.

    2. Dopóki n>1 wykonuj poniższe instrukcje(2.1)-(2.2)

    1. Jeżeli n jest liczbą parzystą, to za nową wartość n przyjmij n/2, w przeciwnym razie (czyli gdy n jest nieparzysta) za nową wartość n przyjmij n+1.

    2. Wypisz aktualną wartość n

    1. Koniec

Jaki ciąg licz wygeneruje ten algorytm, gdy początkowa wartość n=11?


Który z podanych algorytmów (I czy II) jest skończony?


  1. Zaproponuj algorytm, który odwraca kolejność elementów w szeregu

  2. Zapisz w postaci algorytmu rozwiązanie następującego problemu:

Mamy ustalony zbiór liczb 1,2,3....100. Kolega wybiera sobie w pamięci jedną liczbę z tego zbioru i zapamiętuje ją. Zadaniem ucznia jest odgadnąć w jak najmniejszej ilości prób tę liczbę, otrzymując od kolegi tylko informację, czy wybrana przez ucznia liczba jest mniejsza lub większa niż ta, którą on wybrał

  1. Powiedz, który z podanych niżej algorytmów jest rekurencyjny, a który iteracyjny.

Algorytm A:



    1. Wczytaj dany zbiór liczb od x1......xn

    2. Powtarzaj kroki 3 i 4 dla i=1 do n-1

    3. Wybierz element najmniejszy spośród elementów xi.....xn

    4. Wybrany element ustaw na pozycji i-tej

    5. Koniec – ciąg uporządkowany

Algorytm B:



  1. Wczytaj dany zbiór liczb od x1......xn

  2. Z aktualnego zakresu Wybierz element najmniejszy i ustaw go na początku tego zakresu

  3. Jeżeli na prawo zostały jeszcze jakieś liczby, to zawęź do nich zakres i wykonaj na nich algorytm B, a przeciwnym razie idź do punktu 4

  4. Koniec – ciąg uporządkowany




  1. Przedstaw w wybranej przez siebie reprezentacji algorytm porządkowania trzech liczb (a,b,c)


©snauka.pl 2016
wyślij wiadomość