Problemă, Algoritm, Program 1
1. Obiectivele lecției:
- Să înțeleagă noțiunea de problemă informatică.
- Să definească și să explice conceptul de algoritm.
- Să înțeleagă legătura dintre algoritm și program.
- Să creeze un algoritm simplu și să îl implementeze într-un program în C++.
2. Conținutul lecției:
Ce este o problemă?
- Definiție: O problemă este o situație sau o sarcină care necesită o soluție. În informatică, o problemă reprezintă o cerință clar formulată care trebuie rezolvată printr-un proces logic și/sau printr-un program.
- Exemplu: Calcularea sumei a două numere.
Ce este un algoritm?
- Definiție: Un algoritm este un set finit de pași logici, bine definiți, care trebuie urmați pentru a rezolva o problemă.
- Proprietăți ale algoritmului:
- Finitudinea: Algoritmul trebuie să aibă un număr finit de pași.
- Claritatea: Pașii trebuie să fie descriși clar și fără ambiguități.
- Corectitudinea: Algoritmul trebuie să ofere rezultatul corect pentru datele de intrare valide.
- Eficiența: Algoritmul ar trebui să fie optim în ceea ce privește resursele utilizate (timp și memorie).
Legătura dintre algoritm și program
- Definiție: Un program este implementarea unui algoritm într-un limbaj de programare. Programul este scris astfel încât să fie executat de un computer.
- Exemplu: Dacă algoritmul reprezintă rețeta, programul este prăjitura pregătită conform rețetei.
3. Exemple practice:
Exemplu 1: Algoritm pentru calcularea sumei a două numere
Problema: Calculează suma a două numere introduse de utilizator.
Algoritm:
- Citește primul număr.
- Citește al doilea număr.
- Calculează suma celor două numere.
- Afișează rezultatul.
Pseudocod:
Intrare: numar1, numar2
Calcul: suma = numar1 + numar2
Ieșire: Afișează suma
Cod în C++:
#include <iostream>
using namespace std;
int main() {
int numar1, numar2, suma;
// Citirea numerelor
cout << „Introdu primul numar: „;
cin >> numar1;
cout << „Introdu al doilea numar: „;
cin >> numar2;
// Calculul sumei
suma = numar1 + numar2;
// Afișarea rezultatului
cout << „Suma numerelor este: ” << suma << endl;
return 0;
}
Exemplu 2: Algoritm pentru determinarea maximului a două numere
Problema: Găsește numărul mai mare dintre două numere introduse de utilizator.
Algoritm:
- Citește două numere.
- Compară cele două numere.
- Afișează numărul mai mare.
Pseudocod:
Intrare: numar1, numar2
Dacă numar1 > numar2, atunci
Afișează numar1
Altminteri
Afișează numar2
Cod în C++:
#include <iostream>
using namespace std;
int main() {
int numar1, numar2;
// Citirea numerelor
cout << „Introdu primul numar: „;
cin >> numar1;
cout << „Introdu al doilea numar: „;
cin >> numar2;
// Determinarea maximului
if (numar1 > numar2) {
cout << „Numarul mai mare este: ” << numar1 << endl;
} else {
cout << „Numarul mai mare este: ” << numar2 << endl;
}
return 0;
}
4. Activitate interactivă pentru elevi:
- Împărțiți elevii în grupe și rugați-i să scrie un algoritm pentru a verifica dacă un număr introdus este par sau impar.
- Cereți fiecărei grupe să implementeze algoritmul lor în C++ și să prezinte rezultatul.
5. Scheme logice:
Includeți scheme logice simple care să reprezinte pașii algoritmilor de mai sus, folosind blocuri grafice:
- Oval: Start/Stop.
- Paralelogram: Intrare/Ieșire.
- Dreptunghi: Procesare (operații matematice).
- Romb: Decizie (condiții).
6. Concluzie:
- O problemă este punctul de plecare al oricărui program.
- Algoritmii sunt cheia pentru a rezolva probleme într-un mod logic și structurat.
- Programele reprezintă implementarea algoritmilor în limbaje de programare.