Poj cie algo tm
Poj cie algorytmu
Algorytm to przepis rozwi zania zadania,
zawieraj cy opis danych wraz z opisem czynno ci,
i j i d h i i
które nale y wykonać z tymi danymi, aby osi gn ć
Technologia informacyjna
Technologia informacyjna
zamierzony cel.
wykład
Słowo algorytm powstało w wyniku zniekształcenia
Słowo algorytm powstało w wyniku zniekształcenia
nazwiska arabskiego matematyka Muhammeda ibn
Musa Alchwarizmi wczasie tłumaczenia jego dzieł
Musa Alchwarizmi w czasie tłumaczenia jego dzieł
na j zyk łaci ski. Jego nazwisko pisane po łacinie
Dr in . Marcin Wyskwarski
przyj ło postać Algorismus
przyj ło postać Algorismus.
Marcin.Wyskwarski@polsl.pl
Jednym z p y niebanalnych algorytmów był
y pierwszych y g y y
opis sposobu znajdowania najwi kszego wspólnego
dzielnika d óc c b, tzw. algorytm u desa
d e a dwóch liczb, t a go yt Euklidesa.
2
Poj cie algorytmu c d Cech algorytmu
Poj cie algo tm c.d. Cechy algo tm
uniwersalno ć, czyli zapewnienie rozwi zania
Z punktu widzenia informatyki algorytm
ka dego zadania nale cego do okre lonego typu
ka dego zadania nale cego do okre lonego typu
zada , pod warunkiem konsekwentnego jego
jest opisem wykonania przez komputer
stosowania,
,
okre lonych funkcji
okre lonych funkcji.
jednoznaczno ć, czyli prezentacj metody
post powania w postaci sko czonej listy prostych
j
Algorytm wymusza formalny sposób
g y y y p
i jednoznacznych rozkazów dotycz cych post powania
dh k ó d h
definiowania problemu, tak aby był on mo liwy
na kolejnych etapach wykonywania zadania,
do rozwi zania przy u yciu komputera
do rozwi zania przy u yciu komputera.
zbie no ć, czyli dla ka dego dopuszczalnego zbioru
bi ć li dl k d d l bi
danych pocz tkowych liczba operacji prowadz cych do
Algorytm powinien być tak napisany, aby nie
poszukiwanego wyniku jest sko czona
poszukiwanego wyniku jest sko czona,
pozostawały w nim adne niejednoznaczno ci,
powtarzalno ć, czyli ka dy z u ytkowników stosuj c
a jego wykonanie było wka dym przypadku
a jego wykonanie było wka dym przypadku
analogiczne dane i algorytm uzyska analogiczne
analogiczne dane i algorytm uzyska analogiczne
wyniki.
deterministyczne.
3 4
S b l fi
Symbole graficzne
Etap o i ania p oblemó schematach bloko ch
Etapy rozwi zywania problemów w schematach blokowych
1. Sformułowanie zadania
Nazwa
Nazwa
2 Ok l i d h j i h
2. Okre lenie danych wej ciowych
Symbol Wyja nienie
operacji
3. Okre lenie celu, czyli wyniku
3. Okre lenie celu, czyli wyniku
Operacja, grupa operacji, w wyniku których
4. Poszukiwanie metody rozwi zania, czyli
Przetwarzanie ulega zmianie warto ć postać lub miejsce
Przetwarzanie ulega zmianie warto ć, postać lub miejsce
algorytmu
algorytmu
zapisu danych
5. Przedstawienie algorytmu w postaci:
Wprowadzanie
opisu słownego schematu blokowego
lub Wprowadzanie lub wyprowadzanie danych
listy kroków j zyka programowania wyprowadzanie
listy kroków j zyka programowania d i
6. Analiza poprawno ci rozwi zania
O j k l j bó j d j
Operacja okre laj ca wybór jednej
Decyzja
7. Testowanie rozwi zania dla ró nych danych.
z alternatywnych dróg działania
Ocena efektywno ci przyj tej metody
Ocena efektywno ci przyj tej metody.
5 6
S b l fi S b l fi
Symbole graficzne Symbole graficzne
w schematach blokowych w schematach blokowych c.d.
schematach bloko ch schematach bloko ch c d
Nazwa Nazwa
Nazwa Nazwa
Symbol Wyja nienie Symbol Wyja nienie
operacji operacji
Modyfikacja rozkazu lub grupy rozkazów,
A czenie dróg
Przygotowanie powoduj ca zmian w przebiegu procesu
Przygotowanie powoduj ca zmian w przebiegu procesu
przepływu
przepływu
danych
przetwarzania
W j i l b j i d b i h
Wej cie lub wyj cie z wyodr bnionych
Droga A cznik
Wi operacyjna pomi dzy poszczególnymi
przepływu
mi dzy- fragmentów schematu znajduj cego
operacjami procesu przetwarzania
operacjami procesu przetwarzania
d h i
danych stronnicowy
si na ró nych stronach
We cie lub wyj cie z wyodr bnionych
yj y y
Skrzy owanie A cznik
k i ik
fragmentów schematu znajduj cych
dróg stronicowy
si na jednej stronie
si na jednej stronie
7 8
S b l fi
Symbole graficzne
w schematach blokowych c.d. Rodzaje algorytmów
schematach bloko ch c d Rod aje algo tmó
Algorytm liniowy
Algorytm liniowy
Nazwa
Nazwa
Symbol Wyja nienie
operacji
Algorytm z rozgał zieniem
Algorytm z rozgał zieniem
Oznacza miejsce rozpocz cia, zako czenia lub
Pocz tek koniec
Algorytm z powtórzeniami
Algorytm z powtórzeniami
lub przerwa
przerwania działania programu
Oznacza miejsce rozpocz cia lub zako czenia
Działanie
równoległe
równoległe
dwu lub wi cej operacji jednoczesnych
dwu lub wi cej operacji jednoczesnych
Komentarz Oznacza miejsce na komentarz
9 10
Al t li i
Algorytm liniowy
Algo tm linio l d d d ó h l b
Algorytm liniowy Algorytm dodawania dwóch liczb
START
1. Sformułowanie zadania:
Algorytm liniowy ma postać ci gu czynno ci, które
Oblicz sum dwóch liczb
Oblicz sum dwóch liczb
musz być wykonane w okre lonej kolejno ci. Opis
b ć k k l j k l j i O i
naturalnych a, b. Wynik
czynno ci wyst puj cych w algorytmie nazywamy
oznacz przez S
oznacz przez S.
a, b
instrukcjami.
2. Dane wej ciowe: danymi
Algorytm liniowy nie zawiera adnych warunków ani
Algorytm liniowy nie zawiera adnych warunków ani
wej ciowymi s dwie liczby
j i i d i li b
rozgał zie .
a, b.
S= a + b
Algorytm liniowy zaczyna si od podania zestawu
Algorytm liniowy zaczyna si od podania zestawu
3. Cel oblicze (co ma być
danych, pó niej wykonywania kolejnych kroków
wynikiem): obliczenie sumy
wykonawczych, nast pnie uzyskania wyniku.
k h t i k i ik
S = a + b.
S
Przykład: algorytm dodawania dwóch liczb
y g y
Stop
11 12
Algorytm z rozgał zieniem
Algo tm o gał ieniem
Algorytm z rozgał zieniem
Instrukcje warunkowe
Wi kszo ć algorytmów zawiera rozgał zienia b d ce
Instrukcja warunkowa jest elementem
Instrukcja warunkowa jest elementem
efektem sprawdzania warunków.
f kt d i kó
algorytmu umo liwiaj cym zmian
Wyra enia warunkowe umo liwiaj wykonanie zadania
yj y
dla wielu wariantów danych i rozwa anie ró nych
kierunku przepływu danych
przypadków.
przypadków.
w zale no ci od
wzale no ci od
Charakterystycznym elementem s tzw. instrukcje
sposobu wypełnienia
Tak Nie
warunkowe Działa ona według jednego z dwóch W k
warunkowe. Działa ona według jednego z dwóch Warunek
podanego w niej
przedstawionych schematów:
warunku
warunku.
Je li spełniony jest warunek W, wykonaj instrukcj A.
Instrukcja 1 Instrukcja 2
Je li spełniony jest warunek W, to wykonaj instrukcj A;
p y j y j j
w przeciwnym razie wykonaj instrukcj B.
13 14
Algorytm z rozgał zieniem Algorytm z rozgał zieniem
Instrukcje warunkowe c.d. Instrukcje warunkowe c.d.
W algorytmach mo na równie spotkać si Inny sposób dla instrukcji wielokrotnego
W algorytmach mo na równie spotkać si Inny sposób dla instrukcji wielokrotnego
wyboru polega na zastosowaniu graficznego
z sytuacj , kiedy konieczne jest rozgał zienie
symbolu przygotowania Znajduje si wnim
symbolu przygotowania. Znajduje si wnim
drogi przepływu danych na wi cej ni
Tak Nie
dwie trasy. W takim selektor, słu cy do wyboru okre lonej
y y y j
Warunek 1
przypadku stosuje si instrukcji. Selektor to najcz ciej zmienna,
Nie
Tak
Warunek 2
Warunek 2
t i d któ j t ć d d j
tzw. zagnie d one której warto ć decyduje o
yj
Nie wykonaniu tej
Tak instrukcje
instrukcje
Warunek 3
Warunek 3 `
Selektor
lub innej
wyboru.
instrukcji
instrukcji.
Instrukcja 1 Instrukcja 2 Instrukcja 3 Instrukcja 4
Instrukcja 1 Instrukcja 2 Instrukcja 4
15 16
START
START
Algorytm
l
Wczytaj:
a, b, c
Algorytm obliczania
g y
Wczytaj:
z rozgał zieniem
ł i i
a, b, c równania
delta b2 + 4ac
k d t d
kwadratowego c.d.
delta b2 + 4ac
tak nie
delta > 0
Algorytm obliczania
Algorytm obliczania
Tak Nie
tak nie
delta 0
delta = 0 delta > 0
równania
równania
b + delta
x
1
kwadratowego
2a
1 2 3
1 2 3
Tak Nie
Tak Nie
b delta = 0
Drukuj
x
0
2a Brak rozw.
b + delta
x
1
2a
2a
b delta Drukuj
b delta Drukuj
D k j
Drukuj
Drukuj
x
2
2a X1, x2 X0 Brak rozw.
b
Drukuj
x
0
2a
X0
X0
b delta
b delta
x
2
2a
Drukuj Drukuj
X1, x2 X1, x2
1 2 3
END
Koniec
17 18
Algorytm z powtórzeniami
Algo tm po tó eniami
Algorytm z powtórzeniami
Instrukcje iteracyjne (p tle)
Cech charakterystyczn wielu algorytmów, s
Charakterystycznym dla
powtarzaj ce si instrukcje
powtarzaj ce si instrukcje.
i t k ji it j h j t
instrukcji iteracyjnych jest
Licznik = warto ć
wielokrotne p
powtarzanie
Wielokrotne powtarzanie instrukcji u o aj
eo ot e po ta a e st u cj umo liwiaj
pocz tkowa
tk
wybranych instrukcji.
instrukcje iteracyjne (p tle).
Instrukcja jest
Instrukcja jest
Iteracja to technika algorytmiczna polegaj ca
It j t t h ik l t i l j
Instrukcja
wykonywana tyle razy ile
na wykonaniu tej samej instrukcji dla n
yj j j
wymaga tego
t
zmiennych.
Zwi ksz licznik
programista, j
p g , okre laj c
Li ik <
Rozró niamy: Nie
Rozró niamy: Licznik < Tak
warto ć pocz tkow
warto ć
Instrukcja iteracyjna - ze znan ilo ci powtórze
ko cowa
i ko cow licznika, oraz
i ko cow licznika, oraz
Instrukcja iteracyjna - ze spełnieniem warunku
krok jego zwi kszania.
19 20
Algorytm z powtórzeniami
g y p
Dodawanie kolejnych liczb
Start
Start
P
P
G af
Grafy
naturalnych
Podaj N
Przypisanie typu s:=s + L, oznacza
Graf składa si z w złów
D
D
przypisanie zmiennej s (sumie) poprzedniej
przypisanie zmiennej "s" (sumie) poprzedniej
i gał zi i symbolizuje przepływ
i gał zi i symbolizuje przepływ
warto ci pami tanej w zmiennej "s"
informacji.
S:=0
(poprzedniej sumie) zwi kszonej o warto ć
(poprzedniej sumie) zwi kszonej o warto ć
L:=N
Graf mo na wykorzystać, aby
D
pami tan w zmiennej L" (kolejn liczb ).
w up os c o ej o e ust o ać
uproszczonej formie zilustrować
P i i L L 1 ł i t l t
Przypisanie L:=L-1 pełni tu rol tzw.
liczb ró nych dróg prowadz cych do
licznika, w którym
okre lonego w zadaniu celu.
okre lonego w zadaniu celu.
Ni
Nie
nast puje obliczanie, ile
t j bli i il
Czy L>0 ? Pisz S
D
zostało powtórze do
wykonania. W tym P pocz tek
Tak
algorytmie liczb
g y
K koniec
K koniec
S S+L K
S:=S+L K
powtórze okre lono na
L:=L-1
D działanie
pocz tku instrukcj l:=N.
poc t u st u cj
Stop
21 22
P
P
G af c d So to anie
Grafy c.d. Sortowanie
D
Konieczno ć sortowania danych pojawia si
Graf pozwala tak e wykryć
cie ki które nie prowadz do w wielu ró nych dziedzinach np :
cie ki, które nie prowadz do w wielu ró nych dziedzinach np.:
punktu ko cowego, co stanowi
sport konieczno ć uło enia w okre lonej kolejno ci
W
podstawow cech poprawnego
podstawow cech poprawnego
wyników uzyskanych przez zawodników
ikó k h d ikó
algorytmu.
W
bank uło enie w odpowiedniej kolejno ci spłaty
D
D
Wklasycznym grafie wyst puj
Wkl fi t j
kredytów
cztery typy w złów
baza danych p p y y
y porz dkowanie przechowywanych
D D
D D
w zeł pocz tkowy
w bazie danych informacji np. posortowanie listy
D
w zeł ko cowy ksi ek wg autorów
y g
w zeł oznaczaj cy działanie
K
K
w zeł z rozgał zieniem,
w zeł z rozgał zieniem
który stanowi wynik analizy
warunku
warunku.
23 24
So to nie b belkowe So to nie b belkowe c d
Sortownie b belko e Sortownie b belko e c.d.
najstarszy element
Posortować rosn co 5-cio
Algorytm sortowania b belkowego jest jednym
Algorytm sortowania b belkowego jest jednym
(8) znalazł si na
(8) znalazł si na
elementowy zbiór liczb
ó
z najstarszych algorytmów sortuj cych.
ko cu zbioru,
{8 2 1 6 0},
Zasada działania opiera si na cyklicznym
Zasada działania opiera si na cyklicznym
najmłodszy element
j ł d l t
porównywaniu par s siaduj cych elementów
(0) przesun ł si
Obieg Zbiór Opis operacji
g p p j
i i i i h k l j i dk i ł i i
i zamianie ich kolejno ci w przypadku niespełnienia
o jedn pozycj
Para wymaga przestawienia
82160
kryterium porz dkowego zbioru.
w lewo.
Para wymaga przestawienia
28160
Operacj t wykonujemy dot d, a cały zbiór
po ka dym obiegu
zostanie posortowany.
zostanie posortowany.
na ko cu zbioru
na ko cu zbioru
Para wymaga przestawienia
Para wymaga przestawienia
1 21860
1 21860
tworzy si podzbiór
y g przestawienia
21680 Para wymaga p
uporz dkowanych
uporz dkowanych
Koniec obiegu
21608 najstarszych
elementó
elementów.
25 26
So to nie b belkowe c d So to nie b belkowe c d
Sortownie b belko e c.d. Sortownie b belko e c.d.
Posortować rosn co 5-cio Posortować rosn co 5-cio
elementowy zbiór liczb elementowy zbiór liczb
ó ó
{8 2 1 6 0}, {8 2 1 6 0},
Obieg Zbiór Opis operacji Obieg Zbiór Opis operacji
g p p j g p p j
Para wymaga przestawienia Dobra kolejno ć
21608 12068
Dobra kolejno ć Para wymaga przestawienia
12608 12068
Para wymaga przestawienia Dobra kolejno ć
Para wymaga przestawienia Dobra kolejno ć
2 12608 3 10268
2 12608 3 10268
Dobra kolejno ć Dobra kolejno ć
j j
12068 10268
Koniec obiegu Koniec obiegu
12068 10268
27 28
So to nie b belkowe c d So to anie p e bó
Sortownie b belko e c.d. Sortowanie przez wybór
Działanie algorytmu sortowania przez wybór jest
Posortować rosn co 5-cio
bardzo p W celu p
proste. posortowania zbioru
elementowy zbiór liczb w porz dku rosn cym nale y wykonać nast puj ce
ó
kroki:
{8 2 1 6 0},
Szukamy w zbiorze elementu najmniejszego
i wymieniamy go z elementem na pierwszej pozycji.
Obieg Zbiór Opis operacji
g p p j
Szukamy w zbiorze elementu najmniejszego
S k bi l t j i j
i wymieniamy go z elementem na drugiej pozycji.
Para wymaga przestawienia
10268
Znów wyszukujemy element najmniejszy
Znów wyszukujemy element najmniejszy
Dobra kolejno ć
01268
i zamieniamy go z elementem na trzeciej pozycji.
Procedur kontynuujemy dla pozostałych elementów
Procedur kontynuujemy dla pozostałych elementów
Dobra kolejno ć
Dobra kolejno ć
4 01268
4 01268
dot d, a wszystkie b d posortowane.
Dobra kolejno ć
j
01268
Koniec obiegu
01268
29 30
So to anie p e bó So to anie przez wybór
Sortowanie przez wybór Sortowanie p e bó
5 7 1 8 3 Wyszukanie najmniejszego elementu (1) Wyszukanie kolejnego najmniejszego
1 358 7
358
elementu (5)
l t (5)
Znaleziony element minimalny (1) zostaje
wymieniony z p y elementem Wymieniony zostaje on z samym
y y pierwszym y y j y
17583
17583
zbioru (5) 1 3 5 8 7 sob , element ten nie zmienia zatem
swojej pozycji w zbiorze.
swojej pozycji w zbiorze.
Wyszukanie kolejnego najmniejszego
Wyszukanie kolejnego najmniejszego
1 7 5 8 3
elementu w ród pozostałych elementów Znajdujemy kolejny element
1 3 5 8 7
(3) i i l (7)
(3) minimalny (7)
Znaleziony element minimalny zostaje ( ) 1 3 5 7 8 Zostaje on wymieniony z liczb 8
yy j (3) j y y
1 3 5 8 7
wymieniony z drugim elementem zbioru -
Ostatni element jest zawsze na
1 3 5 7 8
liczb 7.
liczb 7.
wła ciwej
wła ciwej
31 32
Wyszukiwarka
Podobne podstrony:
Dgn patomorfolog 2011 drukskanowanie drukdruk na przekaz pocztowygauss drukw4a Zatrucie sol kuchenna 11 drukwyk43kwietnia druk flip short?geDruk przelewuwyklad MB drukw2b Toksykokinetyka biotransformacja trucizn 11 drukcalkixy3 drukwięcej podobnych podstron