52
Sadržaj Sadržaj.............................................................. 1 Uvod................................................................. 2 Procedure i funkcije................................................2 Promjenljive i tipovi promjenljivih.................................3 Prednosti korišćenja Visual Basica..................................4 1. Zadatak - Unos tri broja i ispis najmanjeg.......................5 2. Zadatak - Suma parnih brojeva u intervalu.......................7 3. Zadatak – Zbir cifara broja do 1000...............................8 4. Zadatak – Obrnut niz i brojanje znakova u nizu....................9 5. Zadatak – Prijateljski brojevi...................................10 6. Zadatak - Savršeni broj........................................12 7. Zadatak – Armstrongov broj.......................................13 8. Zadatak - Digitron..............................................14 9. Zadatak – Mjeseci i godine.......................................17 10. Zadatak - Obim i površina trougla..............................19 11. Zadatak – Aritmetička sredina niza i ispis većih elemenata.....21 12. Zadatak – Najmanji i najveći element niza.......................23 13. Zadatak - Sortiranje niza u neopadajućem i nerastućem redoslijedu .................................................................... 26 14. Zadatak – Fibonačijev niz.......................................28 15. Zadatak – Unos kvadratne matrice brojeva te ispis broja pozitivnih, negativnih članova i nula...............................30 16. Zadatak – Aritmetička sredina redova i kolona kvadratne matrice. 32 17. Zadatak – Ispis donje trougaone matrice, gornje trougaone matrice i elemenata dijagonale kvadratne matrice............................34

Visual Basic - Boris Paukovic

Embed Size (px)

Citation preview

Page 1: Visual Basic - Boris Paukovic

Sadržaj

Sadržaj.........................................................................................................................................................1

Uvod............................................................................................................................................................2

Procedure i funkcije.................................................................................................................................2

Promjenljive i tipovi promjenljivih..........................................................................................................3

Prednosti korišćenja Visual Basica..........................................................................................................4

1. Zadatak - Unos tri broja i ispis najmanjeg..........................................................................................5

2. Zadatak - Suma parnih brojeva u intervalu........................................................................................7

3. Zadatak – Zbir cifara broja do 1000.....................................................................................................8

4. Zadatak – Obrnut niz i brojanje znakova u nizu..................................................................................9

5. Zadatak – Prijateljski brojevi.............................................................................................................10

6. Zadatak - Savršeni broj....................................................................................................................12

7. Zadatak – Armstrongov broj..............................................................................................................13

8. Zadatak - Digitron............................................................................................................................14

9. Zadatak – Mjeseci i godine................................................................................................................17

10. Zadatak - Obim i površina trougla......................................................................................................19

11. Zadatak – Aritmetička sredina niza i ispis većih elemenata................................................................21

12. Zadatak – Najmanji i najveći element niza..........................................................................................23

13. Zadatak - Sortiranje niza u neopadajućem i nerastućem redoslijedu...................................................26

14. Zadatak – Fibonačijev niz....................................................................................................................28

15. Zadatak – Unos kvadratne matrice brojeva te ispis broja pozitivnih, negativnih članova i nula..........30

16. Zadatak – Aritmetička sredina redova i kolona kvadratne matrice......................................................32

17. Zadatak – Ispis donje trougaone matrice, gornje trougaone matrice i elemenata dijagonale kvadratne matrice.......................................................................................................................................................34

18. Zadatak – Sabiranje i oduzimanje dvije kvadratne matrice..................................................................36

19. Zadatak – Unos niza brojeva i ispis tog niza u obrnutom redoslijedu..................................................38

20. Zadatak – Najveći zajednički djelilac – Euklidov algoritam................................................................39

Zaključak...................................................................................................................................................41

Page 2: Visual Basic - Boris Paukovic

Literatura:..................................................................................................................................................42

UvodBasic predstavlja Microsoftov razvojni alat, koji se koristi u većini aplikacija

Microsoftovih proizvoda. Riječ VISUAL (vizuelan, vidni) odnosi se na stvaranje grafičkog korisničkog interfejsa (engl. graphic user interface) BASIC je akronim od Beginner's All – Purpose Symbolic Instruction Code. Takođe se mogu susresti i naziv Visual Basic za aplikacije (engl.VBA – Visual Basic for Applications) te brzi razvoj aplikacija(engl. RAD – Rapid Application Development )

Osnovni koraci u Visual Basic razvoju programa su :

1. Interfejs – projektovanje i razvoj korisničkog interfejsa, način komunikacije korisnika sa programom. Cilj razvoja interfejsa je da se napravi takav interfejs koji omogućuje što lakše upravljanje programom.

2. Svojstva – pridruživanje svojstava u cilju bolje preglednosti3. Programiranje - potrebno je načiniti program koji reaguje na događaje (miš,

taster)4. Procedure i povezivanje (procedure u Visual Basicu predstavljaju potprograme).

Procedure i funkcije se pišu odvojeno iz razloga da se skrati vrijeme rada, uštedi na vremenu izvršavanja programa i prostoru na disku, jer se iste procedure i funkcije mogu pozivati na više mjesta u okviru aplikacije.

5. Testiranje – vrši se provjera programa, da li ima grešaka, daje li program tačne rezultate. Sintaksu programskog jezika provjeravaju prevodioci, koji se nazivaju kompajleri. Greške koje kompajler može da pronađe se nazivaju sintaksne greške.

6. Konverzija – dolazi do pretvaranja u izvršnu formu programa (.exe)7. Dokumentovanje – piše se tehnička i upotrebna dokumentacija.

Procedure i funkcijeProcedura je dio programskog koda koji ne vraća vrijednost direktno, već svoju ulogu i

kontrolu toka programa prenosi na mjesto odakle je pozvana. U Visual Basic-u postoje dvije vrste procedura :

1. Procedura za obradu događaja2. Opšta procedura

Procedura za obradu događaja je dio objekta korisničkog interfejsa, kao što je komandno dugme, polje za potvrdu ili traka za pomjeranje. Ona se izvršava samo kada se određeni događaj desi (pritisak miša na komandno dugme )Opšta procedura nije povezana sa nekim objektom direktno, ne radi ništa dok joj neka procedura za obradu ne pozove i ne kaže da počne sa radom. Koristi se za smještanje najčešće korištenih naredbi. Poziva se navođenjem imena ili ubacivanjem riječi Call, prije imena opšte procedure.

2

Page 3: Visual Basic - Boris Paukovic

Funkcija je dio programskog koda koji vraća jednu vrijednost. Negdje unutar funkcije, imenu funkcije se mora dodijeliti vrijednost ili izraz jer, u protivnom, funkcija ne može da vrati vrijednost. Funkcija se poziva tako što se promjenljivoj dodijeli ime funkcije.

Promjenljive i tipovi promjenljivihU sljedećoj tabeli prikazani su tipovi promjeljnivih koji se koriste pri programiranju u Visual Basicu. Tip promjenljive govori o tome koliko memorije zauzima promjenljiva i koji je domen u kojem se vrijednost može kretati. Ovo je jako bitno savladati i razumjeti jer u suprotnom može doći do velikih grešaka pri dobijanju rezultata.

Tip Zauzeće bajtova DomenINTEGER 2 Cjelobrojne vrijednosti u intervalu

od-32.768 do 32.767

LONG (long integer) 4 Cjelobrojne vrijednosti u intervalu od

-2.147.483.648 do 2.147.483.647Double 8 Dvostruka tačnost

