You are on page 1of 16

Algorytmy - definicje

Algorytm

Algorytm to przepis rozwizania zadania, zawierajcy opis danych wraz z opisem


czynnoci, ktre naley wykona z tymi danymi, aby osign zamierzony cel.
Algorytm Euklidesa
polega na szukaniu najmniejszej wsplnej wielokrotnoci dwch liczb, czyli NWD. Jest to
jeden z najstarszych algorytmw.
Algorytm liniowy
algorytm skadajcy si z cigu instrukcji, ktre s wykonywane jedna po drugiej w
kolejnoci, jaka wynika z ich nastpstwa w zapisie. Nazywany jest rwnie algorytmem
sekwencyjnym.
Algorytm sekwencyjny
patrz algorytm liniowy.
Dziaanie niealgorytmiczne
zadanie, ktrego realizacji nie mona uj w ramy jakiego planu. Nie istnieje opis czynnoci,
ktre wystarcz do realizacji tego dziaania.
Funkcja
patrz podprogram.
Instrukcja
opis czynnoci wystpujcej w algorytmie.
Instrukcja iteracyjna
umoliwia wielokrotne powtarzanie instrukcji. Nazywana jest krtko ptl.
Instrukcja przypisania
jest ona stosowana do obliczania wartoci wyrae. W tej instrukcji uywa si znaku
przypisania := . Jest to zwizane z jej dziaaniem, ktre polega na: obliczeniu wartoci
wyraenia stojcego po prawej stronie znaku przypisania i przypisaniu tej wartoci zmiennej
stojcej po lewej stronie tego znaku.
Instrukcja warunkowa
warunek, od ktrego spenienia uzalenione jest wykonanie pewnych instrukcji lub te
spenienie tego warunku powoduje wykonanie jednej instrukcji, a niespenienie go - innej.
Interpretacja
tumaczenie programu tworzonego w jednym z jzykw programowania instrukcja po
instrukcji, tak by kada wywoana instrukcja bya wykonana przez komputer. Tumaczenie
nastpuje kadorazowo przy uruchomieniu programu.

Iteracja
to powtarzanie kroku lub nawet kilku krokw algorytmu.
Jzyk programowania
zbir instrukcji pozwalajcy opisa algorytm w postaci sw kluczowych (tworzc w ten
sposb program). Najpopularniejsze jzyki programowania to Pascal, C++ i BASIC.
Kompilacja
tumaczenie programu w caoci, tak by mg by on wykonywany przez komputer przy
kadorazowym uruchomieniu. Raz skompilowany program nie wymaga ju powtrnej
operacji tumaczenia. Do wykonania kompilacji su programy narzdziowe - kompilatory.
LOGO
jzyk programowania opracowany w latach siedemdziesitych, przeznaczony gwnie dla
modych programistw. Jzyk ten wprowadza w wiat komputerw za porednictwem wia
rysujcego na ekranie figury geometryczne takie jak linie i litery. Pocztkujcy informatycy
ucz si programowania uywajc prostych instrukcji jzyka LOGO.
Metody sortowania
do najpopularniejszych nale: sortowanie bbelkowe, przez wstawianie, przez wybieranie.
Operacja
polecenie, dziaanie, zwykle wykonywane przez komputer.
Ptla
patrz instrukcja iteracyjna.
Poprawno
Algorytm musi by poprawny, tzn. dla kadego poprawnego zestawu danych, po wykonaniu
skoczonej liczby czynnoci, algorytm prowadzi do poprawnych wynikw.
Porzdkowanie
patrz sortowanie .
Procedura
wyodrbniona cz programu, majca jednoznaczn nazw i ustalony sposb wymiany
danych z innymi czciami programu.
Program
cig instrukcji wykonujcy okrelony algorytm .
Programowanie
proces tworzenia oprogramowania komputerowego, na ktry skadaj si takie etapy pracy
jak: projektowanie programu, jego pisanie (programowanie waciwe), kompilacja, testowanie
i aktualizowanie.

