420 likes | 531 Views
Základy Visual Basicu. Proměnné. Proměnná je pojmenované místo v operační paměti počítače Do proměnné lze ukládat hodnoty a kdykoliv je měnit (přepisovat) Jméno proměnné ( identifikátor ) musí splňovat především tato pravidla: nesmí začínat číslicí
E N D
Proměnné • Proměnná je pojmenované místo v operační paměti počítače • Do proměnné lze ukládat hodnoty a kdykoliv je měnit (přepisovat) • Jméno proměnné (identifikátor) musí splňovat především tato pravidla: • nesmí začínat číslicí • nesmí obsahovat mezery a speciální znaky • nesmí to být klíčové slovo
Proměnné Option Explicit pouze nadeklarované proměnné Dim text Asstring proměnná pro textové řetězce Dim cisloAs integer proměnná pro celá čísla Dim polomerAs single proměnná pro reálná čísla text = "Ahoj" přiřazení textu cislo = 25 přiřazení celého čísla polomer = 19.27 přiřazení reálného čísla
Proměnné text = "Ahoj" & text & cislo sčítání řetězců a čísel převedených na text cislo = cislo + 1 soucet = soucet + cislo zvyšování obsahu proměnných obsah = 3.14*(prumer/2)^2 výpočet hodnoty proměnné
Vstupy / výstupy Start čti text text = InputBox("Zadej text") vstup textu z klávesnice čti cislo cislo = val(InputBox("Zadej číslo")) vstup čísla z klávesnice piš text, cislo MsgBox("Zadáno:" & text & cislo) výstup textů na obrazovku Konec
Úplné větvení Start If podmínka Then Podmínka příkaz 1 Else příkaz 2 Příkaz 1 Příkaz 2 End If Konec
Neúplné větvení Start If podmínka Then Podmínka příkaz End If Příkaz zkrácený zápis If podmínka Then příkaz Konec
Start If podmínka1 Then příkaz 1 ElseIf podmínka2 Then příkaz 2 Else příkaz 3 End If Podmínka1 Podmínka2 Příkaz 1 Příkaz 3 Příkaz 2 Konec
Přepínač Start Select Case proměnná Proměnná Case h1 P1 Case h2, h3 P2 CaseIs > h4 h1 h2,h3 >h4 h5-h6 P3 P1 P2 P3 P4 P0 Case h5 To h6 P3 Case Else P0 End Select Konec
Cyklus se známým počtem průchodů Start For i=1 To n i=1,n tělo cyklu (sekvence příkazů) Tělo cyklu Next i Konec
Cyklus se známým počtem průchodů Start For i=1 To n Step krok i=1(krok),n tělo cyklu (sekvence příkazů) Tělo cyklu Next i Konec
Cyklus s podmínkou na začátku Start DoWhile podmínka Podmínka tělo cyklu (sekvence příkazů) Tělo cyklu Loop Konec
Cyklus s podmínkou na začátku Start DoUntil podmínka Podmínka tělo cyklu (sekvence příkazů) Tělo cyklu Loop Konec
Cyklus s podmínkou na konci Start Do Tělo cyklu tělo cyklu (sekvence příkazů) Podmínka Loop While podmínka Konec
Cyklus s podmínkou na konci Start Do Tělo cyklu tělo cyklu (sekvence příkazů) Podmínka Loop Until podmínka Konec
Použití tlačítek ve výstupním okně Start Do c = val ( InputBox ("Zadej číslo") ) čti c tl = MsgBox ( c^2 , vbRetryCancel, "Druhá mocnina čísla" & c) piš c2 Loop While tl=vbRetry Opakovat? Konec
Strukturovaná proměnná pole Dim cisla(1 To 5) As integer proměnná cisla pro 5 celých čísel jak vypadá proměnná cisla v operační paměti ←index cisla cisla(1)= -34 zápis dat do jedné položky pole cisla(2)= 53
Strukturovaná proměnná pole ←index cisla For i = 1 To 5 cisla(i)= 0 Next i vynulování všech položek pole For i = 1 To 5 cisla(i)= 2^i Next i zápis dat do všech položek pole
Strukturovaná proměnná pole ←index cisla vystup = "Čísla:" For i = 1 To 5 vystup = vystup & " " & cisla(i) Next i MsgBox vystup , , "Výstup" příprava pro výpis všech položek
Strukturovaná proměnná pole Dim jmena(3) As string proměnná jmena pro 4 řetězce (index je od nuly!) jak vypadá proměnná jmena v operační paměti ←index jmena jmena(2)= "Ivoš" zápis dat do jedné položky pole
Strukturovaná proměnná pole ←index jmena příprava pro výpis všech položek vystup = "Jména:" For i = 0 To 3 vystup = vystup & vbNewLine & jmena(i) Next i MsgBox vystup , , "Výstup"
Dvojrozměrné pole Dim matice(1 To 5, 1 To 3) As integer proměnná matice pro 5 řádků a 3 sloupce jak vypadá proměnná matice v operační paměti ← index sloupce matice index řádku → cisla(1)= 34
Dvojrozměrné pole Vynulování všech položek matice Dim matice(1 To 5, 1 To 3) As Integer For i = 1 To 5 For j = 1 To 3 matice(i, j) = 0 Next j Next i matice
Dvojrozměrné pole Výpis všech položek matice vystup = "Matice:" & vbNewLine For i = 1 To 5 For j = 1 To 3 vystup = vystup & " " & matice(i, j) Next j vystup = vystup & vbNewLine Next i MsgBox vystup, , "Výstup"
Funkce Funkce provede nějaký výpočet a výsledek (pouze jednu hodnotu) předá prostřednictvím svého jména. typ návratové hodnoty Function pi() As single pi = 4 * Atn(1) End Function MsgBox(Cos(pi) ) obvod = 2 * pi * polomer přiřazení návratové hodnoty Příklady volání funkce
Parametry funkce Parametry umožňují předávat do funkce vstupní údaje, ze kterých se počítá návratová hodnota. Function radiany(ByVal uhel As single) As single radiany = uhel * pi / 180 End Function a = c * Cos ( radiany (45) ) MsgBox(Sin(radiany(90)) ) Vstupní parametr uhel Příklady volání funkce
Procedury Procedura provede nějakou činnost programu při každém zavolání. Sub VynulujPole() Dim i As Integer For i = 1 To pocet pole (i) = 0 End Sub Call VynulujPole() Příklad volání procedury
Procedury Procedura může také vracet libovolný počet výsledků předaných prostřednictvím parametrů. Sub MinMaxPole(ByRef min As Integer, ByRef max As Integer) Dim i As Integer min = pole(1) : max = pole(1) For i = 2 To pocet If pole (i) > max Then max = pole (i) If pole (i) < min Then min = pole (i) Next i End Sub Call MinMaxPole( nejmensi, nejvetsi ) Příklad volání procedury
Parametry podprogramů V hlavičce podprogramu se deklarují formální parametry = lokální proměnné v podprogramu Function ObsahKruhu (ByVal r AsSingle)AsSingle ObsahKruhu = pi * r ^ 2 End Function ObsahMehoKruhu = ObsahKruhu (polomer) ObsahMezikruzi = ObsahKruhu (34) – ObsahKruhu (12) Při volání podprogramu se předávají skutečné parametry, které se dosadí za formální
Vstupní parametry Vstupní parametry slouží pro předávání informací do podprogramu Function ObsahKruhu (ByVal r AsSingle)AsSingle ObsahKruhu = pi * r ^ 2 End Function ObsahMehoKruhu = ObsahKruhu (polomer) ObsahMezikruzi = ObsahKruhu (34) – ObsahKruhu (12) Jako skutečné parametry lze předávat proměnnéi konstanty
Vstupně-výstupní parametry Vstupně-výstupní parametry slouží pro předávání informací do podprogramu a hlavně zpět SubProhod (ByRef a AsSingle, ByRef b AsSingle) Dim pom As Single pom = a : a = b : b = pom End Sub Call Prohod (x,y) Jako skutečné parametry lze použít pouze proměnné – pracuje se přímo se skutečnými parametry, které nahradí ty formální