16
Osnove programiranja Algoritmi

7-Algoritmi.ppt - Compatibility Mode...Algoritmi i strukture podataka U računarstvu, u njegovom delu koji se odnosi na programiranje, susrećemo se sa dva osnovna pojma: Strukture

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: 7-Algoritmi.ppt - Compatibility Mode...Algoritmi i strukture podataka U računarstvu, u njegovom delu koji se odnosi na programiranje, susrećemo se sa dva osnovna pojma: Strukture

Osnove programiranja

Algoritmi

Page 2: 7-Algoritmi.ppt - Compatibility Mode...Algoritmi i strukture podataka U računarstvu, u njegovom delu koji se odnosi na programiranje, susrećemo se sa dva osnovna pojma: Strukture

Sadržaj

Algoritmi i strukture podataka Istorijat i definicija algoritma Osnovni koraci rešavanja problema na računaru Koraci algoritma Vrste algoritamskih šema Primeri Predstavljanje algoritama pomoću blok

dijagrama

Page 3: 7-Algoritmi.ppt - Compatibility Mode...Algoritmi i strukture podataka U računarstvu, u njegovom delu koji se odnosi na programiranje, susrećemo se sa dva osnovna pojma: Strukture

Algoritmi i strukture podataka

U računarstvu, u njegovom delu koji se odnosi na programiranje, susrećemo se sa dva osnovnapojma:

Strukture podataka predstavljaju “statički” aspekt nekog programa - ono sa ČIME se radi.

Algoritmi predstavljaju “dinamički” aspektprograma - ono ŠTA se radi.

Page 4: 7-Algoritmi.ppt - Compatibility Mode...Algoritmi i strukture podataka U računarstvu, u njegovom delu koji se odnosi na programiranje, susrećemo se sa dva osnovna pojma: Strukture

Istorijat

Sama reč algoritam vodi poreklo od imena jednog oddeset najcenjenijih matematičara svih vremena, Al Horezmija (Algorizmi)

Po Horezmiju bilo koji matematički problem možeraščlaniti na korake, tj. niz pravila.

U početku to su pravila računanja s brojevima a kasnijei pravila obavljanja ostalih zadataka u matematici.

U XX veku, pojavom računara, pojam se proširuje naračunarstvo.

Page 5: 7-Algoritmi.ppt - Compatibility Mode...Algoritmi i strukture podataka U računarstvu, u njegovom delu koji se odnosi na programiranje, susrećemo se sa dva osnovna pojma: Strukture

Definicija

Algoritam je skup pravila formulisanih zarešavanje nekog zadatka.

Neformalno, algoritam je potpuno (precizno) definisana procedura (postupak) koji uzima(dobija) jednu ili više ulaznih vrednosti i daje(proizvodi, generiše) jednu ili više izlaznihvrednosti.

Sastoji se od konačnog niza koraka koji se odvijaju određenim redosledom.

Page 6: 7-Algoritmi.ppt - Compatibility Mode...Algoritmi i strukture podataka U računarstvu, u njegovom delu koji se odnosi na programiranje, susrećemo se sa dva osnovna pojma: Strukture

Osnovni koraci rešavanja problema na računaru

Ceo proces rešavanja problema pomoćuračunara može se podeliti u etape: Precizna formulacija ili opis problema Izrada matematičkog oblika, ili modela, problema, Algoritmizacija problema ili projektovanje

algoritama, Programiranje ili kodiranje, Testiranje problema, Dobijanje i analiza rezultata.

Page 7: 7-Algoritmi.ppt - Compatibility Mode...Algoritmi i strukture podataka U računarstvu, u njegovom delu koji se odnosi na programiranje, susrećemo se sa dva osnovna pojma: Strukture

Koraci algoritma

Page 8: 7-Algoritmi.ppt - Compatibility Mode...Algoritmi i strukture podataka U računarstvu, u njegovom delu koji se odnosi na programiranje, susrećemo se sa dva osnovna pojma: Strukture

Primer 1.

Opisati dijagramom algoritam koji ispisujeporuku ,,Zdravo”na ekranu.

Opisati algoritam prirodnim jezikom značidetaljno, jasno, precizno, nedvosmisleno itačnim redosledom opisati korake koji voderešenju problema.

1. Ispisati (prikazati) poruku ,,Zdravo”

