Documente Academic
Documente Profesional
Documente Cultură
Instructiune1 Instructiune1;
Instructiune2 Instructiune2;
Liniara Instructiune3 Instructiune3;
.............. ..............
Instructiune n Instructiune n ;
Repetitiva cu
numar
┌ cat timp expresie executa
necunoscut | instructiuni
de pasi si └■
test initial
Repetitiva cu
numar ┌ executa
necunoscut | instructiuni
de pasi si └■ cat timp expresie
test final
Repetitiva cu
┌ pentru
numar i←vi,vf[,pas]executa
cunoscut de | instructiuni
pasi └■
- Algoritmi elementari
1. Divizibilitate
Se citesc două numere întregi a şi b. Să se realizeze un algoritm care să verifice dacă cele
două numere sunt divizibile (a divizibil cu b sau b divizibil cu a).
De exemplu dacă se citesc numerele a = 25 şi b = 5 atunci algoritmul va afişa „DA”, iar în cazul în
care se citesc a = 25 şi b = 10 se va afişa „NU”.
Pseudocod Program C++
a, b întregi #include <iostream>
citeşte a, b
dacă (a % b = 0 sau b % a = 0) using namespace std;
atunci int main()
| scrie ”DA” {
| altfel int a, b;
| scrie ”NU” cin >> a >> b;
|▄ if(a % b == 0 || b % a == 0)
{
cout << "DA";
}
else
{
cout << "NU";
}
}
2. Paritate
Se citeşte un număr întreg a. Să se realizeze un algoritm care să verifice dacă numărul a este
par, afişandu-se un mesaj corespunzator.
De exemplu dacă se citeşte pentru a valoarea 88 atunci algoritmul va afişa „PAR”, iar în cazul în care
se citeşte a = 15 se va afişa „IMPAR”.
Pseudocod Program C++
a întreg
citeşte a #include<iostream>
dacă (a % 2 = 0) atunci using namespace std;
| scrie ”PAR” int main()
| altfel { int n;
| scrie ”IMPAR” cin>>n;
|▄ if(n%2==0)
cout<< “par";
else
cout<<"impar";
return 0;
}
Explicarea algoritmului: Se foloseste o structură alternativa, în care se verifică dacă a este divizibil
cu 2 (daca restul împărţirii lui a la 2 = 0).
3. Interschimbare
Explicarea algoritmului: Se foloseşte o variabilă auxiliară aux, care va reține valoarea variabilei
a(aux←a),varibilei a i se va putea atribui astfel valoarea variabilei b, fără să se piardă valoarea inițială a
acesteia(ea fiind reținută în aux), apoi variabilei b i se va putea atribui valoarea variabilei aux.
Explicarea algoritmului: Algoritmul citeşte pe rând n numere de la tastatură şi afişează în final cel
mai mare / mic număr dintre ele.
Se citeşte primul număr din şir în afara structurii repetitive iar max se iniţializează cu acea valoare.
Apoi, în structura repetitivă, pe masură ce cititm în x alte valori, le comparăm cu variabila max. Dacă
găsim un număr mai mare decât max, atunci înlocuim valoarea lui cu numărul x. La fel se intampla si
cu min.
Se citeşte un număr întreg a. Să se realizeze un algoritm care să afiseze cate cifre are numărul citit.
De exemplu dacă se citeşte pentru a valoarea 3207 atunci algoritmul va afişa valoarea 4.
Se citeşte un număr întreg a. Să se realizeze un algoritm care să afiseze numărul invers. Numim număr
invers (sau oglindit) numărul format cu cifrele citite de la dreapta la stanga.
De exemplu dacă se citeşte pentru a valoarea 327 atunci algoritmul va afişa numărul invers (oglindit) 723.
Explicarea algoritmului: Algoritmul descompune în cifre numărul a şi adaugă fiecare cifră la numărul invers
De exemplu dacă se citeşte pentru a valoarea 320740 atunci algoritmul va afişa numărul 2040.
9. Numărul palindrom
Se citeşte un număr întreg a. Să se realizeze un algoritm care să verifice dacă numărul citit este sau nu
palindrom. Numim palindrom un număr care este egal cu oglinditul său.
De exemplu dacă se citeşte pentru a valoarea 323 atunci algoritmul va afişa „PALINDROM”, iar dacă va citi
123 va afişa „NU”.