Tipuri de date, date simple, operatori, expresii
  • Utilizarea variabilelor

        Variabilele sunt elemente de baza in procesul de programare. In general o variabila are un nume si poate stoca o valoare.
        Utilizarea unei variabile presupune:
    1. Declararea variabilei - staabilirea tipului de variabila
    2. Atribuirea unei valori variabilei
    3. Utilizarea variabilei


        Declararea variabilei se face folosind urmatorul format:
         Dim nume_variabila As tip.

        Exemple:

        Dim nr As Double
        Dim nume As String
        Dim comut As Boolean

        Atribuirea unei valori variabilei se face folosind operatorul de atribuire =

        Exemple:

        nr = 42

        In momentul declararii unei variabile, acesteia i se poate atribui o valoare initiala astfel:

        Dim nr As Double = 0
        Dim nume As String = "curs programare"
        Dim comut As Boolean = True

        Vom vom utiliza aceste variabile cu valori implicite intr-un program astfel

    Module Module1
        ' Utilizarea variabilelor
        Sub Main()
            Dim nr As Double = 0
            Dim nume As String = "curs programare"
            Dim comut As Boolean = True
            Console.WriteLine(nr)
            Console.WriteLine(nume)
            Console.WriteLine(comut)
            Console.ReadKey()
        End Sub
    End Module
    


    Dupa rularea programului in "Command Prompt" se afiseaza valoarea acestor variabile astfel:



        Daca pe parcursul programului se atribuie alte valori variabilelor acestea vor deveni valorile curente

    Module Module1
        ' Utilizarea variabilelor
        Sub Main()
            Dim nr As Double = 0
            Dim nume As String = "curs programare"
            Dim comut As Boolean = True
            nr = 345.789
            nume = "Ionescu"
            comut = False
            Console.WriteLine(nr)
            Console.WriteLine(nume)
            Console.WriteLine(comut)
            Console.ReadKey()
        End Sub
    End Module
    


    Dupa rularea programului in "Command Prompt" se afiseaza valoarea curenta a acestor variabile astfel:



  • Tipuri de date în limbajul Visual Basic

        Tipul unei date determina lungimea zonei de memorie ocupata de acea data.

        Tipurile de baza sunt:
  • Constante


    O constanta este un literal (o forma externa de reprezentare) numeric, caracter sau sir de caractere. Numele si valoarea unei constante sunt identice. Valoarea unei constante nu poate fi schimbata în timpul executiei programului în care a fost utilizata. Tipul si valoarea ei sunt determinate în mod automat, de catre compilator, pe baza caracterelor care compun literalul.

        Declararea constantei se face folosind urmatorul format:
         Const nume_variabila As tip.


        Constante intregi

    O constanta întreaga consta dintr-o succesiune de cifre.Exemplu: 36789


        Constante numerice reale

    Daca o constanta numerica contine punctul zecimal, ea este de tipul double.
    Exemplu: 3.141 tip double


        Constante caracter

    O constanta caracter consta dintr-un singur caracter scris între apostrofuri, de exemplu 'x'

        Constante siruri

    Un sir este o succesiune de caractere scrise între ghilimele, de exemplu "Programare".


        Exemplu de program ce utilizeaza constante

    Program pentru calculul valorii unei facturi ( inclusiv TVA)

    Module Module1
        ' Utilizarea constantelor
        Sub Main()
            Dim pret As Double = 23.44
            Dim cant As Double = 5.5
            Const cota_tva As Integer = 24
            Console.WriteLine("Valoarea=" & pret * cant)
            Console.WriteLine("Valoarea cu TVA=" & pret * cant * (1 + cota_tva / 100))
            Console.WriteLine("Valoarea TVA=" & pret * cant * cota_tva / 100)
            Console.ReadKey()
        End Sub
    End Module
    


  • Variabile


        Spre deosebire de constante, variabilele sunt date (obiecte informationale) ale caror valori se pot modifica în timpul executiei programului.
        Si variabilele sunt caracterizate de atributele nume, tip, valoare si clasa de memorare.
        Variabilele sunt nume simbolice utilizate pentru memorarea valorilor introduse pentru datele de intrare sau a rezultatelor.
        Daca la o constanta ne puteam referi folosind caracterele componente, la o variabila ne vom referi prin numele ei.
        Numele unei variabile ne permite accesul la valoarea ei, sau schimbarea valorii sale, daca este necesar acest lucru.
        Numele unei variabile este un identificator ales de programator.



        Sintaxa de declarare a variabilelor

         Inainte de folosire, orice variabila trebuie declarata, pentru a i se putea aloca memorie in vederea stocarii ei. Variabila este defapt adresa primei locatii in care este rezervata memorie pentru continutul ei. Sintaxa pentru declararea unei variabile este urmatoarea:

        Declararea variabilei se face folosind urmatorul format:
         Dim nume_variabila As tip.

  • Tipul de variabila caracter si string


    O variabila de tip caracter se declara prin specificatorul de tip char. Zona de memorie alocata unei variabile de tip char este de un octet.
    Variabila sir de caractere sau string se declara ca fiind masive de tip char sau in unele spatii de nume se declara string

    Exemple de utilizare a variabilelor char si string

  • Program pentru citirea si afisarea unui text

    Module Module1
        ' Utilizarea sirurilor de caractere
        Sub Main()
            Dim num As String
            Dim lit As Char
            Console.Write("Introduceti numele d-voastra: ")
            num = Console.ReadLine
            Console.Write("Introduceti initiala tatalui: ")
            lit = Console.ReadLine
            Console.WriteLine("Numele D-voastra este: " & num)
            Console.WriteLine("Initiala tatalui este: " & lit)
            Console.ReadKey()
        End Sub
    End Module
    


  • Tipul de variabila numeric

        Variabile intregi

        Variabilele întregi pozitive sau negative pot fi declarate prin specificatorul de tip Integer.

        Vom realiza in continuare un program care utilizeaza numere intregi

    Module Module1
        ' Utilizarea variabilelor de tip intreg
        Sub Main()
            Dim num As Integer
            Dim imp As Integer
            Console.Write("Introduceti un numar: ")
            num = Console.ReadLine
            Console.Write("Introduceti impartitorul: ")
            imp = Console.ReadLine
            Console.WriteLine(num & "/" & imp & "=" & num / imp)
            Console.WriteLine("Restul impartirii: " & num & "/" & imp & " este= " & num Mod imp)
            Console.ReadKey()
        End Sub
    End Module
    


        Variabile reale
        Variabilele întregi pozitive sau negative pot fi declarate prin specificatorul de tip Single sau Double.

        Vom realiza in continuare un program care utilizeaza numere reale

    Module Module1
        ' Utilizarea numerelor reale
        ' Afisarea unui numar aleator
        Sub Main()
            ' Initializarea generatorului de numere aleatoare.
            Randomize()
            ' Generarea  unui numar aleator intre 0 si 100. 
            Dim r As Double = 100 * Rnd()
            Console.WriteLine("Numarul aleator este:" & r)
            Console.ReadKey()
        End Sub
    End Module
    


  • Alte tipuri de variabile


        Exista o multitudine de alte tipuri de variabile predefinite cum ar fi data si ora calendaristica.
        Vom folosi in continuare o variabila de tipul Date pentru a afisa ora minutul si secunda

    Module Module1
        ' Utilizarea altor tipuri de variabile
        Sub Main()
            Dim ora_min_sec As Date
            ora_min_sec = TimeOfDay()
            Console.WriteLine("Este ora " & CStr(ora_min_sec))
            Console.ReadKey()
        End Sub
    End Module
    
    


        Conversii de tip

        De multe ori e nevoie de trecerea de la un tip de date la altul. Dupa cum s-a vazut si in exemplul anterior a trebuit sa trecem de la tipul Date la tipul String folosind functia CStr.

        Sa reluam aplicatia care genera un numar aleator de tip double si sa generam un numar intreg. Avem nevoie deci convertim tipul Double ti Integer
        Vom folosi functia CInt astfel:

    Module Module1
        ' Utilizarea numerelor reale
        ' Afisarea unui numar aleator
        Sub Main()
            ' Initializarea generatorului de numere aleatoare.
            Randomize()
            ' Generarea  unui numar real aleator intre 0 si 100. 
            Dim r As Double = 100 * Rnd()
            Console.WriteLine("Numarul real aleator este:" & r)
            ' Generarea  unui numar intreg aleator intre 0 si 100. 
            Dim v_int As Integer = CInt(r)
            Console.WriteLine("Numarul intreg aleator este:" & v_int)
            Console.ReadKey()
        End Sub
    End Module
    

        Vom folosi functia CDbl pentru a converti un string intr-un double astfel:

    Module Module1
        ' Conversia unui string intr-un doube
        Sub Main()
            Dim r As Double
            Console.Write("Introduceti raza cercului:")
            r = Console.ReadLine()
            Dim pi_s As String = "3.14"
            Dim pi As Double = CDbl(pi_s)
            Console.WriteLine("Raza este: " & r)
            Console.WriteLine("Pi este: " & pi)
            Console.WriteLine("Lungimea cercului este: " & 2 * pi * r)
            Console.ReadKey()
        End Sub
    End Module
    


  • Operatori

        Un operator este un simbol care reprezinta o anumita actiune

        Operatorul de atribuire

        Se foloseste pentru a asocia o valoare unei variabile.
        Sintaxa este:[nume variabila]=[valoare]

        Valoarea atribuita unei variabile trebuie sa fie compatibila cu tipul de date al variabilei. In caz de incompatibilitate se genereaza erori.

        Operatorul de adunare

        
    Module Module1
        ' Suma a doua numere intregi 
        Sub Main()
            Dim numar1, numar2, suma As Integer
    
            Console.Write("Introduceti primul numar intreg: ")
            numar1 = Console.ReadLine
            Console.Write("Introduceti al doi-lea numar intreg: ")
            numar2 = Console.ReadLine
            suma = numar1 + numar2
            Console.WriteLine(numar1 & "+" & numar2 & "=" & suma)
            Console.ReadKey()
        End Sub
    End Module
    


        Operatorul de scadere

        
    Module Module1
        ' Diferenta a doua numere intregi 
        Sub Main()
            Dim numar1, numar2, difer As Integer
            Console.Write("Introduceti primul numar intreg: ")
            numar1 = Console.ReadLine
            Console.Write("Introduceti al doi-lea numar intreg: ")
            numar2 = Console.ReadLine
            difer = numar1 - numar2
            Console.WriteLine(numar1 & "-" & numar2 & "=" & difer)
            Console.ReadKey()
        End Sub
    End Module
    


        Operatorul de inmultire

        
    Module Module1
        ' Produsul a doua numere intregi 
        Sub Main()
            Dim numar1, numar2, prod As Integer
            Console.Write("Introduceti primul numar intreg: ")
            numar1 = Console.ReadLine
            Console.Write("Introduceti al doi-lea numar intreg: ")
            numar2 = Console.ReadLine
            prod = numar1 * numar2
            Console.WriteLine(numar1 & "*" & numar2 & "=" & prod)
            Console.ReadKey()
        End Sub
    End Module
    
    


        Operatorul de impartire

        
    Module Module1
        ' Raportul a doua numere intregi 
        Sub Main()
            Dim numar1, numar2, imp As Integer
            Console.Write("Introduceti primul numar intreg: ")
            numar1 = Console.ReadLine
            Console.Write("Introduceti al doi-lea numar intreg: ")
            numar2 = Console.ReadLine
            imp = numar1 / numar2
            Console.WriteLine(numar1 & "/" & numar2 & "=" & imp)
            Console.ReadKey()
        End Sub
    End Module
    


  • Operatorul modulo

        Returneaza restul impartirii
    Module Module1
        ' Utilizarea operatorului modulo
        Sub Main()
            Dim num As Integer
            Dim imp As Integer
            Console.Write("Introduceti un numar: ")
            num = Console.ReadLine
            Console.Write("Introduceti impartitorul: ")
            imp = Console.ReadLine
            Console.WriteLine("Restul impartirii: " & num & "/" & imp & " este= " & num Mod imp)
            Console.ReadKey()
        End Sub
    End Module
    


  • Operatorul exponent

        
    Module Module1
        ' Ridicarea la putere
        Sub Main()
            Dim numar1, numar2, rez As Integer
            Console.Write("Introduceti numar intreg: ")
            numar1 = Console.ReadLine
            Console.Write("Introduceti exponentul: ")
            numar2 = Console.ReadLine
            rez = numar1 ^ numar2
            Console.WriteLine(numar1 & "^" & numar2 & "=" & rez)
            Console.ReadKey()
        End Sub
    End Module
    
    


  • Operatori logici

        Si logic -- operatorul And

        SAU logic -- operatorul Or

        Operatia SAU este deseori folosita pentru a realizeaza o setare a anumitor biti dintr-un operand. Operatorul folosit este |

        SAU exclusiv - operatorul Xor

        Operatia SAU exclusiv este deseori folosita pentru complementarea anumitor biti dintr-un operand. Operatorul folosit este ^

        NOT - operatorul Not

        Operatia NOT realizeaza complementarea bitilor dintr-un operand.