Visual Basic programski jezik

January 27, 2017 | Author: AminaMujkić | Category: N/A
Share Embed Donate


Short Description

Download Visual Basic programski jezik...

Description

Dr Sr an Damjanovi Mr Predrag Katani

PROGRAMSKI JEZIK VISUAL BASIC ZBIRKA ZADATAKA

FAKULTET POSLOVNE EKONOMIJE BIJELJINA, 2013.

Recenzenti:

Izdaje: FAKULTET POSLOVNE EKONOMIJE Bijeljina

Za izdava a: Prof. dr Sr an Damjanovi

tampa: GRAFIKA GOLE Bijeljina

Tira : 200 primjeraka

© 2013. Sva prava su zadr ana. Nijedan dio ove publikacije ne mo e biti reprodukovan niti smje ten u sistem za pretra ivanje ili transmitovanje u bilo kom obliku, elektronski, mehani ki, fotokopiranjem, snimanjem ili na drugi na in, bez predhodne pismene dozvole autora.

Posveta Ovu knjigu posve ujem bakama Go i i Vukici. Zahvaljujem se supruzi Slobodanki, bogatstvu na e ljubavi Teodori i Mihailu, koji su sa puno razumjevanja omogu ili moj rad na ovoj knjizi.

Sr an Damjanovi

Programski jezik Visual Basic Zbirka zadataka

S A D R

5

A J

UVOD........................................................................................................ 9 1. OSNOVE PROGRAMIRANJA ......................................................... 11 1.1. H A R D V E R ....................................................................................... 12 1.1.1. Osnovne komponente ra unarskog sistema ........................................ 12 1.1.2. Centralni procesor ............................................................................. 15 1.1.3. Primarna memorija ............................................................................ 16 1.2. S O F T V E R......................................................................................... 17 1.3. PISANJE PROGRAMA......................................................................... 20 1.3.1. Definisanje problema......................................................................... 20 1.3.2. Izrada algoritma ................................................................................ 21 1.3.3. Pisanje i uno enje programa u ra unar ............................................... 30 1.3.4. Testiranje programa i ispravka gre ke................................................ 30 1.3.5. Distribucija va ih programa............................................................... 33 1.3.6. Implementacija programa i obuka korisnika....................................... 36 1.3.7. Odr avanje i nadogradnja programa .................................................. 37 1.4. RJE ENI PRIMJERI PRAVLJENJA ALGORITMA ......................... 41

2. UVOD U PROGRAMSKI JEZIK VISUAL BASIC .......................... 55 2.1. PREDNOSTI PROGRAMIRANJA U VISUAL BASIC-U................... 56 2.2. INSTALIRANJE VISUAL BASIC PROGRAMA ................................ 56 2.3. POKRETANJE VISUAL BASIC PROGRAMA .................................. 60 2.4. SIMBOLI U PROGRAMU VISUAL BASIC ........................................ 62 2.5. OBJEKTI I NJIHOVE OSOBINE U PROGRAMU VISUAL BASIC. 64 2.6. SKRA ENICE U PROGRAMU VISUAL BASIC ............................... 68 2.7. PRAVLJENJE PRVOG PROGRAMA ................................................ 71 2.7.1. Izbor potrebnih objekata za rje avanje postavljenog zadatka ............. 71 2.7.2. Definisanje osobina objekata ............................................................ 73 2.7.3. Me usobno povezivanje objekata ..................................................... 73 2.7.4. Testiranje programa i pravljenje izvr ne verzije programa................. 74

3. TIPOVI PODATAKA ....................................................................... 77 3.1. LOGI KE PROMJENJIVE (BOOLEAN)........................................... 79 3.2. CIJELI BROJEVI (INTEGER) ............................................................ 80

Programski jezik Visual Basic Zbirka zadataka 3.3. 3.4. 3.5. 3.6. 3.7. 3.8.

6

REALNI BROJEVI............................................................................... 82 TEKST (STRING) ................................................................................. 83 NOV ANE VRIJEDNOSTI (CURRENCY)......................................... 86 DATUM (DATE) ................................................................................... 86 NEODRE ENI TIP (VARIANT) .......................................................... 88 STATI KI NIZOVNI TIP (ARRAY).................................................... 88

4. NAREDBE SELEKCIJE I ITERACIJE .......................................... 93 4.1. NAREDBE SELEKCIJE ....................................................................... 93 4.1.1. If Then Else struktura....................................................................... 93 4.1.2. Case struktura ................................................................................. 99 4.2. NAREDBE ITERACIJE...................................................................... 104 4.2.1. For ... Next struktura...................................................................... 104 4.2.2. Do While ... Loop struktura............................................................ 109 4.2.3. Do ... Loop While struktura............................................................ 111 4.2.4. Do ... Loop Until struktura.............................................................. 112

5. FUNKCIJE I PROCEDURE........................................................... 115 5.1. FUNKCIJE.......................................................................................... 115 5.2. PROCEDURE ..................................................................................... 118 5.3. MATEMATI KE FUNKCIJA........................................................... 125 5.4. FINANSIJSKE FUNKCIJA ............................................................... 126 5.8. INPUTBOX FUNKCIJA ..................................................................... 128 5.9. MESAGEBOX FUNKCIJA ................................................................. 132 5.10. REKURZIVNE FUNKCIJE I PROCEDURE.................................. 134

6. OBJEKTNO ORJENTISANO PROGRAMIRANJE .................... 137 6.1. OBJEKTNO ORIJENTISAN NA IN MI LJENJA .......................... 137 6.2. OBJEKAT ............................................................................................ 138 6.3 METODE I KOMUNIKACIJA ME U OBJEKTIMA....................... 140 6.4. ENKAPSULACIJA I INTERFEJSI .................................................... 141

7. OBJEKTI VISUAL BASIC-A.......................................................... 143 7.1. OBJEKAT FORM............................................................................... 143 7.1.1. Program sa vi e formi...................................................................... 144 7.1.2. Odre ivanje po etne forme i prikaz uvodne slike............................. 146 7.2. OBJEKAT LABEL.............................................................................. 149 7.3. OBJEKAT TEXTBOX......................................................................... 149 7.4. OBJEKAT COMMANDBUTTON....................................................... 151 7.5. OBJEKTI CHECKBOX I OPTIONBUTTON .................................... 152

Programski jezik Visual Basic Zbirka zadataka

7

7.6. OBJEKAT FRAME............................................................................. 154 7.7 OBJEKTI LISTBOX I COMBOBOX ................................................... 155 7.8. OBJEKTI KLIZNE TRAKE HSCROLLBAR I VSCROLLBAR........ 157 7.9. OBJEKAT TIMER.............................................................................. 159 7.10. OBJEKAT DRIVELISTBOX ............................................................ 165 7.11. OBJEKAT DIRECTORYLIST BOX ................................................. 166 7.12. OBJEKAT FILELISTBOX ............................................................... 166 7.13. OBJEKTI LINE I SHAPE................................................................. 168 7.14. OBJEKTI IMAGE I PICTUREBOX ................................................. 169 7.15. OBJEKAT DATA .............................................................................. 170 7.16. OBJEKAT OLE................................................................................. 173 7.18. OBJEKAT MSFLEXGRID ZA TABELARNI PRIKAZ.................. 176 7.19. OBJEKAT COMMONDIALOG ZA STANDARDNI MENI............ 182 7.19.1. Dijalo ki okviri Open i Save As ..................................................... 184 7.19.2. Dijalo ki okvir Color..................................................................... 184 7.19.3. Dijalo ki okvir Font ...................................................................... 185 7.19.3. Dijalo ki okvir Print...................................................................... 185 7.19.3. Dijalo ki okvir Help ...................................................................... 186 7.20. IZRADA SOPSTVENOG MENIJA ................................................. 186 7.21. IZRADA SOPSTVENOG TOOLBAR-A........................................... 190 7.22. ACTIVEX OBJEKATI ...................................................................... 193 7.22.1. Kori tenje objekata drugih aplikacija ............................................. 194 7.22.2. Tipovi ActiveX sastavnih dijelova .................................................. 195 7.22.3. Stvaranje pokaziva a na objekat .................................................... 197 7.22.4. Otpu tanje ActiveX sastavnog dijela............................................... 200 7.22.5. Rukovanje gre kama tokom rada u ActiveX sastavnim dijelovima .. 201 7.23. NIZ OBJEKATA............................................................................... 202 7.24. KRETANJE KROZ OBJEKTE SA TAB TASTEROM .................. 204

8. PRIMJERI VISUAL BASIC PROGRAMA.................................... 207 8.1. PRIMJERI IZ HELP-A VISUAL BASIC PROGRAMA.................... 207 8.2. ADO PRISTUP BAZAMA PODATAKA ........................................... 209 8.3. SQL UPIT U VISUAL BASIC-U ......................................................... 212 8.4. PRISTUP EXCEL DOKUMENTU..................................................... 221 8.5. ZADACI ZA SAMOSTALNI RAD .................................................... 223 8.5.1. Zadaci sa grananjem........................................................................ 223 8.5.2. Zadaci sa upotrebom gotovih funkcija ............................................. 224 8.5.3. Zadaci sa petljama........................................................................... 226 8.5.4. Zadaci za pristup Excel dokumentu i Access bazi............................. 227

Programski jezik Visual Basic Zbirka zadataka

8

9. PROIZVODNJA I PRODAJA PROGRAMA ................................ 229 9.1 PRODAJA PROGRAMA .................................................................... 229 9.2. PRAVO KOPIRANJA PROGRAMA ................................................ 230 9.3. GARANTNE OBAVEZE.................................................................... 231 9.4. ODR AVANJE PROGRAMA ........................................................... 233 9.5. OZNA AVANJE VERZIJA I MODIFIKACIJA PROGRAMA...... 234 9.6. SPECIFIKACIJA PROGRAMSKIH PROIZVODA......................... 235

L I T E R A T U R A............................................................................. 237

Programski jezik Visual Basic Zbirka zadataka

9

UVOD Visual Basic je objektno orjentisani programski jezik, koji je kao programski jezik pre ao dug razvojni put od programskog jezika Basic. Zahvaljuju i Microsoft-u postao je profesinalni razvojni alat i standard za razvoj aplikacija u Windows okru enju. Zbog svoje jednostavnosti u pisanju programa i lakom pra enju toka izvr enja programa, ovaj programski jezik mo e da poslu i po etnicima u programiranju za savladavanje prvih koraka u programiranju. Cilj ovog izdanja je da se prilagodi potrebama studenata u po etnoj fazi u enja programiranja, kao i svima onima koji su se ranije bavili programiranjem ali u nekom drugom programskom jeziku. Izdavanjem ove knjige nadomje tena je literatura, koja nedostaje za izvo enje predavanja i vje bi iz predmeta Uvod u programiranje i Programski jezici na Fakultetu poslovne ekonomije u Bijeljini. Knjiga je napisana zbog nedostatka na tr tu literature na srpskom jeziku sa prakti nim primjerima za programski jezik Visual Basic. Naime, postoje samo uputstva za rad sa raznim verzijama programskog jezika Visual Basic, koja su napisana na engleskom jeziku i dostupna su u elektronskom obliku. To su, uglavnom, obimne dokumentacije izlo ene na vi e stotina, ak i oko hiljadu stranica, a uglavnom se odnose na jedan segment problema, koji se obra uje. Na relativno skromnom broju stranica izlo ena je jedna konzistentna cjelina pogodna za edukaciju u obrazovnim ustanovama. Knjiga je posebno aktuelna za studente i itaoce, koji se samostalno bave programiranjem u programskom jeziku Visual Basic. Ponu eni primjeri su, zbog konciznosti izlaganja, djelimi no upro eni, ali se nevelikim trudom mogu brzo i efikasno dovesti do profesionalne aplikacije. Obra ene oblasti su raznovrsne i bri ljivo birane, kako bi itaoci mogli da uvide vi estruke primjene obra enog materijala u praksi. Tako e je evidentan nedostatak literature, koji se odnosi na pravljenje algoritma. Autori su, uvidjev i tu prazninu, bri ljivo razradili primjere algoritama. Na osnovu toga su studentima i ostaloj stru noj javnosti ponudili jedan ovakav nastavni sadr aj. Knjiga je u osnovi podijeljena na devet poglavlja, koja ine tri zasebne cjeline. Prvu cjelinu ini poglavlje jedan, u kome su date osnove za nastanak programiranja. Drugu cjelinu ine poglavlja dva do osam, u kojima su date osnove programskog jezika Visual Basic, kroz terijska razmatranja i prakti ne primjere programa. Tre u cjelinu ini deveto poglavlje u kome su opisani pravni i ekonomski aspekti proizvodnje i prodaje programa. Za svakog programera je bitno da poznaje kako funkcioni e hardver na kome se njegov program pokre e. To je razlog za to su u prvom poglavlju predstavljene osnovne hardverskih komponente ra unara. Zatim je ukratko opisan pojam softvera. Dati su osnovni koraci, koji ine proces pisanja programa. Na kraju ovog

UVOD

10

poglavlja opisan je postupak i zna aj pravljenja algoritma, kroz nekoliko prakti nih primjera. Postupak instaliranja programa Visual Basic predstavljen je u drugom poglavlju. Na kraju je opisano, kako mo e izgledati postupak pravljenja prvog programa u ovom programskom jeziku. U tre em poglavlju opisani su osnovni tipovi podataka, koji se koriste prilikom pisanja programa u programskom jeziku Visual Basic. Uz svaki tip podatka prikazan je primjer programa, kaji opisuje kako se on koristi. Naredbe selekcije i iteracije u Visual Basic-u opisane su u etvrtom poglavlju. Detaljno su opisani razni postupci pravljenja grananja u programu kroz primjere, kako bi se to lak e mogli koristiti za pisanje programa. Predstavljen je i na in vi estrukog ponavljanja nekih naredbi, kako da se zna ajno smanjio broj kodnih linija u programu. Dati su primjeri sa rje enim ispitnim zadacima. U petom poglavlju predstavljene su funkcije i procedure, koje omogu uju da program bude konstruisan od ranije napravljenih dijelova. Predstavljen je samo jedan mali dio gotovih funkcija koje postoje u Visual Basic-u, ali je opisano i kako se mogu isprogramirati nove. Navedene su vrste procedura, na in pravljenja novih i na in njihovog pozivanja iz glavnog programa Objektno orijentisano programiranje opisano je u estom poglavlju. Objektno orijentisano programiranje je, kao to ime ka e, orijentisano ka objektu, koji je osnova ovakvog programiranja. Obezbje ena je jednistvena kontrola pristupa podacima, po to objekat nije prost tip podatka, poput cijelog broja ili niza znakova, ve skup primitivnijih vrsta podataka, kojima je, po potrebi, dodato odre eno pona anje. U sedmom poglavlju predstavljeni gotovi objekti, koji postoje u standardnoj paleti objekata u programskom jeziku Visual Basic. Za svaki objekat su dati primjeri programa za kori enje ovih objekata. Primjeri programa napisanih u programskom jeziku Visual Basic predstavljeni su u osmom poglavlju. Prvo su predstavljeni primjeri programa, koji se mogu na i u Help-u programskog jezika Visual Basic. Zatim su predstavljeni prakti ni primjeri kodova programa, koji slu e za komunikaciju sa Access bazom podataka i Excel dokumentom. Dati su i zadaci za samostalan rad studenata. Pravni i ekonomski aspekti proizvodnje i prodaje programa opisani su u devetom poglavlju. Ovo poglavlje je dodato u knjigu, kako bi studenti dobili odgovaraju u literaturu iz ove oblasti, koja nagla ava da je i program proizvod koji se prodaje kupcima. Program ima odre ene specifi nosti prilikom proizvodnje, ali i prilikom prodaje kupcu. Te specifi nosti e biti obja njene u ovom poglavlju. Nadamo se da e ova kniga biti od koristi svima onima, koji se bave programiranjem u programskom jeziku Visual Basic. Sugestije i pitanja mogu se slati na adresu [email protected] i [email protected].

Programski jezik Visual Basic Zbirka zadataka

11

1. OSNOVE PROGRAMIRANJA Svjedoci smo da ivimo u informati kom dobu i najjednostavnije odluke se ne mogu donijeti, ako se ne posjeduje prava informacija1. Za rje avanje kompleksnih problema neophodno je obraditi ogromnu koli inu podataka, kako bi se do lo do pravih informacija. Svi ovi poslovi oko dobijanja informacije (prikupljanje, uriranje, obrada, preno enje podataka, itd.) su nezamislivi bez upetrebe ra unarskih sistema. Ra unari su ma ine za obradu podataka. One na osnovu odre enog skupa ulaznih podataka koje zadaje korisnik generi u odgovaraju i skup izlaznih podataka. Ulazni podaci redovno predstavljaju veli ine na osnovu kojih se obavlja rje avanje nekog problema, a izlazni podaci predstavljaju rezultate obrade datog problema. Stoga se podrazumijeva da svaki ra unar posjeduje jedinicu za ulaz (u itavanje) podataka i jedinicu za izlaz (prikazivanje) rezultata. U slu aju kada korisnik ra unara interaktivno komunicira sa ra unarom onda je naj es e ulazna jedinica tastatura, a izlazna jedinica ekran. Naravno, postoje i brojni drugi ulazni i izlazni ure aji. U svakodnevnom ivotu ljudi upotrebljavaju cifre i slova, koje jednim imenom nazivamo alfanumjeri ki znaci, za me usobno sporazumijevanje. Za prenos informacija ljudi koriste slike i zvuk, kao i neke posebne znakove. Ra unar ne radi sa decimalnim brojevima. To su uobi ajeni brojevi sa kojima ra unamo i brojimo. U ra unaru ne postoje elektronska kola i sklopovi, koji mogu raditi sa tim brojevima. Da bi se u ra unaru moglo manipulisati informacijama, koje su opisane pomo u cifara, slova, slike, zvuka itd. potrebno ih je binarno predstaviti. Binarni brojevi su, barem na prvi pogled, udni. Oni postaju uobi ajeni i razumljivi tek onda kada se nau i njihovo pretvaranje u decimalne brojeve. Binarni brojni sistem ima bazu dva, to zna i da koristi samo skup cifara 0 i 1. Stoga se esto naziva i "dualni" sistem brojeva. Koliko god je decimalni brojni sistem zna ajan i uobi ajen za na svakodnevni ivot, toliko je i binarni brojni sistem zna ajan za predstavljanje i shvatanje principa rada ra unara. Ovo dolazi otuda to elementarne elektronske i magnetne komponente ra unara u stvari mogu prikazati (tj. zauzeti) samo dva mogu a stanja, uklju eno (On) ili isklju eno (Off). Primjeri funkcionisanja u binarnom obliku prisutni su i u na em svakodnevnom ivotu kod elektri nog zvonca na vratima, sijalice u ku i itd. ak i samo porijeklo rije i ( "bis" - dva puta, "binaris" - dvojni) upu uje na bazu dva. Da bi korisnik mogao da komunicira sa ra unarom kao ma inom, potrebno je da postoje programi koji to omogu uju. Dana nja situacija je takva da iste hardverske komponente mogu izvr avati programe pisane na razli itim programskim jezicima, 1

Sr an Damjanovi , Predrag Katani , Borislav Drakul, Zbirka zadataka iz poslovne informatike, Fakultet spoljne trgovine, Bijeljina, 2008, str.17.

1. OSNOVE PROGRAMIRANJA

12

da mogu raditi u razli itim re imima kori enja i pod razli itim operativnim sistemima. Ovo je dovelo do toga, da pojam ra unar nedovoljno opisuje kompleksnost ovakvog sistema, pa se esto pojam ra unara uop tava pojmom ra unarski sistem. Pod pojmom ra unarski sistem podrazumijevamo slo en ure ajma inu, ije su mogu nosti u obradi podataka rezultat jedinstvenog djelovanja njenog hardvera i softvera. Ovakav pristup ra unarskom sistemu nas dovodi do grubog ras lanjenja ra unarskog sistema tj. ra unarski sistem se sastoji iz: −

hardvera,

− softvera. Druga ije re eno, jedinstveno djelovanje hardvera i softvera defini e uslove rada i kori enja ra unarskog sistema, odnosno defini e okru enje u kome korisnik radi. Osnovni cilj ovog teksta je da defini e osnovne principe i mehanizme pomo u kojih se jedno takvo okru enje stvara i kako ono funkcioni e. Bolje razumijevanje okru enja, omogu ava i efikasnije kori enje mogu nosti koje ono pru a. 1.1. H A R D V E R Pod hardverom podrazumijevamo fizi ke komponente ra unarskog sistema kao to su: sistemska jedinica (ku te ra unara u koje su smje teni: mati na plo a, procesor, memorijski ure aji, napojna jedinica, itd) i periferni ure aji (ulazni i izlazni). Ulazni periferni ure aji su oni ure aji preko kojih sistem dobija naredbe ili podatke. U ra unarskom sistemu sre emo ulazne periferne ure aje kao to su: tastatura, “mi “, d ojstik, skener, mikrofon, olovka za crtanje, barkod ita i i sl. Izlazni periferni ure aji su oni ure aji putem kojih sistem proslije uje informacije o izvr enoj naredbi, obra enim podacima korisniku sistema. U ra unarskim sistemima sre emo sljede e izlazne ure aje: monitor, tampa , ploter, zvu nik, projektor, razni kompjuterski kontrolisani ure aji i sl. U ovomj knjizi emo se zadr ati samo na sistemskoj jedinici i njenim komponentama koje su ujedno i osnovne komponente ra unarskog sistema. 1.1.1. Osnovne komponente ra unarskog sistema U cilju definisanja osnovnih hardverskih komponenti ra unarskog sistema i njegovog funkcionisanja, po i emo od pore enja ru ne i automatske obrade podataka. U op tem slu aju, ru na obrada podataka odvija se tako to se prethodno na papiru pripremi uputstvo (opis postupka obrade, instrukcije) i podaci sa kojima se po inje obrada. U samom izvr avanju obrade, ovjek ita jednu po jednu instrukciju (korak obrade) sa papira i potom obavlja dvije radnje. Prva radnja je

Programski jezik Visual Basic Zbirka zadataka

13

vezana za upravljanje, odnosno tuma enje instrukcije i dono enje odluke o operaciji koja e se izvr iti. Druga radnja je samo izvr avanje operacije, pri emu se naj e podaci potrebni za njeno izvr enje itaju sa papira, a rezultat operacije se tako e zapisuje na papir. Blok dijagram koji predstavlja opisani postupak prikazan je na slici 1.1. PAPIR UPRAVLJANJE

INSTRUKCIJA ULAZNI PODACI

IZVR AVANJE

REZULTATI EPNI KALKULATOR

Slika 1.1. Ru na obrada podataka Na slici 1.1. tako e je prikazana i uloga kalkulatora u obradi podataka, pri emu se mo e uo iti da kalkulator mo e zamijeniti ovjeka samo u izvr enju operacija, a ne i u upravljanju obradom. Naime, ovjek mora da unese podatke u kalkulator i da mu zada operaciju, koju treba izvr iti sa tim podacima. Po izvr enju jedne zadate operacije i dobijanju rezultata, kalkulator miruje. Da bi se obrada nastavila, ovjek mora da unese nove podatke u kalkulator i da mu zada novu operaciju itd. igledno, kalkulator nije automat, odnosno ma ina koja mo e da po izvr enju jedne operacije, automatski, bez intervencije ovjeka, pre e na izvr avanje sljede e operacije. Automatska ma ina bi o igledno morala da zamijeni ovjeka, ne samo u izvr avanju operacija sa podacima, ve i u upravljanju obradom. Takva automatska ma ina jeste sistemska jedinica ra unara sa komponentama ra unara koje imaju specijalna zadu enja, tj. takva ma ina je ra unarski sistem ili kra e ra unar.

Slika 1.2. Osnovna blok ema ra unara

1. OSNOVE PROGRAMIRANJA

14

Kako je to prikazano na slici 1.2., osnovna komponenta hardvera ra unarskog sistema je centralni procesor (central processing unit), iji je zadatak da uzima instrukcije iz memorije, analizira ih i potom izvr ava. Memorija ra unara (memory) uva (pamti, skladi ti) instrukcije i podatke (po etne podatke, me urezultate i rezultate obrade). Ulazni i izlazni ure aji omogu avaju komunikaciju ra unara sa njegovom okolinom. Ulazni ure aji vr e pretvaranje podatak i instrukcija iz forme razumljive ovjeku u formu prilago enu skladi tenju u memoriji ra unara. Izlazni ure aji pretvaraju rezultate obrade iz forme u kojoj su zapisani u memoriji ra unaru, u formu razumljivu za ovjeka. Ne to detaljnija konfiguracija ra unarskog sistema prikazana je na slici 1.3. Na njoj se mo e uo iti, da su u cilju bolje preglednosti razdvojeni ulazni i izlazni ure aji, dok su, sa druge strane prikazana i dva nova memorijska ure aja magnetni diskovi i magnetne trake kao eksterne memorije. Naime, kapacitet memorije, odnosno, kako se esto naziva, operativne memorije, uprkos tome to se stalno pove ava, nije dovoljno veliki da uskladi ti sve programe i podatke, koji se koriste u automatskoj obradi podataka. Usljed toga, prakti no svaka konfiguracija ra unarskog sistema posjeduje i dodatne memorijske ure aje, koji se nazivaju sekundarnim memorijama i na kojima se trajno uvaju programi i podaci. Kako u toku rada centralni procesor pristupa samo onim instrukcijama i podacima, koji se nalaze u primarnoj memoriji, programi koji se trenutno izvr avaju i podaci nad kojima se vr i obrada, prebacuju se po potrebi iz sekundarnih memorija u primarnu memoriju. U nastavku izlaganja, kako bismo lak e shvatili su tinu funkcionisanja ra unarskog sistema za ta je zadu en operativni sistem, ograni emo se na osnovni opis strukture i funkcije dvije klju ne komponente ra unarskog sistema: centralnog procesora i primarne memorije.

Slika 1.3. Detaljna konfiguracija ra unarskog sistema

Programski jezik Visual Basic Zbirka zadataka

15

1.1.2. Centralni procesor Tipi na, iako jo uvijek nedovoljno detaljna struktura centralnog procesora, ili jednostavnije procesora, prikazana je na slici 1.4. Osnovna funkcija upravlja ke jedinice je da uzima instrukcije iz memorije, analizira ih i alje odgovaraju e komande za njihovo izvr avanje ostalim komponentama. Cikli ni proces uzimanja, analize i izvr avanja instrukcije, tako e je prikazan na slici 1.4. On se esto naziva uzmi-izvr i ciklus (fetch-execute cycle). PROCESOR UPRAVLJA KA JEDINICA

Uzmi instrukciju

A/L JEDINICA

Analiziraj instrukciju

R0

Izvr i instrukciju

R1 R 16

Slika 1.4. Struktura centralnog procesora Aritmeti ko-logi ka (A/L) jedinica, kako samo ime govori, sastoji se od elektronskih kola, koja obavljaju razli ite aritmeti ke, logi ke, kao i neke druge operacije nad podacima. Za A/L jedinicu se ka e da je jedina aktivna komponenta ra unarskog sistema, u smislu da je jedina komponenta koja mo e da stvara nove podatke. Jedna od bitnih karakteristika procesora je skup instrukcija, koje on mo e da izvr i. Detaljniji opis tipova intrukcija prevazilazi ovaj kurs. Pored navedenih komponenti, centralni procesor sadr i i skup posebnih hardverskih jedinica, registara, obi no 8 do 16, koji igraju ulogu interne, brze memorije samog procesora. Kako je brzina pristupa registrima pribli no za red veli ine ve a od brzine pristupa memoriji, procesor u toku izvr avanja programa u ovim, kako se esto nazivaju op tim registrima, uva podatke kojima mora esto da pristupa. Napredak u razvoju ra unara je na po etku tekao sporo, a zatim je do lo do postepenog ubrzavanja razvoja, da bi danas imali takvu situaciju da se razvoj ra unarske tehnike ne mo e ni pratiti tj. gotovo svakodnevno se pojavi novo rje enje u cilju napretka ra unarskih sistema. Razvoj tehnologije posebno se ogleda na polju razvoja procesora. Tako da pojedine komponente procesora poprimaju nove oblike, kao npr. registri procesora koji sada predstavljaju internu memoriju takvih memorijskih dimenzija da omogu avaju mnogo rje e pristupe sporijoj RAM