-1,79769313486232E308 do -4,94065645841247E-324-4,94065645841247E-324 do1,79769313486232E308

Decimal 16 Decimalni brojevi sa tačnošću od 28 decimala

Boolean2 Ima vrijednost true (tačno) ili

false (netačno)Byte 1 Cijeli brojevi od 0-255

Single 4 Jednostruka tačnost-3,402823E38 do -1,401298E-45-1,401298E-45 do 3,402823E38

Date 8 Datum.

String Dužina stringa Znakovni niz1-65.500 karaktera

Varijant (sa brojevima) 16 Bilo koja numerička vrijednost do granice double tip

Varijant (sa karakterima) 22+ dužina stringa Do granice stringa varijabilne dužine

Char 2 0-65.535 karakteraTabela 1 : Tipovi promjenljivih koji se koriste pri programiranju u Visual Basicu

3

Page 4: Visual Basic - Boris Paukovic

Prednosti korišćenja Visual Basica

Visual Basic je razvojni alat koji koristi veliki broj programera. Prema nekim istraživanjima više od tri miliona programera koriste Visual Basic kao osnovni programski jezik.

„Sledeće ključne tačke čine Visual Basic odličnim razvojnim alatom:

1. Visual Basic aplikacije odgovaraju na događaje. Ovo znači da korisnik kontroliše aplikaciju. On stvara događaj, svaki put kada klikne mišom ili pritisne taster na tastaturi. Visual Basic aplikacija odgovara na taj događaj kroz kod koji je napisan i dodan tom događaju.

2. Visual Basic podržava principe objektno orijentisanog dizajna. Znači da možete podeliti Vašu aplikaciju na delove, tako da ih razvijate i testirate, nezavisno od ostatka aplikacije.

3. Microsoft je odlučio da Visual Basic bude kompletan razvojni sistem za Windows aplikacije. Ovo znači da će Vaše Visual Basic aplikacije izgledati i ponašati se kao i svi drugi Windows programi.“1

1 Visual Basic 6; Piter Norton, Kompjuter biblioteka, Čačak 2004 , str.14

4

Page 5: Visual Basic - Boris Paukovic

1. Zadatak - Unos tri broja i ispis najmanjeg

TEKST ZADATKA : Načiniti program koji poredi tri cijela broja i ispisuje najmanji.

- OPIS PROMJENLJIVIH:

U zadatku se koriste 3 ulazne promjenljive a, b, c , tipa integer. Pri ispisu vrši se konverzija promjenljivih u niz (engl. string).

- KOD ZADATKA :

Public Class frmIspis_najmanjeg

Private Sub btnIspisi_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnIspisi.Click Dim a, b, c As Integer ' definisanje promjenljivih tipa integer a = Int(txtbr1.Text) ' unos promjenljivih u textbox-ove b = Int(txtbr2.Text) c = Int(txtbr3.Text) If (a < b) And (a < c) Then ' koristenje IF THEN ELSE petlje koja vrsi poredjenje brojeva najmanji.Text = "Najmanji je " + a.ToString ' ako je broj koji je dodijeljen promjenljivoj a najmanji, ispisuje se ElseIf (b < a) And (b < c) Then najmanji.Text = "Najmanji je " + b.ToString ' ako je broj koji je dodijeljen promjenljivoj b najmanji, ispisuje se ElseIf (c < a) And (c < b) Then najmanji.Text = "Najmanji je " + c.ToString 'ako je broj koji je dodijeljen promjenljivoj c najmanji, ispisuje se ElseIf (a = b) < c Then najmanji.Text = "Najmanji je " + a.ToString ElseIf (a = c) < b Then najmanji.Text = "Najmanji je " + a.ToString ElseIf (b = c) < a Then najmanji.Text = "Najmanji je " + b.ToString ElseIf a = b = c Then najmanji.Text = "Najmanji je" + a.ToString End If

End SubEnd Class

5

Page 6: Visual Basic - Boris Paukovic

- FORMA PROGRAMA I KRATKO UPUTSTVO

Program pronalazi najmanji broj korišćenjem IF ... THEN ... ELSE petlje. U slučaju da su sva tri unešena broja različita, ispisuje se najmanji broj. Ako imamo dva jednaka broja i oni su manji od trećeg, ispisuje se prvi unešeni broj, a ako su sva tri broja jednaka ispisuje se prvi unešeni broj. Nakon unosa brojeva kliknuti na dugme Pokazi.

6

Page 7: Visual Basic - Boris Paukovic

2. Zadatak - Suma parnih brojeva u intervalu

TEKST ZADATKA : Načiniti program koji vrši sabiranje svih parnih brojeva unutar zadane donje i gornje granice, uključujući i granice.

- OPIS PROMJENLJIVIH

Program sadrži dvije ulazne promjenljive koje predstavljaju donju i gornju granicu intervala, tipa integer. Promjenljiva suma služi za sabiranje brojeva koji su parni i pripadaju tom intervalu.

- KOD ZADATKA

Public Class frmSumaparnih ' racuna sumu parnih brojeva u nekom intervalu ukljucujuci i granice tog intervala' Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim prvibr, drugibr, suma, i As Integer prvibr = Int(TextBox1.Text) drugibr = Int(TextBox2.Text) suma = 0 If drugibr < prvibr Then MessageBox.Show("Nemoguce izracunati, gornja granica je manja od donje") ElseIf drugibr = prvibr Then MessageBox.Show("Doslo je do greske, unesite isprevne brojeve") Else For i = prvibr To drugibr If (i Mod 2 = 0) Then suma = suma + i End If Next i MessageBox.Show(" Suma parnih brojeva je " + suma.ToString) End If End SubEnd Class

- FORMA PROGRAMA I KRATKO UPUTSTVO

Program vrši sabiranje svih parnih elemenata u intervalu korišćenjem FOR ... NEXT petlje. U

7

Page 8: Visual Basic - Boris Paukovic

slučaju da je gornji interval manji od donjeg, ili da su granice intervala jednake, pojevljuje se poruka da je došlo do greške i da se unesu ispravni intervali.

3. Zadatak – Zbir cifara broja do 1000

TEKST ZADATKA : Načiniti program koji vrši sabiranje cifara broja do 1000.

- OPIS PROMJENLJIVIH

Postoji jedna ulazna promjenljiva, a, koja predstavlja broj čije cifre želimo da saberemo. Pomoćne promjenljive su b, c, d,f koje pomažu pri „odvajanju cifara“. Promjenljiva f predstavlja zbir.

- KOD ZADATKA

Public Class Form1

Private Sub btnizracunaj_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnizracunaj.Click Dim a, b, c, d, f, g As Integer a = Int(txtbroj.Text) If a > 1000 Then MessageBox.Show("Doslo je do prekoracenja, broj mora biti manji od 1000") Else

b = a Mod 10 'Izdvaja prvu cifru s desne strane, cifru jedinica c = a / 10 ' Pomocna promjenljiva koja trocifreni broj smanjuje u desetice d = c Mod 10 ' izdvaja srednju cifru f = c / 10 ' izdvaja prvu cidfru g = b + d + f lblzbir.Text = "Zbir cifara broja je " + g.ToString End If

End SubEnd Class

- FORMA PROGRAMA I KRATKO UPUTSTVO

8

Page 9: Visual Basic - Boris Paukovic

