ASP_vj1

Embed Size (px)

Citation preview

  • 7/24/2019 ASP_vj1

    1/12

    ALGORITMII

    STRUKTUREPODATAKA

    - vjebe 1 -

    ALGORITMII

    STRUKTUREPODATAKA

    - vjebe 1 -

    Jelena ZovkoJelena Zovko

    22.10.2012.22.10.2012.

    Jelena ZovkoJelena Zovko

    22.10.2012.22.10.2012.

    O kolegiju...O kolegiju...

    Prisustvo nastavi i vjebama

    Aktivno sudjelovanje

    Literatura:

    Algoritmi i strukture podataka,Markii Tomi

  • 7/24/2019 ASP_vj1

    2/12

    O kolegiju...O kolegiju...

    Programski jezik c++ Razvojno okruenje

    Dev c++

    ili

    po osobnom izboru

    AlgoritamAlgoritam

    konaan niz nedvosmislenih korakakoji su izvodljivi i, ako se slijede,dovode do rjeenja problema

  • 7/24/2019 ASP_vj1

    3/12

    AlgoritamAlgoritam

    koraci slijedni i nedvosmisleni

    daju tono rjeenje u svim

    sluajevima

    broj koraka je konaan

    koraci algoritma moraju biti izvedivi

    za odreeni procesor

    efikasnost

    AlgoritamAlgoritam

    algoritmi i ovjek...

    izgradnja algoritma...

  • 7/24/2019 ASP_vj1

    4/12

    Tehnike prikaza algoritamaTehnike prikaza algoritama

    prirodni jezik pseudokod

    dijagrami tijeka (flowcharts)

    Nassi-Sneidermanovi dijagrami

    Jackson strukturni dijagrami

    Prirodni jezikPrirodni jezik

    Prirodnim jezikom se algoritamzapisuje navoenjem rednog brojakoraka i kratkim opisom koraka nahrvatskom (prirodnom) jeziku

  • 7/24/2019 ASP_vj1

    5/12

    PseudokodPseudokod

    Rabi prirodni, neformaliziraniprogramski jezik izmijean sformaliziranim strukturama izprogramskog jezika na kojem setemelji pseudokod

    Pseudokod kljune rijeiPseudokod kljune rijei

    BEGIN, END

    Read, Print, Write

    If ( ) then

    Else

    End If

    For.... End For

  • 7/24/2019 ASP_vj1

    6/12

    Dijagrami tijekaDijagrami tijeka

    Grafiki prikaz koraka potrebnih zarjeenje postavljenog zadatka.

    Memorija sa

    sekvencijalnim

    pristupom

    Runi unos

    Izvanstranini

    poveznik

    Spajanje

    Spremljeni

    podaci

    Odgoda

    Magnetni disk

    Obrada

    Uvjet (odluka)

    Ulaz i izlaz

    Poveznik

    Dokument

    Viestruki

    dokument

    Kraj

    Dijagram tijekaDijagram tijeka

    Najee koriteni:

    Poetak/kraj

    Obrada

    Ulaz/izlaz

    Odluka

    poveziva

  • 7/24/2019 ASP_vj1

    7/12

    Logike struktureLogike strukture

    sekvencija

    korak 1

    korak 2

    korak 3

    Logike struktureLogike strukture

    selekcija

    if

    then

    ne

    da else

  • 7/24/2019 ASP_vj1

    8/12

    Logike struktureLogike strukture

    iteracija

    for i =.

    naredbe

    next i

    Nassi-Sneidermanovi dijagramiNassi-Sneidermanovi dijagrami

    Algoritam se smjeta u samo jedanpravokutnik. Koraci algoritma seizvravaju slijedno

    Naredba

    Uvjet

    petlja

    Naredba

    Naredbe Naredbe

    Uvjet?

    DA NE

    Uvjet?

    Naredbe

  • 7/24/2019 ASP_vj1

    9/12

    Jackson strukturni dijagramiJackson strukturni dijagrami

    Podjela zadatka na jednostavnijedijelove

    A

    B C

    A

    B CUvjet 1 Uvjet 2

    Proces A

    *

    Proces B

    Uvjet

    1. Primjer1. Primjer

    Koristei sve nabrojene tehnikeprikaza algoritama rijeiti sljedeiproblem:

    Izraun zbroja dva unesena broja

    Isti problem rijeiti u c++

  • 7/24/2019 ASP_vj1

    10/12

    Pisanje kodaPisanje koda

    Osnovni dijeloviosnovu ini funkcija main

    naredbe pretprocesoru

    deklaracija funkcija koje se koriste uprogramu

    deklaracija globalnih varijabli ikonstanti

    Pisanje kodaPisanje koda

    Pravila

    na kraju svake izvrne naredbepotrebno je upisati znak ;

    poetak i kraj svake funkcije seoznaavaju vitiastim zagradama {poetak, } kraj

    komentari se piu izmeu oznaka /* i*/

  • 7/24/2019 ASP_vj1

    11/12

    Pisanje kodaPisanje koda

    #pretprocesorske_naredbe

    definicije_funkcija;

    deklaracije_globalnih_varijabli_i_konstanti;

    tip_podataka main (lista_argumenata)

    {

    /* komentar */

    naredbe;

    }

    Objanjenja kodaObjanjenja koda

    #include ili using namespace std

    #include ili #include

    ove biblioteke se moraju ukljuiti da bi semogle odvijati ulazno/izlazne operacije

    getchar()

    ova funkcija omoguuje uitavanje znaka,znakovi se upisuju u buffer sve dok se ne

    pritisne tipka ENTERsystem(pause)

    ekanje na reakciju korisnika

  • 7/24/2019 ASP_vj1

    12/12

    2. Primjer2. Primjer

    Koristei sve nabrojene tehnikeprikaza algoritama rijeiti sljedeiproblem i napisati program:

    Korisnik prvo unosi broj odraenih sat,iznos satnice i iznos dodatka na sta teprogram rauna bruto plau po formuli:

    sati * satnica + (dodatak na sta)

    Korisnik nakon toga unosi iznos doprinosana plau te se rauna osobni dohodak poformuli:

    bruto plaa doprinosi na plau

    Program ispisuje i bruto plau i dohodak.

    ALGORITMII

    STRUKTUREPODATAKA

    ALGORITMII

    STRUKTUREPODATAKA