Rekurencja
o rekurencji mwimy wtedy, gdy definiujc pojcie odwoujemy si do niego samego.
Schemat blokowy
graficzne przedstawienie algorytmu. Poszczeglne operacje przedstawiane s za pomoc
skrzynek (blokw, klockw), a poczenia midzy nimi okrelaj kolejno wykonywania
operacji realizujcych dany algorytm. Zwany jest rwnie sieci dziaa.
Sortowanie
proces ustawienia zbioru obiektw w okrelonym porzdku.
Sortowanie bbelkowe
jedna z metod sortowania, ktra polega na porwnywaniu parami kolejnych liczb i
przestawianiu, jeli s ustawione w niewaciwej kolejnoci. Np. porzdkujc od najwikszej
do najmniejszej: porwnujemy ssiednie elementy, poczynajc od koca - od porwnania
ostatniego i przedostatniego. Jeli element ostatni jest wikszy, to zamieniamy go miejscami z
przedostatnim. Nastpnie element, ktry sta si przedostatnim, porwnujemy z trzecim od
koca i przestawiamy, jeli jest wikszy itd.
Sortowanie kubekowe
najczciej stosowane jest do porzdkowania sw, np. w sowniku, chocia tym sposobem
mona te porzdkowa liczby. W przypadku cigu sw wedug porzdku alfabetycznego
polega na porwnywaniu liter na tych samych pozycjach, poczwszy od ostatniej litery
najduszych sw. Litera na danej pozycji decyduje o umieszczeniu sowa w cigu w
odpowiednim miejscu.
Sortowanie przez wstawianie
polega na wstawianiu elementu we waciwe miejsce, jest ona powszechnie stosowana przez
osoby grajce w karty.
Sortowanie przez wybr
metoda sortowania (np. od najwikszego do najmniejszego) , ktra polega na wyszukaniu
najwikszego elementu, przestawieniu go na pocztek cigu elementw (czyli zamienieniu jej
z pierwsz liczb cigu) i takim samym postpowaniu w cigu z pominiciem pierwszego
elementu.
Skoczono
wykonanie kolejnych akcji odbywa si zawsze w skoczonej liczbie krokw.
Tablica
jest zbiorem elementw tego samego typu. Kady element tablicy jest identyfikowany przez
jego numer i kady posiada swoj warto.
Zadanie niealgorytmiczne
Zadanie, ktre nie posiada algorytmu rozwizania. Patrz dziaanie niealgorytmiczne

Znak przypisania :=
oznacza nadanie zmiennej znajdujcej si po jego lewej stronie wartoci okrelonej po prawej
stronie.

Co to jest algorytm ?
Na lekcjach matematyki czy fizyki czsto syszymy zdanie "rozwi zadanie". Wikszo
tych zada rozwizujemy wedug pewnych schematw. Najpierw wypisujemy dane i
zastanawiamy si do jakiego celu dymy, a wic jaki ma by wynik. Nastpnie wypisujemy
wzory czce dane z szukanymi bd twierdzenia, ktre mona zastosowa.
Przed koniecznoci rozwizywania zada stajemy rwnie poza szko. Robimy to w kadej
innej dziedzinie naszego ycia, na przykad:

telefonujc do koleanki i zapraszajc j na ciasto

gotujc jajko na twardo

kupujc pik w sklepie

znajdujc najniszego ucznia w klasie

piszc wypracowanie

Rwnie przy takim typie zada musimy okreli dane i warunki, ktre musz one spenia.
formuujemy take wynik, ktry pragniemy uzyska.

Etapy rozwizywania problemw


W procesie rozwizywania kadego zadania moemy wyrni pewne etapy, ktre nas do
niego prowadz.
Etapy rozwizywania problemw:
1. Sformuowanie zadania
2. Okrelenie danych wejciowych
3. Okrelenie celu, czyli wyniku
4. Poszukiwanie metody rozwizania, czyli algorytmu

5. Przedstawienie algorytmu w postaci:


1. opisu sownego
2. listy krokw
3. schematu blokowego
4. jzyka programowania
6. Analiza poprawnoci rozwizania
7. Testowanie rozwizania dla rnych danych. Ocena efektywnoci przyjtej metody.

Dziaania niealgorytmiczne
Zastanw si: Czy wszystkie dziaania s algorytmiczne ?
Czy dla kadego zadania mona skonstruowa algorytm? Czy rozwizanie kadego zadania
polega na wykonywaniu jednoznacznie opisanych, cile okrelonych czynnoci? Oczywicie,
e nie. Istniej zadania, ktrych realizacji nie mona uj w ramy jakiego planu dziaania.
Taki charakter ma np. kada twrczo artystyczna. Konieczna jest do tego wyobrania i
twrcze dziaanie, a na to nie ma przepisu.

