visual basic -riješeni primjeri

49
PANEVROPSKI UNIVERZITET APEIRON FAKULTET INFORMACIONIH TEHNOLOGIJA Redovne studije Smjer IT inženjeringPredmet Viši programski jezici i RAD alati Visual Basic „Riješeni primjeri” (seminarski rad) Predmetni nastavnik Prof. dr Zoran Ž. Avramović, dipl.inž.elek. Student Momir Stanković Index br. 6-09/RIT

Upload: momir-stankovic

Post on 26-Nov-2015

1.106 views

Category:

Documents


91 download

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