Program računa zbir cifara jednocifrenog, dvocifrenog ili trocifrenog broja. Nakon upisivanja broja kliknemo na dugme Izracunaj i ako je broj manji od 1000 dobićemo zbir njegovih cifara, a ako je veći dobićemo poruku da smo unijeli pogrešan broj i da ponovimo unos.

4. Zadatak – Obrnut niz i brojanje znakova u nizu

TEKST ZADATKA : Načiniti program koji vrši ispis unesene riječi unazad te broj slova, znakova koje sadrži unesena riječ, niz.

- OPIS PROMJENLJIVIHPostoji jedna ulazna promjenljiva, unos, i jedna izlazna promjenljiva, obrnut, koje su deklarisane kao niz (engl.string) .

- KOD ZADATKA

Public Class Form1 ' program koji vrsi ispis unesenog stringa, u ovom slucaju rijeci u obrnutom redoslijedu

Private Sub Button1_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim unos, obrnut As String unos = TextBox1.Text If unos = "" Then MessageBox.Show("Morate unijeti tekst") Else obrnut = StrReverse(unos) ' poziv funkcije strreverse koja obrce rijec TextBox2.Text = obrnut TextBox3.Text = Len(unos) 'poziv funkcije LEN koja vrsi brojanje slova u rijeci End If End SubEnd Class

- FORMA PROGRAMA I KRATKO UPUTSTVO

9

Page 10: Visual Basic - Boris Paukovic

Potrebno je unijeti niz znakova, ali bez razmaka. Klikom na dugme Obrnuto, u mjesto predviđeno za to niz se ispisuje u obrnutom redoslijedu. Takođe, ispisuje se i broj znakova u nizu.

5. Zadatak – Prijateljski brojevi

TEKST ZADATKA : Načiniti program koji provjerava da li su dva broja prijateljska. Brojevi su prijateljski ako je prvi jednak zbiru djelioca drugog i drugi jednak zbiru djelioca prvog.

- OPIS PROMJENLJIVIH : Promjenljive su dinamičke, što znači da vrijednost dobijena u prethodnom računanju nas ne čeka. Promjenljive broj1 i broj2 omogućuju unos brojeva koje želimo da provjeravamo, dok suma1 i suma2 predstavljaju ukupne sume njihovih cifara.

- KOD ZADATKA

Public Class Form1 ' Brojevi su prijateljski ako je prvi jednak zbiru djelioca drugog i drugi jednak zbiru djelioca prvog'

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim broj1, broj2, suma1, suma2, i, j As Integer broj1 = mtxt_broj1.Text broj2 = mtxt_broj2.Text suma1 = 0 suma2 = 0 If broj1 < 1 Or broj2 < 1 Then MessageBox.Show("Doslo je do greske, molim ponovite unos") Else For i = 1 To broj1 / 2 ' trazimo djeliove prvog broja, racunamo samo do polovine broja jer nakon polovine nema djelioca If broj1 Mod i = 0 Then suma1 = suma1 + i End If Next For j = 1 To broj2 / 2 If broj2 Mod j = 0 Then suma2 = suma2 + j End If Next

If broj1 = suma2 And broj2 = suma1 Then 'provjeravamo da li je suma djelioca drugog broja jednaka sumi djelioca prvog broja MessageBox.Show("Brojevi su prijateljski") ' ako jeste, program salje poruku da su brojevi prijateljski Else

10

Page 11: Visual Basic - Boris Paukovic

MessageBox.Show("Brojevi nisu prijateljski") ' ako nije, program salje poruku da brojevi nisu prijateljski End If End If

End SubEnd Class

- FORMA PROGRAMA I KRATKO UPUTSTVO

Kao što je prethodno rečeno, dva broja su prijateljska,ako je zbiru pravih djelioca prvog broja jednak zbiru pravih djelioca drugog broja.

Na primjer, prijateljski brojevi su 220 i 284. Pravi djelioci broja 220 su 1, 2, 4, 5, 10, 11, 20, 22, 44, 55, 110. Kada ove brojeve saberemo, dobićemo 284, i obrnuto, kada izračunamo prave djelioce broja 284 i saberemo ih, dobijamo 220.

Još neki prijateljski brojevi su 1184 i 1210, 17296 i 18416

Kažemo da je broj b pravi djelioc broja a ako je b/a, bez ostatka i a != b

Program radi tako što unesemo dva broja i klikom na dugme Provjeri pokazuje nam se poruka koja nas informiše o tome da li su dva broja prijateljska ili ne.

11

Page 12: Visual Basic - Boris Paukovic

6. Zadatak - Savršeni broj

TEKST ZADATKA : Načiniti program koji provjerava da li je broj savršen. Broj je savršen ako je jednak zbiru svojih djelioca

- OPIS PROMJENLJIVIH : Ulazna promjenljiva je dinamička promjenljiva broj, tipa Integer, to je broj za koji se vrši provjera da li je savršen. Promjenljiva Suma predstavlja sumu svih djelioca broja i poređenjem promjenljivih Suma i broj dolazi se do zaključka da li je broj savršen ili nije.

- KOD ZADATKA

Public Class Form1 ' Prirodan broj je savrsen ako je jednak zbiru svojih pravih djelioca

Private Sub btn_Provjeri_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn_Provjeri.Click Dim broj, i, Suma As Integer If txtBroj.Text = "" Then MessageBox.Show(" Unesite broj koji želite provjeriti!") ElseIf txtBroj.Text < 1 Then MessageBox.Show("Broj nije prirodan") Else broj = txtBroj.Text Suma = 0 For i = 1 To broj \ 2 If broj Mod i = 0 Then Suma = Suma + i End If Next If broj = Suma Then MessageBox.Show(" Broj je savrsen") Else MessageBox.Show(" Broj nije savrsen") End If End If End Sub

End Class

FORMA ZADATKA I KRATKO UPUTSTVO

12

Page 13: Visual Basic - Boris Paukovic

Program provjerava da li je dati broj savršen. Unosom broja koji želimo da provjerimo kliknemo na Provjeri i pojavljuje se poruka koja kaže da li je broj savršen ili ne. Na primjer,6 je savršen broj.

7. Zadatak – Armstrongov broj

TEKST ZADATKA : Načiniti program koji ispituje da li je prirodan broj (do 1000) Armstrongov. Broj je Armstrongov ako je jednak zbiru kubova svojih cifara.

- OPIS PROMJENLJIVIH Ulazna dinamička promjenljiva je broj, i za vrijednost koju mu dodijelimo provjeravamo da li je prijateljski broj. Pomoćne promjenljive su a, b i c koje pomažu da se broj rastavi na cifre.

- KOD ZADATKA

Public Class Form1 ' Broj je Armstrongov ako je jednak zbiru kubova svojih cifara

Private Sub btnIzracunaj_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnIzracunaj.Click Dim broj, a, b, c, d As Integer broj = Int(TextBox1.Text) If broj < 1 Then MessageBox.Show("Doslo je do greske, broj nije prirodan") ElseIf broj > 1000 Then MessageBox.Show("Najveci broj koji mozete ispitati je 999") a = (broj - (broj Mod 100)) / 100 'izdvaja prvu cifru (sa lijeva na desno) b = ((broj Mod 100) - (broj Mod 10)) / 10 ' izdvaja drugu cifru c = (broj Mod 10) d = (a * a * a) + (b * b * b) + (c * c * c) ' izdvaja trecu cifru

If d = broj Then MessageBox.Show("Broj koji ste unijeli je Armstrongov") Else MessageBox.Show("Broj koji ste unijeli nije Armstrongov, pokusajte ponovo") End If End If End SubEnd Class

