Structura Alternativă 5
1. Obiectivele lecției:
- Să înțeleagă conceptul de structură alternativă într-un algoritm.
- Să recunoască diferitele tipuri de structuri alternative.
- Să implementeze structuri alternative în C++ utilizând if, if-else și switch.
- Să rezolve probleme care implică rea deciziilor.
2. Conținutul lecției:
Ce este structura alternativă?
- Definiție: Structura alternativă permite executarea diferitelor ramuri ale unui algoritm, în funcție de o condiție logică. Este folosită pentru a decizii în funcție de datele de intrare sau de o situație.
- Exemple din viața reală:
- Dacă plouă, ia umbrelă; altfel, mergi fără umbrelă.
- Dacă ai 18 ani sau mai mult, poți conduce; altfel, nu poți.
Tipuri de structuri alternative:
- Structura simplă (if):
- Execută o singură ramură dacă o condiție este adevărată.
- Exemplu:
if (condiție) {
// Cod de executat dacă condiția este adevărată
}
- Structura dublă (if-else):
- Execută o ramură dacă condiția este adevărată și alta dacă este falsă.
- Exemplu:
if (condiție) {
// Cod de executat dacă condiția este adevărată
} else {
// Cod de executat dacă condiția este falsă
}
- Structura multiplă (switch):
- Folosită pentru a alege între mai multe opțiuni.
- Exemplu:
switch (variabilă) {
case valoare1:
// Cod pentru valoare1
break;
case valoare2:
// Cod pentru valoare2
break;
default:
// Cod pentru alte cazuri
}
3. Exemple practice:
Exemplu 1: Verificarea unui număr par sau impar
Problema: Determină dacă un număr introdus de utilizator este par sau impar.
Cod în C++:
#include <iostream>
using namespace std;
int main() {
int numar;
cout << „Introdu un numar: „;
cin >> numar;
if (numar % 2 == 0) {
cout << „Numarul este par.” << endl;
} else {
cout << „Numarul este impar.” << endl;
}
return 0;
}
Exemplu 2: Determinarea maximului dintre două numere
Problema: Compară două numere și afișează pe cel mai mare.
Cod în C++:
#include <iostream>
using namespace std;
int main() {
int numar1, numar2;
cout << „Introdu primul numar: „;
cin >> numar1;
cout << „Introdu al doilea numar: „;
cin >> numar2;
if (numar1 > numar2) {
cout << „Numarul mai mare este: ” << numar1 << endl;
} else if (numar1 < numar2) {
cout << „Numarul mai mare este: ” << numar2 << endl;
} else {
cout << „Numerele sunt egale.” << endl;
}
return 0;
}
Exemplu 3: Afișarea unei zile a săptămânii
Problema: Citește un număr între 1 și 7 și afișează ziua corespunzătoare.
Cod în C++:
#include <iostream>
using namespace std;
int main() {
int zi;
cout << „Introdu un numar de la 1 la 7: „;
cin >> zi;
switch (zi) {
case 1:
cout << „Luni” << endl;
break;
case 2:
cout << „Marți” << endl;
break;
case 3:
cout << „Miercuri” << endl;
break;
case 4:
cout << „Joi” << endl;
break;
case 5:
cout << „Vineri” << endl;
break;
case 6:
cout << „Sâmbătă” << endl;
break;
case 7:
cout << „Duminică” << endl;
break;
default:
cout << „Număr invalid.” << endl;
}
return 0;
}
4. Activități practice pentru elevi:
- Scrieți un program care determină dacă un elev a trecut sau nu un examen. Nota minimă de trecere este 5.
- Realizați un program care citește un număr între 1 și 12 și afișează luna corespunzătoare.
- Scrieți un program care compară trei numere și afișează cel mai mare dintre ele.
5. Scheme logice:
- Structura simplă (if):
- Start -> Condiție? -> (DA -> Execută cod) -> Stop.
- Structura dublă (if-else):
- Start -> Condiție? -> (DA -> Execută cod 1) / (NU -> Execută cod 2) -> Stop.
- Structura multiplă (switch):
- Start -> Valoare corespunzătoare? -> Execută ramura corespunzătoare -> Stop.
6. Concluzie:
- Structura alternativă este esențială pentru a permite programelor să ia decizii.
- Tipurile de structură alternativă (if, if-else, switch) sunt utile în funcție de complexitatea condițiilor.
- Prin aplicarea acestor structuri, elevii pot crea programe care se adaptează la diferite situații.