Download - 01 Variabile

Transcript
  • 1 0 1 1 0 0 0 0 1 1 0 0 1 1 1 0 0 0 0 1 1 1 1 0 0 1 1 1 .. INFORMATICA

    Tema 1. Organizarea datelor. Elemente specifice algoritmilor

    Fia de documentare 1.2. Elemente specifice algoritmilor: date, variabile, constante; tip de date; expresii, operaii, operatori; comentarii

    Obiective s recunoti diferenele ntre variabile i constante s identifici tipurile de operatori s recunoti ordinea operaiilor pentru fiecare tip de

    operator s recunoti ordinea operaiilor pentru fiecare tip de

    operator sa aplici prioritatea operatorilor

    Date, variabile, constante

    Am vzut c informaiile prelucrate de calculator se numesc date. Putem s clasificm datele n constante i variabile.

    Variabilele sunt date care i modific valoarea pe parcursul execuiei programului.

    Unei variabile i se atribuie patru entiti: nume (cu ajutorul cruia ne putem referi pe parcursul execuiei programului), valoare (la un moment dat), tip (valorile pe care le poate avea variabila la momente diferite trebuie s aparin aceluiai tip) i adresa n memorie. Corespondena ntre tip i nume se face cu ajutorul unei declaraii.

    Constantele sunt date care nu i modific valoarea. Aceste valori fixe reprezint caractere, iruri de caractere, numere ntregi sau raionale.

    Ca i n cazul variabilelor, constantele au un nume, o valoare (dar care nu se poate modifica), un tip i o adres de memorie. Este necesar, ca i la variabile, o declarare pentru a specifica tipul, numele i valoarea constantei.

    2009 Giovanna Stanica

  • 1 0 1 1 0 0 0 0 1 1 0 0 1 1 1 0 0 0 0 1 1 1 1 0 0 1 1 1 .. INFORMATICA

    Tipuri de date

    Prin tip de date se intelege o mulime pentru care se definesc urmatoarele proprieti:

    - dimensiunea zonei de memorie asociate unui element - timpul de via asociat datei - mulimea operaiilor prin care valorile tipului pot fi modificate - operatorii utilizai i restriciile asupra acestora

    Tipurile de date pot fi predefinite (tipuri fundamentale) i definite de utilizator.

    n funcie de limbajul folosit, tipurile fundamentale de date au alte denumiri, ns conceptual ele vizeaz aceleai domenii de valori. n modulele urmatoare vom prezenta comparativ, tipurile fundamentale de date pentru mai multe limbaje de programare.

    Expresii, operaii, operatori

    O expresie este format dintr-unul sau mai muli operanzi asupra crora acioneaz operatori.

    De exemplu, n expresia 2 * a b + c / 2, a, b, c sunt operanzii iar *, -, +, / sunt operatorii.

    Operaiile sunt prelucrarile n care intr datele. Ele pot fi aritmetice i nearitmetice (logice, relaionale, cu iruri de caractere, de conversie dintr-un tip de date n altul). Vom studia pe rand operatorii care se folosesc n cadrul acestor operaii.

    Operatori aritmetici

    Operatorii aritmetici sunt: +, -, *, /, %, unde semnul de mprire / are sensul de ct al mpririi (n cazul mpririlor cu ct i rest) sau de mprire real iar semnul % reprezint restul mpririi a dou numere ntregi.

    * / % +

    2009 Giovanna Stanica

  • 1 0 1 1 0 0 0 0 1 1 0 0 1 1 1 0 0 0 0 1 1 1 1 0 0 1 1 1 .. INFORMATICA

    Ordinea de efectuare a operaiilor este dat de prioritatea operatorilor aritmetici (cea cunoscut n matematic: nmuliri i mpriri i apoi adunri i scderi). Acetia sunt operatori binari adic acioneaz asupra a doi operanzi.

    n plus exist i operatorii unari plus i minus (+, -), care acioneaz asupra unui singur operand i au sensul de semn al numrului (pozitiv sau negativ).

    Operatori relaionali

    Sunt cei folositi i n matematic: > (mai mare), < (mai mic), (mai mare sau egal), (mai mic sau egal), = (egal), (diferit). Ei precizeaz o relaie de ordine sau de egalitate ntre date, care poate fi ndeplinit sau nu. Expresiile construite cu operatorii relaionali pot fi evaluate la o valoare de adevar: adevarat sau fals, dup cum este ndeplinit relaia sau nu.

    =,n funcie de limbajul de programare folosit, apar convenii de notaie specifice pentru operatori (de exemplu semnul diferit va fi implementat n C++ ca != iar n Pascal ca , pe cnd semnele i vor fi implementate ca =, la fel, n ambele limbaje).

    Operatorii relaionali sunt operatori binari i se pot aplica numai operanzilor numerici, logici i de tip caracter (ordinea caracterelor fiind cea data de codul ASCII, despre care am vorbit n fia anterioar).

    Nu exist o ordine specific a operaiilor atunci cnd folosim operatorii relaionali. Operaiile se efectueaz n ordinea apariiei operatorilor, de la stanga la dreapta.

    Operatori logici

    Operatorii logici sunt folosii pentru determinarea valorii de adevar a propoziiilor logice i anume adevarat sau fals, n unele limbaje codificate cu 1 respectiv 0.

    adevrat

    6+28

    2009 Giovanna Stanica

  • 1 0 1 1 0 0 0 0 1 1 0 0 1 1 1 0 0 0 0 1 1 1 1 0 0 1 1 1 .. INFORMATICA

    Operatorii logici sunt: negatia logic (not), i logic (and), sau logic (or). Operatorul not este unar, n timp ce and i or sunt binari.

    Rezultatul expresiilor ce conin operatori logici este cel prezentat n logic matematic i descris n tabelul urmator:

    p Q not p p or q p and q 0 0 1 0 0 0 1 1 1 0 1 0 0 1 0 1 1 0 1 1

    Evaluarea unei expresii

    O expresie se evalueaz respectand regulile nvaate la matematic: n primul rand se evalueaz expresiile din parantezele rotunde, apoi se efectueaz operaiile n ordinea prioriatii lor. Tabelul urmator prezint prioritatea operatorilor, n ansamblul lor:

    Prioritate* Operatori Simbol Asociativitate*

    1 Negatia logic ! De la drepta la stanga

    2 Aritmetici

    multiplicativi

    *, /, % De la stanga la dreapta

    3 Aritmetici aditivi +, - De la stanga la dreapta

    4 Relationali , =, =, De la stanga la dreapta

    5 Conjunctia logic si (and) De la stanga la dreapta

    6 Disjunctia logic sau (or) De la stanga la dreapta

    * 1 este

    prioritatea

    maxim

    * ordinea n care se

    execut, dac exist mai

    multe operaii cu aceeai

    prioritate

    Greeli frecvente n scrierea expresiilor

    Sunt cteva greeli care se fac n mod frecvent atunci cnd se scriu expresii matematice pentru a fi evaluate de calculator.

    - Se omite semnul de nmulire. De exemplu se scrie 5a+3 (greit) n loc de 5*a+3 (corect)

    2009 Giovanna Stanica

  • 1 0 1 1 0 0 0 0 1 1 0 0 1 1 1 0 0 0 0 1 1 1 1 0 0 1 1 1 .. INFORMATICA

    2009 Giovanna Stanica

    - Se omit parantezele, de exemplu la scrierea unor fracii sau la calcularea mediei aritmetice: a+b/2 (greit) n loc de (a+b)/2 (corect)

    - O alta greeal este utilizarea nlanuit a operatorilor relaionali. De exemplu se scrie a