Informatică, întrebare adresată de Utilizator anonim, 8 ani în urmă

Descrie forma și modul de funcționare al structurii alternative ​

Răspunsuri la întrebare

Răspuns de andrei750238
2

Forma generala a structurii alternative :

daca <conditie> atunci

   <bloc_instructiune_1>

altfel

   <bloc_instructiuni_2>

Modul de functionare :

  1. Cand executia programului ajunge la structura alternativa se evalueaza expresia logica <conditie>.
  2. Daca expresia este evaluata ADEVARAT atunci se va executa blocul de instructiuni <bloc_instructiuni_1>
  3. Daca expresia este evaluata FALS atunci se va executa blocul de instructiuni <bloc_instructiuni_2>. Daca ramura "altfel <bloc_instructiuni_2>" lipseste atunci se va sari peste acest pas.
  4. Se va continua executia programului, in ordine, incepand cu prima instructiune aflata dupa structura alternativa.
Răspuns de lucaciucandrei
0

Structurile alternative/de decizie permit rezolvarea unor situații, unde este necesară executarea unor instrucțiuni în cadrul unui program numai în anumite condiții.

Instrucțiunea if

Instrucțiunea if este cea mai utilizată structură alternativă.

Sintaxa

Instrucțiunea if are două forme:

  • Varianta 1

C++

if (expresie){

   bloc de instrucțiuni 1

}

else{

   bloc de instrucțiuni 2

}

Pseudocod

|-dacă expresie atunci

|   bloc de instrucțiuni 1

| altfel

|  bloc de instrucțuni 2

|_

  • Varianta 2

C++

if (expresie){

   bloc de instrucțiuni 1

}

Pseudocod

|-dacă expresie atunci

|  bloc de instrucțiuni 1

|_

CÂND EXISTĂ O SINGURĂ INSTRUCȚIUNE, ACOLADELE NU MAI SUNT OBLIGATORII!

Mod de execuție

Expresia trebuie să fie de tip bool sau să poată fi convertită la bool. (adică să poată fi evaluată cu 0 - fals sau 1 - adevărat)

Conversia se face astfel:  

  • dacă expresia este nenulă se va obține valoarea true;
  • dacă expresia este nulă se va obține valoarea false.

Instrucțiunea if se execută în felul următor:

  • Varianta 1

-  se evaluează expresie, care este de tip bool sau poate fi convertită la bool

- dacă valoarea ei este true

  1. - se execută bloc de instrucțiuni 1
  2. - se continuă cu instrucțiunea care urmează după if

- dacă valoare expresiei este false

  1. - se execută Instrucțiune2
  2. - se continuă cu instrucțiunea care urmează după if

expresie

|---------------------------------------------------------|

true                                                         false

|                                                                  |

\/                                                                \/

bloc de instrucțiuni 1                    bloc de instrucțiuni 2

  • Varianta 2

-  se evaluează expresie, care este de tip bool sau poate fi convertită la bool

- dacă valoarea ei este true

  1. - se execută bloc de instrucțiuni 1
  2. - se continuă cu instrucțiunea care urmează după if

- dacă valoare expresiei este false

  1. - se continuă cu instrucțiunea care urmează după if

expresie

|---------------------------------------------------------|

true                                                         false

|                                                                  |

\/                                                                |

bloc de instrucțiuni 1                                |

Instrucțiunea switch

Instrucțiunea switch permite executarea unor instrucțiuni, în funcție de egalitatea unei expresii cu anumite valori numerice constante:

Sintaxa

C++

switch (expresie) {

   case număr 1:

       bloc de instrucțiuni 1;

       break;

   E T C...  

   case număr x:

       bloc de instrucțiuni x;

       break;

   default:

         bloc de instrucțiuni default

         break;

}

Pseudocod

optiune (expresie)

   caz număr 1:

       bloc de instrucțiuni 1;

       salt;

   E T C...

   caz număr x:

       bloc de instrucțiuni x;

       salt;

   implicit:

       bloc de instrucțiuni implicit;

       salt;

IN FIECARE CASE/CAZ număr x TREBUIE SĂ FIE NUMĂR ÎNTREG!!!

Mod de execuție

- se evaluează expresie

- dacă valoarea expresiei este egală cu una dintre valorile dintr-un caz, se execută instrucțiunile din grupul de instrucțiuni corespunzător, apoi se trece la instrucțiunea de după switch

- dacă valoarea expresiei nu este egală cu niciuna dintre valorile vreunui caz, se verifică existența cazului default;

  1. - dacă există cazul default, se execută instrucțiunile din grupul de instrucțiuni corespunzător cazului default, apoi se trece la instrucțiunea de după switch
  2. - dacă nu există cazul default, se trece la instrucțiunea de după switch
Alte întrebări interesante