Page 9: 7-Algoritmi.ppt - Compatibility Mode...Algoritmi i strukture podataka U računarstvu, u njegovom delu koji se odnosi na programiranje, susrećemo se sa dva osnovna pojma: Strukture

Primer 2.

Opisati prirodnim jezikom algoritam zasabiranje dva proizvoljna broja: a i b koji rezultirara brojem c.

1. Uneti vrednosti za promenljive a i b. 2. Izračunati zbir promenljivih a i b i

dodeliti ih promenljivoj c. 3. Prikazati vrednosti promenljivih a, b, c.

Page 10: 7-Algoritmi.ppt - Compatibility Mode...Algoritmi i strukture podataka U računarstvu, u njegovom delu koji se odnosi na programiranje, susrećemo se sa dva osnovna pojma: Strukture

Primer 3.

Napisati algoritam koji proveravada li je dati proizvoljni broj paranili nije, a potom to i ispisuje.

1. Unos vrednosti nepoznate a2. Ako je ostatak pri deljenju broja

a sa 2 jednak 0, ispisuje se “Paran”

3. U suprotnom se ispisuje vrednost “Nije paran”

Page 11: 7-Algoritmi.ppt - Compatibility Mode...Algoritmi i strukture podataka U računarstvu, u njegovom delu koji se odnosi na programiranje, susrećemo se sa dva osnovna pojma: Strukture

Primer 4. Ugnježdeni IF

Za uneti broj a odrediti da li je pozitivan, negativan ili nula i ispisati odgovarajuću poruku.

1. Unos vrednosti nepoznate a2. Ako je broj a pozitivan ispisuje se “Broj je pozitivan”3. Ako je broj a negativan ispisuje se “Broj je negativan”4. U suprotnom se ispisuje vrednost “Uneli ste nulu!”

Page 12: 7-Algoritmi.ppt - Compatibility Mode...Algoritmi i strukture podataka U računarstvu, u njegovom delu koji se odnosi na programiranje, susrećemo se sa dva osnovna pojma: Strukture

IF u IF-u

Page 13: 7-Algoritmi.ppt - Compatibility Mode...Algoritmi i strukture podataka U računarstvu, u njegovom delu koji se odnosi na programiranje, susrećemo se sa dva osnovna pojma: Strukture

Primer 5.

Prikazati prvih n prirodnih brojeva;

Brojač koji će brojati cikluse – i; početna vrednost i=1;

U svakom ciklusu se proverava da li je brojač dostigao vrednost n.

i=1, i=2, …, i<=n

Page 14: 7-Algoritmi.ppt - Compatibility Mode...Algoritmi i strukture podataka U računarstvu, u njegovom delu koji se odnosi na programiranje, susrećemo se sa dva osnovna pojma: Strukture

Primer 5.

Console.WriteLine("Unesite broj n:");int n = int.Parse(Console.ReadLine());

int i=1;    do       {            Console.WriteLine(i);

            i=i+1;       }

     while (i <= n) ;

Page 15: 7-Algoritmi.ppt - Compatibility Mode...Algoritmi i strukture podataka U računarstvu, u njegovom delu koji se odnosi na programiranje, susrećemo se sa dva osnovna pojma: Strukture

Vrste algoritamskih šema

Na osnovu prethodnih primera može se zaključiti o podeli algoritamskih šema: Linijske algoritamske šeme – svaki algoritamski

korak izvšava se najviše jedanput u toku izvršavanjaalgoritma: proste (Primer1 i 2) i razgranate (Primer3 i 4).

Ciklične algoritamske šeme - šeme kod kojih se jedan ili više algoritamskih koraka može izvršavativiše puta (makar dva), u toku jednog izvršavanjacelog algoritma (Primer 5).

Složene algoritamske šeme - šeme koje se dobijaju kombinacijom prethodno navedenih šema.

Page 16: 7-Algoritmi.ppt - Compatibility Mode...Algoritmi i strukture podataka U računarstvu, u njegovom delu koji se odnosi na programiranje, susrećemo se sa dva osnovna pojma: Strukture

3 osnovna tipa algoritma

U algoritmu se uočavaju tri operacije: Sekvencijalne, Selektivne (odlučivanje) IF...THAN...(ELSE) Repetitivne (ponavljanje) DO...WHILE, FOR

Tri tipa algoritma Kombinacijom ova tri tipa osnovnih algoritama

je moguće opisati (modelirati) bilo koji sistem, bez obzira na njegovu složenost.