Cilj je razumjeti Algoritam

Slides:



Advertisements
Similar presentations
-Prošlo svršeno vrijeme-
Advertisements

Test tri sita. U staroj Grčkoj je Sokrat bio poznat po tome, da je veoma visoko cenio znanje.
Bog nas voli i ima povjerenja u nas. Kako je divno, Bože, što nas voliš unatoč svih naših grijeha i propusta. Doista, ne znamo čime smo zaslužili toliku.
Pietà.
Prof: doc.dr. Samir Lemeš student: Samir Hrnjić. System restore je komponenta Microsoftovih operativnih sistema Windows Serveri ne podržavaju opciju System.
Strange jobs Jelena Maksimovic VIII-3 Jovana Maksimovic VIII-3 Ljubica Radenkovic VIII-3 Milena Jovanovic VIII-3.
Obrazac JOPPD - uvod MINISTARSTVO RADA I MIROVINSKOGA SUSTAVA.
International Young Naturalists’ Tournament
Being in Bamberg allowed us to meet incredible people from Europe and the world. Studying with them opened our eyes to the many.
Google Analytics Analitika turističkih web stranica
Pretraživanje interneta
Petlje WHILE – WEND.
RP3/predavanje08 Ugniježdeni tipovi Iznimke 10/11/2018
Algoritamske/programske strukture
EBSCO eBook Academic Collection: upute za korištenje na računalu
Simple Past protiv Present Perfect-a
Programiranje - Blokovi naredbi i logički tipovi –
Java Petlje i logika - 1.
CheckBox RadioButton RadioGroup
Naredbe ciklusa.
The Present Perfect Continuous Tense
IF NAREDBA – naredba grananja
Petlje FOR - NEXT.
Konveksni omotač (red O(n log (n)))
KREIRANJE OBJEKATA.
Razmisli ……...
O životu i ljubavi glazba: Ernesto Cortazar, “La Vida Es Bella”
10 osobina uspješnih poduzetnika
Uvod u programiranje - matematika – X predavanje
Elementi programskog jezika PASCAL
Podešavanje osobina stranica
Arrays and strings -1 (nizovi i znakovni nizovi)
Seminar: “Usavršavanje nastavnih procesa – Case study metod” Tema:Case study u očima protagonista By Jasmin Hošo.
Struktura MAC adrese i Ethernet okvira
Apstraktno Razmišljanje o Algoritmima
M-datoteke.
(カックロ ) Ivo Ivanišević Ena Melvan
Ključne reči,identifikatori, konstante i promenljive
Internet FTP usluga.
KOME SE OD VAS ŠKOLARCI.
Visual Basic – Prvi primjer
MATEMATIČKI FAKULTET, UNIVERZITET U BEOGRADU
Do While ... Loop struktura
MagistralA (bus) Milan Milovanovic I6.
Programiranje – Small Basic
Klasifikacija i stablo odlučivanja uz r
Spajanje digitalnog prijamnika na video ili DVD snimač
Clinical Evaluation of the Nose: A Cheap and Effective Tool for the Nasal Fracture Diagnosis Martina Sučić.
Strukture podataka i algoritmi 5. VRIJEME IZVRŠAVANJA ALGORITMA
Python „Technology and social media have brought power back to the people” Mark McKinnon.
BLOOMOVA TAKSONOMIJA I
Skup instrukcija procesora
Fakultet elektrotehnike i računarstva
ADAPT Teaching Approach
Programiranje - Naredbe za kontrolu toka programa – 1. dio
Podrška darovitima u visokom obrazovanju –
HODITI U SVJETLU Odreći se svjetovnosti ADAPT it! Teaching Approach
Programiranje - Naredbe za kontrolu toka programa – 3. dio
Online pripreme za državnu maturu iz informatike
LimeSurvey Uvjetni prikaz pitanja Internetska istraživanja
10th International Conference on Live Maintenance
O životu i ljubavi glazba: Ernesto Cortazar, “La Vida Es Bella”
Kradljivac zatočen u ukradenom automobilu Marko Marković, novinar 9. siječnja Potjera za serijskim kradljivcima automobila koji su operirali diljem.
Present and future tenses
Dvostruka autentifikacija
Ponavljanje Pisana provjera
Programiranje - Naredbe za kontrolu toka programa – 1. dio
Vježbenica 2: struktura grananja – 2.dio
Hour of Code Coding Jetpack Jumper Mateja Hržica, MSP.
Priprema prezentacije
Presentation transcript:

Cilj je razumjeti Algoritam Fundamentalno do srži

Reprezentacija: Razumjeti vezu među različitim reprezentacijama iste informacije ili ideje 1 2 3

Različite reprezentacije algoritma?

Različite reprezentacije algoritma Code (zapis programa) Primjer koji radi Abstraktni zapis višeg reda

