luni, 11 ianuarie 2010

L9. Instructiunea IF

Instructiunea IF


Sintaxa: if (exp_logica) instrDA;  else instrNU;

Efect:

  • se evalueaza valoarea expresie logice

  • daca valoarea calculata este adevarata (nenula) se executa instructiunea instrDA si apoi instructiunea de dupa IF

  • daca valoarea calculata a expresiei este nula se executa instructiunea instrNU (daca exista ramura ELSE) si apoi instructiunea de dupa IF


Exemplu:

  • if (a%2==0) cout>>"valoarea este para"; else cout<<" valoarea este impara";

  • se verifica daca restul impartirii la 2 a variabilei A este zero

  • daca DA se executa cout>>"valoarea este para";

  • daca NU se executa cout>>"valoarea este impara";


Observatii:

  • in C/C++ instructiunile, pe langa efectul lor, returneaza o valoare adevarat (1 - unu) daca se executa corect si fals (0 - zero) daca executia a fost eronata;

  • secventa if (a=b) instr1; else instr2; va executa intotdeauna numai instr1 pentru ca atribuirea a=b se executa corect

  • a nu se confunda a=b (lui a i se atribuie valoarea lui b) cu a==b (care verifica daca cele doua valori sunt egale)

  • daca in loc pentru o valoare a conditiei testate algortimul impune executarea a mai mult de o instructiune, acestea se vor incadra intre acolade: if (conditie) { ...instructiuni pe ramura DA} else {instructiuni pe ramura NU};


Probleme:

  1. Fie N un numar natural. Sa se afiseze textul PAR sau IMPAR, functie de valoarea lui N.

  2. Fie N un numar natural. Sa se afiseze  textul POZITIV,  NEGATIV sau ZERO dupa caz.

  3. Fie A si B capetele unui interval. Sa se stabileasca daca o valoare X apartine intervalului [A,B].

  4. Fie A si B doua valori intregi. Sa se afiseze A si B in ordine crescatoare.

  5. Fie A si B doua valori intregi. Sa se calculeze X, solutia ecuatiei A*X+B=0.


Observatii:

  1. Se verifica valoarea expresiei N%2==0

  2. Se compara N cu 0 si se afiseaza dupa caz.

  3. Daca A este mai mare decat B, valorile trebuie interschimbate.

  4. -

  5. Trebuie verificat daca A nu este zero, caz in care se afiseaza un mesaj si se iese fortat, cu RETURN.


    3 comentarii:

    1. cum e cu iesitul acela fortat? De ce trebuie folosit RETURN?

      RăspundețiȘtergere
    2. In limbajul C, programul principal se declara de obicei
      int main ()
      {
      ...
      }
      Aceasta este o functie cu tip care cere returnarea unei valori ( return exp;). Ideea era ca daca valorile citite de un program sunt gresite sa se poata iesi imediat prin
      if ( conditie ca datele sunt gresite) {cout<<"GRESIT"; return 0;};
      La executarea instr RETURN programul se termina. BRUSC! :)
      Apreciez interesul tau. Faci ca munca mea sa conteze.

      RăspundețiȘtergere
    3. multumesc! mi-ai luminat calea...Fara prea multe laude...
      Tocmai am devenit vedeta in clasa..(a 9-a) la inceput...dar oricum multumesc din suflet

      RăspundețiȘtergere