Budowa algorytmw
Algorytmy powinny by tak przedstawiane, aby byo moliwe ich jednoznaczne odczytanie i
zastosowanie. Niektre algorytmy mona opisa w jzyku potocznym, zwaszcza wtedy, gdy
jego wykonawc ma by czowiek (w informatyce zajmujemy si opracowywaniem
algorytmw, ktrych wykonanie powierzamy komputerom).
Z czego skada si algorytm?
Zawiera on opis danych, opis wynikw oraz plan dziaania, czyli przetworzenia danych. Plan
ten mona przedstawi w postaci cigu czynnoci, ktre musz by wykonane w okrelonej
kolejnoci. Opis czynnoci wystpujcych w algorytmie nazywamy instrukcjami.

Algorytmy z ycia codziennego


Zastanw si jak ugotowa jajko na mikko. Na pocztku opracowywania algorytmu
przyjmijmy zaoenie, e uywamy kuchenki gazowej, posiadamy garnek i wod. Oczywicie
niezbdne jest te samo jajko. Zakadamy rwnie, e nic nie utrudni samej czynnoci, to
znaczy np. w trakcie gotowania nie zostaniemy pozbawieni dopywu gazu, czy te osoba nie
wie co to garnek.
Przykad 1. Przykad algorytmu z ycia codziennego, przykad algorytmu liniowego
Opracuj algorytm gotowania jaja na mikko.
Algorytm ten ma posta:

1. Wla do garnka zimn wod.


2. Zapali gaz.
3. Gotowa wod do wrzenia.
4. Woy jajko.
5. Odczeka trzy minuty.
6. Zgasi gaz.
7. Wyj jajko

Algorytmy liniowe
Spjrz na algorytm wyej. Ma on prost posta. Skada si z cigu instrukcji, ktre s
wykonywane jedna po drugiej w kolejnoci, jaka wynika z ich nastpstwa w zapisie
algorytmu. Taki algorytm nosi nazw algorytmu liniowego (sekwencyjnego) .
Przykad 2. Przykad algorytmu liniowego
Opracuj algorytm telefonicznego zaproszenia koleanki na ciasto. Numer telefonu : 666-2288.
Wiesz ju jak wyglda poprzedni algorytm oraz co to jest algorytm liniowy. W tym
przypadku zrobimy zaoenie, e nic nie utrudni poczenia (a wic ju za pierwszym razem
zostaniemy poczeni z wybran osob), a wykonawca czynnoci zna cyfry i wie jak wybiera
si je z tarczy telefonu.

Oto jak wyglda algorytm (wersja 1):


1. Podnie suchawk.
2. Wybierz cyfr 6.
3. Wybierz cyfr 1.
4. Wybierz cyfr 6.
5. Wybierz cyfr 2.
6. Wybierz cyfr 2.
7. Wybierz cyfr 2.
8. Wybierz cyfr 2.
9. Przeka informacje.

10. Od suchawk.
Algorytmy liniowe maj opisy skadajce si z krokw, ktre nie zale od adnych
warunkw i s wykonywane w zapisanej kolejnoci. Istniej jednak sytuacje, w ktrych
dalsze postpowanie w algorytmie zaley od spenienia, bd nie, okrelonych warunkw.
Czasami musimy powtrzy pewne kroki algorytmu kilka razy.

Algorytmy warunkowe
W rzeczywistoci, wikszo algorytmw ma bardziej rozbudowan struktur. Czsto
wystpuj w nich instrukcje, ktrych wykonanie uzalenione jest od spenienia pewnego
warunku lub te spenienie pewnego warunku powoduje wykonanie jednej instrukcji, a
niespenienie go -innej. Tak instrukcj nazywamy instrukcj warunkow. Dziaa ona wedug
jednego z dwch przedstawionych schematw:
Jeli speniony jest warunek W, wykonaj instrukcj A.
Jeli speniony jest warunek W, to wykonaj instrukcj A; w przeciwnym razie wykonaj
instrukcj B.
Instrukcja A i B opisuje jedn instrukcj lub instrukcj skadajc si z cigu instrukcji
wykonywanych sekwencyjnie. Instrukcja warunkowa pozwala dokona wyboru jednej z
dwch dalszych drg wykonania algorytmu.
Przykad 3. Przykad algorytmu warunkowego
Popraw opracowany wczeniej algorytm tak, aby uwzgldnia sytuacj, gdy po wybraniu
numeru jest on zajty lub poczenie okazao si bdne.
Kiedy sycha sygna zajtoci numeru, a wic nie udao si uzyska poczenia trzeba
Odoy suchawk. Tak samo postpujemy, gdy nawizane zostao poczenie z innym
Numerem.
Aby zrealizowa tak sytuacj zastosujemy instrukcj warunkow. Zrobimy to po to, aby
opisa czynnoci, powinny by wykonane wtedy kiedy zostao nawizane poprawne
poczenie, jak rwnie nie zostao nawizane. Zauwa, e wtedy wykonawca znajdzie si w
punkcie wyjcia, czyli jakby w ogle nie podj prby telefonowania.

Algorytm moe mie posta tak (wersja 2):


1. Podnie suchawk.
2. Wybierz cyfr 6.
3. Wybierz cyfr 1.
4. Wybierz cyfr 6.
5. Wybierz cyfr 2.

6. Wybierz cyfr 2.
7. Wybierz cyfr 2.
8. Wybierz cyfr 2.
9. Czy poczye si z koleank ?
A. Jeli TAK, to przejd do kroku 10.
B. Jeli NIE, to przejd do kroku 11.
10. Zapro koleank.
11. Od suchawk.

Algorytmy iteracyjne
Instrukcja iteracyjna - ze znan iloci powtrze
Przyjrzyj si uwanie algorytmowi. Zauwaye, e istniej tu powtarzajce si instrukcje, a
czterokrotnie wystpuje "Wybierz cyfr 2".
Takie wielokrotne powtarzanie niektrych instrukcji jest cech charakterystyczn wielu
algorytmw, jednak nie zawsze (tak jak w tym algorytmie) moemy okreli dokadnie liczb
powtrze. Moe ona zalee od spenienia pewnych warunkw. Wielokrotne powtarzanie
instrukcji umoliwiaj instrukcje iteracyjne (ptle) . Dziaa ona wedug schematu:
Wykonuj instrukcj A dokadnie n razy.
Przykad 4. Przykad algorytmu iteracyjnego.
Popraw opracowany wczeniej algorytm tak, aby sekwencj jednakowych czynnoci zastpi
ptl.
Oto algorytm (wersja 3):
1. Podnie suchawk.
2. Wybierz cyfr 6.
3. Wybierz cyfr 1.
4. Wybierz cyfr 6.
5. Wykonaj czynno cztery razy
A. Wybierz cyfr 2.
6. Czy poczye si z koleank ?
A. Jeli tak, to przejd do kroku 7.

B. Jeli nie, to przejd do kroku 8.


7. Zapro koleank.
8. Od suchawk.
Dziaanie algorytmu moe zakoczy si na dwa rne sposoby, albo uzyskamy poczenie z
koleank i zaprosimy j na ciasto, albo nie poczymy si i wykonanie algorytmu ograniczy
si tylko do wykrcenia numeru.
Jak widzisz zastosowanie ptli zmienia sposb zapisu algorytmu, nie zmienia si jednak jego
dziaanie.
Instrukcja iteracyjna - ze spenieniem warunku
Przykad 5. Przykad algorytmu iteracyjnego warunkowego.
Uwzgldnij w opracowanym wczeniej algorytmie przypadek braku poczenia lub
nawizanie nieprawidowego poczenia.
W poprzednim algorytmie w przypadku uzyskania nieprawidowego poczenia bd jego
braku, przechodzilimy do ostatniego kroku , w ktrym odkadalimy suchawk. Koczyo
si Dziaanie algorytmu. W tej sytuacji powinnimy rozpocz raz jeszcze jego wykonywanie,
nie zostao to jednak opisane w konstrukcji.
Rozbudujemy teraz algorytm, tak by powtarzano wybieranie numeru a do uzyskania
poczenia. Dopiszemy w tym celu polecenie bdce drugim rodzajem instrukcji iteracyjnej:
Powtarzaj wykonywanie instrukcji A a do spenienia warunku W.
Czym jest instrukcja A, czym warunek W ?
Instrukcja A - podniesienie suchawki, wybranie numeru
Warunek W - uzyskanie poczenia z wybranym numerem
Algorytm (wersja 4):
1. Czy suchawka jest odoona ?
A. Jeli tak, to przejd do kroku 2.
B. Jeli nie, to od suchawk.
2. Podnie suchawk.
3. Wybierz cyfr 6.
4. Wybierz cyfr 1.
5. Wybierz cyfr 6.
6. Wykonaj czynno cztery razy
A. Wybierz cyfr 2.

7. Czy poczye si z koleank ?


A. Jeli tak, to przejd do kroku 8.
B. Jeli nie, to przejd do kroku 9.
8. Zapro koleank.
9. Od suchawk.
W algorytmie telefonicznego zaproszenia koleanki dodalimy instrukcj, ktra uwzgldnia,
e po nieudanej prbie uzyskanie poczenia naley odoy suchawk, a dopiero pniej
ponownie j podnie i sprbowa raz jeszcze. W przypadku pierwszej prby nawizania
poczenia rwnie sprawdzamy odoenie suchawki.
W naszym algorytmie sprawdzamy warunek uzyskania poczenia z koleank (krok 4).
Czasami zdarza si jednak, e ju po podniesieniu suchawki sycha, e linia jest zajta.
Naleaoby wtedy odoy suchawk i ponownie j podnie. Jeli okazaoby si, e nadal
sycha w niej sygna zajtoci linii czynno naleaoby powtrzy. Musielibymy
wykonywa te czynnoci dopki linia nie byaby "czysta". W takim przypadku stosujemy
instrukcj, ktra dziaa wedug schematu:
Dopki warunek W jest speniony, wykonuj instrukcj A.
Algorytm (w wersji 5) wyglda tak :
1. Czy suchawka jest odoona ?
A. Jeli tak, to przejd do kroku 2.
B. Jeli nie, to od suchawk.
2. Podnie suchawk.
3. Czy linia jest zajta ?
A. Jeli Tak, to:
a. Od suchawk.
b. Podnie suchawk.
c. Przejd do kroku 3.
B. Jeli Nie, to przejd do kroku 4.
4. Wybierz cyfr 6.
5. Wybierz cyfr 1.

6. Wybierz cyfr 6.
7. Wykonaj czynno cztery razy
A. Wybierz cyfr 2.
8. Czy poczye si z koleank ?
A. Jeli tak, to przejd do kroku 9.
B. Jeli nie, to przejd do kroku 1.
9. Zapro koleank.
10. Od suchawk.
Jak widzimy w kroku 3 wystpuje ptla, w ktrej sprawdzamy najpierw warunek, a dopiero
potem wykonywana jest instrukcja opisana przez kroki a, b. Jeli warunek nie jest speniony,
to instrukcja nie zostanie wykonana ani razu.
W informatyce moemy realizowa rwnie szczeglny rodzaj powtrze bez koniecznoci
stosowania ptli. Jest to technika rekurencji. Nie bdziemy si ni tutaj zajmowa.

Schematy blokowe
Do tej pory do opisu algorytmw uywalimy jzyka potocznego. Byy to jednak algorytmy
proste, ktre ma wykonywa czowiek. W przypadku algorytmw skomplikowanych ten zapis
bdzie nieczytelny, nie sprawdzi si. Dlatego teraz poznamy nowy, bardziej przejrzysty
sposb - schematy blokowe
Schemat blokowy to graficzny zapis algorytmu rozwizania zadania, przedstawiajcy
opis i kolejno wykonywania czynnoci realizujcych dany algorytm.
W schemacie blokowym poszczeglne operacje przedstawione s za pomoc odpowiednio
poczonych skrzynek (klockw, blokw). Poczenia okrelaj kolejno i sposb
wykonywania operacji realizujcych dany algorytm.
W literaturze informatycznej przyjto pewne standardowe oznaczenia poszczeglnych dziaa
(s to figury geometryczne), ale mona rwnie uywa innych oznacze (musz one jednak
by takie same dla okrelonego typu operacji).

Przykady skrzynek (blokw) do prezentacji algorytmu w postaci graficznej:


Elementy schematu blokowego
Symbol graficzny

