Professional Documents
Culture Documents
Algorytm
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:
piszc wypracowanie
Rwnie przy takim typie zada musimy okreli dane i warunki, ktre musz one spenia.
formuujemy take wynik, ktry pragniemy uzyska.
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 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.
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.
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.
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).
Nazwa skrzynki
(bloku)
Funkcja
Opis
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.
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.
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 ?
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).