13

Page 14: Visual Basic - Boris Paukovic

- FORMA PROGRAMA I KRATKO UPUTSTVO

Nakon što unesemo broj, klikom na dugme Izracunaj, vrši se provjera da li je broj Armstrongov. Na primjer broj 153 je Armstrongov jer je 1³ +5³ +3³ = 153.

8. Zadatak - Digitron

TEKST ZADATKA : Načiniti program koji vrši 4 osnovne aritmetičke operacije (sabiranje, množenje, dijeljenje, oduzimanje)

- OPIS PROMJENLJIVIH

Postoje dvije dinamičke ulazne promjenljive broj1, broj2 tipa Double , te dinamička promjenljiva operacija, tipa String, koja omogućuje izbor aritmetičke operacije.

- KOD ZADATKA

Public Class Form1 Dim broj1, broj2 As Double Dim operacija As String

Private Sub btnObrisi_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnObrisi.Click txtEkran.Text = "" ' brisanje sadržaja sa ekrana End Sub Private Sub btnNula_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnNula.Click txtEkran.Text = txtEkran.Text + "0" 'unošenje cifara End Sub

Private Sub btnJedan_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnJedan.Click txtEkran.Text = txtEkran.Text + "1" End Sub

Private Sub btnDva_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnDva.Click txtEkran.Text = txtEkran.Text + "2" End Sub

14

Page 15: Visual Basic - Boris Paukovic

Private Sub btnTri_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnTri.Click txtEkran.Text = txtEkran.Text + "3" End Sub

Private Sub btnCetiri_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnCetiri.Click txtEkran.Text = txtEkran.Text + "4" End Sub

Private Sub btnPet_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnPet.Click txtEkran.Text = txtEkran.Text + "5" End Sub

Private Sub btnSest_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnSest.Click txtEkran.Text = txtEkran.Text + "6" End Sub

Private Sub btnSedam_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnSedam.Click txtEkran.Text = txtEkran.Text + "7" End Sub

Private Sub btnOsam_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnOsam.Click txtEkran.Text = txtEkran.Text + "8" End Sub

Private Sub btnDevet_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnDevet.Click txtEkran.Text = txtEkran.Text + "9" End Sub

Private Sub btnTacka_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnTacka.Click Dim dectacka As Boolean = False If txtEkran.Text.IndexOf(".") >= 0 Then dectacka = True If dectacka = False Then txtEkran.Text = txtEkran.Text + "." End If End Sub Private Sub btnJednako_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnJednako.Click broj2 = Val(txtEkran.Text) ' uzimamo vrijednost broja 2 Select Case operacija ' vršimo aritmetičku operaciju Case "+" txtEkran.Text = broj1 + broj2 Case "-" txtEkran.Text = broj1 - broj2 Case "*" txtEkran.Text = broj1 * broj2 Case "/" txtEkran.Text = broj1 / broj2 End Select

15

Page 16: Visual Basic - Boris Paukovic

End Sub

Private Sub btnSabiranje_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnSabiranje.Click broj1 = Val(txtEkran.Text) ' dodjeljujemo događaj dugmetu sabiranja operacija = "+" txtEkran.Text = " "

End Sub

Private Sub btnOduzimanje_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnOduzimanje.Click broj1 = Val(txtEkran.Text) operacija = "-" txtEkran.Text = "" End Sub

Private Sub btnMnozenje_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnMnozenje.Click broj1 = Val(txtEkran.Text) operacija = "*" txtEkran.Text = "" End Sub

Private Sub btnDjeljenje_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnDjeljenje.Click broj1 = Val(txtEkran.Text) operacija = "/" txtEkran.Text = ""

End Sub

End Class

- FORMA PROGRAMA I KRATKO UPUTSTVO

16

Page 17: Visual Basic - Boris Paukovic

Program predstavlja digitron koji omogućuje 4 osnovne računske operacije sa realnim brojevima. Klikom na pojedino dugme dobijamo vrijednost ili operaciju koja je na njemu prikazana.

9. Zadatak – Mjeseci i godine

TEKST ZADATKA : Načiniti program koji za unešenu godinu i redni broj mjeseca pokazuje koji je to mjesec i koliko ima dana. Ako se provjerava drugi mjesec, februar, program ispituje i da li je godina prestupna. Ako je prestupna, februar ima 29 dana, u suprotnom 28.

- OPIS PROMJENLJIVIHPostoje dvije ulazne promjenljive, mjesec i godina, tipa integer. U funkciji prestupna deklarisana je promjenljiva ost, koja omogućuje provjeru prestupnosti mjeseca februara.

- KOD ZADATKA

Public Class Form1 Dim godina, mjesec As Integer Private Sub btnProvjera_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnProvjera.Click

godina = Int(txtgodina.Text) mjesec = Int(txtMjesec.Text) If mjesec < 1 Or mjesec > 12 Then ' provjera da li je uneseni mjesec u rasponu izmedju 1 i 12 MessageBox.Show("Pogresno ste unijeli redni broj mjeseca") Else Select Case mjesec 'demonstracija select case naredbe Case 1 MessageBox.Show("mjesec je januar i ima 31 dan") Case 2 If prestupna() = True Then MessageBox.Show("Mjesec je februar i ima 29 dana, godina je prestupna")

17

Page 18: Visual Basic - Boris Paukovic

Else MessageBox.Show("Mjesec je februar i ima 28 dana, godina nije prestupna") End If Case 3 MessageBox.Show("Mjesec je mart i ima 30 dana") Case 4 MessageBox.Show("Mjesec je april i ima 30 dana") Case 5 MessageBox.Show("Mjesec je maj i ima 31 dan") Case 6 MessageBox.Show("Mjesec je jun i ima 30 dana") Case 7 MessageBox.Show("Mjesec je jul i ima 31 dan") Case 8 MessageBox.Show("Mjesec je avgust i ima 31 dan") Case 9 MessageBox.Show("Mjesec je septembar i ima 30 dana") Case 10 MessageBox.Show("Mjesec je oktobar i ima 31 dan") Case 11 MessageBox.Show("Mjesec je novembar i ima 30 dana") Case 12 MessageBox.Show("Mjesec je decembar i ima 31 dan") End Select End If End Sub

Function prestupna() As Boolean ' definisanje funkcije - vraca samo jednu vrijednost Dim ost As Integer ost = godina Mod 4 'provjeravamo da li je godina prestupna, prestupna je ako je djeljiva sa 4 If ost = 0 Then Return True Else Return False End If End Function

Private Sub btnPonisti_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnPonisti.Click txtgodina.Text = " " 'nakon izvrsavanja programa omogucujemo novi unos txtMjesec.Text = " " End Sub

End Class

- FORMA PROGRAMA I KRATKO UPUTSTVO

18

Page 19: Visual Basic - Boris Paukovic

Na osnovu unešene godine i rednog broja mjeseca, program ispisuje koji je to mjesec i koliko ima dana. U slučaju da je godina prestupna i redni broj mjeseca je 2, program nas obavještava da je data godina prestupna i da mjesec februar u tom slučaju ima 29 dana. Provjera se vrši klikom na dugme Provjeri, dok dugme Poništi omogućava novi unos.

U programu je definisana i funkcija prestupna, tipa boolean (postoje samo dvije vrijednosti, tačno (engl. True) i netačno (engl. False) ) koja se poziva u dijelu programa gdje se vrši provjera za drugi mjesec.

