Život je plný problémov a problémových situácií.
Človek sa ich už od malička snaží riešiť. Spočiatku (prvých
desať rokov života) mu na vyriešenie problému stačí začať
plakať (jemnejší výraz pre slovné spojenie „vrešťať ako
pavián“). Plače dovtedy, kým dospelí neurobia to, čo chce.
Tento spôsob je najjednoduchší, relatívne najmenej namáhavý,
ale bohužiaľ nedá sa používať stále, pretože v určitom
veku už rodičia nereagujú na náš plač poslušne, ale vytiahnú
remeň (príp. varechu).
Vezmime si jednoduchý problém: chceme piť kakao. Predtým
ako sa pustíme do riešenia, je vhodné naplánovať si postup.
(Plánovanie robíme zvyčajne len zozačiatku, neskôr takéto
problémy riešime automaticky – bez rozmýšľania).
Ako prvé zrejme musíme overiť, či máme mlieko, cukor
a kakao. To sú vstupné podmienky. Pokiaľ ich
nemáme a nechce sa nám ísť na nákup (ďalší problém
zložený z mnohých menších), postup sa skončil.
Ak sú všetky suroviny k dispozícii, môžeme pristúpiť
k samotnej operácii.
1. do hrnčeka nalejeme
mlieko,
2. dáme ho zohriať,
3. do prázdnej šálky
zmiešame cukor a kakao (môže byť aj granko),
4. skontrolujeme
mlieko,
5. ak nie je dosť
teplé, vrátime sa do bodu 4.,
6. zalejeme zmes
v šálke,
7. necháme
vychladnúť,
8. vypijeme.
... a je po probléme.
Pozrime sa teraz na našu činnosť zo stránky
informatickej.
Na počiatku bol problém. Problém je stav,
v ktorom jestvuje rozdiel medzi tým, čo v danom
momente máme a tým, čo chceme dosiahnuť (nemáme nič
a chceme kakao). Problém je vždy viazaný na svojho
majiteľa (pre iného to nemusí byť problém, ale nezmysel) a na
problémové prostredie (okrem nášho môže byť napr. finančné,
školské, citové).
Riešenie problému potom chápeme ako odstraňovanie
rozdielu medzi pôvodným stavom a tým, čo chceme
dosiahnuť. Postup, ktorým sa pri tejto činnosti riadime je
algoritmus. Keď sa nám podarí dosiahnuť pôvodný cieľ, hovoríme
o vyriešení problému.
Popíšte postup pri prechode cez križovatku bez
semaforov.
Popíšte postup pri nákupe topánok.
Vymyslite algoritmus pre nastupovanie päťčlennej rodiny
do dvojdverového automobilu. Popíšte aj vystupovanie.
Riešiť pomocou algoritmu problémy reálneho života je dosť
náročné, pretože správny algoritmus vždy berie do úvahy všetky
možnosti, detaily, náhody alebo zriedkavé situácie. Napr. pri
našom postupe s varením kakaa by sme museli vziať do
úvahy že vypnú prúd, (zastavia plyn), príde návšteva
a mlieko vykypí, susedov kocúr rozbije šálku apod. Takéto
algoritmy potom možno navrhnúť len približne a za
obmedzených podmienok.
O algoritmoch má zmysel hovoriť vtedy, keď máme
k dispozícii určitú obmedzenú množinu príkazov
(môže byť aj veľmi veľká), pomocou ktorých dokážeme navrhnúť
postup pri riešení.
|