Download - Visual Basic Rijeseni Primjeri Zadataka
Panevropski univerzitet Apeiron
SADRAJ31. UVOD
41.1 Tipovi podataka
71.2 RADNI PROSTOR VISUAL BASIC-a
82. VJEBE
82.1 Vjeba 1 - Dobro dosli u Visual Basic
92.2 Vijeba 2 Najmanji Broj
102.3 Vijeba 3 - Razlika najveeg i zbira preostala dva broja
112.4 Vjeba 4 Povrina i obim praugaonika
122.5 Vijeba 5 Obrnuti tekst
132 .6 Vjeba 6 Prestupna godina
142.7 Vjeba 7 Zahtjev za lozinku
152.8 Vjeba 8 Mjeseci u godini
162.9 Vjeba 9 - Primjena Pitagorine
182.10 Vjeba 10 - Izraunavanje povrine trougla koritenjem Heronovog obrasca
192.11 Vjeba 11 - Mala i velika slova
202.12 Vjeba 12 Geometrijska sredina dva broja
212.13 Vjeba 13 Kalkulator
222.14 Vjeba 14 Pozitivan ili negativan broj
232.15 Vjeba 15 Datum i tano vrijeme
232.16 Vjeba 16 toperica
242.17 Vjeba 17 - itanje teksta
252.18 Vjeba 18 Web Browser
272.19 Vjeba 19 Beeper
282.20 Vjeba 20 Redanje brojeva ( Shuffle )
333. Zakljucak
344. Literatura
1. UVODNa Univerzitetu Dartmouth, 1965. godine, dva profesora John Kemeny i Thomas Kurtz razvila su "Beginner's All-purpose Symbolic Instruction Code" ili skraeno BASIC. BASIC je prvenstveno bio razvijen zbog potrebe interaktivnosti programskih jezika. Ova interaktivnost znai da programeri mogu da unose komande i da odmah potom iskuse rezultate obrade.Sredinom osamdesetih "Microsoft" je razvio novu verziju QuickBasic.
Iako je QuickBasic okruenje bilo mono i lako za koritenje i uenje, postojao je problem sa optom platformom (MS-DOS) u okviru koje su programeri radili. Naime, MS-DOS nije imao ugraen korisniki interfejs kakav danas poznajemo; umjesto toga - bilo je to tekstualno-orijentisano okruenje. U takvom tekstualno-orijentisanom okruenju nije mogue upotrijebiti bilo kakvu grafiku prezentaciju - mogue je koristiti samo jednostavne linije ili karaktere. Ovo je MS-DOS inilo tekim za upotrebu zato to je od korisnika zahtjevao dosta tipkanja, a programere je ograniavao u pogledu mogunosti prikaza rezultata korisnicima.
Nakon vie izdanja BASIC-a od strane razliitih softverskih kua, Microsoft je 1991. godine u prodaju pustio Visual Basic, razvojno okruenje koje je predstavljao, do tada, potpuno razliit programerski ablon:
Okruenje je koristilo operativni sistem Windows za razvoj Windows aplikacija okruenje je koristilo razliite kontrole (komponente), ime se obezbjeivala viestruka upotreba istog koda i lake koritenje Windows objekata.
Za razumijevanje postupka razvijanja aplikacije, korisno je razumjeti neke kljune zamisli na osnovu kojih je kreiran Visual Basic. Obzirom da je Visual Basic programski jezik za Windows okruenje, nuormalna je slinost s Windows okolinom. Pojednostavljena verzija rada Windows operativnog sustava ukljuuje tri osnovna pojma: prozore, dogaaje i poruke. Prozor emo shvatiti jednostavno kao pravouglo podruje s vlastitim granicama, prozor Explorera u Windowsima, prozor s dokumentom u naoj aplikaciji za obradu teksta ili dijaloki okvir koji se pojavljuje da nas podsjeti na neki sastanak. Iako su to najei primjeri, zapravo postoji puno drugih vrsta prozora. Naredbeno dugme je prozor, ikone, okviri s tekstom, tasteri izbora i trake s izbornicima su takoer prozori.
Operativni sustav Microsoft Windows upravlja mnotvom tih prozora dodjeljujui svakome od njih jedinstven identifikacijski broj (window handle ili hWnd). Sistem neprekidno prati svaki od tih prozora traei znakove aktivnosti ili dogaaja. Dogaaji se mogu pojaviti zahvaljujui akciji korisnika kao to je klik miem ili pritisak na tipku, tokom programirane kontrole, ili ak kao rezultat akcije nekog drugog prozora. Svaki put kad se pojavi dogaaj, uzrokuje poruku koja se alje operativnom sistemu. Sistem obrauje poruku i prosljeuje je drugim prozorima. Svaki prozor zatim moe poduzeti odgovarajuu akciju zasnovanu na vlastitim uputama kako bi obradio tu odreenu poruku ( npr. ponovno e iscrtati ako je bio pokriven drugim prozorom).
Obrada svih moguih kombinacija prozora, dogaaja i poruka moe biti pravo optereenje. Na sreu, Visual Basic nas oslobaa potreba baratanja svim manje vanim porukama. Veinu poruka Visual Basic obrauje automatski; ostale nam se daju na znanje kao Event postupci. To nam omoguuje brzo stvaranje monih aplikacija bez potrebe za obradom nebitnih detalja. Microsoft Visual Basic je prije svega programski jezik. To je najbri i najlaki nain stvaranja aplikacija za Microsoft Windows-e. Sama rije "Visual" (vidni, vizualan) se odnosi na nain stvaranja grafikog korisnikog okruenja (GUI - graphical user interface). Dakle, tokom itavog procesa stvaranja aplikacije programer je u mogunosti da vidi kako njegov program vizualno izgleda.Visual Basic programeri koriste vie nego bilo koji drugi programski jezik u istoriji raunarstva. Njegovi korjeni doseu do najranijih verzija programskog jezika Basic. Medjutim, Visual Basic se znatno razlikuje od Basica po tome sto nudi vizuelno okruenje za poslove projektovanja. Visual Basic je od pocetka nudio nacin za proirivanje programskog okruenja.
Program u Visual Basicu ima dva dijela:
1. Dio za deklarisanje i
2. Posebne programske procedure.
Deklarisati znai definisati vrijednosti promjenjivih u skladu sa tipovima. Zadavanjem tipa promjenjive govorimo dvije vane stvari o njima:
1. Opseg vrijednosti koje moe uzeti promjenjiva i
2. Operacije koje se mogu izvesti nad promjenjivima.
Radi discipline i preglednosti najbolje je deklarisanje raditi na poetku.
Procedure u Visual Basicu su:
1. (Pod)rutina Sub,
2. Funkcija Function
3. Svojstvo Property.
Funkcija (Function) vraa (daje) samo jedan rezultat, dok Sub daje (vraa) vie razliitih vrijednosti i okonava sa jednim ili vie rezultata. 1.1 Tipovi podatakaTipovi podataka govore kompjuteru i programeru kakvu vrijednost moe imati neka varijabla. Uz varijable, i ostali elementi Visual Basic jezika, poput konstanti, svojstava objekata, argumenata potprograma i funkcija i povratnih vrijednosti funkcija imaju tip podatka. Koritenje raznih tipova podataka u aplikacijama je potrebno radi bolje funkcionalnosti i kvalitete aplikacije.
Varijabla tipa Boolean koriste se za prikaz dva razliita stanja, istinito (True) ili lano (False) i zauzimaju 2 bajta memorije.
Dim Ja_Imam_18_god as BooleanJa_Imam_18_god = False
Byte tip podatka se koristi za dranje vrlo malene numerike vrijednosti u rasponu od 0 do 255. Byte tip podataka zauzima samo jedan bajt memorije i ne moe sadravati negativne vrijednosti.Char tip podataka slui za zapisivanje numerikih vrijednosti u rasponu od 0 do 65535 gdje svaki broj predstavlja jedan Unicode znak. Unicode sistem znakova je standard na svim platformama.
Dim Znak as CharZnak = aZnak = bc
Kod pridjeljivanja vrijednosti Char varijabli, slovo se stavlja unutar navodnika iza kojih moe, a ne mora stajati slovo c. Slovo c na kraju vijednosti se mora koristiti ako je upaljena,opcija Option Strict.
Date tipa podataka moemo prikazati odreeni datum. Date tip podatka je 64bitna numerika vrijednost pomou koje moemo prikazati datum u rasponu od 1. januara do 31. decembra 9999. i vrijeme u rasponu od 00:00 do 23:59.
Varijable tipa Date zauzimaju 8 bajtova memorije. Kod pridjeljivanja nekog datuma varijabli Date tipa, vrijednost mora biti unutar znakova # i mora biti formata m/d/yyyy (month/day/year).Dim Nova_Godina as DateNova_Godina = #31/12/2007#
Tip podatka Decimal slui za rad s brojevima bez zaokruivanja vrijednosti. Decimal tip podatka moe raditi sa 28 decimalnih mjesta. Najvea vrijednost bez decimala koju moe primiti varijabla.Decimal tipa je +/-79,228,162,514,264,337,593,543,950,335.S maksimalnim brojem decimalnih mjesta, u varijablu tipa Decimal mogue je zapisati najveu vrijednost od +/-7.9228162514264337593543950335.
Varijable Decimal tipa zauzimaju 16 bajtova memorije. Kod pridjeljivanja vrijednosti varijabli Decimal tipa vrijednost bez slova D na kraju mogue je da e Visual Basic smatrati vrijednost kao da je tipa Long to moe dovesti do greke ako baratate s jako velikim ciframa. Vrijednost u dole prikazanom primjeru je prevelika za Long tip podatka i kada biste pokuali kompilirati program u kojem se nalazi slijedei dio koda sigurno bi dobili greku OverFlow, tj. prekoraenje maksimalne vrijednosti koju moe primiti varijabla nekog tipa.Dim Racun as Decimal
Racun = 10223372036854775807 'ova linija sadrzi gresku
Taan kod je prikazan na slijedeem primjeru.Dim Racun as Decimal
Racun = 10223372036854775807D
Double tip podatka se koristi za zapisivanje decimalnih vrijednosti u rasponu od -1.79769313486231579E+308 do -4.94065645841246544E-324 za negativne vrijednosti i 4 94065645841246544E-324 do 1.79769313486231579E+308 za pozitivne vrijednosti. Kod pridjeljivanja vrijednosti varijabli tipa Double vrijednost moe biti neki od brojeva koji spada u gore navedeni raspon, a ako elite naznaiti da se radi o Double vrijednosti onda na kraj vrijednosti dodajte slovo R.Dim Vrijednost as Double
Vrijednost = 1234567R
Varijable tipa Double zauzimaju 8 bajtova memorije.
Varijabla tipa Integer koriste se za zapisivanje cjelih brojeva u rasponu od 2.417,483,648 do 2,147,483,647. Integer vrijednosti su 32bitne i zauzimaju 4 bajta memorije. Varijable tipa Integer su najefikasnije varijabke u Visual Basicu .NET i obino se one najee koriste za razne sitne kalkulacije. Vrlo je vjerovatno da ete uz String tip najvie koristiti varijable Integer tipa.Dim I as integer
I = 1000
Varijable tipa Long mogu sadravati cjele brojeve u rasponu od -9, 223, 373, 036, 854, 775, 808 do 9,223,373,036,854,775,808. Vrijednosti tipa Long moete pridjeliti varijablama tipa Long, Single, Double i Decimal bez dodatnih pretvaranja u drugi tip podataka. Kod pridjeljivanja Long vrijednosti nekoj varijabli moete normalno pridjeliti samu vrijednost, a ako elite Visual Basicu dati do znanja da se radi ba o Long vrijednosti onda se iza vrijednosti dodaje slovo L.
Dim LongVrijednost As LongLongVrijednost = 345678LongVrijednost = 345678LU navedenom primjeru, Visual Basic e vrijednost 345678 shvatiti kao Integer vrijednost, a vrijednost 345678L kao Long. Varijable tipa Long su 64bitne i zauzimaju 8 bajtova memorije.
Tip podataka Object je osnovni tip podataka u Visual Basicu .NET. Svi ostali tipovi podataka vuku svoje korijene iz Object tipa podatka i sve varijable bilo kojeg tipa su ustvariobjekti sa svojim svojstvima i postupcima. Object tip podatka je pokaziva na neko mjesto u memoriji gdje se nalazi neki objekt. Varijable tipa Object moete pridijeliti vrijednost bilo kojeg tipa. Varijabla tipa Object zauzima 4 bajta memorije. Svakog puta kada se u Object varijablu zapisuje drugaiji tip podatka Visual Basic mora pretvoriti varijablu u drugi tip podatka, a to iziskuje odreeno vrijeme.1.2 RADNI PROSTOR VISUAL BASIC-a
Radni prostor Visual Basica ini:
1. Naslovna traka
2. Traka izbornika
3. Alatna traka
4. Alatni prozor
5. Prozor forme
6. Prozor svojstva
7. Projektni prozor
Dijelovi Visual Basic projekta su:
Projekat to je rije koja oznaava sve to je obuhvaeno u VB-u,
Forma prozor gdje se kreira interface izmeu korisnika i raunara i,
Kontrole (objekti) - grafike karakteristike ili alati koji se postavljaju na formu da doznae korisniku interakciju (okviri za tekst, komandni tasteri, forma kao kontrola).
Postavljanje kontrola se vri njihovim odabirom u okviru Toolbox i prenoenjem na formu. Svojstva kontrola se podeavaju u prozoru Properties. Properties prozor je ureen u obliku tablice sa dvije kolone. U lijevoj koloni se nalaze imena svih svojstava koja se mogu promijeniti na odabrani objekt. Desna kolona pokazuje podeenu vrijednost za svako svojstvo. Svako svojstvo ima unaprijed podeenu vrijednost koja e djelovati sve dok se ne promijeni.
2. VJEBE 2.1 Vjeba 1 - Dobro dosli u Visual Basic
Zadatak je zamiljen kao dobrodoslica Visual Basic-a. Kad pritisnemo dugme OK u MassageBox-u nam se pojavi poruka Dobro doli u Visual Basic, a kad pritisnemo Izlaz aplikacija se zatvara. U ovom programu smo koristili Button1 i Button2 i u samom kodu smo pozval MassageBox.
VB Aplikacija
Programski kod
Public Class Form1
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
Me.Close()
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
MessageBox.Show("Dobro doli u Visual Basic", "Visual Basic")
End Sub
End Class2.2 Vijeba 2 Najmanji Broj
Za ovu vjebu, na formu sam stavio etiri textbox-a, etiri labele i dva komandna dugmeta. Ovdje sam prikazao uporeivanje tri broja i kao krajnji rezultat dobio sam poruku o tome koji je od tri broja najmanji. Ako prilikom unosa bude bie od jednog najmanjeg broja program e iznbaciti gresku Nepostoji najmanji broj VB Aplikacija
Programski kod
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
TextBox1.Text = " "
TextBox2.Text = " "
TextBox3.Text = " "
TextBox4.Text = " "
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim a As Single
Dim b As Single
Dim c As Single
Dim min As String
a = TextBox1.Text
b = TextBox2.Text
c = TextBox3.Text
min = TextBox4.Text
min = a
If b < a Then min = b
If c < a Then min = c
If a = b Or b = c Then MessageBox.Show("Trenutno nepostoji najmanji Broj", "Problem")
TextBox4.Text = min2.3 Vijeba 3 - Razlika najveeg i zbira preostala dva brojaNa formu sam stavio etiri labele, etiri textbox-a i jedno komandno dugme (Raunaj). Prilikom unosa tri broja razliitih veliina, program treba da izrauna razliku najveeg broja i zbira preostala dva broja. Koristio sam If Then petlju.
VB Aplikacija
Programski kod
Public Class Form1
Dim a As Integer
Dim b As Integer
Dim c As Integer
Dim rez As Integer
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
a = TextBox1.Text
b = TextBox2.Text
c = TextBox3.Text
If a > b And a > c Then
rez = a - (b + c)
ElseIf b > a And b Then
rez = b - (c + a)
Else
rez = c - (b + a)
End If
TextBox4.Text = rez
End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
TextBox1.Text = " "
TextBox2.Text = " "
TextBox3.Text = " "
TextBox4.Text = " "
End Sub
End Class2.4 Vjeba 4 Povrina i obim praugaonika
Kada pokrenemo program, uitava se forma prikazana na slici gore. U prvi TextBox unosi se duina pravougaonika, a u drugi irina pravougaonika. Nakon klika na dugme Izraunaj u TextBox-ovima e se prikazati rezultati za povrinu i obim pravougaonika. Koristio sam 4 TextBox-a, prva 2 za unos stranica duine I irinei, a druga 2 za ispisivanje rezultata.Na formi postoji komanda Izraunaj. Klikom na Izraunaj izvrava se programski kod.VB Aplikacija
Programski kod
Public Class Form1
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim duzina As Integer
Dim sirina As Integer
duzina = TextBox1.Text
sirina = TextBox2.Text
TextBox4.Text = duzina * sirina
TextBox3.Text = 2 * (duzina + sirina)
End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
TextBox1.Text = " "
TextBox2.Text = " "
TextBox3.Text = " "
TextBox4.Text = " "
End Sub
Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
Me.Close()
End Sub
End Class
2.5 Vijeba 5 Obrnuti tekst
Pokrenemo novi projekat i na formu postavimo 2 labele sa tekstom kao na slici gore, dva komandna dugmeta Obrni tekst i Izlaz i 2 TextBox-a. Da bi program bio u funkciji potreban je odgovarajui programski kod. Pokretanjem programa u prvi TextBox unesemo neku rije. Pritiskom na komandu OBRNI TEKST u drugom TextBox-u pojavljuje se obrnuti tekst. Iz programa izlazimo klikom na Izlaz.VB Aplikacija
Programski kod
Public Class Form1
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim rijec As String
rijec = TextBox1.Text
TextBox2.Text = StrReverse(rijec)
End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
TextBox1.Text = " "
TextBox2.Text = " "
End Sub
Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
Me.Close()
End Sub
End Class
2 .6 Vjeba 6 Prestupna godina
Pokrenemo novi projekat i u formu postavljamo tri labele sa tekstom kao na slici. Zatim napravimo dva okvira za tekst i tri komandna dugmeta (Kreni, Poniti i Izlaz). Da bi program bio u funkciji napisati programski kod. Kada pokrenemo program sledei uputstva unesemo godinu u prvi TextBox i pritisnemo dugme Kreni. U drugom okviru za tekst ispisae se odgovor, a pritiskom na dugme Poniti tekst iz okvira se brie i moemo ponoviti upit. Iz programa se izlazi pritiskom na dugme Izlaz. Promenljiva x je deklarisana kao podatak tipa String, odnosno znakovni niz. Da bismo podijelili dva broja tako da izraunamo ostatak koristimo operator Mod. U dijelu programskog koda, koji glasi If x Mod 4 0 ... znai : Ako je ostatak koji preostane po dijeljenju x sa 4 razliit od nule...itd. Vrijednost promenljive x je na poetku postavljena na nulu.VB Aplikacija
Programski kod
Public Class Form1
Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
TextBox1.Text = " "
TextBox2.Text = " "
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim x As String
x = TextBox1.Text
If x Mod 4 0 Then
TextBox2.Text = "Godina nije prestupna"
Else
TextBox2.Text = "Godina je prestupna"
End If
End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
Me.Close()
End Sub
End Class2.7 Vjeba 7 Zahtjev za lozinku
Pokrenuti novi projekat i na formu postaviti dugme Unesi lozinku. Kada pokrenemo program pojavie se forma kao na slici gore i pritiskom na komandno dugme Unesi lozinku pojavljuje se prozor InputBox u koji unosimo ifru, a rezultat se pokazuje u MsgBox-u. Petlja Do While...Loop koju vidimo u programskom kodu gore ne radi nita dok ne ispita da li je neki uslov ispunjen. ako je ispunjen onda poinje da radi prema instrukcijama, u suprotnom prelazi na sledeu naredbu u programu Visual Basic-a. Uslov mora biti promenljiva ili izraz koji vraa vrednost True ili False. Oblik petlje primenjene u ovoj aplikaciji je: Do While Uslov Instrukcije Loop.VB Aplikacija
Programski kod
Public Class Form1
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim start As Integer
Dim lozinka As String
Do While start < 3
lozinka = InputBox("Unesi lozinku", "Pristup Bazi Podataka")
If lozinka = "goran" Then
MessageBox.Show("Prihvacam", "Baza Podataka")
Else
MessageBox.Show("Pokusaj ponovo", "Baza podataka")
End If
start = start + 1
Loop
End Sub
End Class2.8 Vjeba 8 Mjeseci u godini
Ovaj zadatak ima za cilj da kad unese redni broj mjeseca ona u textbox-u izpise njegovo ime, Za ovaj zadatak sam koristio 2 TextBox-a, 2 Button-a, i koristio sa naredbu Case koja sluzi za izbor jedne naredbe (ili nekoliko naredbi) iz skupa od nekoliko moguih a na osnovu vrijednosti nekog izraza. Naredba Case se moze prikazati preko naredbe if, a svaka naredba if se moze opisati preko naredbe case.VB Aplikacija
Programski kod
Public Class Form1
Private Function mjeseci(ByVal redni As Integer) As String
Select Case redni
Case 1
TextBox2.Text = "Januar"
Case 2
TextBox2.Text = "Februar"
Case 3
TextBox2.Text = "Mart"
Case 4
TextBox2.Text = "April"
Case 5
TextBox2.Text = "May"
Case 6
TextBox2.Text = "June"
Case 7
TextBox2.Text = "Juli"
Case 8
TextBox2.Text = "August"
Case 9
TextBox2.Text = "Septembar"
Case 10
TextBox2.Text = "Oktobar"
Case 11
TextBox2.Text = "Novembar"
Case 12
TextBox2.Text = "Decembar"
Case Else
TextBox2.Text = "U godini ima 12 mjeseci"
End Select
End Function
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Call mjeseci(TextBox1.Text)
End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
TextBox1.Text = " "
TextBox2.Text = " "
End Sub
Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
Me.Close()
End Sub
End Class
2.9 Vjeba 9 - Primjena Pitagorine
Ovaj zadatak ima za cilj izracunavanje tree stranice prougla na osnovu poznavanja ostale dvije stranice. Za izraunavanje ovog zadatka koristiemo Pitagorinu teoremu: Povrina kvadrata nad hipotenuzom je jednaka zbiru povrina kvadrata nad katetama. VB Aplikacija
Programski kod
Public Class Form1
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim a As Single
Dim b As Single
Dim c As Single
b = TextBox2.Text
c = TextBox3.Text
a = Math.Sqrt(c * c - b * b)
TextBox1.Text = a
End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
Dim a As Single
Dim b As Single
Dim c As Single
a = TextBox1.Text
c = TextBox3.Text
b = Math.Sqrt(c * c - a * a)
TextBox2.Text = b
End Sub
Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
Dim a As Single
Dim b As Single
Dim c As Single
a = TextBox1.Text
b = TextBox2.Text
c = Math.Sqrt(b * b + a * a)
TextBox3.Text = c
End Sub
End Class
2.10 Vjeba 10 - Izraunavanje povrine trougla koritenjem Heronovog obrascaPoznati Heronov obrazac za izraunavanje povrine trougla glasi:
P = . Gdje je S = (a+b+c)/2. Kod ovog zadatka je uslov da je jedna stranica dua od zbira duina preostalih dviju stranica.
VB Aplikacija
Programski kod
Public Class Form1
Dim a As Double
Dim c As Double
Dim b As Double
Dim s As Double
Dim p As Double
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
a = TextBox1.Text
b = TextBox2.Text
c = TextBox3.Text
'provjeravamo dali je jedna stranica manja od zbira druge dvije
If a < (b + c) And b < (a + c) And c < (b + a) Then
s = (a + b + c) / 2
p = (s * (s - a) * (s - b) * (s - c))
TextBox4.Text = p
Else
MessageBox.Show("Stranica treba biti veca od zbira preostale dvije", "Nemoze se Izracunati")
End If
End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
TextBox1.Text = " "
TextBox2.Text = " "
TextBox3.Text = " "
TextBox4.Text = " "
End Sub
End Clas2.11 Vjeba 11 - Mala i velika slova
Program vri pretvaranje velikih slova u mala i obrnuto. Koristio sam naredbe Lcase i Ucase.
VB Aplikacija
Programski kodPublic Class Form1
Dim mala As String
Dim velika As String
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
mala = TextBox1.Text
velika = UCase(mala)
TextBox2.Text = velika
End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
velika = TextBox1.Text
mala = LCase(velika)
TextBox2.Text = mala
End Sub
Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
TextBox1.Text = " "
TextBox1.Text = " "
End Sub
End Class2.12 Vjeba 12 Geometrijska sredina dva broja
Ovaj program se koristi za izraunavanje geometriske sredine dva broja. Geometriska sredina dva broja je polovina njihovih proizvoda (a + b) / 2. Koristio sam tri Button-a, tri TextBox-a i tri Label-e.
VB Aplikacija
Programski kod
Public Class Form1
Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
Me.Close()
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim a As Integer
Dim b As Integer
Dim g As Single
a = TextBox1.Text
b = TextBox2.Text
g = (a + b) / 2
TextBox3.Text = g
End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
TextBox1.Text = " "
TextBox2.Text = " "
TextBox3.Text = " "
End Sub
End Class2.13 Vjeba 13 Kalkulator
VB Aplikacija
Programski kod
Public Class Form1
Dim a As Integer
Dim b As Integer
Dim c As Integer
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
a = TextBox1.Text
b = TextBox2.Text
c = a + b
TextBox3.Text = c
End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
a = TextBox1.Text
b = TextBox2.Text
c = a - b
TextBox3.Text = c
End Sub
Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
a = TextBox1.Text
b = TextBox2.Text
c = a * b
TextBox3.Text = c
End Sub
Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click
a = TextBox1.Text
b = TextBox2.Text
If a 0 And b 0 Then
c = a / b
TextBox3.Text = c
Else
MessageBox.Show("Broj se nemoze djeliti sa 0", "Greska")
End If
End Sub
End Class
2.14 Vjeba 14 Pozitivan ili negativan broj
Zadatak koji provjerava dali je uneeni broj pozitivan, negativan ili je nula.
VB Aplikacija
Programski kod
Public Class Form1
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim i As Integer
i = TextBox1.Text
If i > 0 Then
MessageBox.Show("Unesen broj je pozitivan", "Odgovor")
ElseIf i < 0 Then
MessageBox.Show(" Uneseni broj je negativan", "Odgovor")
Else
MessageBox.Show("Uneseni broj je nula", " Odgovor")
End If
End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
TextBox1.Text = " "
End Sub
Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
Me.Close()
End Sub
End Class2.15 Vjeba 15 Datum i tano vrijemePokrenuti novi projekat i na formu postaviti jednu Label i u njene osobine Caption unijeti dati naslov odnosno tekst kao na slici. Osim labele napraviti tri komandna dugmeta sa nazivima kao na slici. Zatim postavljamo dva TextBox-a u kojima e se pokazati datum,a u drugom datum i vrijeme. Naravno, da bi sve ovo radilo moramo napisati odgovarajui programski kod koji je prikazan na slici gore. Prilikom pokretanja programa uitava se obrazac kao na gornjoj slici. Pritiskom na komandno dugme Pokai datum u Textbox-u e se oitati dananji datum, a pritiskom na komandno dugme Pokai datum i vrijeme u TextBox-u e se oitati datum i vrijeme Pritiskom na komandno dugme Izlaz izlazimo iz programa.VB Aplikacija
Programski kod
Public Class Form1
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
TextBox1.Text = DateTime.Today
TextBox2.Text = DateTime.Now
End Sub
End Class2.16 Vjeba 16 toperica
U ovom zadatku smo napravili topericu. Koristili smo 3 Button-a (Start, Stop i Reset), uzeli etiri Labele. Kada kliknemo na dugme Start u Labeli pone da tee vrijeme, kada se u Labeli1 broja izbroji do 100, onda u Labeli2 pone da broji sekunde, kad Labela2 bude jednaka 60 u Labeli3 poinju da teku minute. Kad pritisnemo dugme Stop toperica prestaje da broji a dugme Reset vraa sve Labele na poetno stanje.
VB Aplikacija
Programski kod
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Timer1.Start()
End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
Timer1.Stop()
End Sub
Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
Label1.Text = "0"
Label2.Text = "00"
Label3.Text = "00"
End Sub
Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
Timer1.Interval = 10
Label3.Text += 1
If Label3.Text = "100" Then
Label2.Text += 1
Label3.Text = 0
End If
If Label2.Text = 60 Then
Label1.Text += 1
Label2.Text = 0
End If
If Label1.Text = 60 Then
Label4.Text += 1
End If
End Sub
End Class2.17 Vjeba 17 - itanje teksta
Za ovaj zadatak potreban nam je jedan Button i jedan TextBox, I nova alatka sapi pomou koje realizujemo da sve ono to napisemo bude proitano. U programski kod Buttona upisujemo kod pomou kojeg dajemo naredbu da sve to napiemo u TextBox-u bude reeno naravno to je mogue ostvariti pomou sapi-a, alatke koja slui za govor u Visual Basic-u, naalost sapiu razumije samo Engleski jezik.
VB Aplikacija
Programski kod
Public Class Form1
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim reci = CreateObject("sapi.spvoice")
Dim recirijec As String = TextBox1.Text
reci.speak(recirijec)
End Sub
End Class2.18 Vjeba 18 Web Browser
Da bi smo rjeili ovaj zadatak potrebni su nam 3 Buttona, TextBox i WebBrowser. U Button-e emo upisati osnovne stvari koje su nam potrebne za WebBrowser a to su napred, nazad i uitaj. Uemo u programski kod Buttona uitaj i pomou koda stavljamo naredbu da kad TekxBox upisemo naziv neke stranice direktno uita istu. Naravno moramo biti spojeni na Internet da bi na zadatak bio realizovan.
VB Aplikacija
Programski kodPublic Class Form1
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
WebBrowser1.Navigate(TextBox1.Text)
End Sub
Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
WebBrowser1.GoForward()
End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
WebBrowser1.GoBack()
End Sub
End Class2.19 Vjeba 19 Beeper
Da bi rjeili ovaj zadatak potrebno su nam 4 Button-a i Timer sa kojim se susreemo ve po drugi put. U Button-e upisati Beep, Start, Stop i Hide Me. U programskom kodu prvog Buttona Beep upisujemo kod kad se to dugme pritisne da se uje zvuk beep. Kad dugme Start pritisnemo onda se beep uje svakih 10 sekundi ( to smo rijeili pomou Timera),i to traje sve dok ne pritisnemo dugme Stop. Dugme Hide Me slui da itav program sakrije u pozadinu.
VB Aplikacija
Programski kod
Public Class Form1
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Console.Beep()
End Sub
Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
Console.Beep()
End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
Timer1.Start()
End Sub
Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
Timer1.Stop()
End Sub
Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click
Me.Hide()
ShowInTaskbar = False
End Sub
End Class2.20 Vjeba 20 Redanje brojeva ( Shuffle )Ovo je najtea aplikacija koju emo napraviti ali poto je zadnji zadatak to bi valjda tako trebalo biti. Za ovaj zadatak pored labela i button koje smo koristili u prethodnim primjerima koristiemo i modul.
VB aplikacija
Programski kod- Form1.vb
Public Class Form1
Public count As Integer
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
' Button 2,5
CheckButton(Button1, Button2)
CheckButton(Button1, Button5)
CheckSolved()
End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
' 1,3,6
CheckButton(Button2, Button1)
CheckButton(Button2, Button3)
CheckButton(Button2, Button6)
CheckSolved()
End Sub
Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
' 2,4,7
CheckButton(Button3, Button2)
CheckButton(Button3, Button4)
CheckButton(Button3, Button7)
CheckSolved()
End Sub
Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click
' 3,8
CheckButton(Button4, Button3)
CheckButton(Button4, Button8)
CheckSolved()
End Sub
Private Sub Button5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button5.Click
' 1,6,9
CheckButton(Button5, Button1)
CheckButton(Button5, Button6)
CheckButton(Button5, Button9)
CheckSolved()
End Sub
Private Sub Button6_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button6.Click
' 5,2,7,10
CheckButton(Button6, Button5)
CheckButton(Button6, Button2)
CheckButton(Button6, Button7)
CheckButton(Button6, Button10)
CheckSolved()
End Sub
Private Sub Button7_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button7.Click
' 6,3,8,11
CheckButton(Button7, Button6)
CheckButton(Button7, Button3)
CheckButton(Button7, Button8)
CheckButton(Button7, Button11)
CheckSolved()
End Sub
Private Sub Button8_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button8.Click
' 7,4,12
CheckButton(Button8, Button7)
CheckButton(Button8, Button4)
CheckButton(Button8, Button12)
CheckSolved()
End Sub
Private Sub Button9_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button9.Click
' 5,10,13
CheckButton(Button9, Button5)
CheckButton(Button9, Button10)
CheckButton(Button9, Button13)
CheckSolved()
End Sub
Private Sub Button10_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button10.Click
' 9,6,11,14
CheckButton(Button10, Button9)
CheckButton(Button10, Button6)
CheckButton(Button10, Button11)
CheckButton(Button10, Button14)
CheckSolved()
End Sub
Private Sub Button11_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button11.Click
' 10,7,12,15
CheckButton(Button11, Button10)
CheckButton(Button11, Button7)
CheckButton(Button11, Button12)
CheckButton(Button11, Button15)
CheckSolved()
End Sub
Private Sub Button12_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button12.Click
' 11,8,16
CheckButton(Button12, Button11)
CheckButton(Button12, Button8)
CheckButton(Button12, Button16)
CheckSolved()
End Sub
Private Sub Button13_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button13.Click
' 9,14
CheckButton(Button13, Button9)
CheckButton(Button13, Button14)
CheckSolved()
End Sub
Private Sub Button14_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button14.Click
' 13,10,15
CheckButton(Button14, Button13)
CheckButton(Button14, Button10)
CheckButton(Button14, Button15)
CheckSolved()
End Sub
Private Sub Button15_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button15.Click
' 14,11,16
CheckButton(Button15, Button14)
CheckButton(Button15, Button11)
CheckButton(Button15, Button16)
CheckSolved()
End Sub
Private Sub Button16_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button16.Click
' 15,12
CheckButton(Button16, Button15)
CheckButton(Button16, Button12)
CheckSolved()
End Sub
Private Sub ToolStripButton1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ToolStripButton1.Click
End Sub
Private Sub ToolStripButton2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ToolStripButton2.Click
Me.Close()
End Sub
Private Sub Form1_FormClosed(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosedEventArgs) Handles Me.FormClosed
End Sub
Private Sub Form1_FormClosing(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing
Dim x = MsgBox("Do you want to Exit?", vbYesNo + vbQuestion)
If (x = Windows.Forms.DialogResult.No) Then
e.Cancel = True
End If
End Sub
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Shuffle()
End Sub
End Class
Programski kod Module1.vbModule Module1
Sub CheckButton(ByRef Butt1 As Button, ByRef Butt2 As Button)
If Butt2.Text = "" Then
Butt2.Text = Butt1.Text
Butt1.Text = ""
End If
End Sub
Sub CheckSolved()
If Form1.Button1.Text = "1" And Form1.Button2.Text = "2" And Form1.Button3.Text = "3" And Form1.Button4.Text = "4" And Form1.Button5.Text = "5" And Form1.Button6.Text = "6" And Form1.Button7.Text = "7" And Form1.Button8.Text = "8" And Form1.Button9.Text = "9" And Form1.Button10.Text = "10" And Form1.Button11.Text = "11" And Form1.Button12.Text = "12" And Form1.Button13.Text = "13" And Form1.Button14.Text = "14" And Form1.Button15.Text = "15" Then
MsgBox("Wow, You did it in " & Form1.count & "Clicks", vbInformation, "Shuffle")
End If
Form1.count = Form1.count + 1
Form1.Text = "Shuffle : " & Form1.count & " Clicks"
End Sub
Sub Shuffle()
Dim a(15), i, j, RN As Integer
Dim flag As Boolean
flag = False
i = 1
a(j) = 1
Do While i