10. Zadatak - Obim i površina trougla

TEKST ZADATKA: Načiniti program koji za date koordinate triju tačaka u Dekartovom koordinatnom sistemu ispituje da li te tačke mogu obrazovati trougao, U slučaju da tačke mogu obrazovati trougao, izračunati njegov obim i površinu, u suprotnom obavjestiti korisnika da su tačke koliearne i da ne mogu obrazovati trougao.

- OPIS PROMJENLJIVIH

Ulazne promjenljive su dinamičke i omogućuju unos koordinata. To su x1, y1, x2, y2, x3, y3. Promjenljivima a, b i c pridružuje se dužina stranica trougla. Promjenljiva poluobim je potrebna da bi se izračunala površina. Izlazne promjenljive su obim i povrsina kojima se dodjeljuje izračunati obim i površina trougla, respektivno.

- KOD ZADATKA

Public Class Form1

19

Page 20: Visual Basic - Boris Paukovic

Private Sub btnIzracunaj_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnIzracunaj.Click Dim x1, y1, x2, y2, x3, y3, a, b, c, obim, poluobim, povrsina As Double x1 = Int(mtxtx1.Text) ' unos koordinate x1 y1 = Int(mtxty1.Text) ' unos koordinate y1 x2 = Int(mtxtx2.Text) ' unos koordinate x2 y2 = Int(mtxty2.Text) 'unos koordinate y2 x3 = Int(mtxtx3.Text) ' unos koordinate x3 y3 = Int(mtxty3.Text) ' unos koordinate y3 a = Math.Sqrt(((x3 - x2) ^ 2) + ((y3 - y2) ^ 2)) ' racunanje udaljenosti izmedju tacaka b = Math.Sqrt(((x3 - x1) ^ 2) + ((y3 - y1) ^ 2)) c = Math.Sqrt(((x2 - x1) ^ 2) + ((y2 - y1) ^ 2)) If ((a + b = c) Or (a + c = b) Or (b + c = a)) Then ' ispituje se kolinearnost, da li neke tacke leze u istoj ravni MessageBox.Show("Tacke koje ste unijeli ne mogu formirati trougao") Else obim = a + b + c ' racunanje obima poluobim = obim / 2 ' poluobim nam je potreban za izracunavanje povrsine povrsina = Math.Sqrt(poluobim * (poluobim - a) * (poluobim - b) * (poluobim - c)) ' formula za povrsinu End If lblRastojanjec.Text = "Rastojanje izmedju tacaka A i B je " + c.ToString lblrastojanjea.Text = "Rastojanje izmedju tacaka B i C je " + a.ToString lblrastojanjeb.Text = "Rastojanje izmedju tacaka A i C je " + b.ToString lblobim.Text = "Obim trougla je " + obim.ToString ' ispis obima lblpovrsina.Text = "Povrsina trougla je " + povrsina.ToString 'ispis povrsine End SubEnd Class

- FORMA PROGRAMA I KRATKO UPUTSTVO

20

Page 21: Visual Basic - Boris Paukovic

Korisnik unosi koordinate tačaka. Klikom na dugme Izracunaj program vrši računanje rastojanje između tačaka, što predstavlja dužine stranica koje formiraju trougao. Ako su tačke kolinearne, odnosno ako leže u istoj ravni, ne može se formirati trougao. U suprotnom, računa se obim i površina trougla.

11. Zadatak – Aritmetička sredina niza i ispis većih elemenata

TEKST ZADATKA : Načiniti program koji računa aritmetičku sredinu niza te ispisuje sve elemente niza koji su veći od aritmetičke sredine.

- OPIS PROMJENLJIVIHKoriste se dinamičke promjenljive i i j koji predstavljaju brojače u for petljama. Suma je promjenljiva koja sabira sve elemente i pomaže pri računanju aritmetičke sredine, asr. Promjenljiva granica definiše od koliko se elemenata sastoji niz. Definisana je i

21

Page 22: Visual Basic - Boris Paukovic

promjenljiva niz (engl. Array) koja omogućuje unos elemenata niza. Najveći broj elemenata u nizu je 100.

- KOD ZADATKA

Public Class Form1 Dim i, suma, granica, j As Integer ' definisanje globalnih promjenjivih Dim niz(100), asr As Double ' definisanje niza koji moze imati najvise 100 elemenata i aritmeticke sredine

Private Sub btn_unos_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn_unos.Click granica = mtxt_unos.Text 'Unosimo broj elemenata niza For i = 1 To granica ' Unosimo elemente niza niz(i) = InputBox("Unesi vrijednost clana niza") ' lst_elementi.Items.Add(niz(i)) Next

End Sub

Private Sub btn_as_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn_as.Click suma = 0 For i = 1 To granica suma = suma + niz(i) ' Sabiramo elemente nizA Next asr = suma / granica 'Racunamo aritmeticku sredinu txt_as.Text = asr.ToString End Sub

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click For i = 1 To granica ' Ispis svih elemenata koji su veci od aritmeticke sredine If niz(i) > asr Then lbl_veci.Text = lbl_veci.Text + "," + niz(i).ToString End If Next End SubEnd class- FORMA PROGRAMA I KRATKO UPUTSTVO

22

Page 23: Visual Basic - Boris Paukovic

Na početku je potrebno unijeti broj članova niza. Klikom na dugme Unesi elemente niza, korisnik unosi članove. Klikom na dugme Izracunaj AS računa se i ispisuje aritmetička sredina. Dugme Veci od AS u labelu Brojevi veci od AS su ispisuje sve članove niza koji su veći od aritmetičke sredine.

12. Zadatak – Najmanji i najveći element niza

23

Page 24: Visual Basic - Boris Paukovic

TEKST ZADATKA : Načiniti program koji ispisuje najveći i najmanji element unesenog niza.

- OPIS PROMJENLJIVIH

Kao globalne promjenljive definisani su jednodimenzionalni niz, niz (100) koji može imati najviše 100 članova, zatim brel, promjenljiva koja definiše koliko niz najviše može imati elemenata te izlazne promjenljive, min i max kojima se pridružuje najmanji i najveći član niza, respektivno. Promjenljiva i je pomoćna promjenljiva, koje u FOR petlji ima funkciju brojača.

- KOD ZADATKA

Public Class Form1 Dim niz(100), i, max, min, brel As Integer 'globalne promjenjive Private Sub btn_elementi_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn_elementi.Click brel = Int(txt_brel.Text) If brel < 1 Then MessageBox.Show("Greska, molimo unesite ponovo broj clanova niza") Else For i = 1 To brel 'unosimo broj elemenata niza niz(i) = InputBox("Unesi vrijednost clana niza") lst_elementi.Items.Add(niz(i)) Next End If

End Sub

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click ' pretrazuje se i ispisuje najveci i najmanji element niza max = niz(1) min = niz(1) For i = 2 To brel If min > niz(i) Then min = niz(i) ElseIf max < niz(i) Then max = niz(i) End If Next lbl_najveci.Text = "Najveci element niza je " + max.ToString lblNajmanji.Text = "Najmanji element niza je " + min.ToString End SubEnd Class

- FORMA PROGRAMA I KRATKO UPUTSTVO

24

Page 25: Visual Basic - Boris Paukovic

Program ispisuje najmanji i najveći član niza cijelih brojeva. Potrebno je da se unese broj elemenata u nizu. Nakon toga, klikom na dugme Unesite elemente, unose se i ispisuju elementi niza.

