|

Algoritmi Elementari – Algoritmi pentru Interschimbare 8


1. Obiectivele lecției:

  • Să înțeleagă ce reprezintă interschimbarea a două valori.
  • Să învețe diferite metode de interschimbare (cu și fără variabilă auxiliară).
  • Să implementeze algoritmi pentru interschimbare în C++.
  • Să aplice algoritmi de interschimbare în contexte practice, cum ar fi sortarea.

2. Conținutul lecției:

Ce reprezintă interschimbarea?

  • Definiție: Interschimbarea este procesul prin care valorile a două variabile sunt schimbate între ele.
  • Aplicații practice: Interschimbarea este utilizată în algoritmi de sortare, aranjamente și alte aplicații care necesită reorganizarea datelor.

3. Metode de interschimbare:


Metoda 1: Cu variabilă auxiliară

  • Principiu: Se utilizează o variabilă temporară pentru a stoca una dintre valorile care urmează să fie schimbate.
  • Pseudocod:

temp = a

a = b

b = temp

  • Cod în C++:

#include <iostream>

using namespace std;

int main() {

    int a, b, temp;

    cout << „Introdu valoarea lui a: „;

    cin >> a;

    cout << „Introdu valoarea lui b: „;

    cin >> b;

    // Interschimbare

    temp = a;

    a = b;

    b = temp;

    cout << „Dupa interschimbare: a = ” << a << „, b = ” << b << endl;

    return 0;

}


Metoda 2: Fără variabilă auxiliară (folosind adunare și scădere)

  • Principiu: Valorile sunt combinate și separate folosind operații aritmetice.
  • Pseudocod:

a = a + b

b = a – b

a = a – b

  • Cod în C++:

#include <iostream>

using namespace std;

int main() {

    int a, b;

    cout << „Introdu valoarea lui a: „;

    cin >> a;

    cout << „Introdu valoarea lui b: „;

    cin >> b;

    // Interschimbare

    a = a + b;

    b = a – b;

    a = a – b;

    cout << „Dupa interschimbare: a = ” << a << „, b = ” << b << endl;

    return 0;

}


Metoda 3: Fără variabilă auxiliară (folosind XOR)

  • Principiu: Operația XOR este utilizată pentru a interschimba valorile fără a utiliza memorie suplimentară.
  • Pseudocod:

a = a XOR b

b = a XOR b

a = a XOR b

  • Cod în C++:

#include <iostream>

using namespace std;

int main() {

    int a, b;

    cout << „Introdu valoarea lui a: „;

    cin >> a;

    cout << „Introdu valoarea lui b: „;

    cin >> b;

    // Interschimbare

    a = a ^ b;

    b = a ^ b;

    a = a ^ b;

    cout << „Dupa interschimbare: a = ” << a << „, b = ” << b << endl;

    return 0;

}


4. Aplicarea interschimbării:

Exemplu: Sortarea a două valori

  • Folosind interschimbarea, se pot ordona două valori în ordine crescătoare.

Cod în C++:

#include <iostream>

using namespace std;

int main() {

    int a, b;

    cout << „Introdu doua valori: „;

    cin >> a >> b;

    if (a > b) {

        // Interschimbare pentru a ordona valorile

        int temp = a;

        a = b;

        b = temp;

    }

    cout << „Valorile in ordine crescatoare sunt: ” << a << „, ” << b << endl;

    return 0;

}


Exemplu: Interschimbarea elementelor dintr-un tablou

Problema: Interschimbați primul și ultimul element al unui tablou.

Cod în C++:

#include <iostream>

using namespace std;

int main() {

    int n;

    cout << „Introdu dimensiunea tabloului: „;

    cin >> n;

    int arr[n];

    cout << „Introdu elementele tabloului: „;

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

        cin >> arr[i];

    }

    // Interschimbarea primului și ultimului element

    int temp = arr[0];

    arr[0] = arr[n – 1];

    arr[n – 1] = temp;

    cout << „Tabloul dupa interschimbare: „;

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

        cout << arr[i] << ” „;

    }

    cout << endl;

    return 0;

}


5. Activități practice pentru elevi:

  1. Scrieți un program care interschimbă valorile a două variabile fără a folosi o variabilă auxiliară.
  2. Realizați un program care interschimbă elementele unui tablou în oglindă (primul cu ultimul, al doilea cu penultimul, etc.).
  3. Scrieți un program care ordonează trei numere în ordine crescătoare folosind interschimbarea.

6. Scheme logice:

  1. Interschimbare cu variabilă auxiliară:
    • Start -> Citește a, b -> temp = a -> a = b -> b = temp -> Stop.
  2. Interschimbare fără variabilă auxiliară (aritmetică):
    • Start -> Citește a, b -> a = a + b -> b = a – b -> a = a – b -> Stop.

7. Concluzie:

  • Interschimbarea este un algoritm fundamental cu numeroase aplicații practice.
  • Metodele diferite (cu sau fără variabilă auxiliară) permit flexibilitate în implementare.
  • Înțelegerea acestui algoritm este esențială pentru conceperea și implementarea altor algoritmi, cum ar fi sortarea.

Similar Posts

Lasă un răspuns

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