1. OSNOVE PROGRAMIRANJA

16

memoriji. Ovo drasti no pove ava brzinu rada procesora (interna memorija procesora se naziva “ke ” memorija). Dana nji ra unarski sistemi imaju i po desetak mikroprocesora (“srce ra unara”), koji rade brzinama reda GHz.

1.1.3. Primarna memorija Primarna (operativna) memorija, ili kra e memorija, je pasivna komponenta ra unarskog sistema, ija je funkcija da skladi ti programe i podatke. Memorija se sastoji od velikog broja elija (memorijskih lokacija) jednake du ine, pri emu svaka elija ima svoj redni broj u okviru memorije. Numerisanje memorijskih elija po inje od 0 (nule). O igledno je da redni broj elije predstav1ja njenu jedinstvenu adresu. Uvedimo sada predpostavku da jedna memorijska elija mo a da sadr i jednu i samo jednu instrukciju ili samo jedan podatak. Tada mo emo da izvedemo zaklju ak da svaka instrukcija, odnosno, svaki podatak ima sopstvenu adresu - adresu lokacije u kojoj je smje ten. Uvo enjem koncepta adresa i adresiranja stvoren je bitan mehanizam za funkcionisanje ra unara. Stvorena je mogu nost da se svaka instrukcija i svaki podatak smije ta u odre enu memorijsku adresu, da bi mu se kasnije, posredstvom te adrese moglo pristupiti. Pri tome su nad memorijom mogu e dvije operacije: upisivanje i itanje sadr aja neke adrese. Realizacija ovih operacija omogu ena je posredstvom dva registra, od kojih se jedan naziva adresnim registrom memorije (ARM), a drugi prihvatnim registrom memorije (PRM). Operacija itanja sadr aja odre ene memorijske lokacije, obavlja se tako, to se adresa lokacije kojoj se eli pristupiti, upisuje u ARM. Zatim se inicira izvr enje same operacije, da bi se kao rezultat njenog dejstva sadr aj posmatrane lokacije upisao u PRM. Operacija upisivanja podatka u odre enu memorijsku lokaciju odvija se na sli an na in. Podatak koji treba da se upi e unosi se u PRM, a adresa lokacije u koju se vr i upisivanje unosi se u ARM. Zatim se inicira operacija upisivanja. Rezultat operacije upisivanja je da se podatak iz PRM upisuje u posmatranu eliju, pri emu se, naravno, njen prethodni sadr aj trajno uni tava. Vrijeme koje protekne od trenutka iniciranja jedne operacije nad memorijom, bez obzira da li je u pitanju itanje ili upisivanje, do zavr etka posmatrane operacije, naziva se vremenom memorijskog ciklusa. Jednostavnije re eno, vrijeme memorijskog cilusa je vrijeme, koje mora da protekne izme u dva uzastopna pristupa memoriji. Pri tome, treba napomenuti da je vrijeme pristupa jednako za sve lokacije operativne memorije, to se razlikuje od situacije kod sekundarnih memorija, gdje vrijeme pristupa nekoj lokaciji zavisi ne samo od fizi ke pozicije te lokacije, ve i od toga kojoj se lokaciji prethodno pristupilo. Zbog toga se primarna memorija esto naziva memorija sa slu ajnim pristupom. Ovaj naziv je zapravo doslovan i pomalo nespretan prevod originalnog izraza (random access memory RAM).

Programski jezik Visual Basic Zbirka zadataka

17

1.2. S O F T V E R Softver (eng. software) ra unara predstavlja skup programskog koda - programa i podataka, smje tenih u memoriju ra unara, koji kao cjelina, povremeno ili stalno, kontroli e i upravljanja radom ra unara. Ovdje se pod memorijom podrazumijeva sva dostupna memorija ra unaru. Kompjuterski programi se prave sa ciljem, da se pomo u njih rje avaju kompjuterski rje ivi problemi. Pretra ivanje baza podataka, izra unavanje plata, upravljanje ma inama, samo su neki primjeri uobi ajene primjene kompjutera. Broj kompjuterski rje ivih problema je beskona an, a broj prakti nih primjena ra unara je ograni en samo na om ma tom, znanjem i vje tinom. Grubo softver mo emo podijeliti na: − softver operativnog sistema (OS), − aplikativni softver. Operativni sistemi su se razvijali sa razvojem ra unarskih sistema tj. potrebama ovjeka za sve ve om koli inom informacija. Sa stanovi ta OS-a, hardverska komponenta ra unarskog sistema grubo se mo e podijeliti u dva dijela, sistemski dio hardvera (procesor, memorija i dr.) i dio hardvera koji ini interfejs sa korisnikom (monitor, tastatura, mi i dr.). Za vrijeme pionirskog razvoja ra unarskih sistema, a samim tim i pionirskog razvoja OS-a, cijena sistemske komponente je bila neuporedivo ve a od interfejsa (terminal) tj. rad “ma ine” je bio daleko skuplji od rada korisnika. Iz ove injenice nastaje ideja da prvi operativni sistemi budu tako koncipirani, kako bi se omogu ilo 100% iskori enje procesora. Iz ovog ugla OS se posmatra na njegovom najni em nivou, kada poput nadzornika pazi na disk, procesor, memoriju, tampa e i dr. Interpretacija komandnog jezika Planiranje i evidencija poslova Upravljanje podacima (fajlovima) Upravljanje U/I ure ajima Upravljanje memorijom Upravljanje procesima (Jezgro)

Slika 1.5. Struktura ra unara

Slika 1.6. Struktura operativnog sistema

Sa razvojem tehnologije izrade hardvera dolazi do pada cijene sistemskog hardvera. Rad korisnika ra unara dobija na vrijednosti, pa se ovoj injenici prilago ava i operativni sistem tj. u prvi plan dolaze odgovornosti OS-a na nivou

1. OSNOVE PROGRAMIRANJA

18

korisnika. Iz ovog se jasno vidi, da OS ima ulogu posrednika izme u korisni kih programa i sredstava potrebnih za njihovo izvo enje (hardvera). Ovakva filozofija ra unarskog sistema je prikazana na slici 1.5., gdje se jasno mo e vidjeti mjesto i zadatak operativnog sistema. Kompleksnost operativnog sistema ote ava preciznu definiciju. Sa zadr anom uop teno u, mo e se re i, da pod operativnim sistemom podrazumijevamo skup sistemskih programa, koji djeluju kao posrednik izme u hardvera i korisnika. Pri tome pru a korisniku usluge, koje olak avaju projektovanje, implementaciju i odr avanje programa, a istovremeno, upravljaju dodjeljivanjem (alokacijom) resursa ra unarskog sistema, u cilju njegovog efikasnog rada. Kra e re eno, operativni sistem je organizovan skup sistemskih programa, koji upravlja radom razli itih komponenti ra unarskog sistema, sa ciljem da omogu i efikasan rad korisnika i efikasno kori enje resursa samog sistema. Pri tome se poslovi (funkcije) operativnog sistema mogu grubo podijeliti u etiri grupe: − Upravljanje procesima, − Upravljanje memorijom, − Upravljanje ure ajima, − Upravljanje podacima. Resursi ra unarskog sistema o kojima OS mora voditi ra una su: procesori, memorija, ulazno-izlazni ure aji i podaci. Operativni sistemi mogu biti struktuirani na razli ite na ine: kao monolitni sistemi, kao hijerarhija slojeva, kao virtuelne ma ine i kao klijent server model. Jedna od mogu ih struktura operativnog sistema prikazana je na slici 1.6. Navedimo neke od poslova koje obavljaju ove komponente operativnog sistema: 1) Jezgro (kernel ili nucleus) operativnog sistema obezbje uje realizaciju sljede ih funkcija: − upravljanje sistemom prekida ra unara i obradu prekida, − planiranje procesa, − manipulaciju nad procesima, − sinhronizaciju procesa, − komunikaciju me u procesima. 2) Upravljanje memorijom podrazumijeva upravljanje operativnom memorijom ra unara. Obuhvata sljede e funkcije: − realizaciju odre ene strategije dodjele memorije, − dodjelu memorije, − realizaciju odre ene strategije osloba anja memorije. 3) Upravljanje ure ajima obuhvata sljede e funkcije: − −

obezbje enje nezavisnosti ure aja, obezbje enje efikasnosti rada ure aja,

Programski jezik Visual Basic Zbirka zadataka

19

− realizaciju odre ene strategije dodjele ure aja, − dodjelu ure aja, − realizaciju odre ene strategije osloba anja ure aja. 4) Upravljanje podacima treba da obezbijedi softverska sredstva za organizovanje i pristup podacima na na in koji odgovara korisniku ra unarskog sistema. Funkcije koje se realizuju na ovom nivou su: − kreiranje i brisanje fajlova, − otvaranje i zatvaranje fajlova, − itanje i upisivanje, − upravljanje prostorom na sekundarnim memorijskim jedinicama, − obra anje fajlovima po imenu, − za tita podataka od namjernog i nenamjernog uni tenja, − za tita podataka od neovla enog pristupa i kori enja, − zajedni ko kori enje fajlova. 5) Planiranje obuhvata aktivnosti u vezi sa uvo enjem novih poslova u sistem i odre ivanje poretka u kojem e se oni izvr avati. Funkcije koje se realizuju na ovom nivou su: − izbor novog posla za izvr enje, − dodjela prioriteta poslovima, − realizacija strategije dodjele resursa. 6) Evidencija obuhvata vo enje evidencije kori enja svih resursa sistema po korisnicima i izdavanje ra una korisnicima za potro ene resurse. igledno je da akcenat na rije i upravljanje u navo enju funkcija operativnog sistema nije slu ajan. Naime, u situaciji, kada se u ra unaru odvija vi e aktivnih procesa (programi koji se izvr avaju), jasno je da e ti procesi konkurisati jedan drugom u pogledu kori enja resursa ra unara (procesora, memorije, razli itih ure aja, datoteka tj. podataka itd.). Zadatak operativnog sistema je da omogu i neometano odvijanje svih procesa na takav na in, da se svi resursi sistema to efikasnije iskoriste. Aplikativni ili korisni ki programi koriste se na ra unaru za obavljanje nekih specifi nih poslova. Danas postoji veliki broj aplikativnih programa, koji se razlikuju po namjeni i po veli ini. Recimo Word se koristi za pisanje i ure ivanje teksta, Excel za razne matemati ke prora une i grafi ki prikaz podataka, Access za pravljene baze podataka itd. Aplikativni programi se mogu pisati u raznim programskim jezicima, ali se svi prepoznaju, u odnosu na druge podatke na ra unaru, po tome to imaju ekstenziju .EXE.

1. OSNOVE PROGRAMIRANJA

20

1.3. PISANJE PROGRAMA Programi se pi u, kako bi pomogli ovjeku da pomo u ra unara rije i neki problem. Instrukcije i programi zahtjevaju neki redoslijed kojim e ih kompjuter izvr avati, a to je zapravo element za projektovanje. Projektovanjem programa odre ujemo koje su programske instrukcije i kakva struktura podataka je potrebna da bi ma ina-kompjuter obavila neki eljeni zadatak. Najzna ajnije je to to projektant programa odre uje redoslijed, kojim e se instrukcije izvr avati u cilju uspje nog odvijanja i zavr etka programa. Postoje dva pristupa u razvoju programa 2: - od ra unara ka problemu i - od problema ka ra unaru. U prvom pristupu se polazi od toga da korisnik najprije upozna ra unar i njegove mogu nosti, a zatim pristupi rje avanju problema uz pomo ra unara. U drugom pristupu se prvo nastoji dobro razumjeti problem, zatim napraviti odgovaraju i model kako da se taj problem rije i, a tek zatim se pristupa pisanju programa u odgovaraju em programskom jeziku na ra unaru. Programiranje u u em smislu predstavlja proces pisanja programa za ra unar. U irem smislu to je proces pripreme, razrade i pisanja programa radi rje avanja nekog problema na ra unaru. Proces programiranja zavisi od problema koji se rje ava. Me utim, mogu se uvesti neki tipi ni postupci koji se odvijaju u toku razvoja programa. U programiranju uo avamo sljede e faze: - Definisanje problema, - Izrada algoritma, - Pisanje i uno enje programa u ra unar, - Testiranje programa i ispravke gre ke, - Implementacija programa i obuka korisnika i - Odr avanje i nadogradnja programa. Sve ove korake mora da prati odgovaraju a dokumentacija, u vidu tekstualnih zapisa, grafi kih prikaza i slika.

1.3.1. Definisanje problema Prva i najbitnija faza u procesu pisanja programa je definisanje problema. Preskakanje ove faze zna i sigurno velike probleme u svim narednim fazama koje slijede. U ovoj fazi treba da se uo i problem, odre uje se na in rje avanja, vr i se analiza postoje eg stanja, analiziraju se iskustva u radu sa ovakvim i sli nim zadacima, biraju metode rada. U ovoj fazi rada esto je neophodno definisati fizi ki 2

Dr Tihomir Latinovi , Osnove programiranja (Visual Basic), Biblioteka Informacione tehnologije, Banja Luka 2007, str. 2.

Programski jezik Visual Basic Zbirka zadataka

21

i matemati ki model sistema ili procesa ije pona anje se eli implementirati na ra unaru. Fizi ki model uvijek predstavlja model realnog sistema ili procesa, koji se odvija u prirodi. Matemati ki model je skup matemati kih postupaka i relacija kao i puteva njihovog rje avanja, koji moraju egzaktno odrediti postavljeni fizi ki model. Matemati ki model zapravo predstavlja skup matemati kih relacija, koje dovoljno ta no opisuju pojavu ili proces, koji elimo da opi emo programom. Naj e se pri tome koristimo jedna inama i sistemima jedna ina, nejedna inama i sistemima nejedna ina, razli itim transformacijama, funkcijama, vektorima, matricama i drugim matemati kim iskazima.

1.3.2. Izrada algoritma Ljudi se svakodnevno nalaze u situaciji da rje avaju razli ite, manje ili vi e kompleksne, probleme (zadatke). To mogu biti zadaci na radnom mjestu, u ku i ili u ivotnoj sredini, ovjeka uop te. ovjek ne bi dorastao ni najobi nijem problemu, da ne koristi razna pomagala tj. alate, ma ine ure aje itd. Jedno od pomagala jeste i ra unar sa svim svojim prednostima. Me utim, iako je ra unar mo na ma ina, jo uvijek ne posjeduje razum, tj. ne mo emo se potpuno osloniti na njegov automatizam u obavljanju razli itih poslova. Zna ajna sposobnost ljudi jeste da uo e zadatak, da ga dobro postave, a zatim da ga rije e. Zadatak sadr i skup informacija na osnovu kojih treba izvesti izvjesne zaklju ke, koji predstavljaju rje enje zadatka. Ovakav skup informacija ini ulazne veli ine zadatka, a rje enja zadatka zovu se izlazne veli ine zadatka. Izbor informacija koje ine ulazne veli ine zadatka, kao i ta no formulisanje samog zadatka mo emo zvati postavka zadatka. Jasno je da prije nego to se pristupi rje avanju, mora se izvr iti ta na postavka zadatka. Rad na postavci zadatka zahtijeva dobro poznavanje oblasti kojoj pripada zadatak. Kada je izvr ena postavka zadatka mo e se pristupiti rje avanju istog. Ure en skup pravila koja se formuli e u cilju rje avanja zadatka zove se algoritam. Ulazne veli ine zadatka zovu se ulazne veli ine algoritma, a izlazne veli ine zadatka zovu se izlazne veli ine algoritma. Svako pravilo, iz skupa pravila formulisanih u cilju rje avanja zadatka, zove se algoritamski korak. Prema tome, algoritam se sastoji od niza algoritamskih koraka, kroz koji se vr i transformacija ulaznih veli ina algoritma, sve dok se ne do e do izlaznih veli ina algoritma tj. rje enja. U ovakvom nizu algoritamskih koraka mora se znati prvi i zadnji algoritamski korak, a za sve ostale algoritamske korake jednozna no je odre en sljede i algoritamski korak. Veze izme u algoritamskih koraka odre uju strukturu algoritama.

1. OSNOVE PROGRAMIRANJA

22

1.3.2.1. Grafi ki zapis algoritma Algoritmi za rje avanje pojedinih problema mogu da budu veoma slo eni3. U takvim slu ajevima algoritmi sa tekstualnim opisom pojedinih koraka dosta su nepregledni. Zato je za zapis algoritama pogodno koristiti njihovo grafi ko prikazivanje. Kod ovakvog prikazivanja algoritama svaki algoritamski korak je prikazan grafi kim simbolom, koji su izme u sebe povezani linijama saglasno strukturi algoritma. Oblik grafi kog simbola za algoritamski korak ukazuje na funkciju koju obavlja odre en algoritamski korak. U tabeli 1.1. dati su grafi ki simboli za pojedine algoritamske korake i opisana njihova funkcija. Tabela 1.1. Grafi ki simboli algoritamskih koraka Grafi ki simbol algoritamskih koraka po etak/kraj

Funkcija algoritamskog koraka Ukazuje na prvi ili zadnji algoritamski korak Defini e ulazne veli ine algoritma Defini e izlazne veli ine algoritma Defini u obradu podataka Uslovni algoritamski korak

Defini e vi estruku odluku

Povezivanje ili konektor Tok algoritma Dvosmjerni prenos podataka

3

Dr Lazar Mili evi , Mr Lazar Radovanovi , Programiranje (Visual Basic), Ekonomski fakultet, Br ko, 2005, str.11.

Programski jezik Visual Basic Zbirka zadataka

23

Grafi ki zapis algoritma zove se blok- ema algoritma. Ovakav zapis algoritma odlikuje se sljede im osobinama: − preglednije pra enje toka algoritma, − omogu uje zapis algoritma na na in, koji obezbje uje lako otkrivanje gre aka u strukturi algoritma, − omogu uje kra i i jasniji zapis algoritma, nego pisanim jezikom, − daje preglednu vezu izme u detalja i cjeline algoritma, i − algoritam zapisan u obliku blok- eme nezavisan je od kasnijeg kori enja algoritma u odnosu na hardversku podr ku i programski jezik u kome e program biti pisan. Posljednja osobina je posebno zna ajna, jer grafi ko prikazivanje algoritma nije orijentisano na preno enje algoritma na ra unar, to omogu uje da algoritam u obliku blok- eme mogu koristiti i osobe koje ne poznaju ra unare i programiranje. Detaljisanje algoritma, pri grafi kom prikazivanju mo e biti razli ito i zavisi od namjene blok- eme algoritma. Blok- ema algoritma treba da je toliko detaljna, da svaki algoritamski korak bude razumljiv za onog ko e koristiti algoritam. Za slo enije algoritme pogodno je koristiti i blok- eme razli itog nivoa detaljisanja algoritamskih koraka. Ako se za prikaz algoritma koriste razli iti nivoi detaljisanja algoritma, onda se koristi op ta blok- ema i detaljna blok- ema algoritma. Op ta blok- ema algoritma sadr i algoritameke korake koji predstavljaju ve e funkcionalne ili logi ke cjeline u slo enom algoritmu. Detaljna blok- ema algoritma sadr i algoritamske korake u kojima je jasno nazna ena funkcija svakog algoritamskog koraka. Op ta blok- ema slu i za uvid u logi ku strukturu slo enog algoritma, a detaljna za uvid u sve detalje algoritma sa gledi ta njegovog izvr avanja. 1.3.2.2. Struktura algoritma Veze izmedju algoritamskih koraka u algoritmu defini u strukturu algoritma. Strukture algoritama, na koje se mo e razlo iti proizvoljna struktura algoritma, zovu se elementarne strukture algoritama. Elementarne strukture algoritama su: − linijska struktura, − cikli na struktura. Ove strukture se me u sobom bitno razlikuju sa gledi ta izvr avanja algoritma. Linijska struktura algoritma Niz algoritamskih koraka u kojem se svaki algoritamski korak mo e izvr iti najvi e jedanputa, u toku jednog izvr avanja algoritma ini linijsku strukturu. Prema tome, karakteristika linijske strukture algoritma jeste da se poslije izvr enog jednog algoritamskog koraka, mo e pre i samo na algoritamski korak koji nije

1. OSNOVE PROGRAMIRANJA

24

prethodno izvr en, u toku jednog izvr avanja algoritma. Linijska struktura algoritma mo e biti prosta ili razgranata. Prosta linijska struktura Prosta linijska struktura algoritma je ona linijska struktura, kod koje se svaki algoritamski korak izvr ava samo jedanput, u toku jednog izvr avanja algoritma. Algoritmi sa prostim linijskim strukturama, sastoje se isklju ivo od algoritamskih koraka ulaza, obrade ili izlaza. U ovakvim algoritamskim strukturama redoslijed izvr avanja algoritamskih koraka ne zavisi od ulaznih veli ina, niti od me u rezultata u procesu izvr avanja algoritma. Primjer ove strukture prikazan je na slici 1.7. Razgranata linijska struktura Razgranata linijska struktura je ona linijska struktura algoritma, kod koje se svaki algoritamski korak izvr ava najvi e jedanput u toku jednog izvr avanja algoritma. To zna i da u razgranatoj algoritamskoj strukturi postoje algoritamski koraci koji se jedanput izvr e, ali postoje i algoritamski koraci koji se uop te ne izvr e u toku jednog izvr avanja algoritma. U razgranatim algoritamskim strukturama mora postojati barem jedan uslovni algoritamski korak, koji omogu uje grananje algoritma. Po etak

P1 Da xRy Ne P2

P3

Z

Kraj

Slika 1.7. Prosta linijska struktura

Slika 1.8. Razgranata linijska struktura

Elementarna razgranata struktura mo e se sastojati od minimalno 3 proste linijske strukture i jednog uslovnog algoritamskog koraka. Na slici 1.8. prikazana je elementarna razgranata struktura sa prostim linijskim strukturama P1, P2 i P3 i

Programski jezik Visual Basic Zbirka zadataka

25

uslovnim algoritamskim korakom xRy. Gdje su x i y prethodno definisane veli ine, a R relacija pore enja izme u veli ina x i y. Relacija R mo e biti ispunjena (Da) i tada se prelazi na prostu linijsku strukturu P3 ili neispunjena (Ne) i tada se prelazi na prostu linijsku strukturu P2. Va no je uo iti da se pri izvr avanju algoritma, na slici 1.8., izvr ava uvijek samo jedna od prostih linijskih struktura P2 ili P3, u zavisnosti od relacije xRy. Veli ine x i y mogu biti definisane sa ulaza ili to mogu biti me u rezultati odre eni u prostom linijskom programu P1. Relacija izme u veli ina x i y odgovara prirodi ovih veli ina. Ako su x i y brojne veli ine mo e se ispitivati da li su jednake ili koja je od ovih veli ina manja, odnosno ve a. Kasnije emo vidjeti da ove veli ine mogu biti i nizovi. Cikli na struktura algoritma Niz algoritamskih koraka u kojem se jedan ili vi e algoritamskih koraka mo e izvr iti vi e od jedanput, pri jednom izvr avanju algoritma, predstavlja cikli nu strukturu ili ciklus. Cikli na struktura mo e biti konstantna i promjenljiva cikli na struktura. Svaka od ovih, cikli nih struktura u najop tijem obliku sastoji se od dvije proste linijske strukture P1 i P2 (slika 1.9.) i uslovnog algoritamskog koraka xRy. Ako je relacija navedena u uslovnom algoritamskom koraku ispunjena (Da), vr i se izlazak iz ciklusa i prelazi se na prostu linijsku strukturu P3, koja vodi do kraja cijelog algoritma. Ako uslov xRy nije ispunjen prelazi se na prostu linijsku strukturu P2, poslije ega se ciklus ponavlja. Relacija koja defini e izlazak iz ciklusa zove se izlazni kriterijum ciklusa. Naravno, da se mo e ciklus organizovati i tako da se izlazak iz ciklusa vr i ako uslov, koji defini e izlazni kriterijum, nije ispunjen, a ciklus nastavlja ako je uslov ispunjen.

Slika 1.9. Konstantna cikli na struktura

Slika 1.10. Izra unavanje stepena

1. OSNOVE PROGRAMIRANJA

26

Konstantna cikli na struktura Cikli na struktura algoritma u kojoj ne dolazi do promjene zakona obrade u algoritamskim koracima koji ine ciklus, zove se konstantna cikli na struktura. Izlazni kriterijum kod konstantnih cikli nih struktura naj e je broj ponavljanja ciklusa ili dostignuta ta nost pri ra unanju po interativnim postupcima. Uka imo samo da kod iterativnih ciklusa broj prolazaka kroz ciklus nije unaprijed poznat. Primjer 1.1. Sastaviti algoritam za izra unavanje stepena y = xn gdje je x nepoznata, a stepen mo e imati vrijednosti n =0,1,2, ... Ovdje su x i n ulazne veli ine, a y izlazna veli ina. Po to je eksponent cio broj, stepen se mo e izra unati uzastopnim mno enjem. Prema tome, algoritam za rje avanje ovog zadatka sadr i ciklus u kojem e se vr iti n - 1 mno enje osnove x, a izlazni kriterijum je broj izvr enih mno enja (slika 1.10.). Va no je uo iti da je u ovom zadatku vrijednost n promjenljiva (zadaje se kao ulazna veli ina) te je nemogu e algoritam za ovaj zadatak sastaviti kao linijsku algoritamsku strukturu. U ovom zadatku kori en je simbol, koji predstavlja operaciju dodjeljivanja vrijednosti promjenljivoj. Uo imo da ovaj simbol odre uje proces izra unavanja vrijednosti na lijevoj strani, a zatim ovako izra unata vrijednost se dodjeljuje promjenljivoj na desnoj strani simbola. Zapis " y = x " ita se "vrijednoet x dodjeljuje se promjenljivoj y ''. Treba imati u vidu da ovaj simbol opisuje proces formiranja vrijednosti x, a zatim dodjeljivanje ove vrijednosti promjenljivoj y. Ovo zna i da na mjestu x mo e stajati i aritmeti ki izraz, iji argument mo e biti i vrijednost y. U ovom algoritmu je kori en zapis n = n - 1, to zna i da se vrijednost promjenljive n umanjuje za jedan i tako formirana vrijednost dodjeljuje kao nova vrijednost promjenljive n. Algoritam na slici 1.10. ima konstantnu cikli nu strukturu, jer zakon obrade u svim algoritamskim koracima, koji se nalaze u ciklusu, ne mijenja za vrijeme izvr avanja algoritma. Promjenljiva cikli na struktura Cikli na struktura u kojoj dolazi do promjene zakona obrade, u jednom ili vi e algoritamskih koraka, koji se nalaze u ciklusu zove se promjenljiva cikli na struktura. Promjena zakona obrade mo e se odnositi na promjene operacija, koje vr e obradu informacija ili na promjene promjenljivih koje u estvuju u pojedinim algoritamskim koracima. Primjer 1.2. Sastaviti algoritam koji izra unava sljede u sumu n

y=

∑ i =0

(-1)ixi

( 1.1.)

Programski jezik Visual Basic Zbirka zadataka

27

Rje enje: Ovdje su ulazne veli ine u algoritam n, x0, x1, x2, ..., xn, a izlazna veli ina y. Razvijanjem, suma ( 1.1.) se mo e zapisati u obliku y = x0 x1 + x2 - ...

Slika 1.11. Promjenljiva struktura

Ovo izra unavanje sume je rije eno u algoritmu sa slike 1.11., tako da se operacija dodjele znaka z mijenja naizmjeni no (+ ili -). Prvo je to operacija sabiranja (+ ⇒ z), a zatim operacija oduzimanja ( - ⇒ z), pa opet sabiranja itd. Prema tome, u ovom algoritamskom koraku zakon obrade se mijenja u toku izvr avanja algoritma, naizmjeni no sabiranje i oduzimanje. Pored toga, u istom algoritamskom koraku dolazi do promjena vrijednosti promjenljivih koje u estvuju u obradi, to su redom promjenljive x0, x1, x2, ... , xn. Ciklusi u kojima postoje algoritamski koraci sa ovakvim vrstama promjena, u toku izvr avanja algoritma, su promjenljive cikli ne strukture.

