Da bi čovek napisao program koji će da mu omogući da simulira određeni proces mora prvo da razume sam proces i da ga raščlani na osnovne korake, koje će da poređa u pravilan redosled. Za opis svakog koraka u procesu se koristi običan govorni jezik, što jednostavnije to bolje za dalje proučavanje procesa. Kada se opis koraka složi u određenom redosledu i koraci se definitivno numerišu dobije se PSEUDO KOD , jedna vrsta Algoritma , koji se kasnije koristi za razvoj programa koji će da simulira proučavani proces. Setite se šta je kompjuterski program.

Ovde ćemo to da uradimo na jednom jednostavnom primeru.

PROCES KUVANJA ČAJA

Razmislimo na koji način se priprema čaj.

Neophodni su nam sud za zagrevanje vode (lonac) , sud za konzumiranje čaja (šolja) ,grejno telo (ringla) , određena vrsta čaja, voda i vreme.

Proces se sastoji od sledećih koraka :

1. Uzmite lonac

2. Naspite vodu u lonac

3. Stavite lonac na grejno telo

4. Uključite ringlu i čekajte da voda provri

5. U šolju stavite čaj

6. Kad voda provri u loncu prelijte čaj u šolji i čekajte 10 minuta

7. Isključite ringlu

8. Popijte čaj

Na osnovu ovoga za pripremu čaja neophodno je samo 8 koraka koji se izvršavaju u datom redosledu.Da li je to tačno i da li je baš taj redosled koraka ?Naravno da nije.Da bi se došlo do preciznog definisanja svih koraka i njihovog redosleda neophodna je mnogo iscrpnija analiza. Recimo šta ako je lonac šupalj ili nema vode ili nema struje.Da li treba prvo isključiti ringlu pa zatim skinuti lonac ? Sada znamo da nismo definisali nijedan korak koji dovodi do prekida kuvanja čaja zbog nekog nedostatka odnosno pojave neželjenog slučaja u samom procesu.

Da probamo ponovo :

1. Uzmite lonac

1.1 Ako je lonac šupalj prekini proces

2. Da li ima vode

2.1 Ako ima naspite vodu u lonac

2.2 Ako nema vode prekini proces

3. Stavite lonac na grejno telo

4. Da li ima struje

4.1 Ako ima uključite ringlu i čekajte da voda provri

4.2 Ako nema prekini proces

5. U šolju stavite čaj

6. Kad voda provri u loncu isključite ringlu

7. Prelijte čaj u šolji vodom iz lonca i čekajte 10 minuta

8. Da li je prošlo 10 minuta

8.1 Ako nije idi na korak 8

8.2 Ako jeste nastavi proces

9. Popijte čaj

U ovom redosledu koraka smo definisali korake koji omogućavaju da se proces prekine u slučaju nekog nedostatka.To je urađeno samim postavljanjem pitanja i ponuđenim odgovorima koji određuju dalji tok procesa (koraci 1.1. ,2. , 2.1. i 2.2 , 4. ,4.1.i 4.2), to se u programiranju obično zove uslovno grananje programa ( Ako...Onda...Ili If...then...else).Pronalaženje i definisanje ovakvog tipa koraka u samom procesu je kritično i izuzetno bitno jer ukoliko se ne pronađe svaka mogućnost da se proces ne završi kako bi trebalo iz nekog neobičnog razloga, sam program koji je kasnije nastao iz takvog PSEUDO KOD-a neće biti dobar. Dolaziće do slučaja recimo da se pojavi negativna vrednost kao podkorena veličina , ili pokušaj deljenja nulom ili čak zaglavljivanja samog programa zbog nemogućnosti daljeg izvršavanja. U koracima 8 , 8.1 i 8.2 se nalazi takozvana iteracija (ponavljanje na osnovu ispunjenog uslova) , što znači da se korak 8 ponavlja sve dok se ne ispuni uslov.U pravom programu se to zove petlja. Naravno posmatrajući PSEUDO KOD dolazimo do zaključka da bi mogli da uvedemo korake početak procesa i kraj procesa , i da sve korake koji zahtevaju prekid procesa usmerimo na korak kraj procesa.

Pa onda :

0. Početak procesa

1.1 Ako je lonac šupalj prekini proces , idi na korak 10

2. Da li ima vode

2.1 Ako ima naspite vodu u lonac

2.2 Ako nema vode prekini proces, idi na korak 10

3. Stavite lonac na grejno telo

4. Da li ima struje

4.1 Ako ima uključite ringlu i čekajte da voda provri

4.2 Ako nema prekini proces, idi na korak 10

5. U šolju stavite čaj

6. Kad voda provri u loncu isključite ringlu

7. Prelijte čaj u šolji vodom iz lonca i čekajte 10 minuta

8. Da li je prošlo 10 minuta

8.1 Ako nije idi na korak 8

8.2 Ako jeste nastavi proces

9. Popijte čaj

10. Kraj procesa

Sada smo u okviru PSEUDO KODA definisali nešto što se zove uslovni skok (ili preskok radnji) na određeni korak kada je zadovoljen neki od uslova.Proučite korake 1.1 , 2.2 , 4.2 i 8.1 i sami donesite zaključak kako sad funkcioniše naš proces.Takođe pokušajte sami da definišete korake za ponovno pokretanje procesa na osnovu predhodno stečenih znanja. Ukoliko vam ne ide pogledajte rešenje.

Rešenje :

Treba uvesti korake 9.1, 9.2 i 9.3.

9.1 Da li želite opet da kuvate čaj

9.2 Ako da idi na korak 0

9.3 Ako ne prekini proces, idi na korak 10.

Korak 9.3 i nije neophodan sobzirom da je predposlednji u nizu pa samim tim ukoliko nije ispunjen uslov , potvrdan odgovor na pitanje iz koraka 9.1, proces se automatski završava prelaskom na korak 10.

Ovakav Pseudo kod možete napisati za svaki posmatrani proces , pod uslovom da razumete njegov način funkcionisanja, posle čega možete da napravite i adekvatan kompjuterski program. Probajte da napravite pseudo kod za rešavanje nekog matematičkog problema.Recimo rešavanje kvadratne jednačine.