Algoritmi HAJDE DA NAUIMO DA PROGRAMIRAMO RADOVAN BRAJOVI
Algoritmi HAJDE DA NAUČIMO DA PROGRAMIRAMO !!! RADOVAN BRAJOVIĆ
Uvod • • • Kako rešavate probleme? Kako rešavate kvadratnu jednačinu? Koju teoremu koristite za nalaženje hipotenuze pravouglog trougla? Opišite vaš današnji dan Kako postavljate sliku na društvenu mrežu? Kako bi ste sebi napravili sendvič?
Algoritmi • Problemi se često rešavaju prateći precizno definisane postupke. • Matematika obiluje postupcima… • Često učenici kažu da je rešavanje formula u matematici „šablonski“ – šta to znači? POSTUPAK = ŠABLON= ALGORITAM
Zašto algoritmi? • Dobra strana algoritmizacije jeste što možete da dođete do ispravnih rezultata a da ne morate da znate šta se dogodilo(kulinarski recepti) • Danas se svi programi izvode automatski (ne izvode se „peške“ sem u obrazovanju) pomoću računara koji bez greške i veoma brzo dolazi do ačnih rezultata. Kako? ? ? • Računari nisu inteligentne mašine i jedino su dobri u tome što su brzi, i svi problemi moraju jasno i precizno da im se opišu na razumljivom programskom jeziku. Računar razume jedino……. ?
„Pametni“ računari
Značaj algoritamskog razmišljanja • • Što da radimo Algoritme? …. . Širi od profesionalnog bavljenja programiranjem!!! Razvoj logičkog i apstraktnog razmišljanja. Važan element je veština organizovanja i analiziranja podataka. Lekari, ekonomisti, sociolozi, bibliotekari, psiholozi…. Svaki dan pratimo neka uputstva(npr. vađenje pasoša, registracija kola…) Kako uraditi neki posao na novom radnom mestu?
Pojam Algoritma • Algoritam predstavlja konačan skup jasno definisanih pravila za rešavanje nekog zadatka. • Algoritam je opis za rešavanje nekog problema. • Programs = Algorithns +Data Algoritam je plan za izradu programa!!!!
O nastanku
Primer: Palačinke : ) 1. 2. 3. 4. 5. 6. Uzmi dublju posudu! Sipaj u nju 200 g brašna i 2 jaja! Ako imaš mleka, sipaj 2 dl mleka, u suprotnom sipaj 2 dl vode. Muti sve dok smesa ne bude bez grudvica. Dodaj 1 dl ulja. Promešaj!
Primer: Palačinke • U svakom koraku je korišćen imperativ! • Svi koraci su zadati u obliku naredbi! • Tri tipa naredbi: • Sekvencijalne naredbe! 1. 2. 5. 6. • Naredbe grananja! 3. • Naredbe ponavljanja!4. • Postoji i naredba skoka ali nju ćemo slabije koristiti GO-TO(ŠPAGETI)
Primer: Čaj
Elementi algoritma
Elementi algoritma Ako je napolju kiša poneću kišobran!!!
Elementi algoritma
Elementi algoritma
Elementi algoritma
Načini opisivanja algoritma • Prirodno-jezički opis • Opisi u obliku pseudo-koda • Dijagram toka programa
Prirodno-jezički opis algoritma • Algoritmi su u običnom životu namenjeni ljudima i zato se opisuju na prirodnom jeziku (kao što je to bio slučaj sa receptom za palačinke). • I mnogi matematički algoritmi su takvi da ih obično sprovode ljudi, a ne mašine i zato se i oni često opisuju na prirodnom jeziku. • Kada se algoritmi opisuju ljudima, opisi su često relativno neprecizni i oslanjaju se na to da je publika dovoljno inteligentna da „popuni rupe”, tj. da razjasni sebi ono što nije baš potpuno precizno opisano i da eventualne greške u opisima primeti i ispravi.
Algoritmi u obliku Pseudo-koda • Takvi opisi predstavljaju kompromis između fleksibilnosti koju daju neformalni, prirodno-jezički opisi i potpuno preciznih opisa algoritama koje računar može da izvršava.
Algoritmi u obliku Pseudo-koda • Sređen algoritam:
Algoritmi u obliku Pseudo-koda • Šta izračunava sledeći algoritam:
Dijagram toka programa
Dijagram toka programa
- Slides: 25