|

S24 – Sortarea (ordonarea) șirurilor

Fișă de lucru – Clasa a VIII-a – Informatică și TIC
Unitatea de învățare: Algoritmi și programare
Lecția: Sortarea (ordonarea) șirurilor
Durata: 1 oră


Obiectivele lecției:

  1. Înțelegerea conceptului de sortare a elementelor dintr-un șir.
  2. Familiarizarea cu algoritmi de sortare precum Bubble Sort și utilizarea funcțiilor din biblioteci pentru sortare.
  3. Implementarea și exersarea sortării crescătoare și descrescătoare.

Activități propuse:

1. Recapitulare teoretică (10 minute)

  1. Ce este sortarea șirurilor?
    • Sortarea presupune aranjarea elementelor unui șir într-o anumită ordine: crescătoare sau descrescătoare.
  2. Algoritmi de sortare:
    • Bubble Sort (Sortarea prin interschimbare): Compara și interschimbă elementele adiacente până când șirul devine ordonat.
  3. Cod Bubble Sort în C++:

for (int i = 0; i < n – 1; i++) {

    for (int j = 0; j < n – i – 1; j++) {

        if (vector[j] > vector[j + 1]) { // Comparație pentru ordine crescătoare

            int temp = vector[j];

            vector[j] = vector[j + 1];

            vector[j + 1] = temp;

        }

    }

}

Funcții din biblioteci:

  • În C++, sortarea se poate face rapid folosind funcția std::sort din biblioteca <algorithm>:

#include <algorithm>

std::sort(vector, vector + n);

2. Exerciții practice (40 minute)

  1. Exercițiul 1 – Sortare crescătoare (Bubble Sort)
    Scrieți un program care:
    • Citește un șir de n numere.
    • Sortează șirul în ordine crescătoare folosind algoritmul Bubble Sort.
  2. Exercițiul 2 – Sortare descrescătoare
    Scrieți un program care:
    • Sortează un șir în ordine descrescătoare.
    • Puteți modifica algoritmul Bubble Sort pentru această sarcină.
  3. Exercițiul 3 – Utilizarea funcției std::sort
    Scrieți un program care:
    • Utilizează funcția std::sort pentru a ordona un șir în ordine crescătoare.
  4. Exercițiul 4 – Găsirea celui mai mare și celui mai mic element (fără sortare)(opțional)
    Scrieți un program care:
    • Găsește cel mai mic și cel mai mare element dintr-un șir fără a aplica sortare.

3. Întrebări de reflecție (10 minute)

  1. Care sunt avantajele utilizării funcției std::sort comparativ cu implementarea manuală a algoritmului Bubble Sort?
  2. În ce situații este utilă sortarea descrescătoare?

Criterii de evaluare:

  1. Corectitudinea implementării algoritmilor de sortare: 50%
  2. Optimizarea și claritatea codului: 30%
  3. Respectarea cerințelor fiecărui exercițiu: 20%

Resurse necesare:

  • Calculator/laptop cu un mediu de programare instalat (ex.: Code::Blocks, Dev-C++, Visual Studio).

Similar Posts

Lasă un răspuns

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *