visual basic -riješeni primjeri
TRANSCRIPT
PANEVROPSKI UNIVERZITET APEIRONFAKULTET INFORMACIONIHTEHNOLOGIJARedovne studijeSmjer IT inenjeringPredmetVii programski jezici i RAD alati Visual BasicRijeeni primjeri(seminarski rad)Predmetni nastavnikProf. dr Zoran . Avramovi, dipl.in.elek.StudentMomir StankoviIndex br. 6-09/RITBanja Luka, Oktobar 2012.
Sadraj
1.Zadatak-Kalkulator32.Zadatak-Pravougaonik43.Zadatak-Sortiranje niza64.Zadatak-Mjesene rate95.Zadatak-Suma parnih brojeva116.Zadatak-Slova137.Zadatak-Uspjeh uenika148.Zadatak-Savreni brojevi179.Zadatak-Faktorijel1910.Zadatak-Korjen i stepen2011.Zadatak-Determinanta2212.Zadatak-Pretvaranje mjernih jedinica2413.Zadatak-Fibonaijev niz2514.Zadatak- Djelioci zadatog broja2715.Zadatak-Pitagorina teorema2816.Zadatak-toperica3017.Zadatak-Umetanje broja u sortiran niz3218.Zadatak-Autobus3519.Zadatak-Prijateljski brojevi3720.Zadatak-Registracija i prijava korisnika na nalog38Literatura42
1.Zadatak-Kalkulator
Tekst zadatka:Nainiti program koji izracunava osnovne operacije sabiranja,oduzimanja,mnoenja i djeljenja.
Kod programa:Public Class Form1 Dim broj1 As Single Dim broj2 As Single Dim rezultat As Single
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
End Sub
Private Sub btnRacunaj_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnRacunaj.Click broj1 = Val(TextBox1.Text) broj2 = Val(TextBox2.Text) If rbtnSaberi.Checked = True Then lblRezultat.Text = "+" rezultat = broj1 + broj2 ElseIf rbtnOduzmi.Checked = True Then lblRezultat.Text = "-" rezultat = broj1 - broj2 ElseIf rbtnPomnozi.Checked = True Then lblRezultat.Text = "*" rezultat = broj1 * broj2 Else : rbtnPodijeli.Checked = True lblRezultat.Text = "/" rezultat = broj1 / broj2 End If lblRezultat.Text = rezultat
End Sub
Private Sub btnZavrsi_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnZavrsi.Click Close() End SubEnd Class
Izgled interfejsa programa:
SLIKA1.Izgled programa
Korisnik unosi vrijednosti u polja u prvi broj i drugi broj. Klikom na dugme racunaj izvrsava se kod i rezultat se ispisuje u lblRezultat Klikom na dugme zavrsi izlazimo iz programa
2.Zadatak-Pravougaonik
Tekst zadatka:Nainiti program koji izracunava povrsinu ,obim i dijagonalu pravougaonika,na osnovu zadanih stranica.Kod programa:Public Class Form1
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim a, b As Single Dim d, P, O As Double a = txta.Text b = txtb.Text d = System.Math.Sqrt(a * a + b * b) txtd.Text = d P = a * b txtP.Text = P O = 2 * a + 2 * b txtO.Text = O End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click txta.Text = "" txtb.Text = "" txtd.Text = "" txtP.Text = "" txtO.Text = "" End Sub
Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click Close()
End SubEnd ClassIzgled interfejsa programa:
SLIKA 2.Izgled programa
Korisnik unosi vrijednosti u polja a i b. Klikom na dugme program se izvrava i rezultat se ispisuje u tri polja d(dijagonala),P (povrina)i O(obim). Klikom na dugme novi unos program brie sve podatke iz polja i korisnik moze unijeti nove cifre. Klikom na dugme kraj korisnik korisnik izlazi iz programa.
3.Zadatak-Sortiranje niza
Nainiti program koji sortira niz cifara od najmanjeg broja ka najveem i obruto od najveeg ka najmanjem.Kod programa :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 btnUnos.Click If txtBrojElemenata.Text = "" Then MessageBox.Show("Unesite broj elemenata!") Else granica = txtBrojElemenata.Text If granica < 1 Or granica > 100 Then MessageBox.Show("Granicna vrijednost koju ste unijeli nije u opsegu") End If For i = 1 To granica 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 btnSortiranje.Click For i = 1 To granica 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 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) a(j) Thenp = a(i)a(i) = a(j)a(j) = pEnd IfNext jNext iFor i = 1 To nlstSortiran.Items.Add(CStr(a(i)))Next iEnd SubPrivate Sub btnUmetniBroj_Click(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles btnUmetniBroj.ClickDim p As ShortDim i As ShortDim j As ShortDim n As Short Dim b(n) As Shortn = Val(txtBrojElemenata.Text)n = n + 1For i = 1 To n - 1b(i) = CShort(VB6.GetItemString(lstSortiran, i - 1))Next ib(n) = CShort(InputBox("Unesi broj koji zelis da umetnes:", "Umetni broj"))For i = 1 To n - 1For j = i + 1 To nIf b(i) > b(j) Thenp = b(i)b(i) = b(j)b(j) = pEnd IfNext jNext ilstSortiran.Items.Clear()For i = 1 To nlstSortiran.Items.Add(CStr(b(i)))Next iEnd SubPrivate Sub btnUnesiNiz_Click(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles btnUnesiNiz.ClickDim n As ShortDim i As Shortn = CShort(InputBox("Uneti broj elemenata niza:", "Broj elemenata niza"))Me.txtBrojElemenata.Text = CStr(n)For i = 1 To nMe.lstOriginalni.Items.Add(CStr(CShort(InputBox("Uneti element niza:", i & " element"))))Next iEnd SubEnd Class
Izgled forme i rad programa:
SLIKA 18.Izgled programa
SLIKA 19.Izgled programa
SLIKA 20.Izgled programa18.Zadatak-Autobus
Tekst zadatka:Autobus broj 99 gradskog saobracajnog preduzeca Beograd ima N stanica na kojima izlaze i ulaze putnici. Da bi direktor imao uvid da li su autobusi dovoljno veliki, naredio je da beleze broj putnika u autobusu. Kako je vozacima naporno da posle svake stanice broje putnike, oni su odlucili da broje samo koliko je putnika izaslo i koliko uslo na svakoj stanici. Na prvoj stanici autobus je prazan (na njoj nijedan putnik nece izaci), na poslednjoj stanici svi putnici izlaze iz autobusa i nijedan putnik ne ulazi u autobus. Nainiti program kojim se prvo unosi broj stanica N na relaciji autobusa broj 99, a zatim za svaku stanicu broj putnika koji su izasli i broj putnika koji su usli na toj stanici, a zatim ispisuje koliko se najvise putnika vozilo u nekom trenutku u autobusu.Kod programa:Public Class Form1
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Dim brojStanica As Integer Dim brojPutnika As Integer Dim maxPutnika As Integer Dim i As Integer
brojStanica = InputBox("Unesi broj stanica")
For i = 1 To brojStanica brojPutnika = brojPutnika + InputBox("Broj putnika koji je usao na " & i & ". stanici") brojPutnika = brojPutnika - InputBox("Broj putnika koji je izasao na " & i & ". stanici") If brojPutnika > maxPutnika Then maxPutnika = brojPutnika Next
MsgBox("U autobusu se najvise vozilo " & maxPutnika & " putnika...")
End SubEnd Class
Izgled forme i rad programa:
SLIKA 21.Izgled programa
SLIKA 22.Izgled programa
SLIKA 23.Izgled programa
SLIKA 24.Izgled programa... sve do etvrte stanice
SLIKA 25.Izgled programa19.Zadatak-Prijateljski brojevi
Tekst zadatka:Nainiti 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.
Kod programa:Public Class Form1
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 MessageBox.Show("Brojevi nisu prijateljski") ' ako nije, program salje poruku da brojevi nisu prijateljski End If End If
End SubEnd Class
Izgled forme i rad programa:
SLIKA 26.Izgled programa
20.Zadatak-Registracija i prijava korisnika na nalog
Tekst zadatka:Nainiti program koji omoguava kreiranje korisnikog naloga i logovanje na taj isti pomou korisnikog imena i lozinke.Kod programa:Public Class Form1
Private Sub btnRegistruj_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnRegistruj.Click Try My.Settings.KorisnickoIme = TextBox1.Text My.Settings.Lozinka = TextBox2.Text My.Settings.PonoviLozinku = TextBox3.Text My.Settings.Status = True My.Settings.Save() MsgBox("Uspjesno ste se registrovali,restartujte aplikaciju") Application.Restart()
Catch ex As Exception MsgBox("Nemas kreiran nalog,pokusaj opet")
End Try
End Sub
Private Sub TextBox3_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox3.TextChanged If Not TextBox3.Text = TextBox2.Text Then Label4.Text = "Lozinke se ne podudaraju" Else Label4.Text = "" End If End Sub
Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load If My.Settings.Status = True Then Me.Hide() Prijava.Show() Me.Close() Else
End If End SubEnd Class
Public Class Prijava
Private Sub btnPrijavi_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnPrijavi.Click If TextBox1.Text = My.Settings.KorisnickoIme And TextBox2.Text = My.Settings.Lozinka Then Me.Hide()
MojNalog.Show() Me.Close() Else MsgBox("Neuspjesna prijava")
End If End SubEnd Class
Forma i rad programa:
SLIKA 27.Izgled programa
SLIKA 28.Izgled programa
SLIKA 29.Izgled programa
SLIKA 30.Izgled programa
Literatura
1. Zabiljeke sa predavanja prof. dr Zorana . Avramovia, Univerzitet Apeiron, 20112. Visual Basic 6 ;Peter Norton, Michael Groh3. Programski jezik Visual basic-zbirka zadataka; dr Sran Damjanovi,mr Predrag Katani42