|

Algoritmi Elementari – Extragerea Cifrelor unui Număr 10


1. Obiectivele lecției:

  • Să înțeleagă conceptul de extragere a cifrelor unui număr.
  • Să învețe cum să separe și să proceseze cifrele unui număr întreg.
  • Să implementeze algoritmi pentru extragerea cifrelor într-un limbaj de programare (C++).
  • Să aplice algoritmi în probleme practice, cum ar fi verificarea palindroamelor sau calcularea sumei cifrelor.

2. Conținutul lecției:

Ce reprezintă extragerea cifrelor unui număr?

  • Definiție: Extragerea cifrelor unui număr presupune obținerea fiecărei cifre din componența numărului, pentru a le putea procesa individual.
  • Exemplu:
    • Număr: 12345.
    • Cifre: 1, 2, 3, 4, 5.

3. Metoda generală:

Principiul de bază:

  1. Obține ultima cifră a numărului folosind operația modulo:

cifra = numar % 10.

  1. Elimină ultima cifră prin împărțirea numărului la 10:

numar = numar / 10.

  1. Repetă pașii 1 și 2 până când numărul devine 0.

Pseudocod:

Intrare: numar

Cât timp numar ≠ 0:

    cifra = numar % 10

    numar = numar / 10

    Afișează cifra


4. Exemple practice:

Exemplu 1: Afișarea cifrelor unui număr în ordine inversă

Cod în C++:

#include <iostream>

using namespace std;

int main() {

    int numar;

    cout << „Introdu un numar: „;

    cin >> numar;

    cout << „Cifrele numarului sunt: „;

    while (numar != 0) {

        int cifra = numar % 10;  // Ultima cifră

        cout << cifra << ” „;

        numar = numar / 10;  // Eliminăm ultima cifră

    }

    cout << endl;

    return 0;

}


Exemplu 2: Calcularea sumei cifrelor unui număr

Cod în C++:

#include <iostream>

using namespace std;

int main() {

    int numar, suma = 0;

    cout << „Introdu un numar: „;

    cin >> numar;

    while (numar != 0) {

        int cifra = numar % 10;  // Ultima cifră

        suma += cifra;          // Adăugăm cifra la sumă

        numar = numar / 10;     // Eliminăm ultima cifră

    }

    cout << „Suma cifrelor este: ” << suma << endl;

    return 0;

}


Exemplu 3: Determinarea cifrei maxime a unui număr

Cod în C++:

#include <iostream>

using namespace std;

int main() {

    int numar, maxCifra = 0;

    cout << „Introdu un numar: „;

    cin >> numar;

    while (numar != 0) {

        int cifra = numar % 10;  // Ultima cifră

        if (cifra > maxCifra) {  // Actualizăm cifra maximă

            maxCifra = cifra;

        }

        numar = numar / 10;      // Eliminăm ultima cifră

    }

    cout << „Cifra maxima este: ” << maxCifra << endl;

    return 0;

}


Exemplu 4: Verificarea dacă un număr este palindrom

Cod în C++:

#include <iostream>

using namespace std;

int main() {

    int numar, numarOriginal, invers = 0;

    cout << „Introdu un numar: „;

    cin >> numar;

    numarOriginal = numar;  // Salvăm numărul original

    while (numar != 0) {

        int cifra = numar % 10;      // Ultima cifră

        invers = invers * 10 + cifra; // Construim inversul numărului

        numar = numar / 10;          // Eliminăm ultima cifră

    }

    if (numarOriginal == invers) {

        cout << „Numarul este palindrom.” << endl;

    } else {

        cout << „Numarul nu este palindrom.” << endl;

    }

    return 0;

}


Exemplu 5: Reordonarea cifrelor în ordine crescătoare

Cod în C++:

#include <iostream>

using namespace std;

int main() {

    int numar, cifre[10] = {0};

    cout << „Introdu un numar: „;

    cin >> numar;

    // Contorizăm frecvența fiecărei cifre (0-9)

    while (numar != 0) {

        int cifra = numar % 10;

        cifre[cifra]++;

        numar = numar / 10;

    }

    cout << „Cifrele in ordine crescatoare sunt: „;

    // Parcurgem cifrele de la 0 la 9 și afișăm fiecare cifră de câte ori apare

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

        while (cifre[i] > 0) {

            cout << i;

            cifre[i]–;

        }

    }

    cout << endl;

    return 0;

}


5. Activități practice pentru elevi:

  1. Scrieți un program care determină produsul cifrelor unui număr.
  2. Realizați un program care verifică dacă suma cifrelor unui număr este pară sau impară.
  3. Scrieți un program care afișează cifrele unui număr în ordine descrescătoare.

6. Scheme logice:

Start

Citește număr

Inițializează array cifre[10] = {0} (toate elementele cu valoarea 0)

Cât timp număr ≠ 0:

Extrage cifra: cifra = număr % 10

Incrementare contor: cifre[cifra] = cifre[cifra] + 1

Împarte numărul: număr = număr / 10

   Pentru i de la 0 la 9:

Cât timp cifre[i] > 0:

Afișează i

  Decrementează contorul: cifre[i] = cifre[i] – 1

Stop


7. Concluzie:

  • Extragerea cifrelor unui număr este o tehnică de bază utilizată în multe aplicații, de la verificarea proprietăților numerelor până la generarea și manipularea datelor.
  • Acești algoritmi sunt esențiali pentru dezvoltarea gândirii algoritmice și pentru înțelegerea procesării datelor.

Similar Posts

Lasă un răspuns

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