Algoritmi Elementari – Determinarea Minimului/Maximului 7
1. Obiectivele lecției:
- Să înțeleagă principiul de determinare a valorii minime și maxime dintr-un set de date.
- Să construiască algoritmi pentru determinarea minimului/maximului.
- Să implementeze acești algoritmi în limbajul C++.
- Să rezolve probleme practice utilizând acești algoritmi.
2. Conținutul lecției:
Ce reprezintă determinarea minimului și maximului?
- Definiție: Determinarea minimului sau maximului implică găsirea celei mai mici (minim) sau celei mai mari (maxim) valori dintr-un set de date.
- Aplicații practice: Calcularea celei mai mari note, determinarea temperaturii maxime/minime dintr-o săptămână, găsirea celui mai mare salariu într-o listă etc.
3. Algoritmul general:
- Inițializare:
- Alege prima valoare din set ca fiind minimul/maximul curent.
- Parcurgerea setului:
- Compară fiecare element cu minimul/maximul curent.
- Actualizează minimul/maximul dacă este necesar.
- Afișare rezultat:
- După parcurgerea întregului set, minimul/maximul va fi determinat.
Pseudocod pentru minim:
Intrare: Lista de n numere
Inițializează minim = primul element al listei
Pentru fiecare element din listă:
Dacă elementul curent < minim:
minim = elementul curent
Ieșire: Afișează minim
Pseudocod pentru maxim:
Intrare: Lista de n numere
Inițializează maxim = primul element al listei
Pentru fiecare element din listă:
Dacă elementul curent > maxim:
maxim = elementul curent
Ieșire: Afișează maxim
4. Exemple practice:
Exemplu 1: Determinarea maximului dintr-o listă de 5 numere
Cod în C++:
#include <iostream>
using namespace std;
int main() {
int numere[5], maxim;
cout << „Introdu 5 numere: „;
for (int i = 0; i < 5; i++) {
cin >> numere[i];
}
// Inițializare maxim
maxim = numere[0];
// Parcurgerea listei
for (int i = 1; i < 5; i++) {
if (numere[i] > maxim) {
maxim = numere[i];
}
}
cout << „Numarul maxim este: ” << maxim << endl;
return 0;
}
Exemplu 2: Determinarea minimului dintr-o listă introdusă de utilizator
Cod în C++:
#include <iostream>
using namespace std;
int main() {
int n;
cout << „Cate numere doresti sa introduci? „;
cin >> n;
int numere[n];
cout << „Introdu ” << n << ” numere: „;
for (int i = 0; i < n; i++) {
cin >> numere[i];
}
// Inițializare minim
int minim = numere[0];
// Parcurgerea listei
for (int i = 1; i < n; i++) {
if (numere[i] < minim) {
minim = numere[i];
}
}
cout << „Numarul minim este: ” << minim << endl;
return 0;
}
Exemplu 3: Determinarea minimului și maximului dintr-un set de date
Cod în C++:
#include <iostream>
using namespace std;
int main() {
int n;
cout << „Cate numere doresti sa introduci? „;
cin >> n;
int numere[n];
cout << „Introdu ” << n << ” numere: „;
for (int i = 0; i < n; i++) {
cin >> numere[i];
}
// Inițializare minim și maxim
int minim = numere[0];
int maxim = numere[0];
// Parcurgerea listei
for (int i = 1; i < n; i++) {
if (numere[i] < minim) {
minim = numere[i];
}
if (numere[i] > maxim) {
maxim = numere[i];
}
}
cout << „Numarul minim este: ” << minim << endl;
cout << „Numarul maxim este: ” << maxim << endl;
return 0;
}
5. Activități practice pentru elevi:
- Scrieți un program care determină maximul și minimul temperaturilor înregistrate într-o săptămână.
- Realizați un program care citește notele a 10 elevi și afișează cea mai mare și cea mai mică notă.
- Scrieți un program care determină maximul și minimul dintr-o serie de numere introduse până când utilizatorul introduce 0.
6. Scheme logice:
- Schema pentru determinarea minimului:
- Start -> Inițializează minim -> Citește valori -> Compară cu minim -> Actualizează minim (dacă este cazul) -> Repetă -> Stop.
- Schema pentru determinarea maximului:
- Start -> Inițializează maxim -> Citește valori -> Compară cu maxim -> Actualizează maxim (dacă este cazul) -> Repetă -> Stop.
7. Concluzie:
- Determinarea minimului și maximului este un algoritm elementar, dar foarte util în multe aplicații practice.
- Este important să înțelegem procesul de parcurgere a datelor și comparare a valorilor.
- Prin implementare și practică, elevii vor învăța să scrie algoritmi mai complecși pe baza acestora.