1.3.2.3. Struktuirani dijagrami toka Standardni dijagrami toka su definisani me unarodnim standardom ANSI X3.5. Dosta su zastarjeli, ali se jo uvijek esto koriste za prikazivanje algoritama. Me utim, problemi kod standardnih dijagrama toka nastaju kada treba da se shvati globalna struktura predstavljenog algoritma. Na primjer: − koliko ima ciklusa (zatvorenih putanja) u dijagramu, − u kakvom se odnosu nalaze ti ciklusi, − kom ciklusu pripada koji blok, itd. Struktuirani dijagrami toka su novijeg datuma i podr avaju moderne principe struktuiranog programiranja. Struktuirano programiranje se zala e za algoritme i programe sa jasno definisanom i lako razumljivom strukturom. Pored strukture programa, posebna pa nja se posve uje i strukturi obra ivanih podataka. Jedan od va nih elemenata struktuiranog programiranja je i razvoj algoritma ili programa u koracima preciziranja. Osnovni cilj je u teda programerskog truda u sastavljanju,

1. OSNOVE PROGRAMIRANJA

28

ispitivanju i prepravljanju kako sopstvenih tako i tu ih programa. Ovaj cilj se ponekad posti e ve im utro kom potrebnog memorijskog prostora za podatke i programe, a ponekad i sporijim izvr avanjem dobijenog programa. Smatra se da je, u dana nje vreme sve mo nijih i relativno jeftinijih ra unara, ovjekov trud najskuplji i da to treba najvi e da se tedi. Na slici 1.12. prikazane su osnovne vrste elemenata struktuiranog dijagrama toka. Svi elementi su pravougaonog oblika sa ulazom na vrhu i izlazom na dnu. To omogu uje laku dekompoziciju bilo kog bloka dijagrama na preciznije korake. USLOV T

BLOK

F

BLOK BLOK-1

BLOK-2

USLOV

Slika 1.12. Elementi struktuiranog dijagrama toka Elementi struktuiranog dijagrama toka predstavljaju logi ke cjeline, koje se nazivaju osnovnim upravlja kim strukturama. Tako, selekcija predstavlja vrlo estu strukturu, uslovno izvr avanje jednog od blokova BLOK-1 ili BLOK-2 zavisno od toga da li je USLOV ispunjen (T) ili nije (F). Pored ove osnovne selekcije, postoje i druge vrste selekcija. One su prikazane, zajedno sa kori enim oznakama u struktuiranim dijagramima toka. Druga esta upravlja ka struktura je ciklus, to podrazumijeva izvr avanje BLOK-a sve dok se ne ispuni USLOV. Postoje i druge varijante ciklusa. USLOV-1

USLOV-1 F

BLOK-1 BLOK-11

BLOK12

F BLOK111

BLOK121

BLOK112

USLOV-12 USLOV-21 F

BLOK

BLOK-2

BLOK-21

USLOV-2

BLOK211

BLOK212

USLOV-2

Slika 1.13. Pravljenje slo enog struktuiranog dijagrama

Programski jezik Visual Basic Zbirka zadataka

29

Na slici 1.13. prikazan je primjer formiranja slo enog struktuiranog dijagrama toka. U prvom koraku cio dijagram je jedan blok, koji predstavlja cio algoritam. U drugom koraku taj blok je podijeljen na dva uzastopna bloka BLOK-1 i BLOK-2. U tre em koraku BLOK-1 je pretvoren u selekciju sa uslovom USLOV-1 i uslovno izvr avanim blokovima BLOK-11 i BLOK-12. Istovremeno BLOK-2 je pretvoren u ciklus sa sadr ajem BLOK-21 i uslovom zavr etka USLOV-2. Na kraju, u etvrtom koraku BLOK-11 je podijeljen na dva uzastopna bloka, BLOK-12 je pretvoren u ciklus, a BLOK-21 je pretvoren u selekciju. Dobra osobina struktuiranih dijagrama toka je spre avanje sastavljanja nepreglednih algoritama. Pored toga, struktuirani dijagrami toka su kompaktniji. Na istoj povr ini mo e da se iska e vi e informacija nego pomo u standardnih dijagrama toka. Mana im je, ako to smije da se uzme kao mana, to se koristi vi e razli itih elemenata nego kod standardnih dijagrama toka i za njihovo razumjevanje nije dovoljna samo intuicija. Na slici 1.14. a) prikazan je standardni dijagram toka, koji se sastoji od dva uklopljena ciklusa, a na slici 1.14. b) prikazan je ekvivalenti struktuirani dijagram toka. Standardni dijagram toka na slici 1.14. c) se, na prvi pogled, neznatno razlikuje od dijagrama na slici 1.14. a). Me utim, kada se bolje pogleda, uo ava se da dva ciklusa u dijagramu vi e nisu uklopljena jedan u drugi. Oni se djelimi no preklapaju. Ovakva struktura algoritma ne mo e da se iska e struktuiranim dijagramom toka.

BLOK - 1

BLOK - 2

USLOV - 2 USLOV - 1

a)

b) Slika 1.14. Pravljenje struktuiranog dijagrama

c)

1. OSNOVE PROGRAMIRANJA

30

1.3.3. Pisanje i uno enje programa u ra unar Algoritam zapisan u obliku blok- eme ne mo e biti prihva en i izvr en od strane ra unara. Da bi algoritam bio prihva en i izvr en od strane ra unara mora biti zapisan na na in, koji obezbje uje odre en nivo detaljizacije algoritma, to ne mora biti u blok- emi algoritma. Algoritam zapisan tako da je prihvatljiv od strane ra unara zove se program, a proces pisanja programa zove se programiranje. Da bi program mogao da se izvr i na ra unaru mora biti zapisan na ma inskom jeziku ra unara. Me utim, pisanje programa na ma inskom jeziku predstavlja takvu detaljizaciju algoritma, da je to vrlo te ak posao za ovjeka, a uz to i vrlo podlo an gre kama. Pored toga, pisanje programa na ma inskom jeziku zahtijeva poznavanje konstruktivnih osobina ra unara, to tako e onemogu uje da se ve i broj ljudi obu i za ovaj posao. Da bi se omogu ilo efikasnije pisanje programa po eli su se stvarati posebni jezici za komunikaciju izme u ovjeka i ra unara. Tako su razvijeni simboli ki i programski jezici. Programi zapisani na ovim jezicima mogu se pomo u posebnih programa za prevo enje tj. prevodioca, prevesti na ma inski jezik i zatim izvr iti na ra uaru. Programski jezici su vje ta ki jezici konstruisani za pisanje progama, pri emu, po pravilu nije potrebno poznavanje konstruktivnih osobina ra unara. Va no je uo iti da su programski jezici algoritamski orijentisani, tj. oni omogu uju korisniku da zapi e algoritam za rje avanje odre enog zadatka pomo u ra unara. Prema tome, da bi jedan zadatak rije ili na ra unaru moramo prije svega sastaviti algoritam, koji opisuje rje enje zadatog problema. 1.3.4. Testiranje programa i ispravka gre ke Kada se program napi e potrebno je prvo uraditi njegovo testiranje. Dokaziti da program obavlja zadatak ili rje ava problem, koji je postavljen nije nimalo lak zadatak. Iako postoje matemati ke metode za takvo dokazivanje (koje se nazivaju verifikacija programa) u praksi se naj e takve metode ne primjenjuju. Umjesto toga pristupa se testiranju programa. Izuzev za veoma jednostavne programe, testiranjem se ne mo e dokazati 100% ispravnost programa. Testiranjem se poku avaju prona i gre ke u programu. Bez obzira koliko se gre aka prona e, uvijek postoji mogu nost da ih ima jo . I pored toga to testiranje ne garantuje odsustvo gre aka, testirani programi su bolji nego netestirani. Cilj testiranja je da se prona u okolnosti pod kojima program daje pogre ne rezultate ili za to se uop te ne dobija nikakav rezultat kada se program pokrene. Ako ne mo emo da prona emo takve okolnosti, tada mo emo imati razumno vjerovanje da program ispravno funkcioni e. Pravljenje dobrog test plana, kojim se potr uje ispravnost programa, je veoma te ak zadatak. Kada programi imaju hiljade linija koda te ko je

Programski jezik Visual Basic Zbirka zadataka

31

testirati svaku mogu u putanju pri njegovom izvr avanju, kako bi se provjerilo da program ispravno radi u svim mogu im slu ajevima. Gre ke u programu mogu da budu sintakti ke i logi ke. Sintakti ke gre ke nastaju prilikom kucanja naredbi u programu. U programskom jeziku Visual Basic, to su naredbe koje se kucaju u kodu programa nad gotovim objektima od kojih se sastavlja program. Naj e gre ke su izostavljanje nekog slova ili da se neko slovo otkuca dva puta. Ove gre ke se puno lak e otkrivaju od logi kih gre aka. Logi ke gre ke nastaju zbog pogre nog rasporeda objekata u programu, tako da program ne mo e da se zavr i do kraja ili se na kraju dobije rezultat koji nije dobar. Da bi se otklonile ove gre ke, prvo treba dobro razmotriti napisani algoritam. A upravo jedna od velikih gre aka programera je da su po eli da pi u program, a da nisu prije toga napravili algoritam. Drugi na in otklanjanja logi kih gre aka je da se u programu postave kontrolne ta ke. Primjer koda programa u kome su postavljene kontrolne ta ke prikazan je na slici 1.15.

Slika 1.15. Kontrolne ta ke

Kontolne ta ke se postavljaju u kodu programa, tako to se mi em klikne lijevo do radne povr ine za kucanje koda. Nakon toga se lijevo od kodne linije pojavi crveni krug, a pozadina izabrane kodne linije postaje crvena. U jednom programu mo e se postaviti kontrolna ta ka na svaku kodnu liniju. Kada se program pokrene na dugme Start, on se izvr ava samo do kontrolne ta ke. Dalje izv enje programa je mogu e ponovnim klikom na dugme Start.

Kada se program zaustavi na kontrolnoj ta ci, mogu se provjeravati trenutne vrijednosti svih promjenljivih, koje se nalaze u kodu programa. Ova jednostavna provjera se vr i postavljanjem kursora mi a na eljenu promjenjivu u kodu programa, nakon ega se odmah prika e trenutna vrijednost te promjenjive (u primjeru na slici 1.15. prikazana je vrijednost promjenjive BB). Na ovaj na in se najlak e dolazi do otkrivanja gre aka, a zatim i ispravljanja gre aka u kodu programa. Postoji nekoliko test strategija koje e pove ati ansu za pronala enje gre aka (bagova) u programima, a najbitnije su: testiranje "bijele kutije", testiranje "crne kutije".

1. OSNOVE PROGRAMIRANJA

32

Testiranje "bijele kutije"4 mo e da obavlja ili programer koji je napisao program ili neko drugi kome je specijalnost testiranje softvera. Testiranje se naziva "bijela kutija" zato to je onom ko testira poznat algoritam ili programski kod. Po to osoba koja testira program mo e da vidi kod programa, onda je u stanju da provjeri saki dio programa, tako to e testirati program za razne vrijednosti ulaznih podatka. Za testiranje programa pored uobi ajenih biraju i takozvane grani ne vrijednosoti. Grani ne vrijednosti su one vrijednosti podataka kod kojih se mogu o ekivati pogre ni rezultati (nula, ekstremne vrednosti itd.) Testiranje "crne kutije" se tako naziva jer je programski kod ili algoritam nevidljiv osobi koja vr i tetsiranje. Test se sprovodi tako to se programu (crnoj kutiji) daju razli iti podaci i posmatra pona anje programa. Da bi se postigao efekat testiranja, kod ove vrste testova se test podaci pripremaju prije izrade programa, imaju i na umu samo programske zahtjeve date u psecifikaciji programa. Za ovu vrstu testa se obi no planiraju tri vrste testnih podataka: - ispravni podaci, - neispravni podaci (recimo ako umesto cifara damo slova), - grani ne vrijednosti podataka. Softver mo e biti testiran bilo kojom od predhodne dvije metode. Uobi ajeno je da se nakon testiranje progrem prije pu tanja u prodaju, da na upotrebu ograni enom broju (obi no programera) u istoj kompaniji. Ova metoda testiranja se naziva Alfa testiranje. Oni simuliraju i krajnjeg korisnika koriste i program pronalaze eventualne gre ke, koje su zaostale posle testiranja, a tako e mogu da daju i sugestije za unapre enje programa. Nakon alfa testiranja uobi ajena je procedura da se softver da na upotrebu ograni enom broju spolja njih korisnika i da se od njih dobije odgovor. Odgovor mo e da sadr i prona ene greske, ali tako e sugestije za funkcionalno ili neko drugo unapre enje softvera. Ova metoda testiranja se naziva Beta testiranje. Pravljene izvr ne verzije programa Kada se program u potpunosti istestira, potrebno je napraviti izvr nu verziju programa preko opcije Make imeprograma.exe u glavnom meniju File. Na ovaj na in se od razvojne verzije programa koja ima ekstenziju ".VBP", pravi izvr na verzija programa koja ima ekstenziju ".EXE". Korisnik bi trebalo da radi samo sa izvr nim verzijama programa. Ako korisnik radi sa razvojnom verzijom programa tada vrlo lako mo e da pokvari program pomjeranjem ili brisanjem samo jednog slova u kodu programa. Sa druge strane pisac programa titi svoj autorski rad isporu ivanjem korisniku samo izvr ne verzije programa. Kompajleri i interpreteri Postoje dva na ina kako se programi napisani u programskijm jezicima mogu izvr avati u ra unarima. To su kompajliranje i interpretacija. Kompajliranje se obavlja kompajlerima. Kompajliranje je postupak u kome se program napisan u 4

Dr Milan Popovi , Osnove programiranja, BSP, 2007, str.75 do 77.

Programski jezik Visual Basic Zbirka zadataka

33

izvornom obliku prevodi u ma inski kod datog ra unara. Interpretacija se obavlja interpreterima. Interpretacija je postupak u kome se program napisan u izvornom obliku prevodi u neki "me ukod", to jest neki jednostavniji jezik sli an ma inskom jeziku. Ra unar zatim izvr ava (intrepretira) naredbe me ukoda. Time se posti e da se isti me ukod mo e izvr avati na razli itim ra unarima, jer nije zavistan od ma inskog jezika nekog specifi nog ra unara. Za me ukod bi se moglo re i da predstavlja neki univerzalni ma inski jezik. Kompajlirani programi obi no rade br e. Prednost interpretera je to su obi no iteraktivni i nije potrebno prolaziti sve faze, kao kod kompajliranja da bi se program izvr io.

1.3.5. Distribucija va ih programa Nakon to napravite Visual Basic program, mo ete ga distribuirati drugim korisnicima. Mo ete slobodno distribuirati svaki program, koju stvorite sa Visual Basicom, svakome ko upotrebljava Microsoft Windows. Va e aplikacije mo ete distribuirati pomo u CD-a, USB-a, putem intraneta ili Interneta. Kad distribuirate programa, postoje dva koraka kroz koje morate pro i: • Pakovanje – morate zapakovati datoteke va eg programa u jednu ili vi e datoteka tipa .cab koje mogu biti raspakovane na mjestu koje odaberete i morate stvoriti aplikaciju pode avanja za odre ene tipove pakovanja. Datoteka tipa .cab je sa eta datoteka, koja je dobro opremljena za distribuciju na diskovima ili putem Interneta. • Raspore ivanje (raspakivanje) – va zapakovani program morate premjestiti na mjesto sa koga ga korisnici mogu instalirati. To mo e zna iti kopiranje paketa na lokalni ili mre ni disk, ili postavljanje paketa na Web stranicu. Mo ete koristiti dva alata za pakovanje i raspore ivanje va ih programa. arobnjaka za pakovanje i raspakivanje (Package and Deployment Wizard, u opciji Add-Ins Visual Basica), ili alat za pode avanje (Setup Toolkit), koji dolaze sa va om instalacijom Visual Basica. arobnjak za pakovanje i raspakivanje automatizuje puno postupaka uklju enih u distribuiranje programa, predstavljaju i vam mogu nosti sa kojima mo ete oblikovati va e .cab datoteke. Alat za pode avanje dopu ta vam prilago ivanje dijela onog to se doga a tokom postupka instalacije. arobnjak za pakovanje i raspakivanje (Package and Deployment Wizard) Visual Basica poma e vam pri stvaranju .cab datoteka za va program, njihovom grupisanju u cjelinu, ili paket, koji sadr i sve informacije potrebne za instalaciju, te isporuku tih paketa krajnjim korisnicima. arobnjaka za pakovanje i raspakivanje mo ete upotrijebiti za stvaranje paketa, koji se distribuiraju na disketama, CD-ima, lokalnom ili mre nom disku, ili Internetom. arobnjak za pakovanje i raspakivanje automatizuje ve inu posla upletenog u stvaranje i raspakivanje tih datoteka. arobnjak za pakovanje i raspakivanje nudi sljede e mogu nosti:

1. OSNOVE PROGRAMIRANJA

34

• Opcija Package poma e vam pri pakovanju datoteka projekta u .cab datoteku, koja zatim mo e biti raspakivana. U nekim slu ajevima ova opcija stvara program pode avanja koji instalira .cab datoteke. arobnjak ustanovljava koje datoteke trebate pakovati i vodi vas kroz izbore, koji trebaju biti napravljeni kako bi se stvorila jedna ili vi e .cab datoteka za va projekt. • Opcija Deploy poma e vam pri isporuci va ih zapakovanih programa na pogodan medij distribucije, kao to su diskete, dio mre e, ili Web stranica. • Opcija Manage Scripts omogu uje vam pregled i upravljanje skriptima koje ste snimili u prethodnim radovima pakovanja i raspakivanja sa arobnjakom. Svaki put kad koristite arobnjaka, snimate skript koji sadr e sve izbore koje ste napravili. Taj skript mo ete ponovno upotrijebiti u kasnijim upotrebama arobnjaka, ako elite upotrijebiti sli ne postavke i napraviti iste izbore kao i pro li put. arobnjak za pakovanje i raspakivanje vodi vas kroz stvaranje i distribuiranje profesionalnih programa pode avanja za va e Visual Basic aplikacije. Osim stvaranja .cab datoteka za va u aplikaciju, arobnjak tako e stvara program pode avanja aplikacije prevo enjem projekta alata za pode avanje (Setup Toolkit) instaliranog sa Visual Basic-om. Program pode avanja se naziva setup1.exe. Pokretanje arobnjaka za pakovanje i raspakivanje Mo ete ga pokrenuti iz Visual Basica kao dodatak. Ako pokre ete arobnjaka kao dodatak, prvo morate postaviti potrebna uputstva u kreatoru dodataka kako bi itali arobnjaka. Kad upotrebljavate arobnjaka kao dodatak, Visual Basic pretpostavlja da elite raditi sa projektom koga trenutno imate otvorenog. Ako elite raditi sa drugim projektom, morate otvoriti taj projekt prije pokretanja arobnjaka, ili morate upotrijebiti arobnjaka kao samostalan dio. Nakon to pokrenete arobnjaka, niz ekrana e od vas tra iti informacije o va em projektu i omogu i e vam biranje opcija za pakovanje. Svaki ekran obja njava kako se upotrebljava, uklju uju i neobavezne informacije, te informacije koje moraju biti upisane prije nego to se mo ete pomaknuti na idu i ekran. Ako trebate vi e informacija o bilo kom ekranu, pritisnite tipku F1 ili kliknite dugme Help. Posebno napominjemo da bi trebali snimiti i prevesti svoj projekt u EXE verziju prije nego to pokrenete arobnjaka za pakovanje i raspakivanje. Pokretanje arobnjaka za pakovanje i raspakivanje iz Visual Basic-a vr i se u sljede im koracima: 1) Otvorite projekt koji elite zapakovati ili rasporediti kori tenjem arobnjaka. (Napomena: Ako radite u projektnoj grupi ili imate vi e istovremeno u itanih projekata, projekat koji elite zapakovati ili rasporediti mora biti trenutan projekt prije nego to pokrenete arobnjaka.) 2) Upotrijebite menad era dodacima (Add-In Manager) za u itavanje arobnjaka za pakovanje i raspakivanje. U meniju Visual Basic-a Add-Ins

Programski jezik Visual Basic Zbirka zadataka

35

odaberite stavku Add-In Manager, odaberite stavku Package and Deployment Wizard sa popisa, i kliknite OK. 3) Odaberite stavku Package and Deployment Wizard iz menija Add-Ins za pokretanje arobnjaka. 4) Na glavnom ekranu odaberite jednu od sljede ih opcija: • Ako elite stvoriti standardno pakovanje, pakovanje za Internet ili datoteku zavisnosti za projekt, kliknite Package. • Ako elite raspakovati projekt, kliknite Deploy. • Ako elite pregledati, mijenjati ili obrisati skript, kliknite Manage Scripts. 5) Nastavite kroz ekrane arobnjaka. Pokretanje arobnjaka za pakovanje i raspakivanje, kao samostalan dio vr i se na sljede i na in: 1) Ako je projekt koji elite zapakovati otvoren, snimite ga i zatvorite Visual Basic. 2) Kliknite glavno dugme Start, pa kliknite stavku All Programs pa Microsoft Visual Studio 6.0, pa zatim Microsoft Visual Studio 6.0 Tools, pa zatim iz liste opciju Package and Deployment Wizard. 3) U popisu Project na uvodnom ekranu, odaberite projekt koji elite zapakovati. (Napomena: Mo ete kliknuti dugme Browse ako va projekt nije na popisu.) 4) Na glavnom ekranu, odaberite jednu od sljede ih opcija: • Ako elite stvoriti standardno pakovanje, pakovanje za Internet ili datoteku zavisnosti za projekt, kliknite Package. • Ako elite raspakovati projekt, kliknite Deploy. • Ako elite pregledati, mijenjati ili obrisati skripte, kliknite Manage Scripts. 5) Nastavite kroz ekrane arobnjaka. Mo ete slobodno distribuirati svaku aplikaciju ili sastavni dio koji ste stvorili sa Visual Basicom. Uz izvr ne (.exe) datoteke, va a aplikacija mo e zahtijevati druge datoteke, kao to su dinami ke biblioteke (DLL), ActiveX kontrole (.ocx datoteke) ili slike (.bmp, .jpg, .ico ... datoteke). Nezavisno o tipu pakovanja koji stvarate ili alatu koji upotrebljavate kako bi ga stvorili, postoje neki koraci koji moraju biti preduzeti. 1) Odredite tip paketa koji elite stvoriti. Mo ete stvoriti standardni paket za aplikacije temeljene na Windows-ima koje e biti distribuirane na disketama, CDima ili putem mre e. Umjesto toga, mo ete stvoriti Internet paket za aplikacije koje e biti distribuirane putem Web-a. Mo ete tako e odabrati stvaranje samo datoteke zavisnosti. 2) Odredite datoteke koje trebate distribuirati. arobnjak mora odrediti projektne datoteke i datoteke zavisnosti za va u aplikaciju prije nego to mo e stvoriti paket. Projektne datoteke su datoteke koje su uklju ene u sam projekt – na

1. OSNOVE PROGRAMIRANJA

36

primjer, .vbp datoteka i njezin sadr aj. Datoteke zavisnosti su datoteke ili sastavni dijelovi izvo enja, koje va a aplikacija zahtijeva za izvo enje. Informacije o zavisnosti su spremljene u datoteci VB6dep.ini, ili u raznim .dep datotekama, koje odgovaraju sastavnim dijelovima va eg projekta. 3) Odredite gdje na ra unaru korisnika instalirati datoteke. Programske datoteke i datoteke pode avanja se obi no instaliraju u poddirektorij direktorija Program Files, dok se sistemske datoteke i datoteke zavisnosti obi no instaliraju u direktorije \Windows\System ili \Winnt\System32. Va program pode avanja to mora uzeti u obzir i odrediti gdje instalirati svaku datoteku. 4) Stvorite svoj paket. arobnjak stvara paket i program pode avanja (setup1.exe) za njega, ukazuju i na sve potrebne datoteke. Krajnji rezultat ovog koraka je jedna ili vi e .cab datoteka i sve potrebne datoteke pode avanja. 5) Raspakujte svoj paket. Postupak raspakivanja sadr i stvaranje va eg medija distribucije i kopiranje svih potrebnih datoteka na mjesto gdje mu korisnici mogu pristupiti. Postoji nekoliko datoteka koje su uvijek dio va ih standardnih paketa. Tu su uklju eni: • Datoteka setup.exe. Ova datoteka djeluje kao izvr na prije instalacije. Datoteka setup.exe je prva stvar koja se izvodi na ure aju korisnika u postupku instaliranja i izvodi potrebne obrade, koje se moraju pojaviti prije po etka glavne instalacije. • Datoteka setup1.exe. Ova datoteka djeluje kao glavni program pode avanja za va u aplikaciju. Kad korisnik instalira va u aplikaciju, program pode avanja kopira uslu ni dodatak St6unst.exe za uklanjanje aplikacije u direktorije \Windows ili \Winnt. Svaki put kad upotrijebite Visual Basic program pode avanja za instalisanje aplikacije, stvara se evidencijska datoteka za uklanjanje aplikacije (St6unst.log) u direktorijumu u kome je aplikacija instalirana. Datoteka tipa .log sadr i unose koji ukazuju na: - Direktorije koji su stvoreni tokom instalacije. - Instalirane datoteke i njihove polo aje. Ovaj popis sadr i sve datoteke u programu pode avanja, ak i ako neke datoteke nisu instalisane na korisnikov ra unar, jer je ve postojala novija verzija iste datoteke. Evidencijska datoteka ozna ava je li datoteka djeljiva te ako jeste, je li zamijenila postoje u datoteku. 1.3.6. Implementacija programa i obuka korisnika Tek kada se program u potpunosti istestira, on se daje korisniku na kori enje. Prije nego to se program da korisniku na kori enje, svaki programer bi trebao da napravi detaljno uputstvo za kori enje programa. Uputstvo treba da sadr i slike

Programski jezik Visual Basic Zbirka zadataka

37

svih ekrana, koji se mogu pojaviti u toku izvr enja programa, a za svaki objekat na slici treba dati njegove funkcije, tip i raspon ulaznih (izlaznih) podataka. Uputstvo mo e biti napravljeno u papirnoj ili elektronskoj formi, ali najbolje i u jednoj i drugoj formi. Pored uputstva programer mora da korisniku pru i obuku u kori enju isporu enog programa. Proizvodnja programa 5 za tr te je djelatnost sli na proizvodnji svih drugih vrsta proizvoda. Kupac obi no o ekuje sli ne uslove kupoprodaje, kao u slu ajevima kupovine uobi ajenih tehni kih proizvoda. Me utim, program je veoma specifi an proizvod i njegova za tita nije nimalo jednostavna. Pravni aspekti proizvodnje i kori enja programa predstavljaju u op tem slu aju delikatnu, prilikom sporova komplikovanu i ponekad kontroverznu oblast. Klasi na prodaja programa je dosta rijetka pojava. Pod "klasi nom prodajom" programa podrazumijevamo u stvari kupovinu programa i prava na njegovu preprodaju. Drugim rije ima kupovina programa je "klasi na kupovina" onda kada je sli na kupovini nekretnina ili automobila. Tada kupac ima potpuno pravo raspolaganja svojim vlasni tvom i mo e zatim da ga po volji proda, pokloni, ili uni ti. Kupovinu programa praktikuju dr avne organizacije i/ili kompanije (vlada, vojska, policija, elektrane, banke, itd.) gdje program mo e bitno da uti e na sigurnost rada ili poslovanja, a za njih je jeftinije da kupe programe nego da ih sami razvijaju. U pravnim dr avama piratsko kopiranje programa je jednako te ak prekr aj kao i povreda patentnih prava ili piratsko kopiranje i distribucija knjiga, muzi kih i video diskova. Ako bi neko neovla eno lice uzelo na primjer neku knjigu i bez odobrenja izdava a i autora po elo da tu knjigu samostalno kopira i kopije stavlja u prodaju, onda bi to bio prekr aj i pravno i moralno. Treba razumjeti da zakon koji titi izdava a i autora titi u stvari najvi i dru tveni interes. Ako bi proizvo u knjige, ili programa, njegov proizvod bio neka njeno piratski ukraden, onda bi kao direktna posljedica toga opao interes za proizvodnju tako riskantnog proizvoda. Dru tvo bi neminovno bilo suo eno sa usporenim razvojem ili nazadovanjem. To je razlog to neovla eno kori enje softvera nije samo pravno nedopustiv akt, ve predstavlja i ozbiljno kr enje profesionalnog morala jer potkopava temelje zdravih odnosa u okviru programerske profesije.