Klikom na dugme Prikazi najveci i najmanji element ispisuje se najveći i najmanji član niza.

25

Page 26: Visual Basic - Boris Paukovic

13. Zadatak - Sortiranje niza u neopadajućem i nerastućem redoslijedu

TEKST ZADATKA : Načiniti program za sortiranje niza korištenjem metoda mjehurića (engl. bubble sort) u neopadajućem i nerastućem redoslijedu.

- OPIS PROMJENLJIVIH

Definisane su globalne promjenljive, jednodimenzionalni niz , niz(100) , zatim granica, koja predstavlja broj elemenata u nizu, pomoćne promjenljive i i j, koji u FOR petlji imaju funkciju brojača , te promjenljiva ex, koja pomaže pri zamjeni elemenata (engl. swap)

- KOD ZADATKA

Public Class Form1 Dim niz(100) As Integer Dim granica, i, j, ex As Integer Private Sub btnUnos_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnUnesi.Click If txtbrojclanova.Text = "" Then MessageBox.Show("Unesi broj clanova niza") Else granica = txtbrojclanova.Text If granica < 1 Or granica > 100 Then 'ako je broj clanova izvan opsega ponavlja se postupak MessageBox.Show("Granicna vrijednost koju ste unijeli nije u opsegu, pokusajte ponovo") End If For i = 1 To granica ' petlja koja omogucava unos clanova niza niz(i) = InputBox("Unesi clan niza", "Unos vrijednosti", "prazno") lbxUnesi.Items.Add(niz(i)) Next End If End Sub

Private Sub btnSortiranje_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnSortiraj.Click For i = 1 To granica ' for petlja koja krece od prvog clana unesenog niza For j = 1 To granica - i ' for petlja koja krece od prvog clana niza ali ide do zadnjeg koji je umanjen za i If niz(j) >= niz(j + 1) Then ' ako je aktivni clan niza veci ili jednak od sljedbenika ex = niz(j) ' pomocna promjenjiva koja omogucava zamjenu mjesta niz(j) = niz(j + 1) niz(j + 1) = ex

End If Next

26

Page 27: Visual Basic - Boris Paukovic

Next For i = 1 To granica ' ispis sortiranih elemenata u novi listbox lbxSortNeo.Items.Add(niz(i)) Next For i = 1 To granica ' for petlja koja krece od prvog clana unesenog niza For j = 1 To granica - i ' for petlja koja krece od prvog clana niza ali ide do zadnjeg koji je umanjen za i If niz(j) <= niz(j + 1) Then ' ako je aktivni clan niza manji ili jednak od sljedbenika ex = niz(j) ' pomocna promjenjiva koja omogucava zamjenu mjesta niz(j) = niz(j + 1) niz(j + 1) = ex

End If Next Next For i = 1 To granica ' ispis sortiranih elemenata u novi listbox lbxSortNer.Items.Add(niz(i)) Next End SubEnd Class

FORMA PROGRAMA I KRATKO UPUTSTVO

Potrebno je unijeti broj elemenata niza Najviše je 100 elemenata moguće. Nakon što odredimo broj elemenata, klikom na dugme Unesi elemente, vršimo unos elemenata. Klikom na dugme Sortiraj u listu pod nazivom lbxSortNeo ispisuje se sortirani niz u neopadajućem redoslijedu (od manjeg ka većem ali dozvoljen je unos dva ista elementa), a u listu pod nazivom lbxSortNer ispisuje se sortirani niz u nerastućem redoslijedu (od većeg ka manjem, isto tako je dozvoljen unos dva ista elementa).

Metoda mjehurića, (engl.bubble sort) je jedna od najpoznatijih metoda sortiranja elemenata niza. Elementi se sortiraju tako što se u svakom prolazu uspoređuju susjedni elementi i ako se nakon usporedbe utvrdi da elementi nisu u željenom poretku, međusobno mijenjaju svoje pozicije i tako se prema kraju niza postepeno pomjera najveći, odnosno najmanji element.

27

Page 28: Visual Basic - Boris Paukovic

14. Zadatak – Fibonačijev niz

TEKST ZADATKA : Načiniti program koji za zadanu graničnu vrijednost ispisuje Fibonačijev niz.

Neka je prvi član niza, F1 = 1, drugi član niza, F2 = 2 , tada je treći član niza , F3 = F1 + F2 , ili uopšteno, Fn = F n-1 + F n – 2 . Ovakav niz se zove Fibonačijev niz.

- OPIS PROMJENLJIVIH

Promjenljiva granica predstavlja graničnu vrijednost niza. Pošto su prva dva člana niza 1 i 2, tada promjenljivima prviclan i drugiclan dodjeljujemo te vrijednosti. Prelaskom na sljedeće članove niza uz pomoć FOR petlje navedenim promjenljivima se mijenja vrijednost.

- KOD ZADATKA

Public Class fibonaci ' Prvi clan u nizu je 1, drugi clan je 2. Svi ostali clanovi se dobijaju tako sto saberemo njegova dva prethodnika. Fn = F (n-1) + F (n-2)

Private Sub btn_Pokazi_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn_Pokazi.Click Dim clan, i, granica, prviclan, drugiclan As Long

granica = Int(txtGranica.Text) ' Unosimo granicu niza prviclan = 1 ' prvom clanu dajemo vrijednost 1 drugiclan = 2 ' drugom clanu dajemo vrijednost 2 If granica < 1 Or granica > 50 Then MessageBox.Show("Unesite granicnu vrijednost niza koja je veca ili jednaka 1 i manja od 50")

ElseIf granica = 1 Then lbx_Ispis.Items.Add(Str(prviclan)) ElseIf granica = 2 Then lbx_Ispis.Items.Add(Str(prviclan)) lbx_Ispis.Items.Add(Str(drugiclan)) Else lbx_Ispis.Items.Add(Str(prviclan)) lbx_Ispis.Items.Add(Str(drugiclan)) For i = 3 To granica ' treci clan se dobija tako sto sabiramo dva prethodna clan = prviclan + drugiclan lbx_Ispis.Items.Add(Str(clan)) prviclan = drugiclan drugiclan = clan clan = 0 Next i End If End SubEnd Class

28

Page 29: Visual Basic - Boris Paukovic

- FORMA PROGRAMA I KRATKO UPUTSTVO

Unosom granične vrijednosti niza, definišemo do kojeg člana će se ispisivati vrijednosti Fibonačijevog niza. Klikom na dugme Pokazi, u listu nam se ispisuju članovi niza.

„Leonardo Pisano Bogollo (rođen oko 1170. godine, umro oko 1250. godine) , poznat i pod nazivom Leonardo of Pisa , Leonardo Bonacci, Leonardo Fibonacci , ili najčešće Fibonacci je italijanski matematičar. Smatra se da je jedan od najtalentovanijih matematičara zapadnog svijeta u srednjem vijeku.“2

2 Podaci preuzeti iz enciklopedije Britannica, elektronska verzija

29

Page 30: Visual Basic - Boris Paukovic

15. Zadatak – Unos kvadratne matrice brojeva te ispis broja pozitivnih, negativnih članova i nula

TEKST ZADATKA : Načiniti program koji ispisuje pozitivne, negativne članove i nule date matrice.

- OPIS PROMJENLJIVIH

