Etusivu Aloitus Kontrollit Metodit Muuttujat Ohjausrakenteet Silmukat Matematiikka Debuggaus Virheenkäsittely Vuorovaikutus Valikot Tiedostonkäsittely Ikkunat Leikepöytä Drag and Drop Tiedostopäätteet Linkkejä Harjoitukset

Johdanto ja tavoite

Tässä osiossa tutustutaan Visual Basic:in matemaattisiin funktioihin. Tämän osion jälkeen opiskelija osaa käyttää ja soveltaa matemaatiikkaa omissa ohjelmissaan.

Matemaattiset operaattorit

Ohjelmoinnissa tarvitaan hyvin usein peruslaskutoimituksia. Alla on esitelty seitsemän Visual Basic:n laskutoimitusta esimerkkeineen. Tulet tarvitsemaan em. operaattoreita joten opettele ne hyvin.
Matemaattinen operaattoriKäyttötarkoitusEsimerkki
+yhteenlasku1 + 2 = 3
-vähennyslasku5 - 6 = -1
*kertolasku2 * 6 = 12
/jakolasku10 / 2 = 5
\jakolasku (kokonaisluku)15 \ 4 = 3
modjakojäännös11 mod 3 = 2
^potenssi2 ^ 3 = 8
Seuraavassa esimerkissä käyttäjää pyydetään syöttämään luku. Luvusta kerrotaan onko se jaollinen kymmenellä. Jos luku on jaollinen kymmenellä, on jakojäännös nolla. Muussa tapauksessa jakojäännös ei ole nolla.
Dim Luku As Long

Luku = Val(InputBox("Syötä luku"))

If (Luku Mod 10) = 0 Then
	MsgBox "Luku " & Luku & " on jaollinen kymmenellä!", vbInformation
Else
	MsgBox "Luku " & Luku & " ei ole jaollinen kymmenellä!", vbInformation
End If

Matemaattiset funktiot

VB:ssä on muutama matemaattinen funktio jota tulet tarvitsemaan. Hyvin usein tarvitset esim. jonkin luvun itseisarvoa (esim. luvun -3 itseisarvo on 3, luvun 7 itseisarvo on 7, jne..). Alla on esitelty kaksitoista matemaattista funktiota esimerkkien kera.
Matemaattinen funktioKäyttötarkoitusEsimerkki
AbsItseisarvoAbs(-6) = 6
AtnArkustangenttiAtn(1) = 0,785398163397448
CosKosiniCos(5) = 0,283662185463226
ExpEksponentiaaliExp(6) = 403,428793492735
FixKokonaislukuFix(5.96432) = 5
IntKokonaislukuInt(5.96432) = 5
LogLogaritmiLog(5) = 1,6094379124341
RndSatunnaisluku väliltä 0-1Rnd = 0,5795186 (tai jotain muuta)
SgnLuvun etumerkkiSgn(-642) = -1
SinSiniSin(6) = -0,279415498198926
SqrNeliöjuuriSqr(4) = 2
TanTangenttiTan(4) = 1,15782128234958
Seuraava esimerkkiohjelma demonstroi kuinka voit arpoa satunnaislukuja halutulta lukuväliltä:
Dim Alaraja, Ylaraja, Satunnaisluku As Long

Alaraja = 1
Ylaraja = 10
Randomize Timer

Satunnaisluku = Int(Rnd * (Ylaraja - Alaraja) + Alaraja) + 1

MsgBox "Satunnaisluku on " & Satunnaisluku, vbInformation