1.3.7. Odr avanje i nadogradnja programa aljiva izreka ka e da „svi programi sadr e gre ke dok se ne doka e suprotno, to je ina e nemogu e“. Imaju i u vidu da „u svakoj ali ima i po malo istine i ale“, dolazimo do toga da je veoma te ko pri proizvodnji programa pru iti bilo kakvu garanciju. Ta nije proizvo i programa umjesto garancije za svoje 5

Dr Jozo J. Dujmovi , Programski jezici i metode programiranja, Akademska misao, Beograd, 2003, str 3.98 do 3.104.

1. OSNOVE PROGRAMIRANJA

38

proizvode naj e daju izjavu da ne prihvataju bilo kakvu odgovornost za primjenu i posljedice primjene svog softvera. ak i softveri koji slu e za rje avanje nekih matemati kih problema, koji imaju izuzetnu vrijednost i mogu se koristiti sa visokim stepenom pouzdanosti daju ovakve izjave. Ipak, uvijek postoji mogu nost da se, i pored vrlo male vjerovatno e, desi slu aj da se pri nekim ulaznim parametrima pojavi gre ka u nekom programu. I ako bi se taj program koristio u prora unu ili u radu nekog veoma osjetljivog ure aja (tipi an primjer su letjelice i njihovi sastavni djelovi), moglo bi do i do fatalnih posljedica za koje proizvo softvera ne mo e prihvatiti odgovornost. Stoga se i daje izjava o ne prihvatanju odgovornosti. Izjave o ne prihvatanju odgovornosti postale su uobi ajena pravna forma i primjenjuje se ak i onda kada to, na prvi pogled, ne izgleda neophodno. Te ko je zamisliti kakve bi to fatalne posljedice mogle da nastupe kao rezultat gre ke u programu za obradu teksta, a da pri tome autor teksta ili njegov izdava ne budu krivi, nego da svu krivicu snosi programer koji je pisao program ili kompanija koja program distribuira. Naravno, mo e se dogoditi da zbog gre ke u programu neki podatak u tekstu ne eljeno promjeni vrijednost i da to ima neke neprijatne posljedice, ali normalno bi bilo je da je kriv „onaj ko je koristio no na naopak na in, a ne proizvo no a“. Poenta je me utim u tome da program za obradu teksta ne mo e da se izvr ava u „apsolutnoj izolaciji“. On upisuje podatke po disku i mo e da gre kom dovede do direktnog ili poslijedi nog gubitka nekih korisni kih programa ili podataka, pa se proizvo softvera sa razlogom odlu io na sli nu formulaciju kao i autori numeri kih programa. Imaju i u vidu da ve ina programa radi u okru enju drugih programa i podataka i da se teta drugim podacima i/ili programima ipak mo e dogoditi i pored najve e pa nje u programiranju, slijedi da je u ovim slu ajevima uputno koristiti izjavu o nepriznavanju garancije. Tim prije to su korisnici softvera navikli da programski proizvodi u odre enom malom procentu sadr e gre ke, tako da potpunu garanciju i ne o ekuju. Garancija se stoga u ve ini slu ajeva odnosi samo na besplatnu zamjenu medijuma sa programima, koji nisu itki zbog gre aka na medijumu. Druga forma garancije koju proizvo i unikatnog ili maloserijskog softvera ponekad nude kupcima, je garancija za interventno odr avanje u ograni enom periodu. Ova garancija ima za cilj da obezbjedi da proizvo softvera u ograni enom periodu (naj e godina dana) bude u obavezi da po reklamaciji kupca izvr i sitnije popravke i dorade isporu enog programskog proizvoda. Sa druge strane, imaju i u vidu izuzetnu lako u i brzinu kojom se i veoma veliki programski proizvodi mogu neovla teno iskopirati, proizvo i programa redovno poku avaju da svoj proizvod za tite od toga. Pa pored pravne za tite putem „copiryght“ koriste i razne tehni ke norme za tite od neovla enog kopiranja njihovih proizvoda. Postoji veliki broj metoda kako se to mo e posti i, a neke od njih se zasnivaju i na specijalnom hardveru. Jedan od oubi ajenih na ina je da se obezbjedi da odre eni program mo e da radi isklju ivo na odre enom

Programski jezik Visual Basic Zbirka zadataka

39

ra unaru. Ovaj na in se sastoji u tome, da se serijski broj procesora (koji se programski mo e o itati) dostavi proizvo u softvera, koji zatim taj broj upisuje (naj e kriptografisano) u program koji treba da radi na tom ra unaru. U toku rada programa, program povremeno testira da li je serijski broj procesora isti kao i ekivani serijski broj, pa ako to nije slu aj prestaje sa ispravnim radom. Naravno, u tom slu aju pravni aspekt kori enja je druga ije koncipiran od uobi ajene „copyright“ za tite. Sada princip licence za kori enje softvera nije vi e „jedna kopija jedan korisnik“ (na bilo kom mjestu i na bilo kom ra unaru), ve „jedna kopija, jedan ra unar“. Pri tome broj simultanih korisnika takvog softvera mo e, ali ne mora, da bude ograni en. Osnovna ideja proizvo a softvera je obi no da njegova zarada treba da bude proporcionalna koristi, koju kori enjem softvera ostvaruje njegov korisnik. Proizvo i softvera (naro ito ako se radi o unikatnom softveru) esto korisnicima nude ugovorno odr avanje softvera. Pod odr avanjem se obi no podrazumijevaju popravke i dorade koje se rade na zahtjev korisnika, koji je otkrio gre ku ili nedostatak u softveru koji koristi, a za koje ima ugovorno odr avanje. Ugovorom o odr avanju se moraju precizno specificirati uslovi odr avanja. To naj e mo e biti: 1) vremenski rok u kome proizvo softvera treba da otkloni otkrivene gre ke i nedostatke, ili 2) obaveza da se na zahtjev kupca anga uje odre eni stru njak proizvo a, koji e odre eno vrijeme provesti rade i u pravcu pobolj anja datog softvera, ali obi no bez obaveze da se ispune neki specifi ni zahtjevi. Budu i da je proizvo softvera spreman na odre ene intervencije u softveru na zahtjev kupca, to se ponekad mo e smatrati kao odre ena forma garancije. Primjeri navedene forme odr avanja softvera obuhvataju obi no intervencije u dva osnovna pravca. Korisnik u datom periodu (npr. u toku godine dana) mo e da detaljno ispita programski sistem sa mnogo irim spektrom kombinacija ulaznih podataka od onoga to je mogao da uradi proizvo prilikom razvoja programskog proizvoda. Tom prilikom postoji mogu nost da korisnik identifikuje takve kombinacije ulaznih parametara za koje programi daju neispravne rezultate. Obaveza proizvo a se svodi na to da modifikuje program tako da se navedene neispravnosti otklone. Drugi pravac se sastoji u tome, da se modifikuje korisni ka forma, odnosno onih dijelova koji defini u tip i formu unosa ulaznih podataka od strane korisnika. Korisnik koji rutinski koristi program du e vremena redovno otkrije sitne neprakti nosti u na inu komuniciranja, podatke koji se ponavljaju, nepotrebna ograni enja, testove i sli no. Tako da ima razloge da pokrene zahtjev za manjim izmjenama programa. Treba naglasiti da pod ovaj vid modifikacije ne spadaju su tinske modifikacije algoritamske prirode, jer bi to iziskivalo pravljenje nove verzije programa.

1. OSNOVE PROGRAMIRANJA

40

Druga vrsta ugovora o odr avanju softvera, koja se primjenjuje u domenu sistemskog softvera, ne obuhvata interventno odr avanje, ve periodi nu isporuku novih verzija instaliranog softvera. U takvim slu ajevima proizvo ima ekipu programera, koji permanentno dora uju i usavr avaju postoje i softver. Kada se broj intervencija u postoje em softveru nakupi, tako da se nova verzije softvera po svojim osobinama u dovoljnoj mjeri razlikuje od predhodne, onda se ta nova verzija automatski distribuira korisnicima, koji imaju ugovor o odr avanju softvera. Gotovo svaki program je do ivio neke modifikacije, a razvoj programa ima obi no svoju nomenklaturu u vidu oznake v.m koja ozna ava: - „verziju“ (v) i - „modifikaciju“ (m) datog programa. Kada programer razvija prototip programa onda je to „nulta verzija“, koja mo e imati veliki broj raznih modifikacija dok se ne dobije kompletan proizvod, koji pro e zavr no testiranje i spreman je za tr te. Takav proizvod se naj e ozna ava kao verzija 1.0 (skra eno V1.0). Veoma je va no da se u toku razvoja softvera vodi uredna i precizna evidencija o modifikacijama koje su u toku. Vremenom se nagomila veliki broj listinga programa od kojih mnogi mogu biti zastarjeli, ali se to ne mo e otkriti ako na njima ne stoji odgovaraju a oznaka. Prema tome, u toku razvoja i testiranja programa potrebno je poslije svake modifikacije programa unijeti na programima izmjenjenu oznaku. Po inje se sa V0.1, pa zatim svaka modifikacija ima naredni broj (V0.2, V0.3, itd.) dok se ne do e do izlaska na tr te sa verzijom V1.0. Zatim se tokom razvoja softvera distribuiraju verzije V1.1, V1.2, itd. Po pravilu poslije manje od 10 modifikacija prelazi se na verziju V2.0. Podrazumijeva se, da se ovaj proces odvija saglasno sa potrebama tr ta, pa V2.0 treba da obuhvati pored popravki gre aka i pro irenja, koja ine zna ajnu razliku u odnosu na verziju V1.0. Zatim se isporu uju modifikacije V2.1, V2.2 itd. Neki popularni programi do ivjeli su ve i broj verzija, ali rijetko vi e od 10. Lako je uvidjeti da ne postoji nikakva vrsta definicija i ujedna eni pogled na to nakon koliko modifikacija treba da se pojavi nova verzija programa. Tako da ozna avanje brojeva modifikacija i verzija u prili noj mjeri zavisi od mjere, ukusa i tradicije koja je svojstvena nekom proizvo u programa. Ipak, relativno visoki broj verzija i modifikacija programa predstavlja neku formu priznanja da posmatrani programski proizvod uspje no ivi na tr tu i da po svojoj prilici ima razvijenu korisni ku bazu.

Programski jezik Visual Basic Zbirka zadataka

41

1.4. RJE ENI PRIMJERI PRAVLJENJA ALGORITMA U ovom poglavlju su dati zadaci, za koje je potrebno napraviti grafi ki algoritam. Za ve inu zataka su predlo eni grafi ki algoritmi, koji predstavljaju mogu a rje enja. Zadatak 1.1. Sastaviti algoritam koji izra unava zbir (Z) dva realna broja A i B tj. Z = A + B. Rje enje: Rje enje ovog algoritma dato je na slici 1.15. Po etak

A, B

Z=A+B

Z Kraj

Slika 1.15. Zadatak 1.1.

Slika 1.16. Zadatak 1.2.

Zadatak 1.2. Sastaviti algoritam koji izra unava proizvod (P) dva realna broja A i B tj. P = A*B. Rje enje: Rje enje ovog algoritma dato je na slici 1.16. Zadatak 1.3. Sastaviti algoritam koji izra unava vrijednost izraza za zadate vrijednosti: X1 X2 X3 X4 i X5 Rje enje: Rje enje ovog algoritma dato je na slici 1.17.

Y=[(X1+X2)*X3-X4]*X5

Zadatak 1.4. Sastaviti algoritam za izra unavanje vrijednosti y po formuli y = x1 + x2 ako je x1 < x2 y = x1 - x2 ako je x1 ≥ x2. Rje enje: Rje enje ovog algoritma dato je na slici 1.18.

1. OSNOVE PROGRAMIRANJA

42

po etak

po etak

x1 , x 2

x1, x2, x3, x4, x5 F

y = ((x1+x2)*x3-x4)*x5 y kraj

x1< x2 T

y = x1 + x2

y = x1 - x2

y kraj

Slika 1.17. Zadatak 1.3.

Slika 1.18. Zadatak 1.4.

Slika 1.19 Zadatak 1.5.

Slika 1.20 Zadatak 1.6.

Zadatak 1.5. Sastaviti algoritam za izra unavanje vrijednosti y po formuli y = -1 ako je x < 0 y=0 ako je x = 0 y=1 ako je x > 0. Rje enje: Rje enje ovog algoritma dato je na slici 1.19.

Programski jezik Visual Basic Zbirka zadataka

43

Zadatak 1.6. Sastaviti algoritam za izra unavanje funkcije y = | x |. Rje enje: Rje enje ovog algoritma dato je na slici 1.20. Zadatak 1.7. Sastaviti algoritam za izra unavanje funkcije y = || x |-1|. Rje enje analogno prethodnom zadatku. Zadatak 1.8. Sastaviti algoritam za izra unavanje korjena kvadratne jedna ine Y = a*X2 + b*X +c u skupu realnih brojeva (R). Rje enje: Rje enje ovog algoritma dato je na slici 1.21. Po etak a, b, c D = b2 -4ac

Ne

Da D5 F B=A+B

B=B-A

F A=8 T A, B Kraj

Slika 1.39. Zadatak 1.34.

Slika 1.40. Zadatak 1.35.

Zadatak 1.35. Koliko ciklusa e se u algoritmu prikazanom na slici 1.40. izvr iti blok (A = A + 1) i koje vrijednosti e na kraju poprimiti izlazi algoritma A i B? Rje enje: 1) Ciklus A= 3, Uslov1 nije zadovoljen (F), B= 9, Uslov2 nije zadovoljen (F) 2) Ciklus A= 4, Uslov1 nije zadovoljen (F), B= 13, Uslov2 nije zadovoljen (F) 3) Ciklus A= 5, Uslov1 nije zadovoljen (F), B= 18, Uslov2 nije zadovoljen (F) 4) Ciklus A= 6, Uslov1 je zadovoljen (T), B= 12, Uslov2 se vi e ne e ni jednom ispitivati i izlazi se iz petlje za ponavljanje. Na kraju: Broj ciklusa 4, A= 6, B= 12 Probajte i vidje ete da vam ne e po i za rukom da pomo u jedne IF THEN ELSE strukture i jedne WHILE petlje u Visuel Basic-u realizujete zadnji algoritam. To govori da zadnji algoritam nije struktuiran.

1. OSNOVE PROGRAMIRANJA

54

Programski jezik Visual Basic Zbirka zadataka

55

2. UVOD U PROGRAMSKI JEZIK VISUAL BASIC Visual Basic je ve dugo jedan od najpopularnijih objektno orjentisanih programskih jezika. Napravila ga je kompanija Microsoft. Upravo zbog toga veliki broj korisnika Windows operativnog sistema, koristi Visual Basic za pisanje programa i pravljenje aplikacija. Pogotovo je olak ana dvosmjerna komunikacija sa svim Microsoft programskim paketima. Visual Basic je nastao od programskog jezika Basic (Beginner's Allpurpose Symbolic Introduction Code). Kod programskog jezika Basic proces programiranja se prvenstveno svodio na pisanje koda. Svaki objekat koji se pojavljivao na ekranu, morao se posebno programirati u kodu. Komandno dugme kao jedan od najjednostavnijih objekata se morao svaki put posebno programirati crtanjem svake linije na dugmetu posebno. To je predstavljao veliki napor za programere, jer su programi imali veliki broj kodnih linija, koji su se ponavljale. Zato su kreatori objektno orjentisanih programskih jezika odlu ili da olak aju posao programerima. Napravljen je odre en broj objekata, koji su se do tada najvi e koristili u programiranju i koje su sada programeri samo postavljali na radnu povr inu za pravljenje programa. Na taj na in je proces programiranja zna ajno ubrzan i olak an. Tako e se promjenila i sama filozofija programiranja, jer je sada objekat postao centralno mjesto u programiranju. Kod je postao samo onaj dio programa, koji dodatno opisuje objekte i me usobno ih povezuje. Cjelokupni program je podjeljen na mno tvo djelova, koji se izvr avaju kada korisnik izvr i neku akciju. Na primjer, akcija bi mogla biti klik mi a (click) na komandno dugme. U tom slu aju komandno dugme je objekt. Dugme prepoznaje doga aj, kada korisnik klikne na njega. Za taj doga aj (click) objekta komandno dugme (CommandButton) pi emo kod. Ovaj kod e se startovati i izvr iti samo kada korisnik klikne mi em na komadno dugme. Programiranje vo eno doga ajima je u stvari manji ili ve i broj segmenata programa, koje korisnik aktivira svojim akcijama. Svaki objekat ima svoj set osobina. Njih pode avamo u Properties prozoru koji dobijamo kada selektujemo eljeni objekat. Tako e, svaki objekat prepoznaje neke doga aje. Duplim klikom mi a na bilo koji objekat postavljen na radnu povr inu (Form), otvaramo prozor za pisanje koda (Code Window). U ovom prozoru pi emo kod programa, koji elimo da se izvr i nad postavljenim objektima. Na slici 2.15. prikazan je prozor za pisanje koda, iznad koga se nalaze dvije liste (ComboBox). Lijeva lista daje spisak imena svih objekat, koji postoje na toj radnoj povr ini. U desnoj listi se nude svi mogu i doga aji, koji se mogu programirati nad selektovanim objektom. Prvo se bira eljeni objekat, a zatim i doga aj koji se eli programirati nad njim. Izborom odgovaraju eg doga aja, automatski se pojavljuje procedura doga aja u prostoru za pisanje koda. Ime procedure se sastoji od imena doga aja i imena objekta. Activex kontrole su jedna od osobina Visual Basic-a, koja je tako e napravila revoluciju u programiranju. Activex kontrole su omogu ile direktno povezivanje

2. UVOD U PROGRAMSKI JEZIK VISUAL BASIC

56

programa napisanog u Visual Basic-u sa drugim programima iz Windows okru enja, ali i mnogim drugim programima koje nije proizveo Microsoft. Ono to je danas posebno aktuelno, je injenica da se pomo u Activex kontrola programi mogu postaviti na internet, sli no kao i pomo u programskog jezika Java. Visual Basic omogu uje pristup raznim bazama podataka, na vi e razli itih na ina. Na taj na in se mogu napraviti profesionalne aplikacije, pogotovo one koje se zasnivaju na relacionim bazama podataka. 2.1. PREDNOSTI PROGRAMIRANJA U VISUAL BASIC-U Visual Basic kao objektno orjentisani programski jezik ima vi e prednosti, koje ga izdvajaju od ostalih programskih jezika. Osnovne prednosti6 upotrebe programskog jezika Visual Basic su: 1) Jednostavnost kori enja je jedna od osobina, koja ga izdvaja od ostalih programskih jezika. 2) Lako u enje preko velikog broja ura enih primjera programa, koji se nalaze u Help-u ovog programa. 3) Veliki broj gotovih i raznolikih objekata za upravljanje. 4) Funkcionalan i raznolik grafi ki interfejs za unos i prikaz podataka. 5) Sve to se vidi kao standard u Windows okru enju, mo e se programirati u Visual Basic-u. 6) Podr ava komunikaciju sa svim programima iz Windows okru enja, tako da se ne gubi vrijeme na programiranje onoga to Windows ve sadr i. 7) Programiranje u Visual Basic-u pru a mogu nost, da se isti problem rije i na vi e razli itih na ina, uz upotrebu razli itih objekata. Pri programiranju do izra aja dolazi kreativnost programera. 8) Masovno kori enje ovog programa u svijetu, dovelo je do toga da se na internetu mo e na i veliki broj gotovih programa sa kodom, koji se slobodno mogu preuzeti. Na taj na in programer samo preuzima kod programa, problema koji je neko prije toga rije io. Na taj na in je Visual Basic, kao programski jezik svakim danom sve bogatiji. 2.2. INSTALIRANJE VISUAL BASIC PROGRAMA Za instaliranje programskog jezika Visual Basic 6.0 postoje tri instalaciona diska. Pored glavnog instalacionog diska postoje jo dva diska, na kojima se nalaze prate e biblioteke za ovaj program. Ove biblioteke je tako e po eljno da se instaliraju, jer se na njima nalazi pomo ni dokumenti (Help), u kojima su detaljno 6

Dr Tihomir Latinovi , Osnove programiranja (Visual Basic), Biblioteka Informacione tehnologije, Banja Luka 2007, str. 13

Programski jezik Visual Basic Zbirka zadataka

57

opisane sve komande, funkcije i procedure koje posjeduje Visual Basic. Za ve inu navedenih komandi su dati i prakti ni primjeri kori enja u kodu programa. Program Visual Basic 6.0 se mo e instalirati na ra unar automatski, kada se ubaci glavni instalacioni disk. Prvo se pojavi ekran prikazan na slici 2.1., na kome se mogu saznati osnovni podaci o ovom programu.

Slika 2.1. Instaliranje Visual Basic 6.0 programa Klikom na dugme Next prelazi se na naredni prozor End User Licence Agrement, na kome se korisnik upoznaje sa uslovima pod kojima se ovaj program mo e koristiti. Da bi se nastavilo dalje sa instaliranjem programa, potrebno je izabrati opciju I accept the agreement, a zatim pritisnuti dugme Next. Nakon toga se pojavljuje prozor na kome se unosi ime korisnika i ime kompanije. Klikom na dugme Next prelazi se na naredni prozor Microsoft Virtual Machine for Java. Na ovom prozoru korisnik mo e ekirati opciju Update Microsoft Virtual Machine for Java, kojom se ako ve ne postoji, vr i instaliranje virtuelne ma ine za Java programski jezik. Ako je ova opcija ekirana, klikom na dugme Next pojavi e se prozor prikazan na slici 2.2., a zatim klikom na dugme OK dolazi do resetovanja ra unara.

Slika 2.2. Potvrda resetovanja ra unara

2. UVOD U PROGRAMSKI JEZIK VISUAL BASIC

58

Slika 2.3. Izbor opcija koje se instaliraju Ako ova opcija nije ekirana ili ako se ra unar resetovao, pojavi e se prozor Visual Studio 6.0 Enteprise Edition. Na ovom prozoru potrebno je izabrati jednu od tri ponu ene opcije: Costum, Product ili Server Applications. Ako se program instalira na personalnom ra unaru potrebno je izabrati opciju Costum. Klikom na dugme Next prelazi se na prozor Choose Common Install Folder. Na ovom prozoru se bira direktorijum na kome e program biti instaliran. Inicijalno se pojavljuje putanja "C:\Program Files\Microsoft Visual Studio\Common". Ova putanja se mo e promjeniti klikom na dugme Browse. Klikom na dugme Next prelazi se na prozor Visual Studio 6.0 Enteprise Setup, za po etak instaliranja programa na hard disk ra unara. Izborom dugmeta Continue na ovom prozoru, nastavlja se sa postupkom instaliranja programa i pojavljuje se prozor prikazan na slici 2.3. Izborom dugmeta Exit Setup, odustaje se od daljeg postupka instaliranja programa. Na prozoru prikazanom na slici 2.3. biraju se opcije programskog jezika Visual Basic 6.0, koje se ele instalirati. Ako na ra unaru imate dovoljno memorije po eljno je ekirati sve ponu ene opcije, jer neznate kada vam neka opcija mo e zatrebati prilikom programiranja. Izborom dugmeta Continue na ovom prozoru, prelazi se na prozor Setup Environment Variables. Na ovom prozoru se mo e ekirati opcija Register Environment Variables, koja omogu ava pokretanje Visual C++ pomo i pri programiranju. Klikom na dugme OK pojavljuje se prozor prikazan na slici 2.4. na kome se vidi tok instaliranja glavnog programa.

Programski jezik Visual Basic Zbirka zadataka

59

Slika 2.4. Instaliranje glavnog programa

Slika 2.5. Instaliranje biblioteka

Slika 2.6. Restart nakon instaliranja

Slika 2.7. Izor instaliranja biblioteka

Kada se zavr i postupak instaliranja svih fajlova glavnog programa, pojavljuje se prozor prikazan na slici 2.6. Na ovom prozoru je potrebno pritisnuti dugme Restart Windows, kako bi se omogu io restart ra unara. Kada se ra unar ponovo pokrene pojavljuje se prozor Install MSDN, na kome je potrebno ekirati opciju Install MSDN, da bi se omogu ilo snimanje prate ih biblioteka za programski jezik Visual Basic 6.0. Klikom na dugme Next prelazi se na naredni prozor, prikazan na slici 2.8., koji pokazuje da treba ubaciti novi instalacioni disk 1. Kada se obaci tra eni disk, pojavljuje se prozor MSDN Library - Visual Studio 6.0 Setup, koji nas obavje tava da po inje proces instaliranja pomo nih biblioteka na disk ra unara. Za nastavak instaliranja potrebno je pritisnuti dugme Continue. Nakon toga se pojavljuje prozor Licence Agreement, na kome se korisnik upoznaje sa uslovima pod kojima se ove biblioteke mogu koristiti. Da bi se nastavilo dalje sa instaliranjem biblioteka, potrebno je pritisnuti dugme I Agree. Nakon toga se pojavljuje prozor prikazan na slici 2.7., na kome se nude tri nivoa instaliranja biblioteka: Typical (naj e kori ene), Custom (pojedina an izbor) ili Full (sve raspolo ive). Preporu ujemo da se izabere opcija Full, koja omogu uje kori enje svih biblioteka koje posjeduje programski jezik Visual Basic 6.0. Nakon izbora

2. UVOD U PROGRAMSKI JEZIK VISUAL BASIC

60

jedne od ove tri ponu ene opcije, otpo ine proces instaliranja ovih biblioteka na disk ra unara, to je prikazano na slici 2.8. Kada je zavr eno instaliranje svih fajlova sa diska 1, pojavi e se poruka u kojoj se od korisnika se tra i da ubaci drugi instalacioni disk sa bibliotekama. Kada se disk 2 ubaci, automatski se nastavlja proces instaliranja biblioteka. Kada je zavr eno instaliranje svih fajlova sa diska 2, pojavi e se prozor prikazan na slici 2.9., koji obavje tava korisnika da su biblioteke uspje no instalirane. Time je zavr en postupak instaliranja programskog jezika Visual Basic.

Slika 2.8. Disk 1 biblioteka

Slika 2.9. Biblioteke instalirane

2.3. POKRETANJE VISUAL BASIC PROGRAMA Aktiviranje programa Visual Basic 6.0 u Windows operativnim sistemima vr i se najlak e kroz Start meni (Start→Programs→ Microsoft Visual Studio 6.0→ Microsoft Visual Basic 6.0). Naravno, da ovo nije jedini na in da se pokrene program Visual Basic. Kao i za bilo koji drugi program u Windows operativnim sistemima postoji vi e na ina za njihovo pokretanje npr. mo e se napraviti ikonapre ica (Shortcut) pa preko nje pokretati program. Pokretanjem Visual Basic 6.0 programa, odmah se uo ava da prozor programa pripada grupi standardnih prozora u Windows okru enju. Samim tim njegovo radno okru enje ini naslovna linija sa dugmadima za automatsko upravljanje veli inom prozora, linija menija, palete sa alatima, radni prostor, kliza i za vertikalno i horizontalno listanje sadr aja dokumenta i statusna linija. Nakon pokretanja programa pojavljuje se prozor prikazan na slici 2.10. Na njemu se mo e izabrati jedna od sljede ih opcija: - New - za pravljenje potpuno novog projekta. Ponu eno je vi e opcija za po etak pravljenja programa. Za po etnike je najbolje da izaberu opciju Standard EXE. Iskusniji programeri mogu da izaberu neko ve ranije pripremljeno radno okru enje. Na taj na in ubrzavaju proces programiranja. - Existing - ako se eli izabrati i otvoriti ranije napravljeni program. - Recent - ako se eli izabrati i otvoriti neki zadnje kori eni program. U listi se programi sortirani prema datumu zadnje modifikacije. Ovo je naru ito pogodno, kada se zaboravi mjesto (direktorijum) gdje je program snimljen.

