• Nie Znaleziono Wyników

Algorytmy

N/A
N/A
Protected

Academic year: 2021

Share "Algorytmy"

Copied!
2
0
0

Pełen tekst

(1)

Zajęcia 3 Podstawowe pojęcia i narzędzia informatyki

Podstawowy algorytmów schematy blokowe i pseudokod.

Algorytmy iteracyjne i rekurencyjne.

Algorytm iteracyjny - algorytm, który uzyskuje wynik przez powtarzanie danej operacji określoną ilość razy.

Algorytm rekurencyjny - algorytm, który wywołuje sam siebie do roz- wiązania tego samego problemu.

Informacje na temat schematów blokowych:

— Trochę o schamtach blokowych http://pl.wikipedia.org/wiki/Schemat_

blokowy

— Elementy schematów blokowych http://kasia315.republika.pl/kurs/

lekcja2.htm

Przykłady Schematów blokowych :

— Silnia iteracyjnie http://codecity.info/?q=node/41

— Algorytm Euklidesa http://codecity.info/?q=node/90

Będziemy na zajęciach korzystać z programu „Magiczne Bloczki” gdyż pozwala on zweryfikować czy nasz algorytm jest poprawny:

— Magiczne bloczki instrukcja obsługi http://usersp.w.interia.pl/pomoc/

algorytm.htm

— Przykłady algorytmów zrobionych w Magicznych Bloczkach http://

magiczne.bloczki.prv.pl/algorytmy.htm

Drugim aspektem jest zapis algorytmów w pseudokodzie:

— Notacja używana w pseudokodzie http://www.ics.p.lodz.pl/~akmiecik/

pl/dydaktyka/Algorytmy/pseudo.htm

Jako, że macie państwo zajęcia z programowania można także korzystać zamiast notacji takiej jak powyżej notacji z języka C, lub zbliżonej (każda zrozumiała notacja jest poprawna).

Zadania na ćwiczenia Zadanie 1

Narysować schemat blokowy algorytmu sprawdzania czy trafiliśmy szóst- kę w Totka. Zakładamy, że na wejściu znajduje się sześć posortowanych liczb oraz na kuponie także znajduje się sześć posortowanych liczb.

Tablice wejściowe podajemy podając liczby przedzielone przecinkiem. Do i-tego elementu tablicy „kupon” odwołujemy się poprzez „kupon[i]”. można skorzystać z pliku obejmującego wczytywanie danych http://www.staff.

amu.edu.pl/~mw/DNIF/lotto.alg.

Zadanie 2 Wyszukiwanie binarne jest algorytmem opierającym się na metodzie dziel i zwyciężaj. Szukając danego elementu w posortowanej n- ele- mentowej tablicy sprawdzamy czy środkowy element jest równy, mniejszy, bądź większy od szukanego. W zależności od wyniku kontynuujemy wyszu- kiwanie na pierwszej lub drugiej połowie tablicy. W przypadku gdy element

1

(2)

Zajęcia 3 Podstawowe pojęcia i narzędzia informatyki

jest równy szukanemu kończymy wyszukiwanie. Zapisz w pseudokodzie al- gorytm wyszukiwania binarnego w postaci iteracyjnej i rekurencyjnej.

Zadanie 3

Narysować w Magicznych Bloczkach schemat blokowy algorytmu sor- towania przez wstawianie. Opis algorytmu można znaleźć tutaj http://

kondel.ko.funpic.de/?pid=53.

Zadanie 4

Narysować w Magicznych Bloczkach schemat blokowy algorytmu sorto- wania bąbelkowego. Opis algorytmu można znaleźć tutaj http://pl.wikipedia.

org/wiki/Sortowanie_b%C4%85belkowe.

Zadanie 5

Napisać psudokod iteracyjnego i rekurencyjnego algorytmu obliczającego N-ty element ciągu zdefiniowanego w następujący sposób:

Fn:=

0 dla n = 0;

1 dla n = 1;

2 dla n = 2;

Fn−1+ Fn−2+ Fn−3 dla n > 2.

(czyli ciąg ten wygląda następująco 0,1,2,3,6,11,20,...). Zaimplementować w magicznych bloczkach wersję iteracyjną algorytmu. Sprawdzić jaki jest 25 element tego ciągu.

Informacje końcowe

Jedne z zadań na kolokwium będzie obejmowało narysowanie na kartce schematu blokowego oraz rozpisania w pseudokodzie wybranego algorytmu.

Stąd z zajęć tych nie ma zadania domowego.

2

Cytaty

Powiązane dokumenty

Kolejka_P – kolejka priorytetowa zawierająca wszystkie wierzchołki spoza rozrastającego się drzewa rozpinającego zwracająca element o najmniejszej wadze..

Zastosuj kod programu genTest.cpp do wygenerowania serii liczb wejsciowych. Za pomoca kodu sortTest.cpp utw´orz wzorcowy output posortowanych serii, kod u˙zywa funkcji

Akceleracja algorytmu NEH.

Dla dowolnego drzewa binarnego o wysokości wd będącej liczbą naturalną wd>0, algorytm preorder dla danych spełniających  w skończonej liczbie kroków dochodzi

Port jest to rejestr posiadający swój adres w przestrzeni adresowej procesora i do którego procesor może wysyłać dane/rozkazy oraz z którego może

Jeśli mam jakieś niedociągnięcia w pracy grupowej to dlatego, że... a) nie mogę się uspokoić, dopóki narada nie jest uporządkowana, kontrolowana i ogólnie dobrze prowadzona,..

Przed startem algorytmu prawie cała tablica (poza polem startowym i przeszkodami) powinna mieć wartości 0 (pole nieodwiedzone):.

Algorytm warunkowy to taki, w którym wykonanie instrukcji uzależnione jest od spełnienia lub niespełnienia warunku.