Documente Academic
Documente Profesional
Documente Cultură
Soluții
1. Interschimbul valorilor a două variabile a şi b.
start
citește a;
citește b;
aux = a;
a = b;
b = aux;
scrie a;
scrie b;
stop.
start
citește a;
citește b;
citește c;
dacă (a != 0) atunci
scrie "Ecuatia nu este de gradul II";
altfel
delta = b * b - 4 * a * c;
dacă (delta < 0 ) atunci
scrie "Ecuația nu are rădăcini reale."
altfel
dacă (delta == 0) atunci
scrie "x1 = x2 = ", - b / (2 * a);
altfel
scrie "x1 = ", (- b - sqrt(delta)) / (2 * a);
scrie "x2 = ", (- b + sqrt(delta)) / (2 * a);
stop.
start
citește a;
citește b;
citește c;
dacă (a < b și b < c) atunci
scrie a, " ", b, " ", c;
dacă (a < c și c < b) atunci
scrie a, " ", c, " ", b;
dacă (b < a și a < c) atunci
scrie b, " ", a, " ", c;
dacă (b < c și c < a) atunci
scrie b, " ", c, " ", a;
dacă (c < a și a < b) atunci
scrie c, " ", a, " ", b;
dacă (c < b și b < a) atunci
scrie c, " ", b, " ", a;
stop.
start
citește n;
p = 1;
s = 0;
pentru i de la 1 la n cu pasul 1
p = p * i;
s = s + p;
scrie s;
stop.
start
citește n;
s = 0;
cât timp (n != 0)
s = s + n % 10;
n = n / 10;
scrie s;
stop.
start
citește n;
inv = 0;
cât timp (n != 0)
inv = inv * 10 + n % 10;
n = n / 10;
scrie inv;
stop.
7. Să se afişeze dacă un număr natural dat n este prim.
start
citește n;
prim = 1;
pentru d de la 2 la (int)(n / 2) cu pasul 1
dacă (n % d == 0) atunci
prim = 0;
dacă (prim == 1) atunci
scrie "Numărul ", n, " este prim.";
altfel
scrie "Numărul ", n, " nu este prim.";
stop.
start
citește n;
i = 0;
nr = 2;
cât timp (i < n)
dacă ( Prim(nr) == 1) atunci
scrie nr;
i = i + 1;
nr = nr + 1;
stop.
start
citește n;
d = 2;
cât timp (n != 1)
f = 0;
cât timp (n % d == 0)
f = f + 1;
n = n / d;
dacă (f != 0) atunci
scrie d, " la puterea ", f;
d = d + 1;
stop.
11. Să se afişeze toate numerele naturale mai mici decât 1000 care se pot scrie în două
moduri diferite ca sumă de pătrate.
start
pentru i de la 1 la 1000 cu pasul 1
nr = 0;
pentru k de la 1 la i - 1 cu pasul 1
dacă (sqrt(k) == (int)sqrt(k) și sqrt(i-k) == (int)sqrt(i-k)) atunci
nr ++;
dacă (nr == 4) atunci
scrie i;
stop.
12. Se dă o secvenţă de n numere întregi pozitive. Să se afişeze cele mai mari numere
de 2 cifre care nu se află în secvenţa respectivă.
start
citește n;
pentru i de la 10 la 99 cu pasul 1
v[i] = 0;
pentru i de la 1 la n cu pasul 1
citește nr;
dacă (nr > 9 și nr < 100)
v[nr] = 1;
i = 99;
cât timp (v[i] != 0 și i > 0)
i = i - 1;
dacă (i > 9) atunci
scrie i, " ";
i = i - 1;
cât timp (v[i] != 0 și i > 0)
i = i - 1;
dacă (i > 9) atunci
scrie i, " ";
stop.
13. Se dă o secvenţă de n numere întregi, ale căror valori sunt cuprinse în intervalul
[0,100]. Să se afişeze valorile care apar cel mai des. (se vor foloși vectori)
start
citește n;
pentru i de la 0 la 100 cu pasul 1
v[i] = 0;
pentru i de la 1 la n cu pasul 1
citește nr;
v[nr] = v[nr] + 1;
pentru i de la 0 la 100 cu pasul 1
dacă (v[i] > max) atunci
max = v[i];
pentru i de la 0 la 100 cu pasul 1
dacă (v[i] == max) atunci
scrie i;
stop.