Ulazna promjenljiva je n, koja definiše broj redova i kolona kvadratne matrice. Promjenljive i i j su brojači u FOR petlji, dok su izlazne promjenljive pozitivni, negativni, nula i one omogućuju ispis broja pozitivnih, negativnih članova i nula u matrici. Dvodimenzionalni niz , matrica, je definisana promjenljivom M, koja u ovom slučaju može imati najviše 10 redova i 10 kolona.

- KOD ZADATKA

Public Class Form1 Dim n, i, j, pozitivni, negativni, nula As Integer Dim M(10, 10) As Double

Private Sub btnUnos_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnUnos.Click pozitivni = 0 negativni = 0 nula = 0 n = InputBox("Unesite broj redova i kolona matrice", "Velicina matrice") For i = 1 To n For j = 1 To n M(i, j) = InputBox("Unesite broj za element u " + CStr(i) + " redu i " + CStr(j) + " koloni ") lbxMatrica.Items.Add(CStr(i) + "." + CStr(j) + "=" + CStr(M(i, j))) If M(i, j) > 0 Then ' provjeravamo da li je element matrice pozitivan , ako jeste brojac se povecava za jedan pozitivni = pozitivni + 1 ElseIf M(i, j) < 0 Then ' provjeravamo da li je element matrice negativan , ako jeste brojac se povecava za jedan negativni = negativni + 1 ElseIf M(i, j) = 0 Then ' provjeravamo da li je element matrice nula , ako jeste brojac se povecava za jedan nula = nula + 1 End If Next Next lblPozitivni.Text = "Broj pozitivnih elemenata je : " + pozitivni.ToString lblNegativni.Text = "Broj negativnih elemenata je : " + negativni.ToString lblnula.Text = "Broj nula u matrici je : " + nula.ToString End Sub

30

Page 31: Visual Basic - Boris Paukovic

End Class

- FORMA PROGRAMA I KRATKO UPUTSTVO

Uz pomoć dugmeta Unos elemenata, prvo definišemo broj redova i kolona. Nakon toga unosimo redove i kolone. Po završetku unosa program odmah pokazuje broj pozitivnih, negativnih elemenata matrice te nula.

31

Page 32: Visual Basic - Boris Paukovic

16. Zadatak – Aritmetička sredina redova i kolona matrice

TEKST ZADATKA : Načiniti program koji računa aritmetičku sredinu elemenata redova i kolona matrice.

- OPIS PROMJENLJIVIHPromjenljive m i n definišu broj kolona i redova matrice, to su ulazne promjenljive. I i j su pomoćne promjenljive, brojači.Dvodimenzionalni niz , Matrica, je promjenljiva koja definiše matricu. Zbirr, Zbirk, ArSr, ArSk su izlazne promjenljive kojima se pridružuje zbir elemenata u redui koloni te aritmetičke sredine redova i kolona.

- KOD ZADATKA

Public Class Form1 Dim n, m, i, j As Integer Dim Matrica(10, 10), Zbirr, Zbirk, ArSr, ArSk As Double Private Sub btnUnosElemenata_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnUnosElemenata.Click n = InputBox("Unesite broj redova matrice", "Broj redova") m = InputBox("Unesite broj kolona matrice", "Broj kolona") For i = 1 To n For j = 1 To m Matrica(i, j) = InputBox("Unesite broj za element u " + CStr(i) + " redu i " + CStr(j) + " koloni ") lbxUnosMatrice.Items.Add(CStr(i) + "." + CStr(j) + "=" + CStr(Matrica(i, j)))

Next j Next i

For i = 1 To n Zbirr = 0 For j = 1 To m Zbirr = Zbirr + Matrica(i, j) Next j ArSr = Zbirr / m lbxRedovi.Items.Add(CStr(i) + ".red = " + CStr(ArSr)) Next i For j = 1 To m Zbirk = 0 For i = 1 To n Zbirk = Zbirk + Matrica(i, j) Next i ArSk = Zbirk / n lbxKolone.Items.Add(CStr(j) + ".kolona = " + CStr(ArSk))

Next End Sub

32

Page 33: Visual Basic - Boris Paukovic

End Class

- FORMA PROGRAMA I KRATKO UPUTSTVO

Klikom na dugme Unesi elemente poziva se događaj gdje se određuje broj kolona i broj redova. Nakon toga korisnik unosi elemente redova i kolona. Poslije unošenja elemenata, u liste lbxRedovi i lbxKolone ispisuju se aritmetičke sredine redova i kolona.

33

Page 34: Visual Basic - Boris Paukovic

17. Zadatak – Ispis donje trougaone matrice, gornje trougaone matrice i elemenata dijagonale kvadratne matrice

TEKST ZADATKA : Načiniti program koji ispisuje elemente donje trougaone matrice, gornje trougaone matrice i dijagonale matrice. Donju trougaonu matricu čine svi elementi ispod glavne dijagonale ali i elementi glavne dijagonale, gornju trougaonu matricu čine svi elementi iznad glavne dijagonale ali i elementi glavne dijagonale.

- OPIS PROMJENLJIVIH

Kao i u prethodnom programu, imamo promjenljivu n koja definiše broj redova i kolona matrice, dvodimenzionalni niz M koji predstavlja redove i kolone, pomoćne promjenljive i i j koji služe kao brojači u FOR petlji.

- KOD ZADATKA

Public Class Form1 Dim n, i, j As Integer Dim M(10, 10) As Double Private Sub btnUnosElemenata_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnUnosElemenata.Click n = InputBox("Unesite broj redova i kolona matrice", "Velicina matrice") For i = 1 To n For j = 1 To n M(i, j) = InputBox("Unesite broj za element u " + CStr(i) + " redu i " + CStr(j) + " koloni ") lbxUnosMatrice.Items.Add(CStr(i) + "." + CStr(j) + "=" + CStr(M(i, j))) Next Next End Sub

Private Sub btnGlavnaDijagonala_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnGlavnaDijagonala.Click For i = 1 To n lbxGlDijagonala.Items.Add(M(i, i)) Next End Sub

Private Sub btnDonjaT_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnDonjaT.Click For i = 1 To n For j = 1 To i lbxDonjaT.Items.Add(M(i, j)) Next

34

Page 35: Visual Basic - Boris Paukovic

Next End Sub

Private Sub btnGornjaT_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnGornjaT.Click For i = 1 To n For j = i To n lbxGornjaT.Items.Add(M(i, j)) Next Next End Sub

- FORMA PROGRAMA I KRATKO UPUTSTVO

Dugme Unesi elemente pokreće događaj broja redova i kolona matrice, a nakon toga unos i samih elemenata. Klikom na dugme Glavna dijagonala , Gornja trougaona, Donja trougaona u listama se ispisuju elementi glavne dijagonale matrice, elementi gornje trougaone te elementi donje trougaone matrice, respektivno.

35

Page 36: Visual Basic - Boris Paukovic

18. Zadatak – Sabiranje i oduzimanje dvije kvadratne matrice

TEKST ZADATKA : Načiniti program koji sabira i oduzima dvije kvadratne matrice

- OPIS PROMJENLJIVIHPostoje 3 dvodimenzionalna niza, M, M1,M2, koje predstavljaju unos matrica te ispis zbira odnosno razlike elemenata.I i j su pomoćne promjenljive, dok promjenljive n i s definišu broj redova i kolona matrica

- KOD ZADATKA

Public Class Form1 Dim M(10, 10) As Double Dim M1(10, 10) As Double Dim M2(10, 10) As Double Dim i, j, n, s As Integer

