Nasa skripta
-
Upload
nikolicd25 -
Category
Documents
-
view
449 -
download
0
Transcript of Nasa skripta
1
Osnovni elementi Visual Basic- a Programski jezik Visual Basic koristi sledeće simbole:
- slova engleske azbuke
A, B, C, D, ..., X, Y, Z
- cifre dekadnog brojnog sistema
0, 1, 2, 3, 4, 5, 6, 7, 8, 9
- simbole aritmetičkih operacija
+ - * / \ ^
- simbole relacija
<><= >= <>>< =
- simbole logičkih operacija
And, or, Xor, Not
- specijalne simbole
? ! " % $
- službene ili ključne reči
END, IF, FOR, NEXT, THEN, ELSE, CASE...
* Stringovisemoguupoređivatikorišćenjemrelacijskihoperatora. Postojepravilakojatrebapoštovati:
"Velikaslovasumanjanegomalaslova, "A"<"B"<"C"<"D".......<"Z" ibrojevisumanjiodslova.
Osnovni tipovi podataka
Tabela 2.1 : Numerički tipovi podataka
Tip
podataka
Memorijski
prostor
Interval vrednosti
Byte 1 byte 0 to 255
Integer 2 bytes -32,768 to 32,767
Long 4 bytes -2,147,483,648 to 2,147,483,648
Single 4 bytes -3.402823E+38 to -1.401298E-45 za negativne vrednosti
1.401298E-45 to 3.402823E+38 za pozitivne vrednosti
Double 8 bytes -1.79769313486232e+308 to -4.94065645841247E-324 za negativne vrednosti
4.94065645841247E-324 to 1.79769313486232e+308 za pozitivne vrednosti
Currency 8 bytes -922,337,203,685,477.5808 to 922,337,203,685,477.5807
Decimal 12 bytes +/- 79,228,162,514,264,337,593,543,950,335 ako nisu korišćena decimalna mesta
+/- 7.9228162514264337593543950335 (28 decimalnihmesta)
Tabela 2.2: Nenumerički tipovi podataka
Tip podataka Memorijskiprostor Interval vrednosti
String (fiksne dužine) Dužinastringa 1 to 65,400 karaktera
String (promenljivedužine) Dužina + 10 bytes 0 to 2 billionakaraktera
Date 8 bytes January 1, 100 to December 31, 9999
Boolean 2 bytes True or False
Object 4 bytes Any embedded object
Variant (broj) 16 bytes Kaorealnidvostruki
2
Variant (tekst) Dužina+22 bytes Kao znakovni tip
Praviladeklarisanjapromenljivih Promenljivima se u Visual Basic-u dodeljuju podaci. Zato bi trebalo da se program Visual Basic- a obavesti o tome
kakve će tekuće vrednosti promenljiva moći da dobija u programu. Dakle, treba deklarisati promenljive pre njihovog
korišćenja dodeljujući im ime i tip podatka.
U jeziku Visual Basic postoji onoliko tipova promenljivih koliko ima tipova podatka. Postupak prijavljivanja vrste
promenljive naziva se deklarisanje promenljive.
Dozvoljena su dva načina deklarisanja promenljive: eksplicitni i implicitni.
Eksplicitni način deklarisanja promenljive koristi službenu reč Dim. Ova naredba izgleda ovako:
Dim ImePromenljive As Vrsta promenljive, ImePromenljive As Vrsta promenljive...
1. Zbirdvabroja
PublicClass Form1
PrivateSub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles
Button1.Click
Dim A AsSingle, B AsSingle, C AsSingle
A = TextBox1.Text
B = TextBox2.Text
C = A + B
TextBox3.Text = C
EndSub
EndClass
Zbir, razlika, proizvod, količnik
3
PublicClass Form1
PrivateSub Button3_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles
Button3.Click
Dim A AsSingle, B AsSingle, C AsSingle, D AsSingle, F AsSingle, M AsSingle
A = txtPrviBroj.Text
B = txtDrugiBroj.Text
C = A + B
txtZbir.Text = C
D = A - B
txtRazlika.Text = D
F = A * B
txtProizvod.Text = F
M = A / B
txtKolicnik.Text = M
EndSub
PrivateSub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles
Button1.Click
txtPrviBroj.Text = " "
txtDrugiBroj.Text = " "
txtZbir.Text = " "
txtKolicnik.Text = " "
txtProizvod.Text = " "
txtRazlika.Text = " "
EndSub
EndClass
Srednja vrednost
Napisati Visual Basic program za određivanje srednje vrednosti unetih brojeva 4321 ,,, aaaa .
Srednja vrednost unetih brojeva dobija se kada se oni saberu i zbir podeli brojem 4:
4
4321 aaaaA
4
Opštinsko takmičenje I zadatak
1. Zamak u daljini 6 dasaka .Prva duzine K druga K+20, treca K+40, cetvrta kao trda, peta kao drugai šesta kao prva.
5
PrivateSub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles
Button1.Click
Dim K AsInteger, KU AsInteger
K = TextBox1.Text
KU = 6 * K + 120
TextBox2.Text = KU
EndSub
1. ( pravougaona parcela sa plavim paradaizom, koliko metara kanapa je potrebno da se oiviči parcela sa crvenim paradaizom ako se zna sirina S duzina D i rastojanje izmedju parcela R) Crveni paradaiz se sadi okolo plavog.
PrivateSub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles
Button1.Click
Dim D AsSingle, S AsSingle, R AsSingle, O AsSingle
D = TextBox1.Text
S = TextBox2.Text
R = TextBox3.Text
O = (S + 4 * R + D) * 2
TextBox4.Text = O
EndSub
Mama je poslala Pericu da kupi nešto u radnji. Dala mu je A kovanica od 5 dinara, B kovanica od 10 dinara. T
Institut za šumarstvo je kokstatovao da je stanje šuma i šumskog zemljišta područja Srbije nepovoljno sa više aspekata i da su funkcije šuma redukovane neracionalnim gazdovanjem u prošlosti. U želji da se obnovi šumski fond , šumsko gazdinstvo omorika napravilo je stručni plan strategije pošumljavanja. U okviru zaštite i unapređenja šumskih ekosistema sprovode se mere obnavljanja šumskih resursa.Strategija predviđa da se svaka pravougaona parcela širine L i dužine H ogradi tako što se polazeći od jednog temena postavi stablo na svakih S metara po ivicama šume ili paralelno njima unutar šume. Napisati program POŠUMLJAVANJE kojim se unose celi brojevi L,H,S i izračunava koliko stabala šumsko gazdinstvo Omorika treba da postavi tako da na opisan način način ogradi maksimalnu površinu šume .
6
PublicClass Form1
PrivateSub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles
Button1.Click
Dim L AsInteger, H AsInteger, S AsInteger, Stabla AsInteger
L = TextBox1.Text
H = TextBox2.Text
S = TextBox3.Text
Stabla = 2 * (L \ S + H \ S)
TextBox4.Text = Stabla
EndSub
EndClass
Na takmičenju mladih izviđača timovi uvek rešavaju nekoliko različitih zadataka. Prvi zadatak je bio da naprave viseći most .Most treba da se sastoji od dva paralelna kanapa koja su vezana za obale . Treći kanap treba da se čvorovima pričvrsti za oba kanapa u cik cak tako da formira određeni broj trouglova jednakih stranica.Napisati program koji će da pomogne izviđačima da izračunaju koliko čvorova ukupno treba napraviti ako se zna da treba formirati T trouglova. T=4 izlaz : 6
7
PublicClass Form1
PrivateSub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles
Button1.Click
Dim T AsInteger, C AsInteger
T = TextBox1.Text
C = T + 2
TextBox2.Text = C
EndSub
EndClass
Petlje i upravljačke strukture Struktura If ... Then ... Else Struktura If ... Then ... Else je najjednostavnija uslovna logička struktura. Opšti format ove strukture je: If uslov Then VB naredbe Else VB naredbe End If Oblici ove naredbe su: 1. If uslov Then naredba 2. If uslov Then naredba1 naredba2 ... naredban End If 3. If uslov Then blok naredbi1 Else blok naredbi2 End if 4. If uslov1 Then blok naredbi1 Else If uslov2 Then blok naredbi2 End if
8
* svaka If ... Then ... Else struktura mora da se završi sa End If. Ponekad nije neophodno da se koristi Else.
3.Maksimalanbroj
PublicClass Form1
PrivateSub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles
Button1.Click
Dim A AsSingle, B AsSingle, Max AsSingle
A = TextBox1.Text
B = TextBox2.Text
If A > B Then
Max = A
Else
Max = B
EndIf
TextBox3.Text = Max
EndSub
EndClass
2. Da li je istinitizraz
4.Brojdanaprestupnagodina
9
PublicClass Form1
PrivateSub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles
Button1.Click
Dim redniBrojM AsInteger, BrojDana AsInteger, obradamsg AsString, prestupnamsg AsString,
nButtons AsInteger
redniBrojM = TextBox1.Text
If redniBrojM < 1 Or redniBrojM > 12 Then
obradamsg = MsgBox("Broj meseca je nekorektan", 0, "Poruka o greski")
Else
SelectCase redniBrojM
Case 1, 3, 5, 7, 8, 10, 12
TextBox2.Text = "31"
Case 4, 6, 9, 11
TextBox2.Text = "30"
CaseIs = 2
nButtons = vbYesNo
prestupnamsg = MsgBox("Da li je godina prestupna", nButtons, "Prestupna
godina DA/Ne")
If prestupnamsg = vbYes Then
BrojDana = "29"
TextBox2.Text = BrojDana
EndIf
If prestupnamsg = vbNo Then
BrojDana = "28"
TextBox2.Text = BrojDana
EndIf
EndSelect
EndIf
EndSub
PrivateSub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles
Button2.Click
TextBox1.Text = ""
TextBox2.Text = ""
EndSub
EndClass
10
PrivateSub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles
Button1.Click
Dim B AsInteger, K AsInteger, D AsInteger, M AsInteger, MU1 AsInteger, MU2 AsInteger
B = TextBox1.Text
K = TextBox2.Text
D = TextBox3.Text
M = TextBox4.Text
MU1 = B * K
MU2 = B * D
If MU2 > M Then
TextBox5.Text = MU2
TextBox6.Text = "KARTON"
EndIf
If MU1 < M Then
TextBox5.Text = MU1
TextBox6.Text = "DRVO"
EndIf
11
PublicClass Form1
PrivateSub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles
Button1.Click
Dim a AsInteger, b AsInteger, c AsInteger, k AsInteger
a = TextBox1.Text
b = TextBox2.Text
c = TextBox3.Text
k = a + b + c
If (a + b * c > k) Then k = a + b * c
If (a * b + c > k) Then k = a * b + c
If (a * b * c > k) Then k = a * b * c
TextBox4.Text = k
EndSub
PrivateSub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles
Button2.Click
TextBox1.Text = ""
TextBox2.Text = ""
TextBox3.Text = ""
TextBox4.Text = ""
EndSub
EndClass
U jednom od zadataka mladi izviđači treba da za što kraće vreme pređu stazu na kojoj se nalazi pokretni
most. Takmičaru jedne ekipe od polazne tačke do mosta treba T sekundi. Tačno P sekundi nakon što
može da pođe sa polazne tačke ( od početka merenja) most počinje da se podiže. O trenutka podizanja pa
do spuštanja Protiče N sekundi I prelaz preko mosta za to vreme nije moguc. Nakon toga most ostaje
spušten. Takmičari za čekanje na prelaz kod mosta dobijaju negativne poene I zato je ovaj takmičar rešio
da tačno odredi kad treba da krene da bi preko mosta prešao bez zaustavljanja.Napisati program koji
učitava vremena T,P I N i određuje nakon koliko sekundi , od početka merenja vremena takmičar treba da
krene da bi najbrže prešao most , bez zaustavljanja.
5. Funkcije
12
PrivateSub cmdObrada_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
Handles cmdObrada.Click
Dim x AsInteger, y AsInteger
x = txtUnetiBroj.Text
If x < 0 Then
y = -5
ElseIf x < 1 Then
y = x + 2
ElseIf x < 5 Then
y = 3 * x - 1
Else
y = 2 * x
EndIf
txtResenje.Text = y
EndSub
Sa takmičenja :Potrebno je odreditibrojpločicaoblika kvadrata dimenzije P, koje su potrebne da
bi se popločala prostorija dimenzija D i S .
PrivateSub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
Handles Button3.Click
TextBox1.Text = ""
TextBox2.Text = ""
TextBox3.Text = ""
13
TextBox4.Text = ""
EndSub
PrivateSub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
Handles Button1.Click
Dim D AsSingle, S AsSingle, P AsSingle, R AsInteger
D = TextBox1.Text
S = TextBox2.Text
P = TextBox3.Text
R = 0
If (D Mod P <> 0) And (S Mod P = 0) Then
R = S \ P
ElseIf (D Mod P = 0) And (S Mod P <> 0) Then
R = D \ P
ElseIf (D Mod P <> 0) And (S Mod P <> 0) Then
R = (D \ P) + (S \ P) + 1
EndIf
TextBox4.Text = R
EndSub
6. Štampanjetrocifrenihbrojevauzuskov A*B*C= (A*B)2- C2
0<A=<9, 0<=B<=9, 0<=B<=9
PrivateSub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles
Button1.Click
Dim z AsInteger, y AsInteger, A AsInteger, B AsInteger, C AsInteger
For A = 1 To 9
For B = 0 To 9
For C = 0 To 9
z = A * 100 + B * 10 + C
y = (10 * A + B) ^ 2 - C ^ 2
If z = y Then
TextBox1.Text = z
EndIf
Next C
Next B
Next A
EndSub
EndClass