Programski jezik Visual Basic Zbirka zadataka

61

Slika 2.10. Po etni ekran nakon pokretanja programa Visual Basic Izborom novog programa pojavljuje se prozor prikazan na slici 2.11. Tu je prikazana radna povr ina (Form1) na koju se mogu dodavati objekti za na novi program. U slu aju da se eli otvoriti ve postoje i program dok se ve nalazimo u razvojnom okru enju programa, potrebno je oti i na paletu menija na File pa Open i iz ve poznatog okru enja (kao i kod ostalih programa Windows okru enja) iz eksplorer menija izabrati program koji elimo da pokrenemo. U naslovnoj liniji uvijek stoji ime programa sa kojim se trenutno radi. Projekt prozor (Project Explorer) se pojavljuje sa desne strane ekrana i u njemu se prikazuju: forme, moduli i klase koje postoje u aktivnom programu. Paleta objekata (ToolBox) se obi no nalazi na lijevoj strani ekrana. Prikazuje standardne objekte, koji programeru stoje na raspolaganju. Ova paleta se mo e obagatiti sa dodatnim objektima, to e biti opisano u 5 poglavlju. Ako se gre kom zatvori ova paleta, ponovo se postavlja na radni ekran preko ikonice

, koja se nalazi u paleti alatki.

2. UVOD U PROGRAMSKI JEZIK VISUAL BASIC

62

Slika 2.11. Radna povr ina za pisanje programa 2.4. SIMBOLI U PROGRAMU VISUAL BASIC Visual Basic, kao i svaki drugi programski jezik, ima svoju gramatiku. Osnovne dvije grane gramatike Visual Basic jezika su sintaksa i semantika. Pod sintaksom se podrazumijeva skup pravila pomo u kojih se formiraju slo eniji jezi ki oblici od prostijih: rije i od simbola, re enice od rije i i vi i (slo eniji) oblici od re enica. Semantika prou ava zna enje onoga to je iskazano u nekoj jezi koj formi, odnosno ona se bavi smisaonim stranama jezi kih konstrukcija. Ako neki jezi ki oblik nema svoga smisla i zna enja, onda ga nema potrebe ni pisati. Simboli Visual Basic jezika pomo u kojih se grade slo eniji jezi ki oblici su: slova, cifre dekadskog brojnog sistema, interpunkcijski znaci, operatori i posebni znaci. U okviru ovog dijela knjige bi e razmotrena specifi na, nestandardna zna enja pojedinih simbola. Ta ka ( . ) se upotrebljava za: 1) razdvajanje cijelog od decimalnog dijela broja (npr. 55.2345), 2) za povezivanje objekata sa njihovim osobinama (npr. Dugme.Enabled = False) i 3) povezivanje imena fajla sa njegovim tipom (npr. Strana1.frm). Znak za podvla enje ( _ ) se upotrebljava ako sadr aj komande ne mo e da stane u jedan programski red. Onda se na kraju toga reda upisuje znak "_", pa se nastavlja unos sadr aja komande u sljede i programski red. Primjer: Set baza = DBEngine.Workspace(0).OpenDatabase _ (App.Path & "\PodaciGorivo.mdb")

Programski jezik Visual Basic Zbirka zadataka

63

Ovaj simbol se koristi u procedurama doga aja za pravljenje imena procedure, tako to se spaja ime objekta i ime doga aja nad objektom. Primjer: Private Sub Command1_Click() Jednostruki navodnik ( ' ) (apostrof) u Visual Basic jeziku slu i za navo enje komentara. Tekst komentara je u kodu obojen zelenom bojom. Primjer: Sub Command4_Click() ' dugme povratak Komentar mo e da se napi e i sa komandom Rem. Primjer: Rem Kraj programa Dvostruki navodnici (") imaju ulogu definisanja tekstualnog podatka, koji se nalazi izme u njih. Primjer: Text1.Text = Unos teksta Simboli ( ! ) i ( I ) povezuju objekte sa kolekcijom, odnosno u listi filtera. Simbol ( & ) slu i za spajanje vi e stringova u jedan string i za definisanje slovne tipke, za aktiviranje potrebne opcije u meniju. Primjer: Text2.Text = Datum 2000 rezultat je Datum2000 Text3.Text = Datum & 2000 rezultat je Datum 2000 Ta ka-zapeta ( ; ) omogu ava da se dva podatka iska u u razmaku od jednog karaktera prilikom kori enja komande print. Zapeta ( , ) koristi se i za razdvajanje argumenata kod funkcija i procedura. Ovaj simbol se nesmije koristiti za pisanje realnih brojeva, koji se isklju ivo pi u kori tenjem simbola ta ka ( . ). Primjer: Odgovor1 = MsgBox(Poruka, Stil, Naslov) Znak jednakosti (=) koristi se, pored standardnog relacijskog zna enja pore enja dvaju izraza, u svojstvu operatora dodjele konkretne vrijednosti nekoj osobini objekta ili promjenljivoj. Primjer: If A=B Then - pore enje dvije promjenjive HG = HG + 1 - dodjela vrijednosti promjenjivoj Command1.Enabled = True - dodjela vrijednosti osobini objekta Male zagrade ( ) slu e za grupisanje vi e izraza u jednu cjelinu i za postavljanje argumenata funkcija i procedura. Primjer: BETA1 = 2 * Atn(Sqr(1 - b1 * b1) / b1) Odgovor2 = MsgBox(poruka, Stil, Naslov) Tri ta ke ( ... ), u okviru neke osobine objekta, najavljuju pojavu menija sa vi e ponu enih opcija. Matemati ki operator za oduzimanje (-) ima i ulogu logi kog negatora. Znak plus ( + ) pored sabiranja slu i i za spajanje stringova. Primjer: A= 2 + 3 daje broj 5, dok B="2" + "3" daje string "23", a C="Stefan"+" "+"Covic" daje string "Stefan Covic". Simbol ( * ) posjeduje zna enje operatora za mno enje i znaka za popunu skrivenog teksta u TextBox-u (PasswordChar).

2. UVOD U PROGRAMSKI JEZIK VISUAL BASIC

64

Operator ( ^ ) slu i za stepenovanje nekog broja. Primjer: x=a^2 ili x=a*a y=d^5 ili y=d*d*d*d*d Kose crte ( / i \ ) koriste se u naredbama za dijeljenje (a/b), kada se kao rezultat dobija realni broj. Odnosno za cjelobrojno dijeljenje (a\b), kada kao rezultat dobija cijeli broj. Primjer: x=5/2 - daje rezultat 2.5 y=5\2 - daje rezultat 2 Relacioni operatori: manje (=) imaju funkciju pore ivanja dva izraza i redovno se koriste u naredbama selekcije i iteracije. Rije i u Visual Basic-u, kao i u drugim programskim jezicima, predstavljaju skup simbola bez logi kih i relacijskih operatora. One su dvojakog karaktera. Neke su propisane od strane autora doti nog jezika (tzv. obavezne ili klju ne rije i koje se u kodu programa pojavljuju pisane plavom bojom) i izvedene rije i koje defini e programer programa. Propisane rije i su rije i engleskog jezika ili njihove skra enice i upotrebljavaju se doslovno. Pomo u njih su definisane klju ne rije i u pojedinim naredbama i funkcijama. Izvedenim rije ima opisuju se imena pojedinih objekata, procedura i funkcija, struktura podataka i njihovih atributa, promjenljivih, konstanti, polja u kojima su smje teni podaci itd. 2.5. OBJEKTI I NJIHOVE OSOBINE U PROGRAMU VISUAL BASIC Visual Basic posjeduje veliki broj gotovih objekata, koji stoje programeru na raspolaganju. U standardnoj paleti alatki programskog jezika Visual Basic se nalaze objekti, koji se naj e koriste u programiranju, a to su: - Form radna povr ina za postavljanje ostalih objekata. - Label za ispis teksta. - TextBox za prikaz i unos tekstualnih i numeri kih vrijednosti. - CommanButton komandno dugme. - CheckBox i OptionButton za izbor opcija. - Frame pravljenje posebnog okvira sa objektima na formi. - ListBox i ComboBox za prikaz vrijednosti u padaju im listama. - Klizne trake HScrollBar i VScrollBar za izbor vrijednosti preko kliznih traka. - Timer za kori enje sistemskog datuma, vremena i vremenska pode avanja. - DriveListBox za prikaz i izbor drajvera na ra unaru. - DirectoryListBox za prikaz i izbor direktorijuma na aktivnom drajvu. - FileListBox za prikaz i izbor fajlova na aktivnom direktorijumu. - Line i Shape za crtanje po radnoj povr ini. - Image i Picturebox za prikaz slika raznih formata. - Data za povezivanje sa bazama podataka. - OLE za povezivanje sa drugim programima.

Programski jezik Visual Basic Zbirka zadataka

65

Svi koji ele da prona u dodatne objekte, mogu ih prona i u Help-u Visual Basica. Da bi se ovi dodatni objekti mogli koristiti u programiranju, potrebno ih je prvo dodati u paletu objekata (ToolBox). Dodavanje dodatnih objekata se vr i preko glavnog menija u kome se izabere Project, nakon ega se otvara list opcija, od kojih treba odabrati opciju Components, a zatim ekirati eljene objekte. Objekti se postavljaju na radnu povr inu (formu), tako to se prvo klikne mi em na odgovaraju u ikonicu objekta u paleti objekata. Potom, uz zadr avanje pritisnutog tastera, u odgovaraju oj veli ini i na eljenoj poziciji na formi razvije kon anica oblika paravougaonika, koja sadr i tra eni objekat. Nakon otpu tanja tastera ostaje objekat okru en linijom pravougaonika, koji na tjemenima i sredinama stranica ima ozna ene ta ke. Dovo enjem kursora mi a na jednu od tih ta aka pojavljuje se dvosmjerna strelica, pomo u koje se objekat mo e pro irivati ili su avati u eljenom pravcu. Postavljanjem kursora na objekat i zadr avanjem lijevog tastera objekat se mo e, povla enjem mi a, premjestiti na drugo mjesto na formi. Objekat se mo e izbrisati, tako to se prvo klikom mi a izvr i njegov izbor (pojave se ta ke na sredi tima stranica i na tjemenima) i pritisne tipka Delete (Del). Forma, tako e, sama po sebi, predstavlja jedan objekat. On je prozor u korisni kom interfejsu, iji se oblik i veli ina pode avaju, sli no ostalim objektima, tako to se pokaziva postavi na jednu od ivica ili na tjeme i zatim povu e u potrebnom smjeru. Svaki objekat u Visual Basic-u ima vi e osobina, koje se pode avaju. Osobine objekata se mogu dodjeljivati preko prozora osobina (Propereties), ili programski preko koda programa. Kada se klikne na posmatrani objekat, tada se u prozoru osobina (Propereties) pojavljuju postoje e osobine selektovanog objekta ili grupe selektovanih objekata. U prozoru Propereties na lijevoj strani tabele se nalaze imena osobina. Na desnoj strani tabele treba preko tastature unijeti odgovaraju u vrijednost osobine ili osobinu izabrati od onih vrijednosti koje su unaprijed ponu ene. Izbor se vr i tako to se klikne na osobinu i tada se pojave tri ta ke (...) ili lista (sa padaju im menijem). Klikom mi em na tri ta ke aktivira se okvir za dijalog pomo u, koga se biraju vrijednosti osobine. Aktiviranjem neke osobine za boje (na primjer BackColor), pojavljuju se dvije opcije: Palette i System. One omogu avaju da se sa palete izvr i eljeni izbor boje. Kada se izabere eljena boja prikazuje se njena vrijednost u heksadecimalnom kodu. Heksadecimalni kod boje je za ve inu programera nerazumljiv broj i koristi se uglavnom kod dodjeljivanja boja preko koda na sljede i na in: TxtRezultatZ.BackColor = &H000000FF& Ovo je primjer koda gdje je boja pozadine TextBox-a pod imenom TxtRezultatZ promjenjena u crvenu boju. esto je prozor za osobine tako mali da se u njemu ne mogu vidjeti sve osobine odgovaraju eg objekta. U tom slu aju pored desne ivice, postoje vertikalni kliza i za pomjeranje osobina. Za veliki broj osobina postoje predlo ene standardne vrijednosti, mada i korisnik mo e mijenjati i postavljati nove prema svome ukusu.

2. UVOD U PROGRAMSKI JEZIK VISUAL BASIC

66

U nastavku objasni emo samo neke osobine, koje se esto koriste i odnose se, uglavnom, na vi e objekata. Osobina Alignment slu i za poravnanje teksta u objektima. Klikom na osobinu pojavljuje se ComboBox, ijim se aktiviranjem otkrivaju mogu nosti poravnanja: 0 - Left Justify (poravnanje u lijevo), 1 - Right Justify (poravnanje u desno), 2 - Center (centriranje teksta) i 3 - Justify (obostrano poravnanje). Osobina Appearance posjeduje dvije vrijednosti: 0 - Flat i 1 - 3D, koje omogu avaju prikaz objekta u jednoj dimenziji ili trodimenzionalno. AutoRedraw je osobina forme, a mogu joj se dodijeliti dvije vrijednosti: False i True. Dodjelom vrijednosti True omogu ava se da Visual Basic automatski ispisuje rezultate dobijene pomo u naredbe Print, kada se ponovo prika e forma. U protivnom, ako se dodijeli osobina False, prilikom novog prikazivanja forme rezultati bi izostali. Ostali objekti prikazuju se automatski bez obzira na izabranu vrijednost osobine. Klikom na osobinu BackColor, na desnoj strani ove osobine, pojavljuju se tri ta ke (...). Klikom na njih otvara se okvir za dijalog sa mogu no u izbora odgovaraju e boje iz palete boja ili potvrde ponu enog sistema boja. Odabrana vrijednost boje odnosi se na pozadinu posmatranog objekta. BorderStyle je osobina koja ima ulogu da ozna i ivicu doti nog objekta. Klikom na aktivira se lista mogu ih vrijednosti: 0 - None (bez okvira), 1 - FixedSingle (objekat uokviren jednom linijom), 2 - Sizable (linija je istaknuta i deblja) i 3 - FixedDialog (mo e se izabrati eljeni stil linije). Pomo u osobine BorderColor dodjeljuje se boja grani noj liniji objekta. Pored osobine Caption upisuju se tekst, koji e pisati na doti nom objektu. Ovu osobinu treba razlikovati od imena objekta. Osobina Connect dodjeljuje se ime formata baze podataka kojima e se pristupati (npr. Acces, Excel, dBase i sl.) radi obrade podataka. Aktiviranjem osobine DatabaseName otvara se okvir za dijalog u kojem treba izabrati naziv fajla (baze podataka) i njegovu putanju, kako bi mu se moglo pristupiti. Izborom osobine DataField pojavljuje se lista kolona izabrane tabele baze podataka. Klikom se bira kolona, iji sadr aj treba prikazati u predvi enon objektu. DataFormat omogu ava da se pomo u okvira za dijalog, podatku dodijeli jedna od ponu enih vrijednosti: General, Number, Currency, Date, Time, Percentage, Boolean, Scientific ili Picture. Aktiviranjem osobine DataSource pojavljuje se strelica. Klikom na strelicu dobija se padaju a lista sa spiskom objekata Data, preko kojih je ostvarena veza sa konkretnom tabelom u bazi podataka, od kojih treba izabrati odgovaraju u.

Programski jezik Visual Basic Zbirka zadataka

67

Enabled je va na osobina brojnih objekata, mo e da ima dvije vrijednosti: False i True. Dodjelom osobini vrijednosti True objekat postaje aktivan, odnosno dostupan tako da nad njim mogu da se izvr avaju odre ene akcije. Dodjelom osobini vrijednosti False objekat je i dalje vidljiv na formi, ali nije vi e aktivan, odnosno nemo e mu se pristupiti ni sa jednom programskom akcijom. Osobina FillColor odnosi se, obi no, na odre ivanje boje kojom treba da bude popunjen objekat dobijen na opisani na in (preko palete ili sistema boja). FillStyle je osobina pomo u koje se odre uje uzorak za popunjavanje objekta. Uobi ajene vrijednosti ove osobine su: 0 - Solid (puna popunjenost), 1 - Transparent (neznatno popunjen), 2 - HorizontalLine (horizontalne linije), 3 -VerticalLine (vertikalne linije), 4 - UpwardDiagonal (dijagonale odozdo na dole i slijeva nadesno), 5 - Down Diagonal (dijagonale odozdo na gore), 6 - Cross (vodoravno - vertikalna mre a) i 7 - CrossDiagonal (koso - dijagonalna mre a). Klikom na osobinu Font, koju posjeduju svi objekti tekstualnog tipa, otvara se standardni Word-ov okvir za dijalog na kojem se mo e odabrati naziv, veli ina, stil i druge karakteristike Fonta. Osobina ForeColor slu i za bojenje teksta. Postupak dodjele boja isti je kao i kod osobine BackColor. Osobinama Height i Width unosom brojnih vrijednosti odre uje se visina i irina objekta u pikselima (pixels). Pomo u osobine Left odre uje se udaljenost objekta u pikselima (pixels) od lijeve ivice ekrana. Osobina Name odre uje ime objekta. Pomo u ove osobine se objekti pozivaju u kodu programa. Osobina Picture odre uje tip slike, na primjer, bmp, gif, jpg, wmf, emf, ico i dr. Pomo u osobine ReadOnly, koje mo e da ima vrijednosti True i False, defini e se da li se dati podaci mogu samo pregledati ili se mogu i mijenjati. Aktiviranjem osobine RecordSource otvara se okvir za dijalog, u kojem treba izabrati naziv tabele. Naziv tabele se mo e birati samo ako je u predhodno izabrana bazi podataka preko osobine DatabaseName. Osobinom ScroolBars defini u se kliza i za pomjeranje teksta odnosno drugog sadr aja na objektu. Na listi postoje sljede e mogu nosti izbora: 0 - None (bez kliza a), 1 - Horizontal, 2 - Vertical i 3 - Both (obostrani). Osobina Stretch tako e ima dvije vrijednosti: True i False. Posebno je zna ajna upotreba vrijednosti True ijim se izborom daje zadatak Visual Basic-u da

2. UVOD U PROGRAMSKI JEZIK VISUAL BASIC

68

prilagodi originalnu dimenziju importovane slike, prema dimenzijama objekta za prikaz slike na formi. Pomo u osobine Visible, koja se esto primjenjuje za vi e objekata reguli e se vidljivost objekta. Ako je izabrana vrijednost ove osobine True objekat e biti vidljiv, a ako je izabrana vrijednost False objekat ne e biti vidljiv, kada se program pokrene. Ova osobina objekata se esto pode ava u kombinaciji sa osobinom Enable. Osobina forme StartUpPosition slu i za odre ivanje po etnog polo aja forme na ekranu, kada se program pokrene. Mo e imati opcije: 0 - Manual (ru no postavljanje), 1 - CenterOwner (centriranje prema objektu na formi), 2 - CenterScreen (centriranje prema itavom ekranu), 3 - WindowsDefoult (pozicioniranje preko itavog ekrana). 2.6. SKRA ENICE U PROGRAMU VISUAL BASIC U Visual Basic-u programiranje se vr i postavljanjem gotovih objekata na formu. Objekti se me usobno povezuju preko koda. U kodu se pi u naredbe, koje omogu avaju da program izvr ava zami ljene funkcije. Da bi se olak alo i zna ajno ubrzalo pisanje programa korisno je poznavati skra enice na tastaturi, koje se mogu koristiti u programu. Osnovne skra enice koje se koriste u programskom jeziku Visual Basic prikazane su u tabeli 2.1. Tabela 2.1. Skra enice u programu Visual Basic Skra enica CTRL+N

CTRL+SHIFT+N CTRL+O

CTRL+SHIFT+O CTRL+S

CTRL+SHIFT+S

Opis radnje Kontrola dokumenata Kreiranje novog projekta. Dobije se potpuno isti efekat, kao da se u glavnom meniju izabrala opcija File => New. Da se ne bi izgubio predhodno aktivan program, pojavi e se dijalog prozor za spa avanje otvorenog programa. Kreiranje novog fajla. Otvaranje ve postoje eg Visual Basic programa. Dobije se potpuno isti efekat, kao da se u glavnom meniju izabrala opcija File => Open. Otvaranje ve postoje eg fajla, istog tipa kao onaj na kome se trenutno nalazimo. Spa avanje trenutno aktivnog Visual Basic programa. Dobije se potpuno isti efekat, kao da se u glavnom meniju izabrala opcija File => Save. Spa avanje svih trenutno aktivnih fajlova, projekata i dokumenata Visual Basic programa.

Programski jezik Visual Basic Zbirka zadataka Skra enica Alt+Print Screen

CTRL+D Alt+... CTRL+A Alt+F4 CTRL+P Enter Delete CTRL+Delete Backspace CTRL+Backspace CTRL+C CTRL+X CTRL+V CTRL+Z CTRL+SHIFT+Z CTRL+Up CTRL+Down CTRL+F CTRL+H CTRL+U CTRL+SHIFT+U End CTRL +End Home CTRL +Home Shift+End CTRL + Shift + End Shift+Home CTRL+Shift+ Home

69

Opis radnje Kopiranje trenutno vidljivog programa u druge programe. Dobije se potpuno isti efekat, kao da se u glavnom meniju izabrala opcija File => Print Scrin. Prikaz prozora Add Item dialog box da bi dodali neki ve postoje i element u va projekat. Pristup glavnom meniju programa ( F-File, E-Edit, V-View, P-Project, F-Format, D-Debug, ... , W-Windows, H-Help). Selektovanje svih objekata u trenutno aktivnoj formi. Zatvaranje aktivne aplikacije. tampanje svih djelova dokumenta. Izmjena u kodu nekog objekta Prelazak u novi red za pisanje koda. Brisanje karaktera u kodu, koji se nalazi desno od pokaziva a. Brisanje rije i u kodu, koja se nalazi desno od pokaziva a. Brisanje karaktera u kodu, koji se nalazi lijevo od pokaziva a. Brisanje rije i u kodu, koja se nalazi lijevo od pokaziva a. Kopiranje objekta ili koda. Isijecanje objekta ili koda. Past objekta ili koda (postavljanje iskopiranog dijela). Undo (korak unazad) od zadnje transakcije. Redo (korak unaprijed) od zadnje transakcije. Pomjeranje trenutne transakcije navi e. Pomjeranje trenutne transakcije nadole. Otvaranje prozora Find za pronala enje eljenog objekta. Prikaz prozora Replace za pretragu i zamjenu teksta u kodu. Obilje eni tekst pretvara u mala slova. Obilje eni tekst pretvara u velika slova. Navigacija kroz program Skok na kraj reda koda u kome se trenutno nalazi pokaziva . Skok na prvo slovo zadnjeg reda koda. Skok na po etak reda koda u kome se nalazi pokaziva . Skok na prvo slovo prvog reda koda. Selekcija teksta u kodu od trenutnog polo aja pokaziva a do kraja kodne linije. Selekcija teksta u kodu od trenutnog polo aja pokaziva a do kraja koda. Selekcija teksta u kodu od po etka kodne linije do trenutnog polo aja pokaziva a. Selekcija teksta u kodu od po etka stranice do trenutnog polo aja pokaziva a.

2. UVOD U PROGRAMSKI JEZIK VISUAL BASIC Skra enica SHIFT+Strelica SHIFT+Strelica Page Down/Up Shift+strelica CTRL+Page Down CTRL+Page Up

70

Opis radnje Selekcija teksta u kodu do po etka rije i u lijevu stranu od pokaziva a. Selekcija teksta u kodu do kraja rije i u desnu stranu. Kretanje kroz radnu povr inu programa za veli inu jednog ekrana dole/gore. Kretanje kroz kod programa lijevo/gore/dole/desno.

Kretanje kroz radnu povr inu programa za veli inu jednog ekrana lijevo. Kretanje kroz radnu povr inu programa za veli inu jednog ekrana desno. Tab Pomjeranje teksta koda za par karaktera u desnu stranu. Na formi se koristi za prelazak sa jednog objekta na drugi. Shift +Tab Pomjeranje teksta koda za par karaktera u lijevu stranu. Na formi se koristi za prelazak sa jednog objekta na drugi. Testiranje (Debaging) programa F5 Pokretanje programa. Potpuno isti efekat se dobije ako se u glavnom meniju izabrala opcija Run => Start. Shift + F5 Zaustavljanje izvr enja programa. Potpuno isti efekat se dobije ako se u glavnom meniju izabrala opcija Run => End. CTRL +F5 Pokretanje programa ali bez pronalaska gre aka. F11 Izvr enje programa korak po korak, od jednog do drugog objekta. Dobije se potpuno isti efekat, kao da se u glavnom meniju izabrala opcija Debug => Step InTo. F10 Izvr enje programa korak po korak, od jednog do drugog objekta. Dobije se potpuno isti efekat, kao da se u glavnom meniju izabrala opcija Debug => Step Over. Shift +F11 Izvr enje programa korak po korak, od jednog do drugog objekta. Dobije se potpuno isti efekat, kao da se u glavnom meniju izabrala opcija Debug => Step Out. CTRL+BREAK Zaustavljanje izvr enja programa. F1 Pomo u programu. Kada je neki objekat u programu selektovan i zatim se pritisne tipka F1 otvori e se prozor sa tekstom, u kome je opisana pomo i za taj objekat. F9 Dodavanje odnosno uklanjanje kontrolne ta ke za teku u liniju koda u kojoj se nalazi kursor. CTRL+SHIFT+F9 Uklanjanje svih predhodno postavljenih kontrolnih ta aka u programu. CTRL+F9 Onemogu avanje rada kontrolnoj ta ci.

Programski jezik Visual Basic Zbirka zadataka

71

2.7. PRAVLJENJE PRVOG PROGRAMA U ovom poglavlju opisani su osnovni koraci za kreiranje programa, kroz izradu jednostavnog primjera. Programski jezik Visual Basic se najlak e u i kroz rje avanje prakti nih problema. Kroz ovaj primjer po etnici u radu sa ovim programskim jezikom mogu da uo e veliku jednostavnost i lako u pravljenja programa. Zadatak opisanog primjera je da se korisniku programa omogu i sabiranje, oduzimanje, mno enje i dijeljenje dva realna broja, koji se unose preko tastature. Potrebno je postaviti i komandno dugme pomo u koga se program zavr ava. Osnovni koraci za kreiranje programa u programskom jeziku Visual Basic su: 1) Izbor i postavljanje na radnu povr inu potrebnih objekata za rje avanje postavljenog zadatka. 2) Definisanje osobina svakog postavljenog objekta. 3) Me usobno povezivanje objekata. 4) Testiranje programa. 5) Pravljenje izvr ne verzije programa (Make Digitron1.exe).

2.7.1. Izbor potrebnih objekata za rje avanje postavljenog zadatka Prva i najbitnija faza u procesu pisanja programa je definisanje problema. Preskakanje ove faze zna i sigurno velike probleme u svim narednim fazama koje slijede. U ovoj fazi treba da se uo i problem, odre uje se na in rje avanja, vr i se analiza postoje eg stanja, analiziraju se iskustva u radu sa ovakvim i sli nim zadacima. Kada je izvr ena postavka zadatka, mo e se pristupiti pravljenju algoritma. Zatim je potrebno izvr iti izbor objekata, koji su nam potrebni za rje avanje postavljenog zadatka.

Slika 2.12. Postavljanje potrebnih objekata na radnu povr inu

2. UVOD U PROGRAMSKI JEZIK VISUAL BASIC

72

Za pisanje programa u programskom jeziku Visual Basic, sa kojim elimo da rije imo postavljeni problem, potrebni su nam sljede i objekti: - 2 objekata za unos brojeva (Text Box), - 4 objekta za prikaz izra unate vrijednosti (Text Box), - 6 objekata koji opisuju objekte za unos i prikaz vrijednosti (Label), - 5 komandnih dugmadi za po etak i kraj programa (CommandButton). Svi ovi objekti se biraju iz palete ToolBox i postavljaju na radnu povr inu (Form1) za pravljenje programa, a prikazani su na slici 2.12.

Slika 2.13. Osobine objekta

Slika 2.14. Kod programa

Programski jezik Visual Basic Zbirka zadataka

73

