Documente Academic
Documente Profesional
Documente Cultură
2018
Laborator săptămâna 5.11.2018 - 9.11.2018
OBIECTIVE:
- utilizarea instrucţiunilor if, switch
- utilizarea instrucţiunilor repetitive while, do while, for
I. EXERCITII
b) i=1;
while (i <= 128) {
printf("%d ", i);
i*=2;
}
1
d) sum = 0;
for (i = 0; i<10; i++) {
if (i % 2}
continue;
sum += i;
}
printf("%d\n", sum);
II. PROBLEME
1. Să se determine şi să se afişeze dacă un caracter citit de la tastatură este literă mare, litera
mică sau cifră.
3. Scrieţi un program care citeşte trei numere întregi nenule a, b, c şi verifică dacă acestea
au acelaşi semn.
5. Se citeşte un număr natural n. Să se determine câte cifre pare şi câte cifre impare are n.
6. Se citeşte un număr natural n. Să se scrie un algoritm care afişează mesajul „da” dacă cea
mai semnificativă cifră este strict mai mare decât cifra unităţilor sau mesajul „nu” în caz
contrar. De exemplu, pentru n=5832 se va afişa „da” pentru că 5>2, iar pentru n=4539 se
va afişa „nu”.
8. Se dă un număr natural n. Să se afişeze cea mai mare cifră a lui n şi numărul de apariţii în
n.
9. Se consideră funcţia:
x2 − 9
, pentru x < 1
x − 1
f ( x) = x , pentru 1 ≤ x ≤ 5
1
, pentru x > 5
x − 5
Să se afişeze:
• valorile funcţiei f(x) pentru x∈[a,b], cu pasul p;
• numărul punctelor in care x şi f(x) sunt de acelaşi semn şi media aritmetică a
valorilor calculate.
• a, b şi p se citesc de la tastatură, cu validare, astfel incât a<=b.
2
10. Folosind instrucţiunile for, while, do while să se calculeze sumele:
n
i
• ∑
i =1 (i + 1)
2
n
1
• ∑ (−1) i+1 i 2
i =1
1 1 1
• 1+ + + ... + , pentru n>=2.
2! 3! n!
11. Se citesc de la tastatură valori întregi, până la introducerea lui EOF. Să se calculeze şi să
se afişeze:
• numărul valorilor citite
• media aritmetică a valorilor
• numărul de valori pozitive
• valoarea minimă
14. Să se afişeze numerele prime dintre două valori min şi max, citite cu validare, astfel încât
min<=max. Să se afişeze toate numerele divizibile cu un număr pozitiv dat (citit) aflate
intre două valori min şi max.
1 1 1
• 1 + + + ... + + ...
2! 3! n!
1
Indicaţie: Se calculează termenii x k = până când este îndeplinită condiţia:
(2k + 1) 2
x k +1 − x k < epsilon .
3
17. Să se afişeze numerele prime dintre două valori min şi max, citite cu validare, astfel încât
min<=max. Analog pentru afisarea tuturor numerelor divizibile cu un număr pozitiv dat.
18. Se citeşte de la tastaură un şir de maxim 9 caractere. Să se afişeze numărul format din
cifrele ce se găsesc în şirul dat.
19. Să se afişeze codurile ASCII ale literelor mari şi mici ale alfabetului.
23. Scrieţi un program care citeşte un număr natural n şi determină şi afişează oglinditul lui
n, adică numărul obţinut din scrierea inversă a cifrelor lui n.
24. Scrieţi un program care citeşte un număr natural n şi afişează mesajul „DA” dacă cifrele
lui n sunt în ordine strict crescătoare (de la stânga la dreapta) sau mesajul „NU” în caz
contrar. De exemplu, pentru n = 2467 se va afişa „DA”, iar pentru n = 2396 se va afişa
„NU”.
25. Scrieţi un program care pentru un număr natural dat n şi o cifră k, verifică dacă cifra k
apare sau nu printre cifrele lui n. Algoritmul va afişa mesajele „DA” sau „NU”. De
exemplu, pentru n = 6543254 şi k = 3, se va afişa „DA”.
27. Să se scrie un program care citeşte două numere naturale n1 şi n2 şi care afişează mesajul
„da” dacă suma pătratelor cifrelor lui n1 este egală cu suma cifrelor lui n2 sau „nu” în
caz contrar.Să se scrie un program care citeşte un număr natural n şi afişează mesajul
„da” dacă toate cifrele lui n sunt distincte, sau „nu” dacă n nu are toate cifrele distincte.
28. Să se scrie un program care citeşte un număr natural n şi elimină o singură cifră din n
astfel încât numărul rămas să fie maxim.
29. Scrieţi un program care citeşte două numere naturale nenule a şi b şi determină şi
afişează numitorul şi numărătorul fracţiei ireductibile egale cu a/b.
30. Scrieţi un program care determină perimetrul şi aria unui triunghi. Există 4 situaţii
posibile. Un triunghi poate fi: isoscel, echilateral, dreptunghic, oarecare. In funcţie de
cifra introdusă de la tastatură (1, 2, 3 sau 4) se cere să se citească pentru fiecare tip de
triunghi datele necesare, astfel încât să se poată calcula perimetrul şi aria triunghiului.
4
31. Scrieţi un program care citeşte de la tastatura un număr natural n (n<1000) și un șir cu n
numere întregi din intervalul [100, 999]. Programul construieşte un șir de numere rezultat
prin înlocuirea fiecărui număr din şirul citit cu numărul obţinut prin interschimbarea
cifrei unităților cu cifra sutelor. Numerele din noul șir se vor afişa pe ecran separate
printr-un singur spaţiu.
Exemplu : pentru n=3 si şirul 123 , 904 , 500 se afişează 321 , 409 , 5.
32. Scrieţi un program care afişează toate numerele naturale, mai mari decât 10 și mai mici
decât o valoare dată n, n<=2.000.000 , formate doar din cifre identice.
Exemplu: pentru n=195 se afişează : 11 , 22 , 33 , 44 , 55 , 66 , 77 , 88 , 99 , 111.
33. Să se scrie un program care calculează aranjamente de "n" luate câte "k".
34. Să se scrie un program care afișează toate numerele prime gemene mai mici decât un
număr natural n dat. Spunem că două numere a și b sunt prime gemene dacă indeplinesc
următoarele condiții:
1. sunt prime
2. |a-b|=2
35. Se consideră un punct P0 şi n puncte din plan. Să se scrie un program care determină cel
mai apropriat punct de P0 din cele n date şi distanţa corespunzătoare.