Sunteți pe pagina 1din 2

Recapitulare clasa a 9-a

1. AlgoritmI: definiție, caracteristici, metode de reprezentare


2. Date cu care lucrează algoritmii (constante, variabile, expresii)
3. Structuri de control: liniară, alternative, repetitive și instrucțiuni specifice
4. Operatori: matematici, relaționali, logici
5. Instrucțiuni C++: citirea și afișarea datelor de la tastatură/din fișier, if, for, while, do while
6. Algoritmi elementari:
a. Interschimbarea
b. Determinare maxim/minim pentru 5 numere, respective n numere
c. Prelucrarea divizorilor unui număr: numărare, sumă/produs
d. Stabilirea număr prim (algoritm de bază + algoritm eficient)
e. Ciurul lui Eratostene
f. Prelucrarea cifrelor unui număr: numărul de cifre, suma/produsul cifrelor, cifra minimă/maximă, eliminare
cifra k
g. Construirea oglinditului
h. Verificare palindrom
i. Descompunerea în factori primi
j. Determinare cmmdc (algoritmul lui Euclid prin scăderi repetate și prin împărțiri repetate)
k. Prelucrare șiruri de numere: sumă/produs/element minim si/sau maxim determinare secvență cu
anumită proprietate,
l. Tablouri unidimensionale - vectori: citire, afișare, determinare element minim și/sau maxim, prelucrare
elemente (sumă, produs, medie aritmetică) cu anumite proprietăți (elemente pare, elemente divizibile cu
k, elemente de pe poziții impare, etc), determinare elemente prime, palindrom, etc
m. Vectori de frecvență și caracteristici
n. Tablouri bidimensionale – matrici: citire, afișare, minim/maxim/sumă/produs pe linie/coloană
o. Matrici pătratice: prelucrare elemente de pe diagonala principală/ secundară/ din zonele determinate de
cele 2 diagonale.

Probleme
1.
Se consideră programul pseudocod alăturat: citeşte a, b
S-a notat cu x%y restul împărţirii lui x la y. (numere naturale)
1) Ce se va afişa pentru a=150, b=125? ┌dacă a<b (5p.)
atunci
2) Ştiind că a=15, câte valori din intervalul │ ta; ab; bt
închis [10, 20] pot fi introduse pentru variabila └■
b astfel algoritmul să afişeze 1? ra%b (5p.)
3) Scrieţi programul Pascal/C/C++ ┌cât timp r0 execută
corespunzător algoritmului dat. │ ab; (10p.)
br; ra%b
└■
scrie b
2.
Se consideră programul pseudocod alăturat: citeşte a,b {a,bN}
a) Ce va afişa algoritmul pentru a=3 şi b=10? ┌dacă a<b atunci
b) Scrieţi algoritmul pseudocod, echivalent cu │ aa-b; ba+b; ab-a
algoritmul dat, care să folosească un alt tip └■
de structură repetitivă. k0
┌cât timp ab execută
│ aa-b; kk+2
└■
scrie k
c) Scrieţi programul Pascal/C/C++ corespunzător algoritmului.
d) Pentru câte perechi de valori (a,b), cu a şi b aparţinând intervalului [1,10],
rezultatul afişat este egal cu 10?
3.
Se consideră programul pseudocod alăturat: citeşte a,b {a,bN}
S-a notat cu cu x%y restul împărţirii numerelor ┌dacă a%2=0
întregi x şi y. │ atunci aa+1
1) Ce va tipări algoritmul pentru a=2 şi b=11? └■
2) Scrieţi programul Pascal/C/C++ s0
corespunzător algoritmului. ┌cât timp ab execută
3) Scrieţi algoritmul pseudocod echivalent cu cel │ aa+2; ss+1
dat care foloseşte un alt tip de structură └■
repetitivă. scrie s
4) Ştiind că b primeşte la citire valoarea 79, determinaţi 2 valori distincte pe care le
poate primi a şi pentru care rezultatul afişat este 40.
4.
Se consideră programul pseudocod citeşte n {număr natural}
alăturat: p1; i1
S-a notat cu x mod y restul împărţirii ┌cât timp i<n şi p0 execută
numărului întreg x la numărul întreg y. │ ii+1; xp*i; px mod 10
1) Ce se afişează pentru n=6? └■
scrie p,i
2) Scrieţi o valoare pentru n astfel încât ambele valori afişate să fie nenule.
3) Scrieţi programul Pascal/C/C++ corespunzător algoritmul dat.
4) Scrieţi un program pseudocod echivalent cu algoritmul dat care să utilizeze un
alt tip de structură repetitivă.

5) Scrieţi programul C++ care citeşte de la tastatură un număr natural n (n<100) şi un şir cu n numere întregi din
intervalul [100,999]; programul construieşte în mod eficient din punctul de vedere al spaţiului de memorie folosit,
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.
De exemplu, pentru n=3 şi şirul 123 904 500, se afişează: 321 409 5.
6) Scrieţi un program C++ care citeşte de la tastatură două numere naturale nenule n şi m (n<100, m<100),
determină şi afişează pe ecran toate perechile a,b de numere naturale nenule distincte, cel mult egale cu n, care
au cel mai mic multiplu comun egal cu m. Perechile se vor afişa pe câte o linie, iar numerele corespunzătoare
fiecărei perechi vor fi separate printr-un spaţiu, ca în exemplu.
De exemplu, pentru n=6 şi m=6 se afişează perechile:
16
23
26
36
7) Scrieţi un program C++ care citeşte de pe prima linie a fişierului text test_initial.txt trei numere naturale nenule
a,b,c formate din cel mult patru cifre fiecare, separate prin câte un spaţiu şi afişează pe ecran cel mai mare
divizor comun al acestora.
De exemplu, dacă din fişier se citesc numerele: 9 27 15, atunci se afişează 3.
8) Se citesc de la tastatură trei numere naturale de cel mult 4 cifre fiecare n,a şi b şi se cere să se afişeze pe ecran
câte numere naturale mai mici sau egale cu n sunt multipli ai lui a, dar nu sunt multipli ai lui b.
De exemplu, dacă n=100, a=12, b=8, rezultatul afişat va fi 4 (numerele mai mici sau egale cu 100 care sunt
multipli ai lui 12 dar nu şi ai lui 8 sunt 12,36,60,84)
9) Scrieţi un program C++ care citeşte de la tastatură un număr natural n (0<n<1000). Să se afişeze pe ecran toate
numerele naturale perfecte mai mici decât n separate printr-un spaţiu. Un număr natural se numeşte număr
perfect dacă este egal cu suma divizorilor săi, divizori din care se exclude divizorul egal cu numărul însuşi
(6=1+2+3).
Ex. : pentru n=50 se va afişa 6 28

S-ar putea să vă placă și