2.7.2. Definisanje osobina objekata Kada se objekti postave na radnu povr inu za pravljenje programa potrebno je izvr iti pode avanje osobina svakog objekta. Na taj na in se objekti prilago avaju njihovoj namjeni, ali se posti e i da program estetski lijepo izgleda. Pode avanje osobina objekata vr i se u prozoru Propertes. Do osobina svakog objekta se dolazi klikom mi a na objekat. Pojavljuje se prozor prikazan na slici 2.13. Svaki objekat u programskom jeziku Visual Basic ima razli ite osobine, pa samim tim i razli ite palete za pode avanje. Preko ovih paleta se naj e pode avaju neke od sljede ih osobina: - ime objekta, - natpis na objektu, - oblik objekta, - font, boja i veli ina slova, - boje pojedinih dijelova objekta, - dimenzije objekta, - veze sa drugim objektima, - vidljivost ili nevidljivost objekta, - dostupnost objekta.

2.7.3. Me usobno povezivanje objekata Kada su objekti postavljeni na radnu povr inu i kada su im postavljene eljene osobine, potrebno je izvr iti povezivanje svih objekata. Objekti se me usobno povezuju pisanjem koda programa. Do prozora za pisanje koda programa dolazi se klikom mi a na bilo koji objekat, koji je postavljen na formu, ili desni klik mi a bilo gdje na radnoj formi i izbor opcije View Code. Izgled prozora za pisanje koda programa, koji omogu uje izvr avanje osnovnih matemati kih operacija, prikazan je na slici 2.14. Na slici 2.15. prikazan je isti prozor za pisanje koda, iznad koga su sada posebno istaknute dvije liste (ComboBox). Lijeva lista daje spisak imena svih objekat, koji postoje na toj radnoj povr ini. U desnoj listi se nude svi mogu i doga aji, koji se mogu programirati nad predhodno selektovanim objektom u lijevoj listi. Pri pisanju koda prvo se bira eljeni objekat, a zatim i doga aj koji se eli programirati nad njim. Izborom odgovaraju eg doga aja klikom mi a u desnoj listi, automatski se pojavljuje procedura doga aja u prostoru za pisanje koda sa imenom doga aja i objekta. Procedura doga aja klik mi a na komandno dugme (Private Sub Sabiranje_Click()) se automatski pojavljuje u kodu i kada se na radnoj povr ini uradi klik mi a na eljeno komandno dugme. Sub je klju na rije , koja zna i da se radi o proceduri. Dok rije Private ozna ava da se radi o lokalnoj proceduri, koja vrijedi samo na trenutno aktivnoj formi.

2. UVOD U PROGRAMSKI JEZIK VISUAL BASIC

74

Za operacije sabiranja, oduzimanja i mno enja kod programa je gotovo identi an. Prvo se vr i deklarisanje tri promjenjive realnog tipa. Zatim slijede dvije kodne linije u kojima se iz objekata TextBox preuzimaju unesene vrijednosti u promjenjive. Zatim slijedi kodna linija u kojoj se izvr ava eljena matemati ka operacija. Zadnja kodna linija u svakoj proceduri je dodjela izra unate vrijednosti u TextBox, koji slu i za prikaz rezultata. Operaciju dijeljenja je malo slo enije isprogramirati u odnosu na predhodne tri operacije. Dijeljenje sa nulom nije dozvoljena operacija u programskim jezicima. Zato se prije operacije dijeljenja mora ispitati da li je broj sa kojim se vr i dijeljenje razli it od nule (y 0). Ovo ispitivanje se vr i preko If Then strukture grananja. Ako je uslov ispunjen vr i se matemati ka operacija dijeljenja. Ako uslov nije ispunjen mora se korisnik programa obavijestiti da se prilikom izvr enja programa pojavila neka gre ka.

Slika 2.15. Lista postoje ih objekata i doga aja nad njima

2.7.4. Testiranje programa i pravljenje izvr ne verzije programa Kada se program napi e, potrebno je prvo uraditi njegovo testiranje. Prilikom testiranja programa otkrivaju se gre ke u pisanju programa. Gre ke mogu da budu sintakti ke i logi ke. Sintakti ke gre ke nastaju prilikom kucanja naredbi u kodu programa. Naj e gre ke su izostavljanje nekog slova ili da se neko slovo otkuca dva puta. Ove gre ke se puno lak e otkrivaju od logi kih gre aka. Logi ke gre ke

Programski jezik Visual Basic Zbirka zadataka

75

nastaju zbog pogre nog rasporeda objekata u programu, tako da program ne mo e da se zavr i do kraja ili se na kraju dobije rezultat, koji nije dobar. Jedan od na ina otklanjanja logi kih gre aka je da se u programu postave kontrolne ta ke, kao na slici 2.16. Kontrolne ta ke se postavljaju klikom mi a lijevo od linije, koja sa lijeve strane ograni ava prostor za kucanje koda programa. Kontrolne take se ozna avaju kao crveni krugovi, a kontrolne kodne linije bi e obojene crvenom bojom. Ponovnim klikom mi a na kontrolnu ta ku, ona se uklanja. Zatim da se program izvr ava postepeno od jedne do druge kontrolne ta ke. Pri tome se provjeravaju vrijednosti promjenljivih dolaskom mi a na pojedine promjenjive. U primjeru sa slike 2.16. to je promjenjiva Y koja ima vrijednost 5.25 (y=5.25). Na ovaj na in se i najlak e dolazi do otkrivanja gre aka, a zatim i ispravljanja gre aka u programu. Kada se program u potpunosti istestira, potrebno je napraviti izvr nu verziju programa preko opcije Make Digitron1.exe u glavnom meniju File. Na ovaj na in se od razvojne verzije programa, koja ima ekstenziju ".vbp", pravi izvr na verzija programa koja ima ekstenziju ".exe". Korisnik bi trebao da radi samo sa izvr nim verzijama programa. Ako korisnik radi sa razvojnom verzijom programa, tada vrlo lako mo e da pokvari program pomjeranjem ili brisanjem samo jednog objekata. Sa druge strane pisac programa titi svoj autorski rad isporu ivanjem korisniku samo izvr ne verzije programa. Na slici 2.17. prikazan je izgled izvr ne verzije ovog programa.

Slika 2.16. Kontrolne ta ke u kodu programa

2. UVOD U PROGRAMSKI JEZIK VISUAL BASIC

Slika 2.17. Izgled izvr ne verzije programa

76

Programski jezik Visual Basic Zbirka zadataka

77

3. TIPOVI PODATAKA Sve komande u ra unaru se izvr avaju u ma inskom jeziku. Ma inski jezik radi samo sa podacima predstavljenim u obliku nizova binarnog alfabeta, odnosno sa nulama i jedinicama. Me utim, za obi nog ovjeka binarni zapis je te ko razumljiv i te ak za izvo enje ak i osnovnih matemati kih operacija. Ljudi su nau eni da rade sa slovima i decimalnim brojevima, sa kojima ve ina lako izvode razne matemati ke operacije. Zato su i nastali vi i programski jezici, gdje se naredbe za komunikaciju sa ra unarem pi u preko slova i brojeva. Skoro svaki program sadr i podatke, a podaci se obi no smje taju u promjenjive. Tako promjenjivu mo emo shvatiti kao kontejner za vrijednosti, koje mogu da se mijenaju tokom izvr avanja programa. Uvijek treba da se trudite da promjenjivim u programu date smislena imena, to e program u initi itljivijim i razumljivijim. To je posebno va no kod velikih i kompleksnih programa. Pravila za davanje imena promjenjivim u Visual Basic-u su: - Ime promjenjive mora initi jedna rije . - Ime promjenjive mora po eti slovom (A - Z, velika i/ili mala). Iza prvog slova mo e da slijedi niz slova (A-Z, velika i/ili mala), cifre (0 - 9) i znak “donja povlaka” ( _ ). - Specijalna slova kao to su ? - + * / \ ! @ # $ % ^ ( ) [ ] , ; : . ne smiju se koristiti u imenu promjenjive. - Ime promjenjive ne smije da bude neka od slu benih rije i Visual Basic-a, kao to su re i Then, For, Public, itd. Sljede a konvencija nije obavezuju a, ve predstavlja preporuku kako treba davati imena promjenjivim: - Ime promjenjive treba da bude sa zna enjem koje opisuje promjenjivu, a najbolje je da bude neka imenica. - Kod imenovanja uobi ajeno je ozna avanje gde je prvo slovo u imenu veliko a sva ostala mala. - Ime promjenjive po eljno je da ima vi e od jednog slova. Da bi se olak alo programiranje i kontrolisala upotreba memorije ra unara uvedeni su tipovi podataka. Tip podataka je skup vrijednosti, koje imaju izvjesne zajedni ke karakteristike prilikom izvr avanja programa. Najzna ajnija od ovih karakteristika je skup operacija, koje su definisane nad vrijednostima tog tipa. Za svaki tip podataka su definisane odre ene operacije, ali i gotove funkcije u svakom programskom jeziku. Kapacitet RAM memorije ra unara je uvijek bio jedan od glavnih ograni avaju ih faktora, za brzinu rada ra unara. Razli iti tipovi podataka zauzimaju i razli it kapacitet memorije, pa zato pravilan izbor tipova podataka u programu mo e zna ajno da ubrza ili uspori rad ra unara. Ovo posebno dolazi do izra aja kod pisanja programa, koji imaju veliki broj promjenljivih.

78

3. TIPOVI PODATAKA

Osnovni tipovi i strukture podataka se mogu se podijeliti na: - stati ki skalarni tipovi (elementarni podaci koji su skalari), - stati ki struktuirani tipovi, - dinami ki tipovi sa promjenljivom veli inom, - dinami ki tipovi sa promjenljivom strukturom. Pod stati kim tipovima podataka7 (ili tipovima sa stati kom strukturom) podrazumijevamo tipove, kod kojih je unaprijed fiksno definisana unutra nja struktura svakog podatka. Veli ina podataka (koliko memorije zauzima) se fiksno defini e prije (ili u vrijeme) izvr enja programa, koji koristi podatke stati kog tipa. Stati ki tipovi podataka obuhvataju skalarne i struktuirane podatke. Pod skalarnim tipovima podrazumijevamo najprostije tipove podataka ije su vrijednosti skalari, odnosno takve veli ine koje se tretiraju kao elementarne cjeline i za koje nema potrebe da se dalje razla u na prostije komponente. Osnovni skalarni tipovi podataka koji postoje u Visual Basic-u dati su u tabeli 3.1. Tabela 3.1. Tipovi podataka Red. br. 1. 2. 3. 4. 5. 6.

Naziv tipa Boolean Integer Long Single Double Decimal

Skra eni naziv

7. 8. 9. 10.

String Currency Date Variant

$ @

% & ! #

Vrsta podatka

Vrijednosti

Logi ka vrijednost Cijeli brojevi Cijeli brojevi Realni brojevi Realni brojevi Realni brojevi

True ili False (1 bit) -32768 do 32767 sa 16 bita -2147483648 do 2147483647 sa 32 bita ±3.40282347E±38 sa 32-bita ±1.7976931348623157E308 sa 64 bita +/-7.9228162514264337593543950335 sa 112 bita 1 do 65400 znakova ±922 337 203 685 477,5808 sa 64 bita Realni broj sa 64 bita Proizvoljna

Karakteri Realni brojevi Datum i vrijeme Svi tipovi

Pod struktuiranim tipovima podataka podrazumijevamo sve slo ene tipove podataka, koji se realizuju povezivanjem nekih elementarnih podataka u precizno definisanu strukturu. U ulozi elementarnih podataka obi no se pojavljuju skalari. Primjer struktuiranog tipa podataka je zapis (eng. Record). Na primjer zapis student mo e da se sastoji od polja: broj indeksa (tip Integer), ime i prezime (tip String), datum ro enja (tip Date), godina studija (tip Integer) i smjer (tip String). Skalarni tipovi podataka mogu biti linearno ure eni ili linearno neure eni. Linearno ure eni tipovi podataka su tipovi kod kojih se vrijednosti osnovnog skupa preslikavaju na jedan interval iz niza cijelih brojeva. Tada se za svaki podatak zna redni broj podatka. Stoga svaki podatak izuzev po etnog ima svog predhodnika u nizu, odnosno svaki podatak ima svog slijedbenika izuzev krajnjeg. 7

Dr Jozo J. Dujmovi , Programski jezici i metode programiranja, Akademska misao, Beograd, 2003, str 2.3.

Programski jezik Visual Basic Zbirka zadataka

79

Pod dinami kim tipovima podataka podrazumijevamo tipove podataka, kod kojih se veli ina i/ili struktura podataka slobodno mijenja u toku obrade. Kod dinami kih tipova sa promjenljivom veli inom podrazumijevamo da je struktura podataka fiksna, ali se njihova veli ina dinami ki mijenja tokom obrade. Saglasno tome se dinami ki mijenjaju i memorijski zahtjevi. Primjer dinami kog tipa podataka je niz (eng. Array), koji mo e da ima promjenljiv broj elemenata, ali svi njegovi elementi moraju biti istog tipa. Kod dinami kih tipova sa promjenljivom strukturom unaprijed je fiksno definisan jedino princip po kome se formira struktura podataka, dok se sama konkretna struktura i koli ina podataka u memoriji slobodno dinami ki mijenjaju. Sve promjenljive koje e se koristiti u programu, prije njihove upotrebe moraju se eksplicitno definisati i specificirati tip, osim za univerzalni tip podataka variant. Definisanje tipa promjenjive ima sljede u sintaksu Public [Dim] ImePromjenjive As TipPodatka ili Public [Dim] ImePromjenjive (Indeks) Skra eni naziv Obavezna rije Public upotrebljava se kada se promjenjiva defini e u okviru standardnog modula i dostupna je svim procedurama u programu. Klju na rije Dim pi e se onda kada se promjenjiva primjenjuje samo u procedurama u kojima je i definisana. Dim A1 As Integer Public A2 As Double

ili Dim A1% ili Public A2#