Code class InsertionSortAlgorithm extends SortAlgorithm { void sort(int a[]) throws Exception { for (int i = 1; i < a.length; i++) { int j = i; int B = a[i]; while ((j > 0) && (a[j-1] > B)) { a[j] = a[j-1]; j--; } a[j] = B; }} Za ili protiv ?

Code Reprezentacija algoritma ZA: PROTIV: Radi na računalu Precizan je Percepcija da je potrebno jedino znati programirati je kriva Ja nisam računalo Ja trebam viši stupanj intuicije. Sadrži “bugove” Zavisi o jeziku

Isprobajte problem ili riješenje na malim primjerima. Primjer koji radi Isprobajte problem ili riješenje na malim primjerima.

Primjer koji radi Reprezentacija algoritma 88 52 88 98 14 14 31 98 25 30 62 23 79

Primjer koji radi 88 52 88 98 14 14 31 98 25 30 62 23 79

Primjer koji radi 14,23,25,30,31,52,62,79,88,98 Za ili protiv ?

Primjer koji radi Reprezentacija algoritma Za: Protiv: Konkretan Dinamičan Vizualan Ne objašnjava zašto nešto radi. Demonstrira samo jedan input od mnogih...

Apstraktan pogled višeg reda T+1

Stupanj apstrakcije prema prema Teško je razmišljati o ljubavi uz pomoć živaca koji “okidaju”. prema Softveraši gledaju na podsisteme kao cjeline s osobnošću, ulogama i interakcijama. prema

Apstraktni pogled višeg reda Reprezentacija algoritma ZA: Protiv: Intuitivan za ljude Koristan za Razmišljanje o dizajniranje Opisivanje algoritama Pogled iz kojeg je ispravnost evidentna. Matematički mumbo jumbo Pre apstraktno Studenti mu se protive IDEŠ

Abstraktnost - otkloniti nevažne dijelove problema Cijenite jednostavnost Abstraktnost - otkloniti nevažne dijelove problema = Cilj: Razumjeti i misliti o kompleksnim algoritmima na jednostavan način. Nemojte se isključiti. U jednostavnosti postoje duboke ideje.

Dva glavna tipa algoritama Iterativni Algoritmi Rekurzivni Algoritmi

svaki puta prema konačnom Iterativni Algoritmi Napravite jedan korak svaki puta prema konačnom cilju loop (done) napravi korak end loop

Invarijante petlje Dobar način strukturiranja programa: Spremite ključne informacije koje trenutno znate u neku reprezentaciju podataka U glavnoj petlji, Radite korak naprijed prema cilju s jednostavnim promjenama podataka.

Ajmo razviti Apstraktni pogled višeg reda na iterativne algoritme Ključna ideja : Invarijante petlje

Problem odlaska u školu

Specifikacija problema Početni uvijet: položaj škole i kuće Završni uvjet: putovao sam od škole do kuće

Algoritam Što je algoritam ?

Algoritam Algoritam definira put računanja...

Složenost Ima bezbroj mogućih ulaza. Algoritam mora raditi za svaki od njih.

Složenost Teško je predvidjeti kad će računanje biti na pola puta...

Položaj računa Trenutno “Stanje” računa se određuje vrijednostima svih varijabli.

Položaj računa Pretpostavite da računanje završava ovdje?

Ne paničarite Bez obzira gdje se nalazite napravite najbolji korak prema školi.

Općenit princip Ne brinite se o ukupnom računu Radite korak po korak.

Definiranje algoritma Ma gdje bili učinite najbolji korak prema cilju.

Napravite korak Što je potrebno za taj korak?

Mjera napredovanja 75 km to school 79 km to school

Definiranje algoritma Da li je to dovoljno za definiranje algoritma? 79 km 75 km

Algoritam koji radi Računanje se stalno približava cilju 79 km to school 75 km

Definiranje algoritma Posebni zahtjevi 79 km 75 km 78.999 km 79 km 0 km

Definiranje koraka Ma gdje bili učinite najbolji korak prema školi.

Računalni zastoj Položaj je previše zbunjujući za računalo Algoritam je prelijen da bi definirao korak za svaki položaj.

Sigurne lokacije Algoritam specificira s kojih lokacija zna kako će napraviti korak.

Invarijanta petlje “Računanje je trenutno na sigurnoj lokaciji.” Možda istina a možda i ne.

Definiranje algoritma Sa svake sigurne lokacije definirajte jedan korak prema školi.

Napravite korak Što je potrebno za korak?

Zadržati invarijantu petlje Ako je računanje na sigurnoj lokaciji neće zakoračiti na nesigurnu.

Zadržati invarijantu petlje Ako smo na sigurnom nećemo koračati prema nesigurnoj lokaciji. Možemo li biti sigurni da će računanje biti uvijek na sigurnoj lokaciji ? Ne. Što ako na početku nismo na Sigurnoj lokaciji ?

Uspostavljanje invarijante petlje Iz početnih uvijeta (početni položaj) moramo uspostaviti invarijantu petlje.

Završetak algoritma Exit Definirajte uvijet za izlaz Završetak: Ako smo dovoljno napredovali, možemo izaći iz petlje. Kad izlazimo Uvijet za izlaz je zadovoljen Invarijanta petlje je zadovoljena iz toga možemo postaviti završni uvijet. Exit 0 km Exit Exit Exit

Ajmo ponoviti

Dizajniranje algoritma Def. problem Definirajte Invarijante petlje Definirajte mjeru napretka Definirajte korak Definirajte uvijet za izlaz Zadržite inv. petlje Približavajte se Početni uvijeti Kraj 79 km to school Exit Exit 79 km 75 km Exit 0 km Exit Exit

Algoritam Exit 79 km 75 km Exit 0 km Exit Exit To je dovoljno !