Private Sub btnUnosElemenataM_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnUnosElemenataM.Click n = InputBox("Unesite broj redova i kolona matrice", "Velicina matrice") For i = 1 To n For j = 1 To n M(i, j) = InputBox("Unesite broj za element u " + CStr(i) + " redu i " + CStr(j) + " koloni ") lbxUnoselemenataM.Items.Add(CStr(i) + "." + CStr(j) + "=" + CStr(M(i, j))) Next Next End Sub

Private Sub btnUnosElemenataM1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnUnosElemenataM1.Click s = InputBox("Unesite broj redova i kolona matrice", "Velicina matrice") If n <> s Then MessageBox.Show("Broj redova i kolona matrica mora biti jednak!") Else For i = 1 To s For j = 1 To s M1(i, j) = InputBox("Unesite broj za element u " + CStr(i) + " redu i " + CStr(j) + " koloni ") lbxUnosElemenataM1.Items.Add(CStr(i) + "." + CStr(j) + "=" + CStr(M1(i, j))) Next Next End If

End Sub

36

Page 37: Visual Basic - Boris Paukovic

Private Sub btnSaberi_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnSaberi.Click For i = 1 To n For j = 1 To n lbxZbir.Items.Add(CStr(i) + "." + CStr(j) + "=" + CStr(M(i, j) + M1(i, j)))

Next Next

End Sub

Private Sub btnOduzimanje_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnOduzimanje.Click For i = 1 To n For j = 1 To n lbxZbir.Items.Add(CStr(i) + "." + CStr(j) + "=" + CStr(M(i, j) - M1(i, j)))

Next Next End SubEnd Class

- FORMA PROGRAMA I KRATKO UPUTSTVO

Dugmad Unesi elemente podržavaju događaje unosa elemenata matrica koje želimo sabrati ili oduzeti.

Klikom na dugme Saberi odnosno Oduzmi, u listu lbxZbir se ispisuje zbir odnosno razlika elemenata matrice.

37

Page 38: Visual Basic - Boris Paukovic

19. Zadatak – Unos niza brojeva i ispis tog niza u obrnutom redoslijedu

TEKST ZADATKA : Načiniti program koji ispisuje niz brojeva u obrnutom redoslijedu.

- OPIS PROMJENLJIVIHDefinisana su dva jednodimenzionalna niza, Unos (ulazni niz) i Obrnut (izlazni niz) te pomoćna promjenljiva , i , za FOR petlju.

- KOD ZADATKA

Public Class Form1 Dim Unos(50), Obrnut(50), i As Integer

Private Sub btnDodavanjeEL_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnDodavanjeEL.Click Unos(i) = Int(txtUnos.Text) ' omogucuje unos elemenata ciji konacan broj nije prethodno definisan lbxUnosEl.Items.Add(Unos(i)) ' dodaje elemente listi txtUnos.Text = "" ' nakon upisivanja nekog elementa, prazni se textbox u koji se unose elementi txtUnos.Focus() i = i + 1 ' brojac se povecava za jedan lblUnos.Text = "Unesite " + CStr(i + 1) + " clan:" End Sub

Private Sub btnObrnuto_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnObrnuto.Click Dim j As Integer lbxObrnutiEL.Items.Clear() For j = 1 To i Obrnut(j) = Unos(i - j) ' zadnji uneseni element postaje prvi element u novom nitu lbxObrnutiEL.Items.Add(Obrnut(j)) 'dodavanje elementa listi Next End Sub

End Class

- FORMA PROGRAMA I KRATKO UPUTSTVO

38

Page 39: Visual Basic - Boris Paukovic

Definisan je maksimalan broj članova niza, ali korisnik ne mora prethodno da definiše broj članova koji unosi. Uz pomoć dugmeta Dodaj, unose se elementi u listu, a dugme Obrnuti redoslijed ispisuje elemente obrnutim redoslijedom ( engl. LIFO, last in first out)

20. Zadatak – Najveći zajednički djelilac – Euklidov algoritam

TEKST ZADATKA : Načiniti program koji pronalazi najveći zajednički djelilac dva broja.

- OPIS PROMJENLJIVIH U programu su definisane 3 promjenljive, Prvi_broj, Drugi_broj koje su ulazne promjenljive te Ostatak, pomoćna promjenljiva, koja je potrebna pri računanju NZD.

- KOD ZADATKA

Public Class Form1 Dim Prvi_Broj, Drugi_Broj As Integer Dim Ostatak As Integer

Private Sub btnRacunaj_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnRacunaj.Click Prvi_Broj = txtPrvi.Text Drugi_Broj = txtDrugi.Text If Prvi_Broj < 1 Or Drugi_Broj < 1 Then MessageBox.Show("Niste unijeli prirodne brojeve") ElseIf Prvi_Broj < Drugi_Broj Then MessageBox.Show("Djeljenik mora biti veći od djelitelja") Else

Do Until (Drugi_Broj = 0) If Prvi_Broj > Drugi_Broj Then 'cjelobrojno dijeli veci sa manjim brojem Ostatak = Prvi_Broj Mod Drugi_Broj ' Zamjena pozicija za sledece dijeljenje Prvi_Broj = Drugi_Broj Drugi_Broj = Ostatak

End If Loop MessageBox.Show("Najveci zajednicki djelitelj brojeva " + txtPrvi.Text + _ " i " + txtDrugi.Text + " je " + Prvi_Broj.ToString()) End If End SubEnd Class

39

Page 40: Visual Basic - Boris Paukovic

- FORMA PROGRAMA I KRATKO UPUTSTVO

Korisnik unosi brojeve za koje želi da pronađe najveći zajednički djelilac. Klikom na dugme Izracunaj, program ispisuje rezultat.

Euklid, takođe poznat pod nazivom Euklid iz Aleksandrije, grčki matematičar koji je živio oko 300. godine prije Hrista. Naziva se i ocem geometrije. Najpoznatiji rad se naziva Elementi.

Euklid je anglistička verzija grčkog imena Eukleides, što se može prevesti kao dobra veličanstvenost, dobri nebeski sjaj. 3

3 Podaci preuzeti iz enciklopedije Britannica, elektronska verzija

40

Page 41: Visual Basic - Boris Paukovic

Zaključak

Visual Basic (VB) je programski jezik razvijen od firme Microsoft. Omogućuje izradu aplikacija sa velikim brojem mogućnosti a od toga je najznačajnija brza izrada aplikacija, RAD (engl.Rapid Application Developement).

Visual Basic je jako popularan programski jezik. Vuče korijene iz BASIC-a , takođe najpopularnijeg programskog jezika 1980 – tih godina prošlog vijeka. Na osnovu njega stvorene su brojne programske aplikacije: Word, Excel, PowerPoint.

Najčešća primjena Visual Basic –a je u izradi poslovnih aplikacija, zbog jednostavnosti izrade grafičkog okruženja te samog programiranja događaja.

41

Page 42: Visual Basic - Boris Paukovic

Literatura:

1. Zabilješke sa predavanja prof. dr Zorana Ž. Avramovića, Univerzitet Apeiron, 20102. Peter Norton, Michael Groh; Visual Basic 6, Kompjuter biblioteka, Čačak, 20043. Prezentacije sa vježbi iz predmeta Osnove programiranja, mr. Dražen Brđanin,

Elektrotehnički fakultet Banja Luka, 20074. Internet adrese:

www.etfbl.net

www.britannica.com

www.vbcode.com

www.msdn.microsoft.com

42