3.1. LOGI KE PROMJENJIVE (BOOLEAN) Logi ke promjenjive (eng. Boolean) predstavljaju najjednostavnije promjenjive. One zauzimaju i najmanje memorijskog prostora prilikom pokretanja programa. Standarni identifikatori true i false ozna avaju dvije mogu e logi ke vrijednosti: istina (1) i la (0). Odnosno u elektrotehnici to su dva stanja uklju eno (On) ili isklju eno (Off). Primjenom relacionih operatora =, >, =, 5) Or BB Or A>5) And B5) And (A prikazuje sve velikim slovima AA = Format ("Ilija Rosic", ">@@@@@@@@@@") ; daje "ILIJA ROSIC".

3. TIPOVI PODATAKA

86

- prikaz broja sa odre enim brojem decimalnih mjesta AA = Format(5459.4, "##,##0.00") ; daje "5,459.40". AA = Format(334.9, "###0.00") ; daje "334.90". - prikaz broja kao procentualna vrijednost (mno enje sa 100 i dodavanje znaka %) AA = Format(5.12, "0.00%") ; daje "512.00%". AA = Format(0.085, "0.00%") ; daje "8.50%". - prikaz broja sa nov anom jedinicom AA = Format(6.268, "0.00 KM") ; daje "6.27 KM". AA = Format(12468.268, "$#,##0.00") ; daje "$12,468.27". - prikaz vrijednosti vremena i datuma AA = Format(Time, "Long Time") ; daje trenutno sistemsko vrijeme AA = Format(#17:04:23#, "h:m:s") ; daje "17:4:23". AA = Format(#17:04:23#,, "hh:mm:ss AMPM") ; daje "05:04:23 PM". AA = Format(#January 28, 2003#, "dddd, mmm d yyyy") ; daje "Wednesday, ' Jan 28 2003". 3.5. NOV ANE VRIJEDNOSTI (CURRENCY) Nov ani tip podataka (eng. Currency) predstavlja podskup skupa realnih brojeva sa 4 zna ajna decimalna mjesta. Currency je 64-bitno predstavljanje brojeva u rasponu (±922 337 203 685 477,5808). Definicija sadr i broj, koji govori sa koliko bita se predstavlja taj decimalni broj u binarnom obliku, to automatski odre uje minimalni (po etni) i maksimalni (krajnji) broj, koji ovaj tip podatka mo e da uzme. 3.6. DATUM (DATE) Datum (eng. Date) tip podataka se koristi za prikaz datuma i vremena u raznim formatima. Ovaj tip podataka u su tini predstavlja realni broj, koji se predstavlja sa 64 bita. Ovaj realni broj predstavlja broj proteklih sekundi od 1. januara 1900. godine poslije Hrista, prema UTC (Universal Coordinated Time) vremenu. UTC vrijeme predstavlja korekciju lokalne vremenske zone, koja je pode ena na ra unaru (Control Panel => Date and Time => Time Zone => (GMT +01:00) Belgrade, Ljubljana), u odnosu na GMT (Greenwich Mean Time) vrijeme. U na oj zemlji UTC vrijeme iznosi +1 sat, jer na a vremenska zona prednja i u odnosu na Greenwich kod Londona za jedan sat. Manje vremenske jedinice od dana (sati, minute i sekunde) predstavljaju decimalni dio realnog broja.

Programski jezik Visual Basic Zbirka zadataka

87

Na primjer, - 1 sat iznosi 1/24 dijela dana, odnosno = 0,04166666667. - 3 sata iznosi 3/24 dijela dana, odnosno = 0,125. - 1 minuta iznosi 1/(24*60) dijela dana, odnosno = 0,00069444444. - 1 sekunda iznosi 1/(24*60*60) dijela dana, odnosno = 0,000015741. Vremenu 5 sati, 25 minuta i 35 sekundi, na dan 21. 07. 2002. godine pridru uje se broj 37458, 226099537. Programski jezik Visual Basic ima gotove funkcije, koje omogu uju razne operacije sa datumom i vremenom. Neke od tih funkcija su: 1) now() - uzima sistemsko vrijeme sa ra unara, a na svom izlazu daje realni broj u formatu Real64. Dobijeni realni broj predstavlja broj sekundi od 1. januara 1900. godine, do trenutka aktiviranja ove funkcije u programu. 2) DateValue(string) - koja uzima string i od njega pravi datum. [DateValue("7/21/02 5: 25:35 PM"), daje #7/21/02# ] 3) TimeValue(string) - koja uzima string i od njega pravi vrijeme. [DateValue("7/21/02 5: 25:35 PM"), daje #5:25:35 PM#] 4) CDate(broj) - od realnog broja pravi datum. [CDate (37458.22610) = #7/21/02 5:25:35 AM#] 5) Day(Datum) - daje broj dana u trenutnom mjesecu, kada je ulazna vrijednost u ovu funkciju datum. Opseg vrijednosti izlaza ove funkcije je od 1 do 31. 6) Month(Datum) - daje broj mjeseca u trenutnoj godini. Opseg vrijednosti izlaza ove funkcije je od 1 do 12. 7) Year(Datum) - daje broj godina u trenutnom datumu. 8) Hour(Datum) - izdvaja dio datuma koji sadr i sat. 9) Minute(Datum) - izdvaja dio datuma koji sadr i minute. 10) Second(Datum) - izdvaja dio datuma koji sadr i sekunde. 11) DateSerial(d,m,y) - formira datum od 3 ulazna parametra. Parametar d je dan u mjesecu. Parametar m je mjesec u godini. Parametar y je godina. 12) TimeSerial(h,m,s) - formira vrijeme od 3 ulazna parametra. Parametar h je broj sati. Parametar m je broj minuta. Parametar s je broj sekundi. 13) DateDiff ("Tip jedinice", Datum1, Datum2) - daje broj vremenskih jedinica izme u dva datuma. Gdje je "Tip jedinice" predstavljen u obliku stringa koji simboli ki prikazuje vremensku jedinicu (godinu, mjesec, dan, sat, minut, sekund). Vremenske jedinice baziraju se na razlici izme u dva datuma Datum2 - Datum1. Primjer: tekst1 = DateSerial(2000, 2, 12) tekst2 = DateSerial(2003, 1, 28) Text1.Text = DateDiff("d", tekst1, tekst2), daje rezultat 1081 dana. Text2.Text = DateDiff("h", tekst1, tekst2), daje rezultat 25944 sati. Text3.Text = DateDiff("m", tekst1, tekst2), daje rezultat 35 mjeseci.

3. TIPOVI PODATAKA

88

3.7. NEODRE ENI TIP (VARIANT) Variant je neodre eni tip podataka, koji postoji u programskom jeziku Visual Basic, a vezan je za deklaraciju globalnih i lokalnih promjenljivih. Kada se neka promjenljiva deklari e kao varijant, to zna i da ona mo e da poprimi bilo koji do sada opisani tip podatka. Promjenjva se prilago ava onom tipu podatka, koji do e na njen ulaz. Me utim, ne treba pretjerivati sa kori enjem ove promjenljive, pogotovo, kada smo sigurni da je promjenljiva ta no poznatog tipa podataka. Razlog le i u injenici to ovaj tip promjenljive zauzima najvi e memorije od svih ostalih tipova podataka, a to je 128-bitno predstavljanje brojeva. Ovaj tip podatka se posebno koristi kod deklarisanja promjenljivih, koje se koriste za povezivanje sa drugim programima instalisanim na ra unaru. 3.8. STATI KI NIZOVNI TIP (ARRAY) Stati ki nizovi slu e za realizaciju jednoindeksnih i vi eindeksnih nizova. Skup S iz grupe srodnih elemenata naziva se niz. Srodni elementi su, uglavnom, oni elementi koji posjeduju neku zajedni ku osobinu. Elementi niza mogu biti i objekti, koji pripadaju jednoj formi i kojima se indeksi dodjeljuju redoslijedom njihovog postavljanja na formu. Svaki element niza ima svoj indeks iz skupa prirodnih brojeva N0 (0,1,2,...). Dakle, niz obrazuju elementi S = f(n), gdje se brojevi n nazivaju indeksi niza. Nizovi su nastali radi smanjenja op irnih programa. Nizovi nastoje da grupno opi u istorodne podatke, tj. da im se zajedni ke osobine istaknu samo jednom. Na taj na in se izbjegava posebno opisivanje svakog podatka. U tom slu aju cijeloj grupi podataka (nizu) daje se zajedni ko ime. Da bi se mogla izvr iti obrada i pristup podacima iz grupe, potrebno je prethodno izvr iti deklaraciju niza, odnosno navesti ukupan broj lanova niza i identifikatore (indekse) pojedinih podataka. Prema tome, deklaracija niza promjenljivih sastoji se od: imena, broja elemenata i tipa podatka i ima formu Public [Dim] ImeNiza (Indeks) As TipPodatka Obavezna rije Public upotrebljava se kada se niz defini e u okviru standardnog modula i dostupan je svim procedurama u programu. Klju na rije Dim pi e se samo onda kada se niz primjenjuje u procedurama u kojima je i definisan. Za ime niza obi no se uzima rije ili skup rije i (pi u se sastavljeno), koje asociraju na vrijednosti koje niz mo e da ima. Broj promjenljivih (Indeks) ili dimenzija niza je, u stvari, indeks posljednjeg lana niza. Budu i da je indeks prvog lana niza 0, ako se druga ije ne defini e, to zna i da je ukupan broj lanova niza za jedan ve i od indeksa posljednjeg lana slika 3.1. Dim Niz1(14) As Integer ' 15 elemenata. Dim Niz2(21) As Double ' 22 elemenata.

Programski jezik Visual Basic Zbirka zadataka

89

Slika 3.1. Jednoindeksni niz Me utim, u brojnim prakti nim primjerima postoji potreba da prvi indeks niza bude broj 1, pa je tada ukupan broj promjenljivih identi an indeksu posljednjeg lana niza. Dim Niz3(1 to 20) As Single ' 20 elemenata. Tip niza odre uje se pomo u simbola ili pomo u propisane rije i, onako kako je to opisano u tabeli 3.1., a zavisno od vrste podataka, koji e biti locirani u memorijske promjenljive. U slu aju da ne postoji saznanje o tipu podatka ili da promjenljive mogu da poprimaju podatke razli itih tipova, tada se za format tipa podatka uzima opcija As Variant. Radi br eg rada i efikasnijeg kori enja memorijskog prostora, svrsishodnije je da se dodijeli stvarni tip promjenljivim iz niza, naravno, ako je to mogu e. Nizovi mogu da budu stati ki (konstantni ili fiksni), ako je broj njihovih elemenata unaprijed poznat i dinami ki (varijabilni), ako se njihova dimenzije naknadno odre uje. Me utim, prilikom odre ivanja statisti kih funkcija, kao na primjer, odre ivanje srednje vrijednosti ili standardne devijacije za bilo koji uzorak slu ajnih promjenljivih (primjer - statisti ke funkcije), broj promjenljivih nije unaprijed poznat, nego tek onda kada se pristupi izra unavanju konkretnog uzorka. Tada se u standardnom modulu niz defini e na sljede i na in Public Promjenljiva1 () As Variant Zagrade, bez navedenog sadr aja, imaju ulogu da ozna e da je niz dinami ke prirode i da e njegova du ina, odnosno broj elemenata, biti naknadno odre eni. Podaci koji pripadaju promjenljivim, u okviru jednog niza, memori u se u susjedne lokacije memorijskog prostora. Za vrijeme izvr avanja programa elementi niza nalaze se u sistemskoj memoriji (RAM-u). Zbog tog razloga, prilikom rada sa nizovima, ne treba uzimati nizove sa ekstremno velikim brojem elemenata, jer mo e do i do prezasi enja sistemske memorije i samim tim do usporavanja rada ra unara. Osnovna prednost u radu sa nizovima sastoji se u efikasnosti izvr avanja programa i u preglednosti izrade programskog koda. Promjenljive deklarisane kao niz mogu se obra ivati grupno, obi no uz upotrebu petlji: For... Next i Do While (Until)... Loop. Dakle, umjesto da se naredbe navode pojedina no za obradu svake memorijske promjenljive, one se pisu samo jednom uz varijaciju indeksa i odnose se na sve promjenljive. Na in rada sa nizovima mo e se sagledati na primjeru unosa i prikaza niza slu ajnih brojeva upotrebom petlje For... Next.

3. TIPOVI PODATAKA

90

Dim i As Integer ' Promjenjiva za brojanje. Dim Niz1(8) As Single For i = 0 To 8 Niz1(i) = 10*Rnd Next i

Slika 3.2. Dvoindeksni niz

Slika 3.3. Troindeksni niz

U programiranju pored jednoindeksnih postoje i vi eindeksni nizovi. Naj e kori eni vi eindeksni nizovi su dvoindeksni nizovi, ija je struktura prikazana na slici 3.2. Dvoindeksni niz je najlak e shvatiti, kao dvodimenzionu matricu (tabelu) T2(i, j), koja se sastoji se od i- redova i j - kolona. Dvoindeksni niz se obi no popunjava pomo u dvije For petlje. Jedna For petla (spoljna) se koristi za promjenu redova tabele (i), a druga For petlja (unutra nja) za promjenu kolona tabele (j). Ukupan broj ciklusa izvr enja ove dvije For petlje se dobije, kao umno ak broja ciklusa spoljne i broja ciklusa unutra nje petlje. Deklaracija dvodimenzionog niza se mo e vr iti na sljede i na in Dim Dim Dim Dim

Niz1(4,6) Niz2(1 To Niz3(2, 1 Niz4(1 To

As 3, To 3,

Integer ' 35=5*7 elemenata. 4) As Double ' 15=3*5 elemenata. 4) As Double ' 12=3*4 elemenata. 1 To 5) As Double ' 15=3*5 elemenata.

Na in popunjavanja dvoindeksnog niza upotrebom dvije petlje For... Next, dat je u sljede em primjeru. Dim i, j As Integer ' Promjenjive za brojanje. Dim Niz2(2,3) As Integer For i = 0 To 2 ' Spoljna petlja za redove For j = 0 To 3 ' Unutrasnja petlja za kolone Niz2(i, j) = i * 10 + j Next J Next I

Programski jezik Visual Basic Zbirka zadataka

91

Struktura troindeksnog niza prikazana je na slici 3.3. Troindeksni niz je najlak e shvatiti, kao trodimenzionu matricu (koja ima obik kocke) T(i, j, k), koja se sastoji se od i- redova, j - kolona i k- dubina matrice. Troindeksni niz se obi no popunjava pomo u tri For petlje. Jedna For petla (spoljna) se koristi za promjenu redova tabele (i), druga For petlja (unutra nja) za promjenu kolona tabele (j) i tre a For petlja (unutra nja) za promjenu dubine kocke (k). Ukupan broj ciklusa izvr enja ove tri For petlje se dobije, kao umno ak broja ciklusa sve tri petlje. Deklaracija trodimenzionog niza se mo e vr iti na sljede i na in Dim Dim Dim Dim

Niz1(4,5,2) As Integer ' 90=5*6*3 elemenata. Niz2(1 To 3, 4,5) As Double ' 90=3*5*6 elemenata. Niz3(4, 1 To 4,2) As Double ' 60=5*4*3 elemenata. Niz4(1 To 3, 1 To 4,3) As Double '48=3*4*4 element.

Na in popunjavanja troindeksnog niza upotrebom tri petlje For... Next, dat je u sljede em primjeru. Dim i, j, k As Integer ' Promjenjive za brojanje. Dim Niz3(2,3,1) As Integer For i = 0 To 2 ' Spoljna petlja za redove For j = 0 To 3 ' Unutrasnja petlja za kolone For k = 0 To 1 ' Unutrasnja petlja za dubinu Niz3(i, j, k) = i * 10 + j + k Next k Next j Next i Va no je napomenuti da prilikom rada sa nizovima nije neophodno da se popune svi elementi niza. Zbog toga je prilikom deklaracije nizova po eljno da se ostavi nekoliko elemenata u rezervi, kako bi se niz naknadno mogao pro irivati.

3. TIPOVI PODATAKA

92

Programski jezik Visual Basic Zbirka zadataka

93

4. NAREDBE SELEKCIJE I ITERACIJE Skup naredbi ije se izvr avanje odvija u onom redoslijedu u kome su i navedene naziva se sekvencija. U programima se pojavljuju i ta ke grananja, odnosno mjesta u kojima se vr i izbor odgovaraju e odluke, poslije kojih izvr avanje programa je mogu e nastaviti u raznim smjerovima, zavisno od postavljenih uslova. Postupak izbora jednog od mogu ih smjerova naziva se selekcija. U programu sekvencija ini jednu logi ku cjelinu. U praksi se esto javlja potreba da se jedan sekvencija naredbi izvr i vise puta. Vi estruko izvr avanje jedne sekvencije naziva se iteracija (ponavljanje). 4.1. NAREDBE SELEKCIJE Programski jezik Visual Basic ima dvije osnovne strukture selekcije. To su strukture: - If Then Else i - Case. Bilo koji problem grananja u programu se mo e rije iti preko ove dvije strukture. Koja e se struktura izabrati zavisi prvenstveno od broja grananja u konkretnom problemu. Kada postoji jedno do tri grananja naj e se koristi struktura If Then Else. Me utim, kada postoji vi e od tri grananja naj e se koristi struktura Case.

4.1.1. If Then Else struktura If Then Else predstavlja struktura grananja, koja se koristi u skoro svim programskim jezicima. Standardni dijagram ove strukte prikazan je na slici 4.1., a struktuirani na slici 4.2. Osnovu ovog grananja ini logi ki uslov. Ako je ovaj logi ki uslov zadovoljen (Da-True) izvr ava se jedna naredba (ili blok naredbi). Ako ovaj logi ki uslov nije zadovoljen (Ne-False) izvr ava se druga naredba (ili blok naredbi). Postoji vi e verzija ove strukture grananja. Prva verzija ove strukture je samao If Then struktura jednostrukog izbora, a njena sintaksa je If uslov1 Then naredba1 pri emu je: - uslov1 - uslov iskazan preko logi kih operatora =, >, , >=, 0 Then Rezultat = Brojilac/Imenilac U slu aju da uslov nije zadovoljen (Imenilac = 0) navedena naredba bi e ignorisana (presko ena) i po e izvr avanje sljede eg programskog reda. Druga verzija ove strukture je If ... Then ... End If struktura, a njena sintaksa je If uslov1 Then Blok1 End If pri emu je: - uslov1 - uslov iskazan preko logi kih operatora =, >, , >=, 0 Then Rezultat = Brojilac/Imenilac End If Blok1 obi no ima vi e od jedne naredbe. Slijedi kod programa za primjer 4.1. gdje se unos podataka vr i preko dva tekst boksa (Text1 i Text2). Rezultat se prikazuje u tre em tekst boksu (Text3). U ovom primjeru programa Blok1 ima dvije kodne linije i u ovom slu aju se nebi mogla upotrijebiti If Then struktura.

Programski jezik Visual Basic Zbirka zadataka

95

Brojilac = Text1 Imenilac = Text2 If Imenilac < >0 Then Rezultat = Brojilac/Imenilac Text3.Text = Rezultat End If U jednom programu mo e postojati vi e struktura grananja, pa je tada puno prakti nija ova druga varijanta grananja (If ... Then ... End If), u odnosu na prvu varijantu (If ... Then ), jer se lako uo ava kraj svake strukture grananja End If. Slijedi primjer koda programa, koji ima vi e struktura grananja, ali gdje je te ko uo iti gdje po injinju, a gdje zavr avaju strukture grananja. If A > 0 Then B = 5 If A = 0 Then B = A C = B + 1 End If If A < 0 Then C = 2 If C = 4 Then B = A - 1 A = C + 3 End If Tre a verzija ove strukture je If ... Then ... Else ... End If struktura. Ovo je struktura dvojnog izbora, gdje postoji mogu nost izvr avanja samo jedne od dvije naredbe (bloka naredbi), zavisno od uslova koji je postavljen. Sintaksa ove strukture je If uslov1 Then Blok1 Else Blok2 End If pri emu se Blok1 naredbi izvr ava samo ako je uslov1 ispunjen, a ako uslov1 nije ispunjen tada se izvr ava Blok2 naredbi. Primjer 4.2. Izra unavanje modula nekog broja X. Kod ovog programa bi izgledao: If X >= 0 Then Rezultat = X Else Rezultat = -X End If

4. NAREDBE SELEKCIJE I ITERACIJE

96

etvrta verzija ove strukture je If ... Then ... ElseIf ... Else ... End If struktura, a njena sintaksa je If uslov1 Then Blok1 ElseIf uslov2 Blok2 ElseIf uslov3 Blok3

. . . Else Blok4 ' naredbe koje se izvr avaju ako nije ispunjen nijedan prethodni uslov End If Pri emu se Blok1 naredbi izvr ava, samo ako je uslov1 ispunjen. Ako uslov1 nije ispunjen, tada se provjerava da li je ispunjen uslov2 i ako je on uspunjen izvr ava se Blok2 naredbi. Ako ni uslov2 nije ispunjen, tada se provjerava da li je ispunjen uslov3 i ako je on uspunjen izvr ava se Blok3 naredbi. Me utim, ako nije ispunjen ni jedan od postavljenih uslova u ElseIf strukturama, tada se izvr ava Blok4 naredbi koji se nalazi u strukturi Else. Broj ElseIf blokova (odnosno uslova) u jednoj IF Then strukturi nije ograni en i zavisi samo od broja uslova, koje je potrebno postaviti u programu da bi se rije io postavljeni problem. Primjer 4.3. Neka se uz pomo programa vr i ocjenjivanje u enika na testu, gdje je u enik mogao osvojiti najvi e 100 bodova. Ocjene se daju po sljede em principu: do 45 bodova ocjena je jedan, od 46 do 55 bodova ocjena je dva, od 56 do 70 bodova ocjena je tri, od 71 do 85 bodova ocjena je etiri, a za 86 i vi e bodova dobija se ocjena pet. Kod ovog programa za ocjenjivanje u enika bi izgledao: If Bod New Project—> StandardExe), u glavnom meniju Visual Basic-a, potrebno je izabrati Project —> References, a zatim ekirati opciju Microsoft DAO Object 3.51. ili Microsoft DAO 3.6 Object Library. Ovim se omogu ava rad sa bazama podataka preko DAO modela u otvorenom projektu. Poslije toga otpo inje pisanje koda, tako to se prvo defini u objekti, promjenljive i konstante. Dim dbFpe As Database Ovim se samo defini e objekat dbFpe kao Database, to zna i da taj objekt mo e da prihvati rad samo sa bazom podataka. Da bi se objektu dbFpe dodijelila neka konkretna vrijednost (baza podataka) treba napisati sljede e: Set dbFpe = Opendatabase (strPutBaze) gdje je strPutBaze string promjenljiva, koja ozna ava putanju baze podataka na disku ra unara (na primjer strPutBaz = "D:/Mirko/Fpe.mdb"). Naravno, prethodno je potrebno definisati strPutBaz kao string promjenljivu Dim strPutBaz As String ili se jednostavno mo e napisati (direktno definisanje putanje): Set dbFpe = OpenDatabase ("D:/Mirko/Fpe.mdb") bez uvo enja string promjenljive. Na taj na in objekat dbFpe sada, u stvari, predstavlja bazu podataka Fpe.mdb.

8 PRIMJERI VISUAL BASIC PROGRAMA

210

Umjesto direktnog na ina definisanja putanje mo e se uraditi i apsolutno definisanje putanje. Tada je potrebno da baza podataka i program u kome se radi sa tom bazom budu na istom direktorijumu. Set dbFpe = OpenDatabase (App.Path & "\Fpe.mdb") ili Set dbFpe = DBEngine.Workspaces(0).OpenDatabase _ (App.Path & "\Fpe.mdb") Po to se baza podataka sastoji iz vi e tabela, treba definisati objekat, kojem e biti dodijeljena neka od tabela. Na primjer: Dim rsRadnik As Recordset Ovim se rsRadnik defini e kao objekat Recordset i ovom objektu se dodjeljuje neka konkretna vrijednost, tj. neka od tabela iz baze Fpe.mdb na sljede i na in: Set rsRadnik = dbBanke.OpenRecordset("Radnik", dbOpenDynaset)

Objekat rsRadnik sada predstavlja tabelu Radnik iz baze podataka Fpe.mdb. U ovaj objekat, odnosno tabelu mogu e je kako upisivati tako i itati podatke. To je odre eno prilikom kreiranja objekta rsRadnik sa osobinom dbOpenDynaset, koja omogu ava upis i itanje podataka iz tabele. Pored ove osobine postoji jo opcija dbOpenSnapshot, koja omogu ava itanje podataka iz tabele, ali ne i njihovo a uriranje, kao i neke druge manje bitne osobine. Upisivanje podataka u tabelu Radnik vr i se preko objekta rsRadnik, jer je on definisan tako da predstavlja tu tabelu, na sljede i na in: rsRadnik. AddNew rsRadnik.lme = "Stefan" rsRadnik.Prezime = "Covic" rsRadnik.GodinaR = 1989 rsRadnik.Update ili kra e With rsRadnik .AddNew .Ime = "Stefan" .Prezime = "Covic" .GodinaR = 1989 .Update End With Naravno podrazumijeva se da se u tabeli Radnik nalaze kolone Ime, Prezime i GodinaR, tj. da su prethodno kreirane u nekom od programa za pravljenje baza podataka i da su definisane kao string. Pomo u naredbe .AddNew u tabeli Radnik dodaje se novi red, a zatim se u kolone tabele Ime, Prezime i GodinaR, unose

Programski jezik Visual Basic Zbirka zadataka

211

vrijednosti. Da bi novoupisani podaci u tabelu bili snimljeni (spa eni), primjenjuje se naredba .Update. Ukoliko elimo da izmijenimo podatke, koji ve postoje u bazi podataka, koristi se naredba Edit. Na primjer: With rsRadnik.Edit .Ime = "Mihailo" .GodinaR = 1971 .Update End With Ako je potrebno izbrisati odre eni red u tabeli Radnik, prvo se sa naredbom MoveFirst pomjeri pokaziva u tabeli na prvi red. Zatim se naredbom FindFirst prona e eljeni red. Nakon toga se naredbom Delete vr i brisanje reda. Na primjer: With rsRadnik .MoveFirst .FindFirst "GodinaR = .Delete End With

1938 "

ili rsRadnik.MoveFirst rsRadnik.FindFirst "GodinaR = '1938' " rsRadnik.Delete Pretra ivanje unutar tabele mo e biti • FindFirst - pronala enje prvog podatka po kome se radi pretraga, • FindLast - pronala enje zadnjeg podatka po kome se radi pretraga, • FindNext - pronala enje narednog podatka po kome se radi pretraga, • FindPrevious - pronala enje prethodnog podatka po kome se radi pretraga, • EOF- pretra ivanje do zadnjeg reda u tabeli. Kriterijum pretrage mo e biti jednostavan Dim Uslov1, Uslov2 As String Uslov1 = "Ime = 'Stefan'" ' postavi uslov. rsRadnik.FindFirst Uslov1 ili slo en uz upotrebu operatora: =, >, New Project—> StandardExe), u glavnom meniju Visual Basic-a, potrebno je izabrati Project —> References, a zatim ekirati opciju Microsoft Excel 5.0 Object Library ili Microsoft Excel 11.0 Object Library. Ovim se omogu ava rad sa Excel dokumentima iz Visual Basic-a. Poslije toga otpo inje pisanje koda, tako to se prvo defini u objekti, promjenljive i konstante. Slijedi dio koda programa koji otvara Excel dokument pod nazivom "MokraM.xls", koji ima dvije stranice sa nazivima "Stranica1" i "Sranica2". Pokaza emo kako se u Excel mogu upisivati podaci, odnosno iz Excel-a mogu preuzimati podaci. Prvo je predstavljen dio koda napisanog u Modul-u, gdje su deklarisane globalne (javne) promjenjive. Public appMokraM As Excel.Application Rem promjenjiva za povezivanje sa Excel programom Public wbMokraM As Excel.Workbook Rem promjenjiva za povezivanje sa Excel radnom knjigom Public AA As Double Public HHMAX As Integer Public q(52) As Single Slijedi kod koji predstavlja globalnu proceduru napisanu u modulu, pomo u koje se iz Visual Basic-a otvara Excel program. Sub Setup() Set appMokraM = GetObject(, "Excel.Application") Rem Gledanje otvorenog Excel dokumenta If Err.Number 0 Then Ako Excel nije pokrenut Set appMokraM = CreateObject("Excel.Application") Rem Pokrenuti Excel End If Set wbMokraM = appMokraM.Workbooks.Open_ (App.Path & "\MokraM.xls") End Sub Slijedi kod koji predstavlja globalnu proceduru napisanu u modulu, pomo u koje se iz Visual Basic-a zatvara predhodno otvoreni Excel program. Sub CleanUp() Zatvaranje Excel dokumenta wbMokraM.Application.Quit Set appMokraM = Nothing Set wbMokraM = Nothing End Sub

8 PRIMJERI VISUAL BASIC PROGRAMA

222

Slijedi kod koji predstavlja lokalnu proceduru koja se aktivira klikom mi a na komandno dugme Command1. U njoj je opisan postupak pristupa stranicama "Stranica1" i "Stranica2" Excel dokumenta "MokraM.xls". Private Sub Command1_Click() Dim shtStranica1, shtStranica2 As Excel.Worksheet Rem dvije promjenjive za povezivanje sa stranicama Dim rngList1, rngList2 As Excel.Range Rem dvije promjenjive za pristup

elijama na stranicama

Setup ' Poziv globalne procedure za otvaranje Excela. Forma1.Visible = False Zatvaranje otvorene forme wbMokraM.Application.Visible = True Rem Da Excel program bude vidljiv Set shtStranica1 = wbMokraM.Sheets("Stranica1") Rem Definisanje Excel lista Stranica1 Set shtStranica2 = wbMokraM.Sheets("Stranica2") Rem Definisanje Excel lista Stranica2 Set rngList1 = shtStranica1.Rows(1) Rem Promjenjiva za list Stranica1 Set rngList2 = shtStranica2.Rows(1) Rem Promjenjiva za list Stranica2 rngList1.Cells(7, 2) = "Adresa" rngList1.Cells(9, 2) = "Datum" Rem upis podataka u list Stranica1 AA=Text1.Text rngList2.Cells(10 + AA, 5) = VSTVARNO Rem upis podataka u list Stranica2 BB=rngList1.Cells(10, 2) Rem upis u promjenjivu BB iz lista Stranica1 Set shtStranica1 = Nothing Set shtStranica2 = Nothing Set rngList1 = Nothing Set rngList2 = Nothing End Sub Slijedi kod koji predstavlja lokalnu proceduru u kojoj je opisan postupak pristupa stranicama "Stranica1" i "Stranica2" Excel dokumenta "MokraM.xls". Private Sub Command2_Click() ' dugme izlaz poruka = MsgBox(" Da li ste Zatvorili EXCEL dokument MokraM?", vbYesNo, "Poruka")

Programski jezik Visual Basic Zbirka zadataka

223

If poruka = vbNo Then Rem Zatvaranje Excela iz Visual Basica, jer Excel nije predhodno zatvaren sa X. CleanUp ' Poziv procedure za zatvaranje Excela. End If poruka = MsgBox("Da li eli da spasi bazu podataka?", vbYesNo, "Poruka")

ove podatke u

If poruka = vbYes Then GoTo Izlaz4 Rem Onemogu iti izlaz iz forme Form1 sve dok se ne spase eljeni podaci. Command1.Enabled = False Command3.Enabled = False End If Unload Forma1 Forma2.Show vbModal Izlaz4: Rem labela na koju se ska e sa naredbom GoTo End Sub

8.5. ZADACI ZA SAMOSTALNI RAD U ovom poglavlju bi e dati problemi, koji se mogu rije iti pomo u programa napisanih u Visual Basic-u. Da bi se rije ili ovi problemi, potrebno je prvo da se izaberu potrebni objekti i dodaju na radnu povr inu. Tek zatim se pi e odgovaraju i kod programa.

8.5.1. Zadaci sa grananjem Slijede zadaci koji u sebi sadr e razna grananja. Svi oni se mogu rije iti uz upotrebu If Then Else strukture, a neki i uz upotrebu Case strukture. Zadatak 1. Napraviti program koji se pokre e klikom na komandno dugme. Unesite preko preko TextBox-a proizvoljan realan broj RBA i broj ZBI. Gdje je ZBI zadnji broj indeksa studenta (ukoliko je nula, onda se uzima 10). Na i zbir i razliku broja RBA i broja ZBI, a rezultat prikazati u dva TextBox-a. Podjeliti i pomno iti broj RBA sa brojem ZBI, a rezultat prikazati u druga dva TextBox-a. Manji broj (RBA ili ZBI) pomno iti sa ZBI, a rezultat prikazati u petom TextBox-u.

8 PRIMJERI VISUAL BASIC PROGRAMA

224

Zadatak 2. Napraviti program koji se pokre e klikom na komandno dugme. U itajte preko preko TextBox-a jedan proizvoljan realan broj X i broj ZBI. Gdje je Gdje je ZBI zadnji broj indeksa studenta (ukoliko je nula, onda se uzima 2). Za ovu unesenu vrijednost X i ZBI izra unati vrijednost funkcije Y= Rezultat prikazati u jednom TextBox-u.

( X + 5) * ( ZBI − X − 1) .

Zadatak 3. Napraviti program koji se pokre e klikom na komandno dugme. U itajte preko preko TextBox-a proizvoljan realan broj X i broj ZBI. Gdje je Gdje je ZBI zadnji broj indeksa studenta (ukoliko je nula, onda se uzima 3). Izra unati vrijednost funkcije Y Y=

X3 + 2 * X 2 − 5 * X + 8 . (X - ZBI) * (X - ZBI)

Rezultat prikazati u jednom TextBox-u. Zadatak 4. Napraviti program koji se pokre e klikom na komandno dugme. U itajte preko TextBox-a iznos iznos broja bodova koje je student osvojio na testu. Preko drugog TextBox-a unesite broj bodova koje je student osvojio na prisustvo nastavi (maksimalno 5 bodova). Do 55 osvojenih bodova, student dobija ocjenu 5. Od 56 do 65 bodova, student dobija ocjenu 6. Od 66 do 73 boda, student dobija ocjenu 7. Od 74 do 82 boda, student dobija ocjenu 8. Od 83 do 91 bod, student dobija ocjenu 9. Preko 92 boda, student dobija ocjenu 10. Na osnovu unesenog broja bodova, izra unati ocjenu koju student treba da dobije. Rezultat prikazati u jednom TextBox-u.

8.5.2. Zadaci sa upotrebom gotovih funkcija Ovi zadaci se rje avaju upotrebom funkcija, koje su ugra ene u Visual Basic. Zadatak 5. Napraviti program koji se pokre e klikom na komandno dugme. U itajte preko preko TextBox-a iznos kredita (PV=5000 KM), iznos godi nje kamate na uzeti kredit (RATE=15,3%), vrijeme koliko se kredit vra a (NPER= 1 godina). Izra unati mjese nu ratu kredita pomo u finansijske funkcije PMT. Rezultat prikazati u jednom TextBox-u.

Programski jezik Visual Basic Zbirka zadataka

225

Zadatak 6. Napraviti program koji se pokre e klikom na komandno dugme. U itajte preko TextBox-a iznos iznos kredita (PV) koji uzimate kod banke na 6 godina. Za kredite do 200 KM, iznos godi nje kamate na uzeti kredit je 18,3%. Za kredite od 200 KM do 600 KM, iznos godi nje kamate na uzeti kredit je 14,8%. Za kredite od 600 KM do 900 KM, iznos godi nje kamate na uzeti kredit je 13,5%. Za kredite od 900 KM do 1500 KM, iznos godi nje kamate na uzeti kredit je 12,3%. Za kredite preko 1500 KM, iznos godi nje kamate na uzeti kredit je 11,8%. Izra unati mjese nu ratu kredita pomo u finansijske funkcije PMT. Rezultat prikazati u jednom TextBox-u. Zadatak 7. Napraviti program koji se pokre e klikom na komandno dugme. U itajte preko TextBox-a proizvoljan realan broj X koji ima 7 decimalna mjesta. Na i cjelobrojnu vrijednost broja X, a rezultat prikazati u jednom TextBox-u. Na i realnu vrijednost broja X (vrijednost iza decemalne zapete), a rezultat prikazati u drugom TextBox-u. Zaokru iti vrijednost broja X na 5 decimalna mjesta, a rezultat prikazati u tre em TextBox-u. Zadatak 8. Napraviti program koji se pokre e klikom na komandno dugme. U itajte preko TextBox-a proizvoljan tekst koji ima maksimalno 9 karaktera. Na i du inu unesenog teksta, a rezultat prikazati u jednom TextBox-u. Pretvoritu uneseni tekst tako da ima sve velika (mala) slova, a rezultat prikazati u drugom TextBox-u. Sa lijeve (desne) strane unesenog teksta izdvojiti 4 karaktera, a rezultat prikazati u tre em TextBox-u. Ulazni tekst napisati u obrnutom redoslijedu, a rezultat prikazati u etvrtom TextBox-u. Zadatak 9. Napraviti program koji se sastoji od dvije forme. Na prvoj formi postaviti osnovne podatke o studentu i dugme za prelazak na narednu formu. U sredini druge forme postaviti jedan digitalni sat, koji pokazuje sistemsko vrijeme, koje mjenja vrijednost svake 0,4 sekunde. Postaiti drugi digitalni sat, koji pokazuje sistemsko vrijeme, koje mjenja vrijednost svake 1,4 sekunde i pri tome se pomjera po formi od jedne do druge ivice. Zadatak 10. Napraviti program koji simulira generisanje trocifrenog cijelog broja. Svaka cifra se generi e pomo u odvojenog komandnog dugmeta, uz upotrebu generatora slu ajnih brojeva. Generisani broj podijeliti sa brojem 13. Na i i prikazati u odgovaraju im TextBox-ovima rezultat realnog dijeljenja sa 3 decimalna mjesta, rezultat cjelobrojnog dijeljenja i ostatak cjelobrojnog dijeljenja.

8 PRIMJERI VISUAL BASIC PROGRAMA

226

8.5.3. Zadaci sa petljama Slijede zadaci koji u sebi sadr e razna ponavljanja. Svi oni se mogu rije iti uz upotrebu For, Do While ili Do Until petlje. Zadatak 11. Napraviti program koji se pokre e klikom na komandno dugme. U itajte preko InputBox-a niz AA od N = 5 + ZBI elemenata i niz CC od M = 3 + ZBI elemenata. Gdje je ZBI zadnji broj indeksa studenta, koji se unosi preko TextBox-a (ukoliko je nula, onda se uzima 10). Elementi niza mogu biti proizvoljni cijeli brojevi. Sabrati sve elemente niza AA (ZbirA), a rezultat prikazati u jednom TextBox-u. Sabrati svaki drugi element (1, 3, 5, ...) niza CC (ZbirC2), a rezultat prikazati u drugom TextBox-u. Sabrati svaki peti element niza CC (ZbirC5), a rezultat prikazati u tre em TextBox-u. Sve elemente niza prikazati u jednoj koloni FlexGrid tabele. Zadatak 12. Napraviti program koji se pokre e klikom na komandno dugme. U itajte preko InputBox-a niz AA od N = (14 - ZBI) elemenata i niz BB od M = 5 + ZBI elemenata. Gdje je ZBI zadnji broj indeksa studenta, koji se unosi preko TextBox-a (ukoliko je nula, onda se uzima 5). Elementi niza mogu biti proizvoljni realni brojevi. Na i srednju vrijednost niza AA (SredA), a rezultat prikazati u jednom TextBox-u. Na i maksimalni element niza BB (MaxB), a rezultat prikazati u drugom TextBox-u. Na i minimalni element niza BB (MinB), a rezultat prikazati u tre em TextBox-u. Zatim pomno iti SredA sa MaxB, a rezultat prikazati u etvrtom TextBox -u. Sve elemente niza prikazati u jednoj koloni FlexGrid tabele. Zadatak 13. Napraviti program koji se pokre e klikom na komandno dugme. U itajte preko InputBox-a niz AA od N = (14 - ZBI) elemenata. Gdje je ZBI zadnji broj indeksa studenta, koji se unosi preko TextBox-a (ukoliko je nula, onda se uzima 4). Elementi niza mogu biti proizvoljni cjeli brojevi ve i od 5 i manji od 100. Na i zbir elemenata niza AA, koji su manji od 13 (JedA), a rezultat prikazati u jednom TextBox-u. Na i zbir elemenata niza A koji su ve i ili jednaki 13 i manji od 21 (DvaA), a rezultat prikazati u drugom TextBox-u. Na i zbir elemenata niza A koji su ve i ili jednaki 21 i manji od 55 (TriA), a rezultat prikazati u tre em TextBox-u. Na i zbir elemenata niza A koji su ve i ili jednaki 55 (CetA), a rezultat prikazati u etvrtom TextBox-u. Sve elemente niza prikazati u jednoj koloni FlexGrid tabele. Zadatak 14. Napraviti program koji se pokre e klikom na komandno dugme. U itajte preko InputBox-a niz AA od N = (7 + ZBI) elemenata. Gdje je ZBI zadnji broj indeksa

Programski jezik Visual Basic Zbirka zadataka

227

studenta, koji se unosi preko TextBox-a (ukoliko je nula, onda se uzima 6). Elementi niza mogu biti proizvoljni realni brojevi. Na i minimalni i maksimalni element niza AA, a rezultate prikazati u dva TextBox-a. Sortirati elemente niza prema opadaju em (rastu em) redoslijedu, a rezultat prikazati u tre em Text box-u (ili u tabeli). Sve elemente niza prikazati u jednoj koloni FlexGrid tabele. Zadatak 14. Napraviti program koji uz pomo generatora slu ajnih brojeva pounjava, realnim brojevima u rasponu od 1 do 5, FleksGrid tabelu sa 6 kolona i 4 reda. Treba onemogu iti da do e do ponavljanja brojeva. Zatim prona i maksimalni i minimalni broj iz tabele, a rezultate prikazati u odgovaraju im TextBox-ovima.

8.5.4. Zadaci za pristup Excel dokumentu i Access bazi Slijede zadaci gdje je potrebno iz Visual Basic-a pristupiti postoje em Excel dokumentu, a zatim i zadatak u kome je potrebno izvr iti povezivanje sa Access bazom podataka. Dat je i jedan zadatak sa primjenom OLE strukture. Zadatak 15. Potrebno je napraviti novi Excel dokument pod imenom Ispit.xls koji ima jednu stranicu, koja se zove List1. U eliju A3 upisati tekst Excel22. Ovaj dokument je potrebno snimiti na direktorijumu na koji se snimi i glavni program. U Visual Basic-u naprviti tri TextBox-a i etiri dugmeta. Klikom mi a na prvo dugme potrebno je da se otvori Excel dokument Ispit.xls i u eliju B5 upi e sadr aj prvog TextBox-a, a u eliju C5 sadr aj drugog TextBox-a. Klikom na drugo dugme potrebno je iz Excela preuzeti sadr aj elije A3 u tre i TextBox. Pomo u tre eg dugmeti izvr iti prenos formule za sabiranje tri elije (=D4+D5+D6) u eliju D7. etvrto dugme iskoristiti za zatvaranje otvorenog Excel dokumenta i kompletnog programa. Zadatak 16. Napraviti bazu podataka Ispit.mdb u Access-u. Baza treba da ima jednu tabelu pod imenom Student, sa 3 kolone RedBroj (za unos rednog broja studenta), Ime (za unos imena studenta) i Prezime (za unos prezimena studenta). Zatim u napravljenu bazu podataka unijeti podatke za 10 studenata. Bazu je potrebno snimiti na direktorijumu, na koji se snimi i glavni program u Visual Basic-u. Pomo u komandnog dugmeta cijeli sadr aj tabele Student prikazati u jednoj FlexGrid tabeli. Iz tabele Student u koloni RedBroj prona i broj 4. Za taj prona eni broj (taj RECORDSET) ispisati sadr aj kolone Ime u jedan TekstBox i sadr aj kolone Prezime u drugi TekstBox.

8 PRIMJERI VISUAL BASIC PROGRAMA

228

Pomo u komandnog dugmeta iz tabele Student u koloni Ime prona i studenta pod imenom Ilija. Za to prona eno ime zamjeniti sadr aj kolone Prezime u Rosic. Pomo u komandnog dugmeta iz tabele Student izbrisati sve studente, koji imaju prezime Covic. Izbrojati koliko je izbrisano studenata iz baze podataka, a dobijeni broj prikazati u jednom TekstBox-u. Pomo u komandnog dugmeta dodati novi red u tabelu Student, sa sljede im podacima: 12, Mihailo, Rosic. Pomo u komandnog dugmeta izmjenjeni sadr aj tabele Student prikazati u drugoj FlexGrid tabeli. Pomo u komandnog dugmeta napraviti SQL upit nad tabelom Student, tako da se prika u samo imena i prezimena onih studenata, koji imaju redne brojeve ve e od 3 i manje od 8. Rezultat SQL upita prikazati prikazati u tre oj MSFlexGrid tabeli ili u MHSFlexGrid tabeli. Napraviti dugme za zatvaranje Access baze podataka i cijelog programa. Zadatak 17. Napraviti program koji omogu uje da se pomo u OLE strukture pristupi jednom Word dokumentu, jednom Excel dokumentu sa dijagramom i jednoj Power Point prezentaciji. Iskopirati dijagram iz Excel-a u Word i dinami ki ga povezati, tako da se promjene podataka u Excel-u, automatski odra avaju na dijagram u Word-u.

Programski jezik Visual Basic Zbirka zadataka

229

9. PROIZVODNJA I PRODAJA PROGRAMA Programi su proizvodi, koji se kao i ostali klasi ni proizvodi prodaju kupcima. Svaki program ima svoju cijenu proizvodnje i prodaje. Krajnji cilj proizvodnje svakog programa je prodaja kupcima. Program ima odre ene specifi nosti prilikom proizvodnje, ali i prilikom prodaje kupcu. Proizvo programa mora kupcu da obezbjedi garanciju za ispravan rad programa odre eni vremenski period, kao i pomo korisniku prilikm problema u radu sa programom. Pravni i ekonomski aspekti proizvodnje i prodaje programa bi e obja njeni u ovom poglavlju. 9.1 PRODAJA PROGRAMA Proizvodnja programa za tr te je kao i proizvodnja svih drugih sli nih proizvoda10. Kupac obi no o ekuje sli ne uslove kupoprodaje, kao u slu aju kupovine uobi ajenih tehni kih proizvoda. Me utim, program je veoma specifi an proizvod i njegova za tita nije nimalo jednostavna. Pravni aspekti proizvodnje i kori enja programa predstavljaju u op tem slu aju delikatnu, prilikom sporova komplikovanu i ponekad kontroverznu oblast. Klasi na prodaja programa je dosta rijetka pojava. Pod „klasi nom prodajom“ programa podrazumjevamo, u stvari, kupovinu programa i prava za njegovu preprodaju. Pri emu je pravo preprodaje u ve ini slu ajeva ekskluzivno. Drugim rije ima, kupovina programa je „klasi na kupovina“ onda kada je sli na kupovini nekretnina ili automobila, tj. kada kupac ima potpuno pravo raspolaganja svojim vlasni tvom i mo e zatim po volji da ga proda, pokloni, ili uni ti. Kupovinu programa praktikuju dr avne institucije ili kompanije koje nemaju namjeru da razviju odre eni program. Oni naru e proizvodnju programa od nekog proizvo a koji zatim mo e, ali ne mora, posjedovati pravo da razvijeni program prodaje tr im licima. Navedimo dva primjera. Ministarstva odbrane i policije mnogih dr ava esto finansiraju razvoj programa, koji zatim postaju njihovo potpuno vlasni tvo. Tada orginalni proizvo programa nema pravo da taj program prodaje tre im licima, nego ni da daje bilo kakve informacije da je navedeni program proizveo. Drugi primjer se odnosi na operativni sistem MS-DOS, koji je firma IBM naru ila kod firme Microsoft za svoj li ni ra unar PC. Pri tome je firma Microsoft zadr ala pravo da i sama prodaje ovaj operativni sistem. Na osnovu ovog prava ve ina sekundarnih proizvo a ra unara kompatibilnih sa ra unarima serije PC svoje kupce je upu ivala na Microsoft, kao isporu ioca odgovaraju e verzije 10

Dr Jozo J. Dujmovi , Programski jezici i metode programiranja, Akademska misao, Beograd, str.3.98 do str.3.106, 2003.

9. PROIZVODNJA I PRODAJA PROGRAMA

230

operativnog sistema. Pri tome je IBM isporu ivao svoje ra unare sa istim operativnim sistemom, ali pod svojom firmom. Iznajmljivanje programa se esto koristi, kao i prodaja programa. Pri tome se razlikuju dvije varijante: 1) iznajmljivanje na ograni eni rok i 2) iznajmljivanje na neograni eni rok, odnosno kupovina licence za trajno kori enje programa. Iznajmljivanje na ograni eni rok praktikuje se kada su u pitanju veliki, specifi ni, ili relativno skupi programi, kod kojih nema potrebe za trajnim kori enjem. Primjer za ovo su programski sistemi za analizu osobina ra unarskih konfiguracija, koji mnogi napredni korisnici iznajme na ograni eno vrijeme, da bi odredili na koji na in da optimalno pro ire svoju postoje u konfiguraciju ili da nabave novu. Po isteku perioda najamnine, sistemi mogu imati ugra ene dijelove za samouni tenje poslije odre enog datuma. Manji programski proizvodi, posebno oni za iroku upotrebu na li nim ra unarima, obi no se iznajmljuju na neograni eni period. Pri tome je pla anje po pravili jednokratno. 9.2. PRAVO KOPIRANJA PROGRAMA Su tina svih formi iznajmljivanja programa je da korisnik iznajmljuje ta no odre eni broj kopija datog programa. Drugim rije ima, korisnik ima licencu da koristi program na isti na in, kao to bi koristio knjigu za svoju li nu upotrebu. To zna i da se u bilo kom trenutku smije koristiti samo jedna kopija programa, pri emu se po pravilu ne stavlja ograni enje na to da korisnik programa smije da bude njegov kupac. Za razliku od ilegalnosti kopiranja knjige, korisnik smije i treba da uradi kopije iznajmljenog programa iz sigurnosnih razloga (zbog mogu nosti te enja orginalne kopije). Kr enje zakona nastupa onog trenutka, kada se kopije distribuiraju tako da ih istovremeno mo e koristiti vi e korisnika od broja licenci, koje su nabavljene. Ako se licenca za kopiju programa nabavlja jednokratnim pla anjem i vrijedi, za jednog korisnika, bez vremenskog ograni enja, onda se ova forma nabavke programa naziva kupovina licence za trajno kori enje programa. Treba ipak ista i da i pored velike sli nosti postoji i jedna bitna razlika izme u prava vlasnika knjige i prava vlasnika licence za kori enje programa. Vlasnik knjige mo e da ode u antikvarnicu i da svoju knjigu izlo i prodaji. Antikvarnice za program (za sada) ne postoje. Su tina je u tome da program ne mo e da se „potro i“ jer je svaka kopija, za razliku od knjige, identi na originalu i kopiranjem kopija ne gubi se ni ta od polaznih informacija. Stoga vlasnik knjige mo e da se promjeni, a vlasni tvo licence za kori enje programa obi no nije prenosivo na tre a lica. Ponekad se de ava da proizvo programa nestane sa tr ta. U tim slu ajevim se obi no pojavi druga firma koja otkupi pravo dalje distribucije i odr avanja

Programski jezik Visual Basic Zbirka zadataka

231

programskih proizvoda. Ona se zatim pojavljuje u istoj ulozi u kojoj je bio i orginalni proizvo . Druga sli na pojava nastupa kada proizvo programa prestane da prodaje svoj odre eni proizvod. Na primjer, firma IBM je razvila neke specijalisti ke programe za slo ene matemati ke prora une. Vremenom su se na tr tu pojavili programi sa boljim karakteristika, pa je firma IBM odlu ila da prekine podr ku svome programu. Na ovaj na in ona titi svoj renome u proizvodnji ra unara i programa. U pravnim dr avama piratsko kopiranje je jednako te ak prekr aj kao i povreda patentnih prava ili piratsko kopiranje i distribucija knjiga, muzike, filmova itd. Ako bi neko neovla eno lice uzelo na primjer neku knjigu i bez odobrenja izdava a i autora po elo da tu knjigu samostalno kopira i kopije stavlja u prodaju, onda bi to bio prekr aj i pravno i moralno. Treba razumjeti da zakon koji titi izdava a i autora titi u stvari najvi i dru tveni interes. Ako bi proizvo u knjige, ili programa, njegov proizvod bio neka njeno piratski ukraden, onda bi kao direktna posljedica toga opao interes za proizvodnju tako riskantnog proizvoda. Dru tvo bi neminovno bilo suo eno sa usporenim razvojem ili nazadovanjem, jer ne bi bilo novih proizvoda iz ovih oblasti. To je razlog to neovla eno kori enje programa nije samo pravno nedopustiv akt, ve predstavlja i ozbiljno kr enje profesionalnog morala, jer potkopava temelje zdravih odnosa u okviru programske profesije. 9.3. GARANTNE OBAVEZE aljiva izreka ka e da „svi programi sadr e gre ke dok se ne doka e suprotno, to je ina e nemogu e“. Imaju i u vidu da „u svakoj ali ima i po malo istine i ale“ dolazimo do toga da je veoma te ko pri proizvodnji programa pru iti bilo kakvu garanciju. Ta nije proizvo i programa umjesto garancije za svoje proizvode naj e daju izjavu da ne prihvataju bilo kakvu odgovornost za primjenu i posljedice primjene svog programa. ak i programi koji slu e za rje avanje nekih matemati kih problema, koji imaju izuzetnu vrijednost i mogu se koristiti sa visokim stepenom pouzdanosti daju ovakve izjave. Razlog le i u tome to uvijek postoji mogu nost da se, i pored vrlo male vjerovatno e, desi slu aj da se pri nekim ulaznim parametrima pojavi gre ka u nekom programu. I ako bi se taj program koristio u prora unu ili u radu nekog veoma usjetljivog ure aja (tipi an primjer su atomske centrale, letjelice i njihovi sastavni dijelovi), moglo bi do i do fatalnih posljedica, za koje proizvo programa ne mo e prihvatiti odgovornost. Stoga se i daje izjava o ne prihvatanju odgovornosti. Izjave o neprihvatanju odgovornosti postale su uobi ajena pravna forma i primjenjuje se ak i onda kada to, na prvi pogled, ne izgleda neophodno. Te ko je zamisliti kakve bi to fatalne posljedice mogle da nastupe, kao rezultat gre ke u programu za obradu teksta, a da pri tome autor teksta ili njegov izdava ne budu krivi, nego da svu krivicu snosi programer, koji je pisao program ili

9. PROIZVODNJA I PRODAJA PROGRAMA

232

kompanija koja program distribuira. Naravno, mo e se dogoditi da zbog gre ke u programu neki podatak u tekstu ne eljeno promjeni vrijednost i da to ima neke neprijatne posljedice, ali normalno bi bilo je da je kriv „onaj ko je koristio no na naopak na in, a ne proizvo no a“. Poenta je me utim u tome da program za obradu teksta ne mo e da se izvr ava u „apsolutnoj izolaciji“. On upisuje podatke po disku i mo e da gre kom dovede do direktnog ili posljedi nog gubitka nekih korisni kih programa ili podataka, pa se proizvo programa sa razlogom odlu io na sli nu formulaciju, kao i autori biblioteke numeri kih programa. Imaju i u vidu da ve ina programa radi u okru enju drugih programa i podataka i da se teta drugim podacima i/ili programima ipak mo e dogoditi i pored najve e pa nje u programiranju, slijedi da je u ovim slu ajevima dobro koristiti izjavu o nepriznavanju garancije. Tim prije to su korisnici programa navikli da programski proizvodi u odre enom malom procentu sadr e gre ke, tako da potpunu garanciju i ne o ekuju. Garancija se stoga u ve ini slu ajeva odnosi samo na besplatnu zamjenu medijuma sa programima, koji nisu itki zbog gre aka na medijumu. Renomirani proizvo i programa ipak ele da korisnicima pru e razumnu koli inu sigurnosti i poka u maksimalnu dozu povjerenja, pa ponekad idu i ne to dalje od obi ne zamjene defektnog medijuma. To se obi no posti e "garancijom povra aja bez obrazlo enja“, tako da se pru i mogu nost da korisnik u odre enom roku (obi no 30 dana od dana nabavke programa) mo e da vrati program proizvo u (uz implicitnu argumentaciju da program ne odgovara korisnikovim potrebama) i da povrati sredstva, koja je uplatio na ime licence programa. Druga forma garancije koju proizvo i unikatnog ili maloserijskog programa ponekad nude kupcima je garancija za interventno odr avanje u ograni enom periodu. Ova garancija, o kojoj se vi e govori u narednom odeljku, ima za cilj da obezbjedi da proizvo programa u ograni enom periodu (naj e godina dana) bude u obavezi da po reklamaciji kupca izvr i sitnije popravke i dorade isporu enog programskog proizvoda. Sa druge strane, imaju i u vidu izuzetnu lako u i brzinu kojom se i veoma veliki programski proizvodi mogu neovla teno iskopirati, proizvo i programa redovno poku avaju da svoj proizvod za tite od toga. Pa pored pravne za tite putem „copiryght“ koriste i razne tehni ke norme za tite od neovla enog kopiranja njihovih proizvoda. Postoji veliki broj metoda kako se to mo e posti i, a neke od njih se zasnivaju i na specijalnom hardveru. Jedan od oubi ajenih na ina da se obezbjedi da odre eni program mo e da radi isklju ivo na odre enom ra unaru, sastoji se u tome da se serijski broj procesora (koji se programski mo e itati) dostavi proizvo u programa, koji zatim taj broj upisuje (naj e kriptografisano) u program, koji treba da radi na tom ra unaru. U toku rada programa program povremeno testira da li je serijski broj procesora isti kao i ekivani serijski broj, pa ako to nije slu aj prestaje sa ispravnim radom. Naravno, u tom slu aju pravni aspekt kori enja je druga ije koncipiran od uobi ajene „copyright“ za tite. Sada princip licence za kori enje programa nije vi e „jedna

Programski jezik Visual Basic Zbirka zadataka

233

kopija jedan korisnik“ (na bilo kom mjestu i na bilo kom ra unaru), ve „jedna kopija, jedan ra unar“. Pri tome broj simultanih korisnika takvog programa mo e, ali ne mora, da bude ograni en. Osnovna ideja proizvo a programa je obi no da njegova zarada treba da bude proporcionalna koristi koju kori enjem programa ostvaruje njegov korisnik. Na primjer, cijena licence za kori enje operativnog sistema je redovno proporcionalna maksimalnom broju korisnika, koji na takvom sistemu mo e da simultano radi. Tako je cijena Windows operativnog sistema za pojedina ne korisnike reda nekoliko stotina KM. Dok sa druge strane programski proizvod koji je namjenski pravljen za samo jednu firmu i koji ima stotinjak puta manje kodnih linija od operativnog sistema mogu da ko taju i nekoliko stotina hiljada KM. 9.4. ODR AVANJE PROGRAMA Proizvo i programa (pogotovo za unikatne programe) esto korisnicima nude ugovorno odr avanje programa. Pod odr avanjem se obi no podrazumjevaju popravke i dorade, koje se rade na zahtjev korisnika, koji je otkrio gre ku ili nedostatak u programu koji koristi, a za koje ima ugovorno odr avanje. Pri tome posmatrani program mo e biti kupljen ili iznajmljen. Ugovorom o odr avanju se moraju precizno specificirati uslovi odr avanja. To naj e mo e biti: 1) vremenski rok u kome proizvo programa treba da otkloni otkrivene gre ke i nedostatke, ili 2) obaveza da se na zahtjev kupca anga uje odre eni stru njak proizvo a, koji e odre eno vrijeme provesti rade i u pravcu pobolj anja datog programa, ali obi no bez obaveze da se ispune neki specifi ni zahtjevi. Budu i da je proizvo programa spreman na odre ene intervencije u programu na zahtjev kupca, to se ponekad mo e smatrati kao odre ena forma garancije. Primjeri navedene forme odr avanja programa obuhvataju obi no intervencije u dva osnovna pravca. Korisnik u datom periodu (npr. u toku godine dana) mo e da detaljno ispita programski sistem sa mnogo irim spektrom kombinacija ulaznih podataka, od onoga to je mogao da uradi proizvo prilikom razvoja programskog proizvoda. Tom prilikom postoji mogu nost da korisnik identifikuje takve kombinacije ulaznih parametara, za koje programi daju neispravne rezultate. Obaveza proizvo a se svodi na to da modifikuju program, tako da se navedene neispravnosti otkolone. Drugi pravac se sastoji u tome da se modifikuje korisni ka forma, tj. onih djelova koji defini u tip i formu unosa ulaznih podataka od strane korisnika. Korisnik koji rutinski koristi program du e vremena redovno otkrije sitne neprakti nosti u na inu komuniciranja, podatke koji se ponavljaju, nepotrebna ograni enja, testove i sli no. Tako da ima razloge da pokrene zahtjev za manjim izmjenama programa. Treba naglasiti da pod ovaj vid modifikacije ne spadaju

