Algoritmi elementari pentru prelucrarea numerelor n pseudocodC 1
- Slides: 18
Algoritmi elementari pentru prelucrarea numerelor (în pseudocod/C++) 1 2 3 4 5
CUPRINS • Determinarea cifrelor unui număr întreg • Algoritmul de descompunere a unui număr întreg în cifre • Exemple de probleme în care se folosește algoritmul de descompunere a unui număr întreg în cifre • Problema 1: Algoritmul de determinare a numărului de cifre a unui număr întreg • Tema de casă
Determinarea cifrelor unui număr întreg • Care credeți că este operația prin care se poate determina ultima cifră a unui număr? • Cum vom scrie în pseudocod operația prin care se atribuie unei variabile c ultima cifra a unui număr întreg n? Operația prin care se determină ultima cifră a unui număr este: (1) c n % 10; • Care credeți că este operația prin care se poate ”șterge” sau ”elimina” ultima cifră a unui număr întreg? • Cum vom scrie în pseudocod operația prin care se ”elimină” ultima cifră unui număr întreg n? Operația prin care se ”elimină” ultima cifră a unui număr este: (2) n [n / 10];
Determinarea cifrelor unui număr întreg • Cum credeți că ar trebui să procedăm ca să determinăm toate cifrele unui număr, având în vedere că nu știm câte cifre acesta? • Ce structură vom folosi pentru a determina toate cifrele unui număr? • În ce ordine se vor obține cifrele numărului în urma prelucrării?
Algoritmul de descompunere a unui număr întreg în cifre Enunț: Se introduce de la tastatură un număr întreg în variabila n. Scrieți un algoritm în pseudocod care determină și afișează cifrele numărului introdus ( în ordine inversă). Exemplu: Dacă n= 3517 atunci algoritmul va afișa cifrele lui n astfel: 7 1 5 3
Algoritmul de descompunere a unui număr întreg în cifre • Care sunt datele, respectiv tipul lor, necesare rezolvării algoritmului și ce reprezintă fiecare? • Ce structură vom utilizat pentru a determina cifrele numărului? • Care este expresia structurii, necesară repetării operațiilor? • Care sunt operațiile din interiorul structurii repetitive care duc la rezolvarea algoritmului?
Algoritmul de descompunere a unui număr întreg în cifre(în pseudocod) Rezolvare: n, c întreg; /* sau c natural; */ Citește n; Cât – timp n>0 execută Început c n % 10; /*ultima cifră*/ Scrie c, ” ”; /*afișare cifră*/ n [n / 10]; /*ștergere cifră*/ Sfârșit Verificare: n c Se afișează 3517 7 7 351 1 1 35 5 5 3 3 3 0
Algoritmul de descompunere a unui număr întreg în cifre(în C++) Rezolvare: int main() { int n, c; cout << "n= "; cin>>n; while(n!=0){ c=n%10; //determină ultima cifră cout<<c<<" "; //afișează cifra n=n/10; //elimină ultima cifră } return 0; } Verificare: n c Se afișează 3517 7 7 351 1 1 35 5 5 3 3 3 0
Exemple de probleme în care se folosește algoritmul de descompunere a unui număr întreg în cifre Folosind algoritmul studiat puteți: • calcula suma tuturor cifrelor sau suma cifrelor pare/impare; • determina câte cifre are un număr sau câte cifre pare sau impare un număr; • căuta o anumită cifră dată; • determina cifra minimă sau maximă; • construi un nou număr folosind cifre(pare, impare, divizibile cu x) din numărul citit inițial, etc.
Problema 1: Algoritmul de determinare a numărului de cifre a unui număr întreg Enunț: Se introduce de la tastatură un număr întreg în variabila n. Scrieți un algoritm în pseudocod care determină și afișează câte cifre are numărul introdus. Exemplu: Dacă n= 3517 atunci algoritmul va afișa valoarea 4, deoarece numărul 3517 are 4 cifre.
Problema 1: Algoritmul de determinare a numărului de cifre a unui număr întreg • Care sunt datele, respectiv tipul lor, necesare rezolvării algoritmului și ce reprezintă fiecare? • Putem folosi algoritmul de descompunere a unui număr în cifre în rezolvarea problemei noastre? • Ce trebuie adăugat algoritmului de descompunere a unui număr în cifre astfel încât să numărăm cifrele? • Care sunt operațiile din interiorul structurii repetitive care duc la rezolvarea algoritmului?
Problema 1: Algoritmul de determinare a numărului de cifre a unui număr întreg(în pseudocod) Rezolvare: n, c, i întreg; /* sau n, c, i natural; */ Citește n; i 0; Cât – timp n>0 execută Început c n % 10; /*ultima cifră*/ i i + 1; /*se numără cifra*/ n [n / 10]; /*ștergere cifră*/ Sfârșit Scrie ”Numărul cifrelor este: ”, i; n 3517 351 35 3 0 Verificare: c 7 1 5 3 i( i=0) 1 2 3 4
Problema 1: Algoritmul de determinare a numărului de cifre a unui număr întreg(în C++) Rezolvare: int main() { int n, c, i=0; cout << "n= "; cin>>n; while(n!=0){ c=n%10; //aflăm cifra i++; //numărăm cifra n=n/10; //eliminam cifra } cout<<"Nr. de cifre este: "<<i<<endl; return 0; n } 3517 351 35 3 0 Verificare: c 7 1 5 3 i( i=0) 1 2 3 4
Test de verificare a cunoștințelor dobândite 1. Care dintre variantele de mai jos, ca date de intrare, determină ca valoarea finală a variabilei contor, din algoritmul de determinare a numărului de cifre a unui număr întreg, să fie 4? a) 4 b) 0000 c) 1000 d) 444 2. Se știe că valoarea finală a variabilei contor din algoritmul de determinare a numărului de cifre a unui număr întreg, este 3. Pentru câte date de intrare obținem această valoare? a) 3 b) 333 c) 900 d) Nu se poate determina numărul. 3. În algoritmul de determinare a numărului de cifre a unui număr întreg cu ce valoare trebuie inițializată valoarea contorului ? a) 0 b) – 1 c) 1 d) 2
Tema de casă 1. (Suma a cifrelor unui număr) Se citeşte de la tastatură un număr întreg în variabila n. Scrieţi un algoritm în pseudocod/program în C++ care calculează şi afişează suma cifrelor numărului n citit iniţial. Exemplu: Pentru n = 1234 se va afişa valoarea 10. 2. (Număr de cifre pare a unui număr) Se citeşte de la tastatură un număr întreg în variabila n. Scrieţi un algoritm în pseudocod/program în C++ care determină şi afişează câte cifre pare numărul n citit iniţial. Exemplu: dacă se citeşte n = 3825, algoritmul va afişa valoarea 2 (cifra 2 și 8 sunt cifrele pare din număr). 3. (Număr de cifre impare a unui număr) Se citeşte de la tastatură un număr întreg în variabila n. Scrieţi un algoritm în pseudocod/program în C++ care determină şi afişează câte cifre impare numărul n citit iniţial. Exemplu: dacă se citeşte n = 3825, algoritmul va afişa valoarea 2(cifra 3 și 5 sunt cifrele impare ale numărului).
Tema de casă 4. (Cifra maximă a unui număr) Se citeşte de la tastatură un număr întreg în variabila n. Scrieţi un algoritm în pseudocod/program în C++ care determină şi afişează cifra maximă a numărului n citit iniţial. Exemplu: dacă se citeşte n = 3825, algoritmul va afişa mesajul Cifra maximă este: 8. 5. (Cifra minimă a unui număr)Se citeşte de la tastatură un număr întreg în variabila n. Scrieţi un algoritm în pseudocod/program în C++ care determină şi afişează cifra minimă a numărului n citit iniţial. Exemplu: dacă se citeşte n = 3825, algoritmul va afişa mesajul Cifra minimă este: 2. 6. (Numărul de apariții a unei cifre într – un număr) Se citesc de la tastatură un număr întreg în variabila n și o cifră în variabila d. Scrieţi algoritm în pseudocod/program în C++ care determină şi afişează numărul de apariții a cifrei d în numărul n citit iniţial. Dacă cifra căutată nu se găsește se va afișa mesajul ”NU EXISTĂ”. Exemplu: dacă se citeşte n = 3525 și d = 5, algoritmul va afişa valoarea 2.
Tema de casă 7. (Sufixele unui număr) Se citeşte de la tastatură un număr natural nenul n. Scrieţi algoritm în pseudocod/program în C++ care determină şi afişează toate sufixele numărului natural citit iniţial. Observație: Sufixele unui număr se obţin prin eliminarea repetată a ultimei cifre. Exemplu: dacă se citeşte n = 3825, algoritmul va afişa: 3825 382 38 3 8. (Media aritmetică a cifrelor pare și impare) Se citeşte un număr natural nenul n, de maxim 8 cifre, de la tastatură. Scrieţi algoritm în pseudocod/program în C++ care calculează şi afişează media aritmetică a cifrelor pare, respectiv impare din numărul citit iniţial. Exemplu: dacă se citeşte n = 3825, algoritmul va afişa: 5(suma cifrelor pare, adică (8+2)/5=10) și 4, adică (3+5)/2=4
Tema de casă 9. (Cifra de rang k) Se citeşte un număr natural nenul n, de maxim 8 cifre, de la tastatură şi o valoarea naturală din intervalul [1, 8], în variabila k. Scrieţi un algoritm în pseudocod/program în C++ care determină şi afişează cifra de rang k din numărul n citit iniţial(rangul unei cifre se determină de la dreapta spre stânga). Exemplu: dacă se citeşte n = 3825 și k=3, algoritmul va afişa cifra 8. 10. (Căutarea unei cifre) Se citeşte un număr natural nenul n, de maxim 8 cifre, de la tastatură şi o valoarea naturală din intervalul [0, 9], în variabila c. Scrieţi algoritm în pseudocod/program în C++ care verifică dacă cifra c există cel puţin o dată în numărul citit iniţial. Dacă cifra există se va afişa mesajul „EXISTĂ”, în caz contrar se va afişa mesajul „NU EXISTĂ”.
- Dfs grafo
- Algoritmo dfs
- Algoritmi elementari
- Algoritmi elementari
- Citiți următoarele numere naturale
- Rotunjiti la sute de mii numarul natural n
- Stavrid proaspat
- Prelucrarea digitala a semnalelor
- Diagramma di carroll elementari
- Analisi degli scostamenti
- Scritture elementari
- Controllo impurezze elementari
- Esponente reale
- Grafici elementari
- Clara elisa melis
- Apparecchiatura per lo studio di particelle elementari
- Strutture elementari tecnologia
- Sostanze elementari
- Efectuați folosind proprietățile adunării