SKRIPTA IZ PROGRAMIRANJA (Druga parcijala ) mf.untz.ba

Embed Size (px)

Citation preview

  • 7/30/2019 SKRIPTA IZ PROGRAMIRANJA (Druga parcijala ) mf.untz.ba

    1/19

    SKRIPTA IZ PROGRAMIRANJA

    Druga parcijala

    (Sva mogua pitanja )

    Dejan Luki

  • 7/30/2019 SKRIPTA IZ PROGRAMIRANJA (Druga parcijala ) mf.untz.ba

    2/19

    1.Koji su najpoularniji objektno orjentisani programski jezici i emu slue pojedinosti

    njihove namjene ?

    Najpoznatiji objektno orijentirani programski jezici su: C++, Visual BASIC, Delphi ,JAVA

    Programski jezik C++ jeprogramski jezikope namjene i srednje razine s podrkom

    zaobjektno orijentirano programiranje

    Visual Basic (VB) jeprogramski jezikkojeg je razvila tvrtkaMicrosofti on je programski jezik

    za programiranje radnji (event drive) kao i radno suelje (development environment). Ovo je

    iznimno popularna verzijaBasica, nudi jednostavnost Basic jezika zajedno s potpunim

    pristupomWindowsAPI-juime je omoguena izrada svih vrsta aplikacija s velikimmogunostima

    JAVA Velika prednost u odnosu na veinu dotadanjih programskih jezika je to to se

    programi pisani u Javi mogu izvoditi bez preinaka na svim operativnim sustavima za koje

    postoji JVM (Java Virtual Machine), dok je klasine programe pisane primjerice u C-u

    potrebno prilagoavati platformi(Operacijskom sustavu) na kojem se izvode.

    Simula (Simulation programming language), definisan kasnih 60-tih (O.J. Dahl KristenNygaard )

    Smalltalknastao poetkom 1970-tih (Alan Kay). Prvi uspjeni, iroko prihvaeni OO jezik.

    C++ (B.S), Eiffel,... sredina 1980-tih

    http://hr.wikipedia.org/wiki/Programski_jezikhttp://hr.wikipedia.org/wiki/Programski_jezikhttp://hr.wikipedia.org/wiki/Programski_jezikhttp://hr.wikipedia.org/wiki/Objektno_orijentirano_programiranjehttp://hr.wikipedia.org/wiki/Objektno_orijentirano_programiranjehttp://hr.wikipedia.org/wiki/Objektno_orijentirano_programiranjehttp://hr.wikipedia.org/wiki/Programski_jezikhttp://hr.wikipedia.org/wiki/Programski_jezikhttp://hr.wikipedia.org/wiki/Programski_jezikhttp://hr.wikipedia.org/wiki/Microsofthttp://hr.wikipedia.org/wiki/Microsofthttp://hr.wikipedia.org/wiki/Microsofthttp://hr.wikipedia.org/wiki/BASIChttp://hr.wikipedia.org/wiki/BASIChttp://hr.wikipedia.org/wiki/BASIChttp://hr.wikipedia.org/wiki/Windowshttp://hr.wikipedia.org/wiki/Windowshttp://hr.wikipedia.org/wiki/APIhttp://hr.wikipedia.org/wiki/APIhttp://hr.wikipedia.org/wiki/APIhttp://hr.wikipedia.org/wiki/APIhttp://hr.wikipedia.org/wiki/Windowshttp://hr.wikipedia.org/wiki/BASIChttp://hr.wikipedia.org/wiki/Microsofthttp://hr.wikipedia.org/wiki/Programski_jezikhttp://hr.wikipedia.org/wiki/Objektno_orijentirano_programiranjehttp://hr.wikipedia.org/wiki/Programski_jezik
  • 7/30/2019 SKRIPTA IZ PROGRAMIRANJA (Druga parcijala ) mf.untz.ba

    3/19

    2. Navesti osnovne programske jedinice u fortranu sa primjerima

    Najbolja strategija u rjeavanju sloenih problema i izradi kompleksnih programa je

    modulizacija tj, podjela jednog velikog problema na nekoliko ili vie jednostavnijih problema

    koji ine jednu cjelinu.

    Program napisan u FORTRANU moe da se sastoji od jedne ili vie programskih jedinica.

    Uglavnom, programske jedinice su: glavni program (main program) i programske procedure:

    eksterni potprogrami (pUNCTION i SUBROUT1NE), MODUL i Block Data .

    Glavi program: Fortranski program moze biti sastavljen od jednog dijela al mora imat glavi

    program u obliku : (PROGRAM) ima , specifakcioni dijelovi,izvrni dijelovi, CONTAINS (djelovi

    podprograma) END PROGRAM

    Programska jedinica FUNCTIONPotprogram FUNCTION (ili ENTRY) je programska jedinica

    koja slui za izraunavanje izraza pri pozivu, a kao povratnu informaciju ima samo jednu

    izlaznu veliinu: izraunatu vrijednost.

    Opti oblik je Type FUNCTION ime (lista varijabli) , programske instrukcije ,RETURN i END

    SUBROUTINAje programska jedinica koja se poziva sa naredbom

    CALL ili naredbom pridruivanja, a kao izlazne podatke moe imati vei broj

    argumenata.

    Programska jedinica BLOCK DATAOva programska jedinica daje poetne vrijednosti za

    nepromjenljive varijable u itnenovanimCOMMON blokovima. Ona ima slijedei oblik: BLOCK

    DATA [ime] .. [specifikacioni-dio] END [ BLOCK DATA [ime]]

  • 7/30/2019 SKRIPTA IZ PROGRAMIRANJA (Druga parcijala ) mf.untz.ba

    4/19

    4. Objasniti ta je SUBRUTINA kada se koristi i kako se deklarie

    Naredba SUBROUTINE je organizacijska naredba i slui za definiranje potprograma. Unutar

    jedne programske cjeline (programske cjeline su podijeljene naredbom END), naredba

    Subroutine mora biti prva naredba i moe se pjaviti samo jednom. Potprogrami pretstavljaju

    nezavisne cjeline u kojima mora postojati bar jedna izvrna naredba RETURN koja osigurava

    povrat na izvrne naredbe iza poziva potprograma u pozivajucoj programskoj cjelini.

    Argumenti se izmeu pozivajue programske cjeline i potprograma prenose na dva naina:

    preko liste argumenata koja mora biti identina po redoslijedu i tipovima u naredbama

    SUBROUTINE I CALL, te preko naredbe COMMON. Opi oblik naredbe je sledei:

    SUBROUTINE ime [ (argument [ , argument] ) ]

    5 . Osnovne programske paradigme (koncepri )

    Programska paradigma odreuje nain modeliranja problema ali i nain izvrenja programa.

    Veina viih programskih jezika podrava samo jednu programsku paradigmu onu kojoj

    pripadaju npr C++ podrava dvije programske paradigme. Osnovne programske paradigme

    su: proceduralno programiranja, modularno programiranje, strukturalno programiranje,

    objektno orjentirano programiranje.

    3. Navedi algoritme za sortiranje nizova i bjasni merge sort

    Algoritmi za sortiranje su

    -sortiranje biranjem (selection sort)

    - bubble sort

    - sortiranje umetanjem (insertion sort)

    - Shellov sort

    - mergesort

    - quick sort

    - sortiranje pomou gomile (heap sort)

    **MERGEUkoliko se zadano polje sastoji samo od 1elementa, tada je vec sortirano. Inace

    se zadano polje podijeli se na dva manja polja podjednakih duljina. Ta dva manja polja

    zasebno se sortiraju rekurzivnim pozivima istog algoritma. Zatim se malasortirana polja

    szamjenjuju jedno (sortirano) uz pomoc prethodno opisanog postupka saimanja (merge).

  • 7/30/2019 SKRIPTA IZ PROGRAMIRANJA (Druga parcijala ) mf.untz.ba

    5/19

    4.Objasni algoritam sortiranja Quciksorte ?

    Qucik sort Opet je rijec o rekurzivnom algoritmu za sortiranje. Odabere se jedan element

    u polju, takozvani pivot. Svi ostali elementi razvrstaju se ispred (lijevo od) odnosno iza (desno

    od) sto ovisno otome da li su ili od sto pivota. Ocigledno, nakon ovakvog razvrstavanja

    stozer se nalazi na svom konacnom mjestu u smislutrazenog sortiranog poretka. Da bi

    se polje sortiralo do kraja, dovoljno je zasebno (neovisno) sortiratipod-polje lijevo odnosno

    desno od stozera. Sortiranje pod-polja postize se rekurzivnim pozivima istogalgoritma, ili

    na trivijalni nacin za pod-polje duljine 0 ili 1

    4 .Objasni pojam dinamike alokacije

    (SKRIPTA ) Ukoliko nije poznat broj podataka koji mora polje sadrzavati ,deklarirano polje ili

    nee bit veliko za zaprimanje svih podataka ili e ostati mnogo nesikoritenog slobodnog

    prostora u polju koji je deklarirano prevelikih dimenzija .Rijeenje ovog problema lei u

    dinamikoj alokaciji memorije .Polje se tada deklarie kao dinamiko a veliina mu se

    naknadno rezervira tijekom izvoenja samog programa

    Deklaracija :

    real,dimension (:) allocatable :: x,y 1 D polje

    complex,dimension (:,: )allocatable :: A 2D Polje

    real, dimension ( :,: ) allocatable :: b 2D Polje

    integer ,dimension (: ) allocatable :: t 1D polje

  • 7/30/2019 SKRIPTA IZ PROGRAMIRANJA (Druga parcijala ) mf.untz.ba

    6/19

    5. Objasni pojam statika biblioteka :

    Statika biblioteka je blok koda, izdvojen i kompajliran nezavisno od glavnog programa.

    Moe sadravati samo subroutinu ali ne i glavni program. Vr lo je korisna u organizovanju

    velikih programa i dijeljenju subroutina izmeu razliitih programa. Prethodno

    kompajlirana,ista se dodaje se work- space glavnog programa te se njegovim kompajliranjem

    ugrauje u izvrni (.exe) file. Znatno smanjuje vrijeme kompajliranja glavnog programa.

    Moe se koristiti za vie programa ili podprograma.

    6. Objasni pojam dinamika biblioteka

    Dinamika biblioteka za povezivanje (dll) je blok koda, izdvojen i kompajliran nezavisno od

    glavnog programa. Moe sadravati samo subroutinu ali ne i glavni program. Vrlo je korisna

    u organizovanju velikih programa. Ista se dodaje glavnom programu u fazi izvrsenja (run-

    time) ime se postie niz prednosti. Ista dll moe se koristiti od strane vie pozivnih

    programa, izvrni file pozivnog programa je manji, bolji je menadent memorijom, update

    programa je jednostavan jer nije potrebno ponovno kompajliranje ili instaliranje programa

    nego samo zamjena postojee dll novom.

    7. Objasni razliku izmeu proceduralnog i OO koncepta programiranja

    Sa proceduralnim programiranjem u stanju smo da kombinujemo povratne dijelove naredbi

    na jednom mjestu. Ime procedure se koristi za pozivanje procedure. Nakon to je procedurapozvana, tok programa se nastavlja odmah nakon stavke za pozivanje procedure. Da bi se

    procedure mogle generalno koristiti u drugim programima one moraju biti grupisane u

    module tako dobijamo MODULARNO dok je da snaga OO koncepta dolazi prvenstveno do

    izraaja kod velikih programa (programming in large). Velikih u smislu da reavaju

    upravljanje sloenim zadacima, da na njima uestvuje veliki broj programera. Razvijajui

    relativno jednostavne programe, recimo iskljuivo sami, neete biti u prilici da shvatite snagu

    i razloge nastanka OO tehnika programiranja.OO tehnike su i nastale kao pokuaj

    prevazilaenja krize softvera osamdesetih godina, koja se upravo i javila kao nemogunost

    efikasne primene proceduralnih i modularnih tehnika programiranja na reavanju sloenihproblema.

  • 7/30/2019 SKRIPTA IZ PROGRAMIRANJA (Druga parcijala ) mf.untz.ba

    7/19

    SA SLAJDA 8 . Objasni prednost OOP u ondosu na druge

    -jednostavno koritenje dijelova koda u razliitim programima, tedei vrijeme u analizi,

    dizajnu, razvoju, testiranju, i otklanjanju greaka,

    -Jednostavnije modeliranje sloenih problema upotrebom apstraktnijih elemenata =

    objekata

    -sposobnost kupovine dijelova postojeeg, testiranog koda da bi se u razvoju omoguio

    komponentno-zasnovani pristup,

    -smanjeni trokovi razvoja,

    -mogunost podjele velikih projekata na vie programskih dijelova koje radi razliiti

    programeri,

    -poboljane karakteristike debagiranja i testiranja,

    -sposobnost kreiranja jednostavnih i konzistentnih sredstava za meu-djelovanje razliitih

    tipova objekata,

    Prednosti proceduralnog

    -mogudnost ponovnog koritenja istog koda na razliitim mjestima unutar progra

    -jednostavnije pradenje programskog toka (grafiki prikaz=dijagram toka)

    o-snova za razvoj modula, odnosno osiguranja strukturiranog pristupa.

    9.Karakterisitke i prednosti proceduralnog programiranja ?

    Proceduralno programiranje

    Prethodno specificiranje koraka (naredbi) koje program mora izvriti (proceduremanipulisanja sa podacima zadate algoritmom). Procedure se mogu pozvati u bilo kojoj toki

    izvravanja programa, ali i iz samih procedura. Osnovni princip izgradnje inenjerskih

    programa vezanih za numerika raunanja. Najvanije osobine

    -Fokusirani na procedure (algoritam)

    -Svi podaci (varijable) su "vidljive" i dostupne iz glavnog programa

    -Teki za modificiranje i proirivanje

    -Imaju sloenu strukturu za kompleksne probleme

  • 7/30/2019 SKRIPTA IZ PROGRAMIRANJA (Druga parcijala ) mf.untz.ba

    8/19

    Prednosti:

    -mogudnost ponovnog koritenja istog koda na razliitim mjestima unutar progra

    -jednostavnije pradenje programskog toka (grafiki prikaz=dijagram toka)

    -osnova za razvoj modula, odnosno osiguranja strukturiranog pristupa.

    9 . Koji su proceduralni programski jezici ta znai proceduralno programiranje

    ALGOL, FORTRAN, BASIC, PASCAL, C, FORTII, COBOL, PLI, MODULA-2, ADA. Navedeni jezici se

    zovu proceduralni jer se u njima maini propisuje svaka operacija koju treba izvriti. Svaki

    jezik ima svoje karakteristike i podruje primjene. Ti jezici su orjentirani prema problemu koji

    se rjeava pa su itljiiv i za ljude ali raunari ne mogu neposredno izvravati tako napisane

    programe. potrebno je prije prevesti programe na mainski jezik. Programi za prevoenje s

    vieg na mainski jezik zovu se interpreteri i compileri.

    10.ta je modularno programiranje ?

    Kod velikih i sloenih programa, da bi se osigurala, itljivost programa i olakalo njegovo

    razumijevanje i odravanje, modularnost postaje nuna. Modularnost u programiranju jejedan od osnovnih principa, nezavisno o programskoj paradigmi, iako ne postoji opta

    saglasnost o tome ta je modul. Razliiti autori imaju i razliite pristupe i definicije modula

    S. McConnell: modul je "skup rutina koje zajedno obavljaju neku globalnu funkciju poput

    formatiranog izlaza, itanja podataka iz datoteka ili pristupa glavnim strukturama podataka"

    11.Objasni pojam Modul ?

    Modul je logiki nezavisna i zaokruena logika cjelina Moduli se mogu nezavisno

    programirati i testirati Mogu se formirati moduli zajedniki za sve Ispravak, testiranje i

    dokumentiranje je jednostavnije i bre Veze izmeu modula trebaju biti jednostavne i

    vidljive Modul u pravilu treba imati jednu ulaznu i jednu izlaznu taku Nakon izvravanja

    modul vraa kontrolu na mjesto pozivanja

  • 7/30/2019 SKRIPTA IZ PROGRAMIRANJA (Druga parcijala ) mf.untz.ba

    9/19

    12.Objasni ta je objekat u OO programu i kako nastaje i sta sadri

    Objektno orijentirano programiranje polazi od toga da se program posmatra kao skup

    pojedinanih dijelova, ili objekata, koji surauju (rade) jedan s drugim meusobno

    izmjenjujui poruke. Svaki objekt ima sposobnost primanja poruke, obrade podataka i slanja

    poruke drugim objektima. Poruka utie na promjenu stanja objekta.

    Svaki objekt ima: stanje, ponaanje i identitet

    -Stanje objekta definisano je unutranjim varijablama (podacima, data members)

    -Ponaanje (behavior) definisano je funkcijama (member functions, methods). Funkcije se

    aktiviraju porukama.

    -Poruka je formalna komunikacija (poziv, zahtjev) poslana od strane jednog objekta drugom

    a koja zahtjeva neki servis (uslugu).

    Objekti se sastoje od lanova (Members ):

    Attributes (Data) - npr. objekt auto: sjedala, vrata, motor...Methods (Functions) - kreni, zakoi, ubrzaj, upali svjetla.

    13.Objasni osnovnu ideju OO koncepta programiranja ?

    Osnovni temelji objektno orijentirane paradigme su prije svega objekt i razred te metode,

    nasljeivanje, enkapsulacija, polimorfizam, apstrakcija, isuelja. Ideja uvoenja objekata u

    programiranje dola je analiziranjem naina na koji funkcionira stvarni svijet. Promatanjem

    svijeta oko sebe doi emo do zakljuka da se mnoge stvari mogu vrlo jednostavno

    modellirati.Objektno orijentirano programiranje polazi od toga da se program posmatra kao

    skup pojedinanih dijelova, ili objekata, koji surauju (rade) jedan s drugim meusobno

    izmjenjujui poruke. Svaki objekt ima sposobnost primanja poruke, obrade podataka i slanja

    poruke drugim objektima. Poruka utie na promjenu stanja objekta.

  • 7/30/2019 SKRIPTA IZ PROGRAMIRANJA (Druga parcijala ) mf.untz.ba

    10/19

    14.OO Postupak razvoja programske aplikacije ?

    OO razvoj programa (aplikacije)

    -Identifikacija objekata u "real world" problemu

    -Specificiranje ponaanja, stanja i interakcije

    -Organizacija slinih objekata u klase

    -Specificiranje poruka izmeu objekata

    -Izrada gradivnih elemenata od objekata

    -izrada potrebnih klasa

    -Kreiranje objekata, kreiranje objekata za manipulisanje porukama

    -Testiranje klasa i objekata pojedinano

    -Definisanje glavnog programa koji objedinjava sve objekte

    15.Osnovni element OOP ?

    -Objekt

    -Klasa

    -Nasljeivanje

    -Enkapsulacija (ahurenje, pakovanje, umotavanje)

    -Polimorfizam

  • 7/30/2019 SKRIPTA IZ PROGRAMIRANJA (Druga parcijala ) mf.untz.ba

    11/19

    16 .Navedi primjer deklaracije i bojasni u emu je razlika izmeu subrutine i funkcije u

    fortranu ?

    1)FORTRAN FUNCTIONS: unutranje i eksterneKorisnika funkcija je procedura iji je rezultatjedna varijabla proizvoljnog tipa, koja je deklarisana preko imena funkcije.

    Deklaracija : FUNCTION ime ([ lista argumenata ]) [declaration statements] [executable

    statements] END [FUNCTION [name]]

    2)Subroutine:

    -kao rezultat moe vratiti vie argumenata

    -ime subroutine ne mora biti deklarisano (nije varijabla)

    -poziva se sa CALL"

    -moe biti bez liste argumenata

    SUBROUTINE subroutine_name ( argument_list)

    (Declaration section)

    (Execution section)

    RETURN (OPTIONAL)

    END SUBROUTINE [name]

    17.Objasni osobinu enakapsulacije

    Osigurava da programski kod izvan klase (tj. druga klasa) vidi samo funkcionalne (ta moe

    da radi), ali ne i implementacijske detalje klase (kako je to programirano). Time se "skriva"

    ponaanje objekta od njegove implementacije (data hiding), odnosno odvaja kako objekt

    izgleda od toga kako implementira svoje ponaanje. Niko osim objekta ne moe znati kako

    "iznutra" taj objekt izgleda, tj. na koji nain izvrava svoj zadatak. Rezultat enkapsulacije je da

    svaki objekt prema vanjskom svijetu", tj ostalim klasama pokazuje svoje suelje tj. skup

    poruka (metoda) na koje odgovara = interface. Object=black box.

  • 7/30/2019 SKRIPTA IZ PROGRAMIRANJA (Druga parcijala ) mf.untz.ba

    12/19

    18. Objasni polimorfizam

    Polimorfizam potjee od grkih rijei poly - mnogo i morph-oblik. U objektno orijentisanom

    programiranju to znai da jedna poruka moe uzrokovati razliite oblike odgovora u

    zavisnosti kako je objekat kome se alje interpretira. Polimorfizam je ponaanje koje se

    mijenja zavisno od toga koja klasa ga uzrokuje, to znai da dva ili vie objekata mogu

    reagovati potpuno razliito na istu poruku, odnosno da je primatelj poruke odgovoran za

    njenu interpretaciju.

    19. Objasni osobinu nasljeivanja

    Nasljeivanje (inheritance)

    To mehanizam koji omoguuje da klasa (podklasa) redefinira (promijeni) ponaanje iosobine naslijeene neke druge klase (nadklase). Podklasa (subclass) ima sve to i nadklasa

    (superclass), ali i (ako je potrebno) jo netoto je specifino samo za nju

    Nasljeivanje se moe definirati i kao nadreena-podreena relacija izmeu klasa u kojoj

    podreena (dijete, child) klasa ima isto ponaanje (odgovornosti) kao i nadreena (roditelj,

    parent) klasa.

    20 . ta je klasa ?

    Klasa je apstrakcija (zajedniki opis) za skup objekata s istim atributima i operacijama,

    odnosno to je predloak (engl. template) za kreiranje objekata. Zbog toga se kae da je

    objekt instanca (konkretni oblik, primjerak) klase. Svaki objekt jedne klase nasleduje njene

    osobine (metode i atribute).

  • 7/30/2019 SKRIPTA IZ PROGRAMIRANJA (Druga parcijala ) mf.untz.ba

    13/19

    21 . Definicija i ema stabla kao struktura podataka

    STABLO (TREE): konaan skup od n (n>0) elemenata (vorova - node) izmeu kojih postoji

    sljedea strukturna veza:

    jedan vor se zove korijen (root) stabla, ostali vorovi (ne uzimajudi u obzir korijen) su podijeljeni u m (m>0) disjunktnihskupova Ti, T2, ..., Tm, pri emu je svaki od tih skupova takoe stablo. Stabla T1# T2, ..., Tm se

    zovu podstabla.

    Skup od 9 vorova, vor A je prethodnik vorova B i C, odnosno vorovi B i C su sljedbenici

    vora A. vorovi koji nemaju svoje sljedbenike (djecu) zovu se listovi (LEAF) H, J, D, G, F.

    Stepen vora je broj nasljednika (djece) tog vora. Duina puta izmeu dva vora je broj grana izmeu dva vora. Nivo stabla je brojgeneracija sljedbenika.

    Visina stabla je broj nivoa od korijena do najudaljenijeg lista (4 u primjeru). Ureeno stablo je stablo kod koga je bitan raspored podstabala, a kod neureenogstabla je to nebitno.

    Struktura Stablo omogudava uspostavljanje hijerarhije izmeu elemenata. Primjer:organizacija direktorija na HD.

  • 7/30/2019 SKRIPTA IZ PROGRAMIRANJA (Druga parcijala ) mf.untz.ba

    14/19

    22.Objasni ta je Binarsno stablo ?

    Binarno stablo je ureeno stablo u kome svaki vor ima 0, 1 ili 2 nasljednika (maksimalno dva

    nasljednika).

    Osnovne operacije za rad na binarnim stablima

    moemo grupisati u sljedede tri grupe:

    operacije kreiranja binarnog stabla(konstruktorske operacije),

    operacije postavljanja upita nad binarnimstablima (predikatske operacije),

    operacije selektovanja dijelova binarnogstabla (selektorske operacije).

    Svaki vor sadri informacije i linkove za vorove sljedbenike i roditeljski vor. Osnovne

    operacije:

    S Search - uporeivabje vrijednosti i nastavak lijevo ili desno S Insertion - ubacivanje novogvora na kraju stabla S Deletion - brisanje

    Mogunost zamjene stabla sloenom listom linkova, pogodno za kompjutersku

    implementaciju

  • 7/30/2019 SKRIPTA IZ PROGRAMIRANJA (Druga parcijala ) mf.untz.ba

    15/19

    23.Definicija i ema reda ?

    Sekvence elemeneta istog tipa. Prvi snimljeni element je i prvi dostupni element. (FIFO - first

    in first out)Novi elementi se dodaju na jednom kraju a oduzimaju na drugom kraju (linearna

    struktura)

    24. Definicija i ema grafa ?

    -Univerzalni nain povezivanja elemenata

    -Sastoji se od skupa vorova i skupa linija za povezivanje (edges, bridovi, ivice)

    -Vrlo pogodni za modeliranje objekata, sistema i procesa

    -vorovi mogu imati imena i atribute

    -Edges (bridovi) spajaju dva vora (veze) mogu biti imenovane (labeled) i imati smjer

    -Graf je generalnija (optija) struktura od stabla

  • 7/30/2019 SKRIPTA IZ PROGRAMIRANJA (Druga parcijala ) mf.untz.ba

    16/19

    25 . Primjena grafova ?

    Linked list

    Tree (instance of graph)

    Flowcharts (dijagram toka programa)

    Mape puteva (GPS)Electrine sheme Montane sheme

    Sadraj planova, ekonomija, vojne operacije.

    26. Objasni pojam STEK ?

    Definition: Poseban sluaj liste kod koje je dodavanje ili oduzimanje elemenata mogue

    samo na vrhu structure. (LIFO: last in - first out)

    27. Nabroj osnovne apstaktne strukture podataka ?

    Apstraktne strukture podataka su :

    Matrice

    Records (Slog)List (linkovane liste)

    Stack (Stek)

    Queue (Redovi)

    Tree (Stablo)

    Grafovi

    28. Definicja strukture podataka ?

    Struktura podataka je matematiki (logiki) nain organizacije podataka. Ona definie nain

    njihovog pohranjivanja i upotrebe od strane programa (programera). Pravilo odabrana

    struktura bitno utie na efikasnost programa. Tose naroito istie kod sloenih aplikacija.

  • 7/30/2019 SKRIPTA IZ PROGRAMIRANJA (Druga parcijala ) mf.untz.ba

    17/19

    29. Osnovne operacije nad apstraktnim strukturama podataka ?

    Pristup (itanje) i modificiranje podataka Pretraivanje Proirivanje (dodavanje novih podataka) Brisanje Sortiranje Spajanje i razdvajanje vie struktura RECORDS (Slog)Sekvenca (niz) podataka razliitog tipa, redovi tabele...

    30 .Definicija i ema povezane liste

    Struktura iji element sadri podatakipokaziva adreseslijedeeg elementa. Redoslijed

    elemenata je ureen pokazivaima. Spremanje u memoriji ne mora biti u skladu sa

    redoslijedom elemenata.

    Prvi element liste naziva se razliitim imenima kao to je glava, poetak ili prvi vor (head,

    front, first node). Krajnji vor se naziva rep ili krajnji vor liste (tail, end ili last node). Zbog

    linearne strukture liste svaki vor osim prvog i zadnjeg ima svog predhodnika i sljedbenika.

    vor na kome se trenutno nalazimo nazivamo tekudim vorom ili tekuda pozicija u listi.

  • 7/30/2019 SKRIPTA IZ PROGRAMIRANJA (Druga parcijala ) mf.untz.ba

    18/19

    Linkovi izmeu vorova:

    Single linked lists :Svaki vor sadri dva linka - prema prethodnom i slijedeem voru

    Double linked lists :Svaki vor sadri samo link prema narednom voru

    Circular lists: rep je linkovan sa glavom (zatvorena lista)

    31. Navedi primjer fortranske naredbe za ispit podataka u file ?

    OPEN (unit=11, file='ime file-a', status='unknown,new,old')

    Do i=1,n ! ispis podataka u externi file

    Write(11,*) t,x(t)

    End do

    Do i=1,n ! itanje podataka iz file-a

    Read(11,*) x(i)

    End do

    Close (11)

    Naprimjer : Program wirite_to_file

    integer k

    open(1,file=nuberst.txt)

    write (1,(i4)) k

    end do

    close (1)

    end

  • 7/30/2019 SKRIPTA IZ PROGRAMIRANJA (Druga parcijala ) mf.untz.ba

    19/19