9. PROIZVODNJA I PRODAJA PROGRAMA

234

su tinske modifikacije algoritamske prirode, jer bi to iziskivalo pravljenje nove verzije programa. Druga vrsta ugovora o odr avanju programa, koja se primjenjuje u domenu sistemskog programa, ne obuhvata interventno odr avanje, ve periodi nu isporuku novih verzija instaliranog programa. U takvim slu ajevima proizvo ima ekipu programera, koji permanentno dora uju i usavr avaju postoje i program. Kada se broj intervencija u postoje em programu nakupi tako da se nova verzije programa po svojim osobinama u dovoljnoj mjeri razlikuje od predhodne, onda se ta nova verzija automatski distribuira korisnicima, koji imaju ugovor o odr avanju programa. 9.5. OZNA AVANJE VERZIJA I MODIFIKACIJA PROGRAMA Opisani evolutivni razvoj programa ima obi no svoju nomenklaturu u vidu oznake v.m, koja ozna ava - „verziju“ (v) datog programa i - „modifikaciju“ (m) datog programa. Kada se laboratorijski razvija prototip programa onda je to „nulta verzija“, koja mo e imati veliki broj raznih modifikacija dok se ne dobije kompletan proizvod. Program se dora uje sve dok ne pro e zavr no testiranje i kada je spreman za tr te. Takav proizvod se naj e ozna ava kao verzija 1.0 (skra eno V1.0). Veoma je va no da se u toku razvoja programa vodi uredna i precizna evidencija o modifikacijama koje su u toku. Vremenom se nagomila veliki broj listinga programa od kojih mnogi mogu biti zastarjeli, ali se to ne mo e otkriti ako na njima ne stoji odgovaraju a oznaka. Prema tome, u toku razvoja i testiranja programa potrebno je poslije svake modifikacije programa unijeti na programima izmjenjenu oznaku. Po inje se sa V0.1, pa zatim svaka modifikacija ima naredni broj (V0.2, V0.3, itd.), dok se ne do e do izlaska na tr te sa verzijom V1.0. Zatim se tokom razvoja programa distribuiraju verzije V1.1, V1.2, itd. Po pravilu poslije manje od 10 modifikacija prelazi se na verziju V2.0. Podrazumjeva se da se ovaj proces odvija saglasno sa potrebama tr ta, pa V2.0 treba da obuhvati pored popravki gre aka i pro irenja koja ine zna ajnu razliku u odnosu na verziju V1.0. Zatim se isporu uju modifikacije V2.1, V2.2 itd. Neki popularni programi do ivjeli su ve i broj verzija ali rijetko vi e od 10. Lako je uvidjeti da ne postoji nikakva vrsta definicija i ujedna eni pogled na to nakon koliko modifikacija treba da se pojavi nova verzija programa. Tako da ozna avanje brojeva modifikacija i verzija u prili noj mjeri zavisi od mjere, ukusa i tradicije koja je svojstvena nekom proizvo u programa. Ipak, relativno visoki broj verzija i modifikacija programa predstavlja neku formu priznanja da posmatrani programski proizvod uspje no ivi na tr tu i da po svojoj prilici ima razvijenu korisni ku bazu.

Programski jezik Visual Basic Zbirka zadataka

235

9.6. SPECIFIKACIJA PROGRAMSKIH PROIZVODA Da bi se lak e definisala prava i obaveze prilikom izrade i didtribucije programskih sistema i pra enje dokumentacije korisno je uvesti jednu standardnu specifikaciju uslova isporuke i kori enja programskih proizvoda po sljede im obilje jima: 1) Pravo kopiranja i kori enja programskog proizvoda od strane kupca i proizvo a/prodavca. 2) Ograni enje obima kori enja od strane kupca. 3) Ograni enje lokacije kori enja i ra unara. 4) Ograni enje vremena kori enja programskog proizvoda. 5) Na in isporuke programskog proizvoda. 6) Dokumentacija programskog proizvoda. 7) Garancija i odr avanje programskog proizvoda. Svaki modalitet kori enja programskog proizvoda u navedenoj specifikaciji mo e se opisati jednoslovnim kodom, koji e sada biti definisan. 1) Pravo kopiranja i kori enja programskog proizvoda od strane kupca i proizvo a/prodavca mo e da bude trojako: N - kupac dobija neekskluzivno pravo kori enja pri emu proizvo zadr ava pravo kori enja proizvoda za sebe, kao i pravo dalje neograni ene prodaje tre im licima. E - ekskluzivno pravo kori enja pri emu ni proizvo ni kupac nemaju pravo da taj proizvod prodaju tre im licima. R - ekskluzivno pravo kori enja sa pravom da kupac mo e da ustupa (prodaje) proizvod tre im licima, dok proizvo takvo pravo ne zadr ava. 2) Ograni enje obima kori enja od strane kupca mo e da bude sljede e: X - kupac ima pravo kori enja programskog proizvoda bez ograni enja broja korisnika. n - kupac ima pravo kori enja, koje je definisano tako da u svakom momentu aktivno bude ne vi e od n kopija datog programskog proizvoda (n ≥ 1). 3) Ograni enje lokacije kori enja i ra unara mo e da bude trojako: C - ograni enje prava kori enja na odre eni ra unar kupca za ograni en ili neograni en broj korisnika, pri emu nema pravo kori enja na drugim ra unarima. L - ograni enje prava kori enja na jednu lokaciju kupca na kojoj mo e biti smje teno vi e povezanih ili nepovezanih ra unara na kojima se koristi programski sistem. A - pravo kori enja za sve lokacije na kojima kupac trenutno ili u budu nosti ima instalirane ra unare. 4) Ograni enje vremena kori enja programskog proizvoda mo e da bude sljede e: P - permanentno pravo (bez vremenskog ograni enja). T - pravo koje je vremenski ograni eno (vrijeme trajanja licence).

9. PROIZVODNJA I PRODAJA PROGRAMA

236

5) Na in isporuke programskog proizvoda mo e da bude: B - binarni oblik programa (izvr na exe verzija). S - izvorni oblik programa (kod programa u programskom jeziku). 6) Dokumentacija programskog proizvoda obuhvata tri dokumenta. a) Uputstvo za instalaciju, koje korisniku omogu ava da programski sistem samostalno instalira i pusti u rad. b) Uputstvo za kori enje, koje korisniku omogu ava samostalnu eksploataciju programa. c) Uputstvo za odr avanje programa, koje sadr i izvorni kod svih programa, opis struktura podataka i opis na ina rada. Ovo uputstvo treba da omogu i korisniku samostalnu modifikaciju programa i testiranje. Imaju i u vidu navedene mogu nosti mogu se definisati sljede e opcije isporuke dokumentacije: K - dokumentacija koja obuhvata "Uputstvo za instalaciju" i "Uputstvo za kori enje programa". D - kompletna dokumentacija koja obuhvata "Uputstvo za instalaciju", "Uputstvo za kori enje" i "Uputstvao za odr avanje programa". 7) Garancija i odr avanje programskog proizvoda mo e da bude: Z - standardna prodaja bez garancije i bez ura unatog odr avanja. Y - jednogodi nja garancija (ili neki drugi vremenski period) za rad na odr avanju (tj. korekciji i dopuni programskog proizvoda) prema zahtjevu (reklamaciji) kupca. M - odr avanje po posebnom ugovoru. Navedena klasifikacija se po potrebi mo e modifikovati i/ili dopuniti. Ona omogu ava da se ponuda programa precizno formuli e i da za svaki programski proizvod pomo u sedmoslovne specifikacije odrede uslovi pod kojima se proizvod prodaje. Tako je na primjer klasifikacija „NXLPSDY“ ozna ava proizvod za koji je: - ponu eno neekskluzivno pravo kori enja, - za neograni en broj korisnika, - na jednoj lokaciji kupca, - bez vremenskog ograni enja, - pri emu se isporu uje program u izvornom obliku (kodu), - sa kompletnom dokumentacijom i - sa jednogodi njom garancijom za odr avanje programa. Navedena klasifikacija opcija nabavke i isporuke programskih proizvoda ne obuhvata finansijske uslove, koji se uglavnom svode na jednokratno ili periodi no pla anje.

Programski jezik Visual Basic Zbirka zadataka

237

LITERATURA [1] [2] [3] [4] [5] [6] [7]

Microsoft Visual Basic 6.0 Help, Microsoft, 1999. Dr Jozo J. Dujmovi , Programski jezici i metode programiranja, Akademska misao, Beograd, 2003. Dr Tihomir Latinovi , Osnove programiranja (Visual Basic), Biblioteka Informacione tehnologije, Banja Luka, 2007. Dr Lazar Mili evi , Mr Lazar Radovanovi , Programiranje (Visual Basic), Ekonomski fakultet, Br ko, 2005. Sr an Damjanovi , Predrag Katani , Borislav Drakul, Zbirka zadataka iz poslovne informatike, Fakultet spoljne trgovine, Bijeljina, 2008. Sr an Damjanovi , Predrag Katani , Programski jezik VEE Pro, Elektrotehni ki Fakultet, Isto no Sarajevo, 2011. Ascii kod, http://frank.harvard.edu/aoe/images/t10r3.pdf, 28.01.2011.

View more...

Comments

Copyright ©2017 KUPDF Inc.
SUPPORT KUPDF