30.03.2017 Views

Excel_VBA_manual

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

4. PRIMJER POVEZIVANJA EXCELA SA<br />

PROGRAMSKIM JEZIKOM C++<br />

U programskom jeziku C/C++ programira se dosta novih programa kod kojih ponekad predstavlja<br />

veći problem napraviti suĉelje za unos podataka i ispis rješenja, nego riješiti sam problem. Ako<br />

cilj programiranja nije kreiranje odreĊenog suĉelja, tada je moguće upotrijebiti neku od gotovih<br />

aplikacija za rad sa podacima.<br />

Microsoft <strong>Excel</strong> je jedna od aplikacija koja se može koristiti kao suĉelje za unos podataka i ispis<br />

rezultata proraĉuna, tj. za tabelarni i grafiĉki prikaz rezultata i odgovarajućih izvještaja.<br />

Jedna od najĉešćih varijanti korištenja kombinacije <strong>Excel</strong>a i C/C++ ili nekog drugog programskog<br />

jezika je sluĉaj da odreĊena aplikacija zahtijeva složeni i obimni proraĉunski dio, a ulazni i izlazni<br />

parametri su dani u tabelarnoj i grafiĉkoj formi. U tom sluĉaju takva kombinacija ima za prednost<br />

praktiĉki gotovo korisniĉko suĉelje (poznato velikom broju korisnika), uz mogućnost efikasnog<br />

razvoja proraĉunskog dijela aplikacije i njeno brzo izvršavanje.<br />

MeĊu specifiĉnim primjerima ovakve kombinacije može se navesti upravo primjer starijih<br />

numeriĉkih aplikacija u elektronici (i općenito tehnici) koje su dobre sa stanovišta brzine i<br />

toĉnosti proraĉuna, ali im nedostaje odgovarajuće korisniĉko suĉelje. U tom je sluĉaju opisana<br />

kombinacija sa <strong>Excel</strong>om jedno od najĉešće korištenih rješenja.<br />

Kao ilustracija naĉina povezivanja <strong>Excel</strong>a i C++ (pomoću datoteka i pomoću DLL-a) napravljen<br />

je jednostavan primjer sortiranja podataka u matrici.<br />

4.1 Rješavanje problema u programskom jeziku C++<br />

Potrebno je riješiti problem sortiranja brojeva od najvećeg broja prema najmanjem i obrnuto.<br />

Problem sortiranja riješen je pomoću metode ljusaka (Shells Method).<br />

Općenito, ideja sortiranja pomoću metode ljusaka izgleda sljedeće. Npr. za sortiranje 16 brojeva,<br />

n1 do n16, potrebno je prvo grupirati brojeve u 8 grupa po 2 broja koje treba sortirati (n1, n9),<br />

(n2, n10), ..., (n8, n16). Zatim se sortira svaka od 4 grupe sa 4 elementa (n1, n5, n9, n13), ..., (n4,<br />

n8, n12, n16), pa 2 grupe od 8 elemenata (n1, n3, n5, n7, n9, n11, n13, n15) i (n2, n4, n6, n8, n10,<br />

n12, n14, n16), i na kraju se sortira cijeli niz od svih 16 brojeva.<br />

Za sortiranje elemenata nužno je samo posljednje sortiranje, ali parcijalna sortiranja omogućavaju<br />

puno brže i efikasnije sortiranje brojeva, zbog toga što se pomoću njih brojevi efikasno pomiĉu na<br />

poziciju koja je bliža njihovoj krajnjoj poziciji.<br />

Odnos izmeĊu brojeva koji se sortiraju u svakoj sljedećoj ljusci (8, 4, 2, 1 u ovom primjeru)<br />

naziva se inkrement, a metoda ljusaka se ponekad naziva metoda opadajućeg inkrementa.<br />

45

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!