Structurile Fundamentale ale Algoritmului 3
1. Obiectivele lecției:
- Să înțeleagă ce reprezintă structurile fundamentale ale unui algoritm.
- Să identifice și să utilizeze secvența, decizia și iterația în scrierea algoritmilor.
- Să implementeze algoritmi simpli utilizând fiecare structură în limbajul C++.
2. Conținutul lecției:
Ce sunt structurile fundamentale ale algoritmului?
- Definiție: Structurile fundamentale reprezintă construcțiile de bază care stau la baza oricărui algoritm și permit implementarea logicii necesare pentru a rezolva o problemă.
- Cele trei structuri fundamentale:
- Secvența – executarea instrucțiunilor una după alta.
- Decizia (Selecția) – alegerea între mai multe opțiuni în funcție de o condiție.
- Repetiția (Iterația) – executarea repetată a unei serii de instrucțiuni.
3. Structurile fundamentale explicate:
1. Secvența
- Descriere: O serie de pași care se execută unul după altul, în ordinea în care sunt scriși.
- Exemplu în viața reală: Prepararea unui sandwich.
- Exemplu în C++:
#include <iostream>
using namespace std;
int main() {
int a = 5, b = 10, suma;
// Secvența
suma = a + b;
cout << „Suma este: ” << suma << endl;
return 0;
}
2. Decizia (Selecția)
- Descriere: Permite programului să aleagă între două sau mai multe căi, pe baza unei condiții.
- Exemplu în viața reală: Dacă plouă, ia umbrelă; altfel, ieși fără umbrelă.
- Exemplu î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;
}
3. Repetiția (Iterația)
- Descriere: Permite executarea repetată a unui set de instrucțiuni cât timp o anumită condiție este adevărată.
- Tipuri de repetare:
- While: Execută un bloc de cod cât timp condiția este adevărată.
- Do-While: Execută cel puțin o dată și verifică condiția la sfârșit.
- For: Este folosită pentru iterații cunoscute.
- Exemplu în viața reală: Numărătoare inversă la un semafor.
- Exemplu în C++ (folosind for):
#include <iostream>
using namespace std;
int main() {
for (int i = 1; i <= 5; i++) {
cout << „Numarul este: ” << i << endl;
}
return 0;
}
4. Exemple practice pentru elevi:
Exemplu 1: Combinația structurilor fundamentale
Problema: Afișează primele 10 numere naturale și spune dacă fiecare este par sau impar.
Cod în C++:
#include <iostream>
using namespace std;
int main() {
for (int i = 1; i <= 10; i++) {
cout << „Numarul ” << i;
if (i % 2 == 0) {
cout << ” este par.” << endl;
} else {
cout << ” este impar.” << endl;
}
}
return 0;
}
Exemplu 2: Utilizarea while
Problema: Afișează suma numerelor de la 1 la 100.
Cod în C++:
#include <iostream>
using namespace std;
int main() {
int suma = 0, i = 1;
while (i <= 100) {
suma += i;
i++;
}
cout << „Suma numerelor de la 1 la 100 este: ” << suma << endl;
return 0;
}
5. Activități pentru elevi:
- Scrieți un algoritm care calculează factorialul unui număr dat, folosind o buclă for.
- Scrieți un algoritm care verifică dacă un număr introdus de utilizator este pozitiv, negativ sau zero, folosind structura decizională if-else.
- Realizați un algoritm care afișează toate numerele pare de la 1 la 50, folosind o buclă while.
6. Scheme logice pentru fiecare structură:
- Secvența: Un flux continuu de pași (Start -> Pas 1 -> Pas 2 -> Stop).
- Decizia: Un romb cu două ieșiri (DA și NU) pentru fiecare condiție.
- Repetiția: Un romb (Condiție) care determină reîntoarcerea la instrucțiuni sau terminarea ciclului.
7. Concluzie:
- Structurile fundamentale sunt esențiale pentru a scrie algoritmi eficienți.
- Toate problemele pot fi rezolvate utilizând aceste trei structuri.
- Înțelegerea și utilizarea acestor concepte vor ajuta elevii să devină programatori mai buni.