ALGORITMI 1 Programiranje PMF Split 1 Algoritam Precizno

  • Slides: 9
Download presentation
ALGORITMI 1 Programiranje PMF Split 1

ALGORITMI 1 Programiranje PMF Split 1

Algoritam • • Precizno opisan način rješenja nekog problema Jednoznačno određuje što treba napraviti

Algoritam • • Precizno opisan način rješenja nekog problema Jednoznačno određuje što treba napraviti Kao ishod algoritma pojavi se rezultat. Konačni broj koraka; svaki korak opisan instrukcijom Programiranje PMF Split 2

 • Algoritam se grafički predočava dijagramom toka. U tom prikazu svaki algoritamski korak

• Algoritam se grafički predočava dijagramom toka. U tom prikazu svaki algoritamski korak je iskazan odgovarajućim grafičkim simbolom. • Algoritam se tekstualno prikazuje pseudokodom. Programiranje PMF Split 3

Algoritam Kuhanje kave • Algoritam • • • kuhanje kave pečenje palačinki zbroj dva

Algoritam Kuhanje kave • Algoritam • • • kuhanje kave pečenje palačinki zbroj dva broja (linijska struktura) • uspoređivanje dva broja (razgranata struktura) • brojač (ciklička struktura) • zadaci Programiranje PMF Split 4

Algoritam • Instrukcije moraju biti izvedive i jednoznačne • Primjeri za nedopuštene instrukcije: •

Algoritam • Instrukcije moraju biti izvedive i jednoznačne • Primjeri za nedopuštene instrukcije: • izračunaj 5/0 • uvećaj x za 6 ili 7 • Učinkovitost: • U konačnom vremenu može se dobiti rezultat koristeći olovku i papir. • Primjeri: • Zbrajanje cijelih brojeva je učinkovito • Dijeljenje realnih brojeva nije jer se može pojaviti broj s beskonačno mnogo znamenki, npr. 10/3 = 3. 3333333. . . • Algoritam postaje učinkovit tek ako se broj znamenki unaprijed ograniči Programiranje PMF Split 5

Algoritam • Algoritam je uporabljiv ako se dobije rezultat u konačnom vremenu • Vrijeme

Algoritam • Algoritam je uporabljiv ako se dobije rezultat u konačnom vremenu • Vrijeme izvođenja mora biti "razumno" Primjer: Algoritam koji bi izabirao potez igrača šaha tako da ispita sve moguće posljedice poteza, zahtijevao bi milijarde godina na najbržem zamislivom računalu. Zašto? 20 mogućih prvih poteza bijelog 20 mogućih prvih poteza crnog > 20 mogućih drugih poteza bijelog > 20 mogućih drugih poteza crnog itd. . . Za 10 poteza svakog igrača, barem 2020 kombinacija ~ 1026 Kad bi se 1 kombinacija analizirala 1 µs, to je 3170979198376 godina! Programiranje PMF Split 6

Algoritam Linijska struktura • Svaki algoritamski korak tijekom rješavanja zadatka izvršava se samo jedan

Algoritam Linijska struktura • Svaki algoritamski korak tijekom rješavanja zadatka izvršava se samo jedan put. • U ovom slučaju algoritamska shema se sastoji od algoritamskih koraka ulaza, obrade i izlaza. Programiranje PMF Split 7

Algoritam Kuhanje kave Ulazni objekti: mljevena kava, šećer, voda Izlazni objekti (rezultati): skuhana kava

Algoritam Kuhanje kave Ulazni objekti: mljevena kava, šećer, voda Izlazni objekti (rezultati): skuhana kava Proces kuhanja kave: 1. ulij vodu u posudu 2. zagrij posudu 3. čekaj sve dok voda ne počne ključati 4. stavi mljevenu kavu u posudu s vodom i promiješaj 5. skini posudu sa kavom 6. stavi šećer u posudu i promiješaj Programiranje PMF Split 8

Algoritam Linijska struktura Zbrajanje dva broja Ulazni objekti: prvi broj, drugi broj Izlazni objekti

Algoritam Linijska struktura Zbrajanje dva broja Ulazni objekti: prvi broj, drugi broj Izlazni objekti (rezultati): zbroj Algoritam (linijska struktura): 1. unesi prvi broj 2. unesi drugi broj 3. zbroj je jednaka zbroju prvog i drugog broja 4. ispiši zbroj Napravi algoritam za zbrajanje, oduzimanje i množenje dva broja Programiranje PMF Split 9