Nazwa skrzynki
(bloku)

Funkcja

Opis

maj ksztat owalu. Ze


skrzynki START wychodzi
tylko jedno poczenie,
skrzynka STOP nie ma
poczenia wychodzcego.

Skrzynka
graniczna

Pocztek
algorytmu lub
koniec

Skrzynka
operacyjna

Wykonywanie
rnych dziaa, ma ksztat prostokta.
np. sumowania

Wprowadzanie
(czytanie) danych
jest rwnolegobokiem,
Skrzynka wejcia lub
wchodzi i wychodzi z niej
/ wyjcia
wyprowadzanie
jedno poczenie.
(drukowanie,
pisanie) wynikw
Skrzynka
warunkowa

Sprawdzanie
maj ksztat rombu. Ze
warunku, np. czy skrzynki wychodz tylko dwa
N>0
poczenia: jedno oznaczone
TAK, a drugie NIE.

Zasady budowania schematu blokowego

Kada operacja powinna by umieszczona w skrzynce (bloku)

Schemat powinien posiada tylko jedn skrzynk "Start" i przynajmniej jedn


skrzynk "Stop"

Skrzynki powinny by ze sob poczone

Ze skrzynkipowinno wychodz jedno poczenie; wyjtek stanowi skrzynki "Stop" (z


ktrej nie wychodz ju adne poczenia) oraz "warunkowa" (z ktrej wychodz dwa
poczenia opisane Tak i Nie - w zalenoci od tego czy warunek jest speniony czy
te nie; mona wyj jedn z dwch drg).

Algorytmy warunkowe
Przypomnij: co to jest instrukcja warunkowa ?
Z sytuacjami warunkowymi stykamy si w kadej dziedzinie ycia codziennego. Na pytanie
"Czy pada deszcz ?" odpowied moe brzmie "tak" lub "nie". W zalenoci od tego, czy
warunek jest speniony, czy nie, wybieramy inne rozwizanie.

Przykad sytuacji warunkowej:

Przykad 1. Schemat algorytmu warunkowego


Podaj przykady sytuacji warunkowych. Przedstaw je graficznie.
Wiesz ju, e z sytuacj warunkow mamy do czynienia wwczas, gdy wynik lub dalsze
dziaanie zaley od spenienia warunku. Na schemacie blokowym sytuacje warunkowe
realizujemy przez skrzynk warunkow. Jak dotd rozwaane przez nas algorytmy
przedstawiay problemy z ycia. Teraz zajmiemy si rozwizywaniem prostych zada
obliczeniowych, przy czym algorytm opracowany dla kadego z nich bdzie mia posta
schematu blokowego.
W skrzynce wpisujemy warunek logiczny, stosujc znaki "=" rwny,"<>" rny, "<" mniejszy,
">" wikszy,"<=" mniejszy lub rwny, ">=" wikszy lub rwny, np: (a > 5) lub (a <= 20), (a <
5)OR (a <= 20)
Z systemami warunkowymi spotykamy si m.in. w matematyce i fizyce, wtedy gdy
wykonywanie dziaa jest uzalenione od warunku, jakie musz spenia liczby, np. maj by
nieujemne albo parzyste.
Przykad 2. Schemat algorytmu warunkowego
Przestaw schemat blokowy algorytmu obliczania wartoci bezwzgldnej.
Najpierw oczywicie musimy wiedzie co to jest warto bezwzgldna. Bez tej informacji nie
jestemy w stanie napisa adnego algorytmu (narysowa schematu blokowego, czy te
napisa programu).
Wartoci bezwzgldn liczby nieujemnej jest ta sama liczba, a wartoci bezwzgldn liczby
ujemnej jest liczba do niej przeciwna.
Np. warto bezwzgldna liczby 5, to liczba 5.
Warto bezwzgldna liczby -5, to liczba 5.
Warto bezwzgldna liczby 0, to 0.
W schemacie wic musimy uy jakiej skrzynki, ktra pozwoli nam na sprawdzenie tego
warunku. Potrzebna jest wic nam skrzynka warunkowa. Umiecimy w niej napis "czy liczba
>=0?". Oznacza on: "czy liczba jest wiksza lub rwna zero".

Zadanie do samodzielnego wykonania


