7-Algoritmi.ppt - Compatibility Mode...Algoritmi i strukture podataka U računarstvu, u njegovom...

Preview:

Citation preview

Osnove programiranja

Algoritmi

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

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.

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.

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.

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.

Koraci algoritma

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”

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.

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”

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!”

IF u IF-u

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

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) ;

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.

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.

Recommended