Mini-Browser

sâmbătă, 4 decembrie 2010

Structuri: If si if-else

In aceast articol vom invata cum sa facem un program care sa ia decizii.
Cea mai simpla metoda de a programa o comportare este sa spui: " Daca A este adevarat, atunci executa B". Ei bine cam asa re reprezinta instructiunea if din C++. 
Iata forma simpla a sintaxei instructiunii if:
if (conditie)
    instructiune;
Instructiunea if mai are si o sintaxa compusa si mai preferata de unii:
if(conditie){
    instrctiuni;
}
Ce este diferit? Care este diferenta?
Diferit este faptul ca in al doilea exemplu se folosesc acolade.
Diferenta este faptul ca forma simpla a lui if executa doar o singura instructiune pe cand cea cu acolade executa doua sau mai multe.
Multi gresesc cand programeaza si scriu mai multe instructiuni dar nu intre acolade. 
Ce rol au acoladele?
Acoladele au rolul de a crea un bloc de instructiuni care urmeaza sa fie executate in cazul in care conditia este adevarata, pe cand daca nu avem acoladele se va executa doar prima instructiune care urmeaza dupa if.


Sa luam un exemplu:
...
if (a==b)  
    cout << " a este egal cu b";
...


Mai observam ca s-au folosit de 2 ori semnul egal. De ce?
C++ are doi operatori diferiti. Unul care indica atribuirea ( = ), adica copie valoarea din membrul drept in membrul stang si unul care indica verificarea egalitatii ( == ).
Cand vrem sa testam o egalitate mereu trebuie sa folosim operatorul == .


Se mai poate specifica si actiunile care trebuie executate in cazul in care conditia este falsa, iar aceasta foloseste cuvantul cheie else (altfel).
Iata un exemplu:
...
if(a==b)
    cout << " a este egal cu b";
else
    cout << "a nu este egal cu b"; 
...
Operatorii rationali din C++ sunt: 
<      - mai mic
>      - mai mare
<=    - mai mic sau egal
>=    - mai amre sau egal
==    - verificarea egalitatii
!=     - verificarea inegalitatii


Sa luam ca exemplu un program care ne afiseaza daca un numar este par sau impar:


#include <iostream>
using namespace std;


int main(){
    int n;
    cout << " Introduceti un numar: ";
    cin>>n;
    if(n%2==0)
        cout << " Numarul este par.";
    else
        cout << " Numarul este impar.";
    return 0;
}


In acest program am folosit un operator nou si anume operatorul modulo ( % ). Acest operator returneaza restul imartirii, iar daca restul impartirii unui numar la 2 este 0 inseamna ca acel numar este par, iar in caz contrar este impar.







Niciun comentariu:

Trimiteți un comentariu