Wprowad dwie liczby a i b. Przedstaw w postaci cigu krokw i graficznie algorytm
porwnania tych liczb i wyprowadzania na wyjciu wikszej z nich. W przypadku liczb
rwnych wyprowad napis "liczby rwne".

Algorytmy iteracyjne
Przypomnij : co to s instrukcje iteracyjne ?
Czasami trzeba wykona te same operacje na wielu liczbach. W takich przypadkach nie jest
konieczne wielokrotne opisywanie dziaa lub rysowanie takich samych skrzynek. Stosujemy
wwczas iteracj. Mwimy take, e dziaania te wykonywane s w ptli. Liczba powtrze
tych dziaa moe by z gry okrelona lub zalee od spenienia warunku. Iteracja to
najczciej spotykana technika algorytmiczna.
Iteracja to technika algorytmiczna polegajca na wykonaniu tej samej instrukcji dla n
zmiennych.
Iteracja oszczdza czas programisty, ktry ten musiaby spdzi wpisujc instrukcj n razy,
zalenie od liczby zmiennych. Liczba powtrze w iteracji jest zwykle z gry okrelona lub
zaley od spenienia okrelonego warunku.
Przykad Analiza schematu algorytmu.
Przeanalizuj poniszy schemat blokowy i odpowiedz na pytania:
1. Jakie s dane wejciowe do zadania i jakich uyto zmiennych pomocniczych?
2. Jaki cel chcesz osign (wynik)?
3. Jaki algorytm zastosowano w operacji dodawania liczb ?
4. W ktrym miejscu wykonywane s dzivaania w ptli ?
5. Ktre operacje powtarzaj si wielokrotnie ?
6. Co okrela liczb powtrze ?
7. Kiedy koczy si dziaanie w ptli ?

W analizowanym algorytmie wystpuje przypisanie typu S:=S + L. Oznacza ono przypisanie


zmiennej "s" (sumie) poprzedniej wartoci pamitanej w zmiennej "s" (poprzedniej sumie)
zwikszonej o warto pamitan w zmiennej "l" (kolejn liczb) - w ten sposb powtarzanie
operacji przypisania, realizowane jest dodawanie kolejnych liczb naturalnych. Przypisania
l:=l-1 ma tu bardzo istotne znaczenie. Jest to tzw. licznik, w ktrym nastpuje obliczanie, ile
zostao jeszcze powtrze do wykonania. W tym algorytmie liczba powtrze zostaa
okrelona na pocztku instrukcj l:=n.
Gdyby nie umieszczono tego dziaania nastpio by tzw. zaptlenie algorytmu, czyli po
sprawdzeniu warunku l>0 dziaanie w schemacie przebiegaoby zawsze drog TAK. W
realizacji algorytmw iteracyjnych wane jest prawidowe okrelenie sposobu zakoczenia
dziaa. Mona to zrobi za pomoc licznika, ktry odlicza kolejne kroki iteracji (liczb
powtrze).
Przykad Schemat blokowy, algorytm z ycia codziennego
Narysuj schemat blokowy algorytmu telefonicznego zaproszenia koleanki w wersji pierwszej

Przykad Schemat blokowy, algorytm z ycia codziennego


Narysuj schemat blokowy algorytmu telefonicznego zaproszenia koleanki w wersji drugiej

Przykad Schemat blokowy, algorytm z ycia codziennego


Narysuj schemat blokowy algorytmu telefonicznego zaproszenia koleanki w wersji pitej

Podsumujmy:
Sposb rozwizania zadania, czyli algorytm, mona poda w kilku punktach. Mwimy
wwczas, e algorytm jest opisany za pomoc listy krokw (cigu krokw). Zapis taki polega
na podaniu kolejnych wykonywanych operacji, skadajcych si na cae rozwizanie.
Algorytm mona przedstawi rwnie w postaci graficznej, za pomoc schematu blokowego.
Schemat blokowy to graficzne przedstawienie cigu krokw algorytmu, czsto stosowane
jako ideowy rysunek poprzedzajcy tworzenie programu. Sposb i kolejno dziaa
programu okrelane s przez wzajemny ukad i sposb czenia blokw (skrzynek) ze sob.
Kade dziaanie (krok) ma w schemacie blokowym swoje standardowe oznaczenie (patrz
tabela wyej).

You might also like