You are on page 1of 40

1.3.

Probleme ( programe pseudocod, Pascal | C / C++)

1. Se
consider
programul
pseudocod
alturat:
S-a notat cu x%y restul mpririi lui x la y.
1)
Ce se va afia pentru a=150, b=125?
2)
tiind c a=15, cte valori din intervalul
nchis [10, 20] pot fi introduse pentru
variabila b astfel algoritmul s afieze 1?
3)

Scriei
programul
Pascal/C/C++
corespunztor algoritmului dat.

2. Se consider programul pseudocod


alturat:
1)
Ce va afia algoritmul pentru a=3 i
b=10?
2)
Scriei algoritmul pseudocod, echivalent
cu algoritmul dat, care s foloseasc un
alt tip de structur repetitiv.
3)
4)

citete a, b
(numere naturale)
dac a<b atunci

ta; ab; bt

ra%b
ct timp r0 execut

ab; br; ra%b

scrie b

citete a,b {a,bN}


dac a<b atunci
aa-b; ba+b; ab-a

k0
ct timp ab execut
aa-b; kk+2

scrie k

Scriei programul Pascal/C/C++ corespunztor algoritmului.


Pentru cte perechi de valori (a,b), cu a i b aparinnd intervalului
[1,10], rezultatul afiat este egal cu 10?

3. Se consider programul pseudocod citete a,b {a,bN}


dac a%2=0
alturat:
atunci aa+1
S-a notat cu cu x%y restul mpririi numerelor

ntregi x i y.
s0
1) Ce va tipri algoritmul pentru a=2 i b=11?
ct timp ab execut
2) Scriei
programul
Pascal/C/C++ aa+2; ss+1
corespunztor algoritmului.

3) Scriei algoritmul pseudocod echivalent cu cel scrie s


dat care folosete un alt tip de structur
repetitiv.
4) tiind c b primete la citire valoarea 79, determinai 2 valori distincte pe care
le poate primi a i pentru care rezultatul afiat este 40.
4. Se
consider
programul
pseudocod alturat:
S-a notat cu x mod y restul mpririi
numrului ntreg x la numrul ntreg y.

citete n {numr natural}


p1; i1
ct timp i<n i p0 execut
ii+1; xp*i; px mod 10

35


scrie p,i

1)

Ce se afieaz pentru n=6?

2)
3)
4)

Scriei o valoare pentru n astfel nct ambele valori afiate s fie nenule.
Scriei programul Pascal/C/C++ corespunztor algoritmul dat.
Scriei un program pseudocod echivalent cu algoritmul dat care s utilizeze
un alt tip de structur repetitiv.

5. Se consider programul pseudocod


citete a,b {numere naturale}
alturat:
S-a notat cu x mod y restul mpririi x 1
ct timp (a>0)i(b>0) execut
numrului ntreg x la numrul ntreg y i dac (a mod 10)<(b mod 10)
cu [z] partea ntreag a numrului z.
atunci x0
1)
Ce se afieaz dac se citesc
valorile (n aceast ordine) 2576 i a[a/10]; b[b/10]

31465?
2)
Scriei dou perechi de valori pentru dac (x=1) i (b=0)
a i b, astfel nct s se afieze atunci scrie DA
altfel scrie NU
mesajul DA.

3)
Scriei programul Pascal/C/C++
corespunztor algoritmul dat.
4)
Scriei un algoritm pseudocod echivalent cu cel dat, care s utilizeze un alt
tip de structur repetitiv.
6. Se consider programul pseudocod
alturat:
S-a notat cu x mod y restul mpririi
numrului ntreg x la numrul ntreg y i cu
[z] partea ntreag a numrului z.
1)
Ce se afiseaz pentru n=35724?
2)
Scriei o valoare pentru n astfel ncat s
se afieze mesajul DA.
3)
4)

citete n{numr natural}


bn mod 10
ct timp n>=10 execut
n [n/10]

dac b mod 2 = n mod 2

atunci scrie DA

altfel scrie NU

Scriei programul Pascal/C/C++ conform algoritmului.


Scriei un program pseudocod echivalent cu algoritmul dat care s utilizeze
un alt tip de structur repetitiv.

7. Se
consider
programul
pseudocod
alturat.S-a notat cu x%y restul mpririi
numerelor ntregi x i y.
1)
Care
sunt
valorile
afiate
pentru
urmtoarele
date
de
intrare:
100,1,2,10,5,0 ?
2)
Scriei o secven de valori pentru x astfel
nct rezultatul afiat n urma executrii
algoritmului s fie 0 10.
3)

citete x {x natural}
nr0
s0
ct timp x0 execut

nrnr+1
dac nr%2=0 atunci
ss+x%10

citete x

scrie s,nr

Scriei programul Pascal/C/C++ corespunztor algoritmului dat.


36

4)

Scriei programul pseudocod care s fie echivalent cu algoritmul dat i care


s conin o structur repetitiv cu test final.

8. Se consider programul pseudocod


alturat:
S-a notat cu x%y restul mpririi numrului
ntreg x la numrul ntreg y i cu [z]
partea ntreag a numrului real z.

citete n {numr natural nenul}


i1
ct timp n>0 execut
dac n%2>0 atunci scrie i

ii+1; n[n/2]

1)

Ce se va afia pentru n=333?

2)

Scriei care este cea mai mic valoare strict pozitiv pentru variabila n astfel
nct s se afieze succesiunea de valori 12345?

3)

Scriei programul pseudocod care s fie echivalent cu algoritmul dat, dar n


care s se nlocuiasc structura ct timp ... execut cu o structura
repetitiv cu test final.

4)

Scriei programul Pascal/C/C++ corespunztor algoritmului dat.

9. Se
consider
programul
pseudocod
alturat.S-a notat cu x%y restul mpririi
numerelor ntregi x i y i cu [z] partea
ntreag a numrului real z.

citete x ,m
{x ntreg, m natural}
y1
ct timp m>0 exec
dac m%2 =0
atunci

m[m/2]; xx*x
altfel

mm-1;yy*x

scrie y

1)

Care este valoarea afiat pentru


m=9?

2)

Scriei o pereche de valori pentru x i m astfel


nct rezultatul afiat s fie 1.

3)

Scriei
programul
Pascal/C/C++
corespunztor algoritmului dat.

4)

Scriei programul pseudocod care s fie echivalent cu algoritmul dat i care


s conin o structur repetitiv cu test final.

x=-2

10.
Se consider programul pseudocod
alturat n care s-a notat cu x|y relaia x
divide pe y sau y este divizibil cu x.

citete n,k
(numere naturale nenule)
s0
pentru i=1,n execut
dac k|i atunci ss+i

scrie s

1)

Ce se va afia pentru n=40,k=7?

2)

Determinai cte o valoare de dou cifre


pentru variabilele n i k astfel nct
rezultatul afiat s fie un numr impar.

3)

Scriei programul Pascal/C/C++ corespunztor algoritmului dat.


37

4)

Construii un algoritm echivalent fr a utiliza structuri repetitive, scriind


programul Pascal/C/C++ corespunztor.
Se consider programul pseudocod
alturat n care s-a folosit notaia [x]
pentru partea ntreag a lui x.

11.

citete n (numr natural nenul)


t1; cn%10; n[n/10]
ct timp t=1 i n>0 execut
dac n%10>c atunci
t0

1)
2)

Ce se va afia pentru n=4357?


Scriei o valoare de patru cifre pentru
variabila n astfel nct rezultatul afiat s
fie 1.

3)

Cte numere naturale nenule de cel mult dou cifre pot fi introduse pentru
variabila n, s se afieze 1 pentru fiecare caz n parte.
Scriei programul Pascal/C/C++ corespunztor algoritmului dat.

4)

Se consider programul pseudocod


alturat n care s-a folosit notaia [x]
pentru partea ntreag a lui x.

12.

1)
2)

cn%10; n[n/10]

scrie t

citete n
(numr natural nenul)
p1; s0
ct timp p<=n execut
ss+[n/p]; pp*2

scrie s

3)
4)

Ce se va afia pentru n=35?


Scriei o valoare pentru variabila n astfel
nct rezultatul afiat s fie 16.
Scriei programul C sau C++ corespunztor algoritmului dat.
Scriei un numr natural nenul care nu poate fi afiat de program oricare ar fi
valoarea natural nenul care se citete pentru variabila n.
Se consider
alturat:

13.

programul

pseudocod

citete n,m
{numere naturale, mn}
s0
ct timp nm execut
ss+n
nn-1

scrie s

1)

Ce se va afia pentru n=10 i m=4?

2)

Scriei o pereche de numere naturale de cte o


cifr ce pot fi citite pentru variabilele n i m
astfel nct rezultatul afiat n urma executrii
algoritmului s fie 15?

3)

Scriei programul pseudocod care s fie echivalent cu algoritmul dat i care s


conin o structur repetitiv cu test final.

4)

Scriei programul Pascal/C/C++ corespunztor algoritmului dat.


(8p.)

38

Se consider
alturat:

14.

programul

pseudocod

S-a notat cu x%y restul mpririi numrului ntreg x


la numrul ntreg y i cu [z] partea ntreag a
numrului z.
Ce se va afia pentru n=2589?
Scriei o valoare pentru variabila n astfel nct
s se afieze valoarea 0.
Scriei programul Pascal/C/C++ corespunztor
algoritmului dat.
Scriei programul pseudocod care s fie
echivalent cu algoritmul dat, dar n care s se
nlocuiasc structura ct timpexecut cu un
alt tip de structura repetitiv.

1)
2)
3)
4)

Se consider programul pseudocod


alturat:
S-a notat cu x|y relaia x divide pe y sau y
este divizibil cu x i cu [x] partea ntreag a
numrului real x.
1)
Ce se va afia pentru n=112?
2)
Scriei o valoare pentru variabila n astfel
nct s se afieze o valoare egal cu n.
3)
Scriei
programul
Pascal/C/C++
corespunztor algoritmului dat.
15.

Se
consider
programul
pseudocod alturat:
S-a notat cu x%y restul mpririi lui x la y
i cu [x] partea ntreag a numrului real
x
1)
Ce se va afia pentru n=3533 i
c=3?
16.

citete n
{numr natural}
ok1
dac n%10>[n/10]%10
atunci x1
altfel x0

n[n/10]
ct timp n>9 execut
dac n%10>[n/10]%10

atunci y1

altfel y0

dac x y

atunci ok0

n[n/10]

scrie ok

citete n
i2; p1
ct timp n>1 execut
k0
ct timp i|n execut

ki; n[n/i]

dac k0 atunci
pp*k

ii+1

scrie p

citete n,c
(numere naturale,0c9 )
k0
ct timp n%10=c execut
n[n/10]; kk+1

scrie k

2)

Scriei o valoare pentru n i una pentru c astfel nct s se afieze valoarea


0.

3)

Scriei programul Pascal/C/C++ corespunztor algoritmului dat.

4)

Scriei un algoritm echivalent cu algoritmul dat, dar care s utilizeze alt tip de
structur repetitiv.
39

Se consider programul pseudocod


alturat:
S-a notat cu x%y restul mpririi lui x la y
17.

citete a
(numr ntreg)
k0
ct timp a0 execut
citete b
dac a%2=b%2 atunci
kk+1

ab

scrie k

1)

Ce se va afia dac de la tastatur se


introduce irul de valori 2 4 6 5 7 3 9 8
0?

2)

Dai un exemplu de ir de date de intrare


cu cel puin 3 elemente care s
determine afiarea valorii 0.

3)

Scriei programul Pascal/C/C++ corespunztor algoritmului dat.

4)

Scriei un algoritm echivalent cu algoritmul dat, dar care utilizezeaz un alt


tip de structur repetitiv.

Se
consider
programul
pseudocod alturat:
S-a notat cu [x] partea ntreag a numrului
real x.
18.

citete a
(a numr natural, a>1)
b1/a; c0
ct timp b<1 execut

bb*10; cc+1

b[b]
scrie c,b

1)

Ce se va afia pentru a=12?

2)

Scriei o valoare pentru a astfel nct


s se afieze valorile 3 i 1.

3)

Scriei programul Pascal/C/C++ corespunztor algoritmului dat.

4)

Scriei un algoritm echivalent cu algoritmul dat, dar care s utilizeze alt tip de
structur repetitiv.

Se consider programul pseudocod


alturat:
S-a notat cu x%y restul mpririi lui x la y i cu
[x] partea ntreag a numrului real x.
19.

citete n (numr natural cu


cel mult 9 cifre)
ct timp n10
s0
ct timp n0 execut
ss+n%10
n[n/10]

ns

scrie n

1)

Ce se va afia dac valoarea citit pentru n


este 989736 ?

2)

Stabilii dou numere diferite, de 5 cifre


fiecare care, (atribuite iniial lui n), au ca
efect afiarea valorii 1.

3)

Scriei programul Pascal/C/C++ corespunztor algoritmului dat.

4)

Scriei un algoritm echivalent cu algoritmul dat, dar care s utilizeze alt tip de
structur repetitiv.

40

Se consider programul pseudocod


alturat:

20.

S-a notat cu x%y restul mpririi numrului


natural x la numrul natural y, iar cu [x] partea
ntreag a numrului real x.

citete n
(numr natural, nenul)
p 1
ct timp p<n execut
n ([n/p]+1)*p+n%p
p p*10

scrie n

1)

Ce afieaz algoritmul dac se citete


valoarea 15793?

2)

Care este valoarea care trebuie citit pentru ca n urma executrii algoritmului
dat s se afieze 210?

3)

Scriei programul Pascal/C/C++ corespunztor algoritmului dat.

4)

Scriei un program pseudocod echivalent cu algoritmul dat n care structura


ct timp...execut s fie nlocuit cu o structur repetitiv cu test final.
Se consider programul pseudocod
alturat:

21.

citete a,b,c (nr. reale,


a<>0)
ct timp c<>0 execut
db*b-4*a*c
dac d>0 atunci
scrie a,b,c

ab
bc
citete c

1)

Ce se va afia dac a=1, b=2, c=1 i


sunt citite valorile 2,-1,3,-2,5,0?

2)

Dai un exemplu de trei valori reale pentru


variabilele a, b i c astfel nct structura
ct timp s efectueze o singur iteraie i
s afieze trei valori pozitive.

3)

Scriei un program pseudocod echivalent cu algoritmul dat care s conin o


structur repetitiv cu test final.

4)

Scriei programul Pascal/C/C++ corespunztor algoritmului dat.


Se
consider
pseudocod alturat:

22.

programul

citete n,m
(nr. naturale nenule)
ct timp n<>m execut
dac n>m atunci n n-m

altfel m m-n

scrie n

1)

Ce rezultat se afieaz pe ecran


pentru n=12 i m=3 ?

2)

Se citete pentru n valoarea 72.


S se determine cea mai mic
valoare de 3 cifre citit pentru m
astfel nct s se afieze valoarea
36.

3)

Scriei un program pseudocod echivalent cu algoritmul dat care s conin o


structur repetitiv cu test final.

41

4)

Scriei programul Pascal/C/C++ corespunztor algoritmului dat.


Se consider programul pseudocod
alturat,
unde
subprogramul
suma(n)
returneaz suma cifrelor numrului natural n
transmis ca parametru.

23.

1) Care este valoarea afiat pentru n=1999?


2) Dai exemplu de o valoare pentru n astfel nct
valoarea afiat s fie 1.

citete n (n N)
nr0
ct timp n>9 execut

nsuma(n)

nrnr+1

scrie nr

3) Care este cea mai mare valoare de patru cifre ce trebuie citit pentru variabila
n astfel nct s se afieze 3?
4) Scriei programul Pascal/C/C++ corespunztor algoritmului dat.
Se consider programul pseudocod
alturat n care s-a notat cu x%y restul
mpririi numrului natural x la numrul
natural y i cu [z] partea ntreag a
numrului real z.

24.

citete n
{n numr natural}
z 0
ct timp n>0 execut
c n%10; n[n/10]

dac c%2=0

atunci zz*10+c

scrie z

1)

Care este
n=52381?

2)

Scriei o valoare pentru variabila n astfel


nct s se afieze valoarea 0.

3)

Scriei un program pseudocod echivalent cu algoritmul dat care s conin o


structur repetitiv cu test final.

4)

Scriei programul Pascal/C/C++ corespunztor algoritmului dat.

valoare

afiat

pentru

Se
consider
programul
pseudocod alturat n care s-a notat cu
x%y restul mpririi ntregi a lui x la y i
cu [x]partea ntreag a numrului real
x.

25.

citete n (nr. natural,n>1)


d2 (d numr natural)
cat timp n%d0 execut
dd+1

cat timp n%d=0 execut


n[n/d]

dac n=1 atunci scrie d

altfel scrie n

1)

Ce se va afia pentru n = 45?

2)

Scriei o valoare cu dou cifre care


poate fi introdus pentru variabila n
astfel nct s se afieze valoarea 2.

3)

Cte valori distincte poate primi variabila n astfel nct s se afieze valoarea 4?
42

4)

Scriei programul Pascal/C/C++ corespunztor algoritmului dat.

26.
Se consider programul pseudocod
alturat:

1)
2)

3)
4)

citete a (numr natural)


b0
ct timp a>0 execut
dac a%2>0 atunci
bb*10+a%10

a[a/10]

scrie b

S-a notat cu x%y restul mpririi numerelor


ntregi x i y i cu [x] partea ntreag a
numrului real x.
Care este valoarea afiat pentru
a=1789?
Determinai cea mai mare valoare
ntreag, formata din patru cifre pentru
variabila a astfel nct rezultatul afiat
s fie 15.
Cte valori distincte, numere naturale, cuprinse intre 0 i 50, inclusiv, poate s
primeasc variabila a pentru ca algoritmul sa afieze valoarea 0?
Scriei programul Pascal/C/C++ corespunztor algoritmului dat.
Se consider programul pseudocod
alturat:
1) Care este valoarea afiat pentru n=20?
2) Determinai cea mai mic valoare
natural a variabilei
n astfel nct
rezultatul afiat s fie 34.
27.

3)
4)

citete n (numr natural)


i0; j1
ct timp jn execut
ki; ij; ji+k

scrie j

Pentru cte valori naturale distincte ale variabilei n, algoritmul afieaz 13.
Scriei programul Pascal corespunztor algoritmului dat.

28.
Se consider programul pseudocod
alturat:
S-a notat cu x%y restul mpririi numerelor
ntregi x i y i cu [x] partea ntreag a
numrului real x.
valoarea

afiat

pentru

citete n (nr. natural)


s1 0; s2 0
nr 0
ct timp n<>0 execut
dac n % 2 = 0 atunci

s1 s1 + n % 10
altfel s2s2+n % 10

n [n/10]

dac s1 = s2 atunci
nr 1

scrie nr

1)

Care este
n=50324?

2)

Pentru n = 31a2b , unde a este cifra


sutelor iar b este cifra unitilor, cte
perechi ordonate (a,b) de cifre exist
pentru ca valoarea afiat s fie 1.

3)

Scriei
programul
Pascal/C/C++
corespunztor algoritmului dat.

4)

S se scrie un program pseudocod echivalent cu cel dat folosindu-se un alt


tip de structur repetitiv.
43

Se consider programul pseudocod


alturat:

29.

citete n {nr. natural}


max 0
ct timp n0 execut
n [n/10]
dac max<n%10 atunci
max n%10

scrie max

S-a notat cu x%y restul mpririi numerelor


ntregi x i y i cu [x] partea ntreag a
numrului real x.
1)
Ce se afieaz dac se citete 17358?
2)
Scriei cte numere naturale de trei cifre pot
fi introduse pentru variabila n astfel nct
rezultatul afiat s fie 2?
3)
Scriei programul pseudocod care s fie echivalent cu algoritmul dat i care s
conin o structur repetitiv cu test final.
4)
Scriei programul Pascal/C/C++ corespunztor algoritmului dat.
Se consider programul pseudocod
alturat n care s-a folosit notaia x%y
pentru restul mpririi ntregi a lui x la y i
cu [a] partea ntreag a numrului real a.

30.

1)

Ce se va afia pentru n=12345?

2)

Scriei o valoare cu dou cifre care


poate fi introdus pentru variabila n
astfel nct s se afieze valoarea 1.

3)

Scriei
programul
Pascal/C/C++
corespunztor algoritmului dat.

4)

Cte valori distincte cu dou cifre pot fi


introduse pentru variabila n astfel nct
s se afieze valoarea 1?

citete n (numr natural nenul)


s10
s20
cat timp n>0 executa
s1s1+n%10
n[n/10]
s2s2+n%10
n[n/10]

dac s1=s2 atunci

scrie 1
altfel

scrie 0

citete x,y
(numere naturale , x<y)
k0
cat timp x<y execut
Ce se va afia pentru x=1,y=10?
Cte perechi (x,y) exist n intervalul xx+1; yy-1; kk+1
[1;10] astfel nct s se afieze valoarea
dac x=y atunci
5?
scrie 2*k+1
Scriei programul Pascal/C corespunztor
altfel
algoritmului dat.

scrie 2*k

Scriei programul pseudocod care s fie echivalent cu algoritmul dat i care


s nu conin nici o structur repetitiv sau recursiv.

Se consider programul pseudocod


alturat :

31.
1)
2)

3)

4)

44

Se consider programul pseudocod


alturat:
S-a notat cu x%y restul mpririi numrului
natural x la numrul natural nenul y.
1)
Ce se afieaz dac x = 2 i y = 9?
2)
Ce valoare trebuie introdus pentru
variabila x dac valoarea citit pentru y
este 4 i algoritmul afieaz 256?
3)
Scriei
programul
Pascal/C/C++
corespunztor algoritmului dat.
4)
Scriei un algoritm pseudocod echivalent
cu cel dat n care s nu se utilizeze nicio
structur dac.
32.

citete x, y
p 1
ct timp y >
dac y % 2

y y

p p
altfel

y y

p p

scrie p

0
=

execut
0 atunci
2
x * x

1
* x

Se consider programul pseudocod citete n (numr natural)


i1
alturat:
S-a notat cu x%y restul mpririi numrului natural ct timp in execut
dac n%i=0
x la numrul natural nenul y.
atunci scrie i;ii+1
1)
Ce se afieaz pentru n=15?
altfel ii+2
2)
Determinai cte valori de dou cifre se pot
introduce pentru variabila n astfel nct s
se afieze numai valoarea 1.
3)
Dorim s nlocuim structura de decizie din algoritmul dat cu secvena
urmtoare astfel nct algoritmul obinut s fie echivalent cu cel dat. Cu ce
instruciune putem s completm punctele de suspensie?
dac n%i=0 atunci
scrie i
...

i i+2
4)
Scriei programul Pascal/C/C++ corespunztor algoritmului dat.
33.

34.
Se consider programul pseudocod
alturat:
S-a notat cu x%y restul mpririi lui x la y i cu
[x] partea ntreag a numrului real x.
1) Care este valoarea afiat pentru
x=783851?
2) Dai un exemplu de valoare care, dac
este citit atunci algoritmul afieaz
valorile 5 3.
3) Scriei
programul
Pascal/C/C++
corespunztor algoritmului dat.

m0; k0
citete x (x nr natural)
ct timp x>0 execut
cx%10; x[x/10]
dac c>m atunci
mc; k1
altfel
dac c=m atunci
kk+1

scrie m,k

45

a,b
(numere
35.
Se consider programul pseudocod citete
naturale)
alturat:
S-a notat cu a<-->b operaia de interschimbare a dac a<b atunci
a<-->b
valorilor variabilelor a i b i cu [x] partea ct timp a>b execut
ntreag a numrului real memorat n variabila x.
a[a/10]
1)
Ce se afieaz dac se citesc valorile
dac a=b atunci
56398 i 398560 pentru a i respectiv b?
2)
Dac a=5100, determinai o valoare de 3 scrie 'DA'
altfel
cifre pentru variabila b astfel nct s se scrie 'NU'
afieze DA.

3)
Scriei programul Pascal/C/C++ corespunztor.
4)
Scriei programul pseudocod sau Pascal/C/C++ care s fie echivalent cu
programul dat, cu excepia cazurilor n care valorile iniiale ale variabilelor a
i b sunt egale. n aceste cazuri, trebuie s se afieze NU.

Se consider programul pseudocod


alturat n care s-a folosit notaia [a] pentru
partea ntreag a numrului real a.
Care este valoarea afiat pentru n=1234?
Scriei o valoare de dou cifre pentru
variabila n astfel nct s se afieze 1.
Pentru cte valori distincte ale lui n, numr
natural cu maximum 3 cifre se afieaz
valoarea 0?
Scriei programul Pascal/C corespunztor
algoritmului dat.

36.
1)
2)
3)

4)

citete n (numr ntreg, n>0)


k0; c0
nauxn
cat timp naux>0 execut
naux[naux/10]
kk+1
cc*10+1

pentru i1,k execut


nn-c; c[c/10]

scrie n

37.
Se consider programul pseudocod alturat:
S-a notat cu x%y restul mpririi numerelor ntregi x i y i cu [x] partea ntreag a
numrului real x.
1)
Ce va tipri algoritmul pentru 2793?
2)
Scriei
programul
PASCAL/C/C++
citete n {n N}
corespunztor algoritmului.
an%10; ma
3)
Scriei algoritmul pseudocod, echivalent cu ct timp n>9 execut
cel dat, care folosete un alt tip de structur n[n/10]; bn%10
repetitiv.
dac a>b atunci
4)

Dai exemplu de o valoare nenul pentru n,


astfel nct rezultatul afiat s fie 0.


mm*10+b; ab

scrie m

46

38.
Se consider programul pseudocod alturat:
S-a notat cu x%y restul mpririi numrului natural x la numrul natural y, iar cu
[x] partea ntreag a numrului real x.
1)
Ce se afieaz dac numrul citit este citete a
(a numr natural, a>1)
6?
2)
Care este cel mai mic numr care n0
trebuie citit astfel nct s se afieze d2
ct timp da execut
valoarea 3?
3)

Scriei
programul
PASCAL/C/C++
corespunztor algoritmului dat.

4)

Scriei
un
program
pseudocod
echivalent cu cel dat n care fiecare
structur ct timp...execut s fie
nlocuit cu o structur repetitiv cu test
final.

39.
1)
2)

i0
ct timp a%d=0 atunci
a[a/d]; i1

nn+i; dd+1

scrie n

Se consider programul pseudocod alturat:


Care sunt valorile afiate pentru
a=7?
Stabilii o valoare pentru variabila a
astfel
nct
dup
executarea
secvenei, b s fie 0.

citete a

(numr natural,a>0)
b(a+2)*(a+3); k0
ct timp (b-a0)execut
bb-a; kk+1

scrie b,k

3)

Scriei programul PASCAL/C/C++


corespunztor algoritmului dat.

4)

Scriei un program PASCAL/C/C++ echivalent cu algoritmul dat, dar n care


s nu se utilizeze structuri repetitive.

Se
consider
programul citete n (nr. natural)
pseudocod alturat:
i 1
S-a notat cu x%y restul mpririi numerelor ct timp i<=n execut
ntregi x i y i cu [x] partea ntreag a citete x (nr. natural)
nr0
numrului real x.
1) Ce valori vor fi afiate pentru ct timp x>0 execut
nr nr*10+x%10
urmtoarele numere citite de la

x [x/1000]
tastatur:
5,
12345,
2007,

31005,124, 9356.
scrie nr
2) Scriei un set de date de intrare, i i+1
distincte, astfel nct s se afieze de
trei ori numrul 71.
3) Scriei programul Pascal/C/C++ corespunztor algoritmului dat.
4) Scriei programul pseudocod care s fie echivalent cu algoritmul dat i care s
conin o structur repetitiv cu numr cunoscut de pai n loc de o structur
repetitiv cu test iniial.
40.

47

41.
Se
consider
programul
pseudocod alturat:
S-a notat cu a mod b restul mpririi lui a la
b i cu a div b ctul mpririi lui a la b.
1) Ce se va afia pentru a=123 i
b=213?
2) Indicai o valoare pentru variabila a i
o valoare pentru variabila b astfel nct
algoritmul s afieze valoarea 1.

citete a,b {a,bN}


k1
ct timp a+b>0 execut
dac a mod 10b mod 10
atunci k0

aa div 10
bb div 10

scrie k

3)

Scriei programul Pascal/C/C++ corespunztor algoritmului dat.

4)

Scriei un program Pascal/C/C++ echivalent cu algoritmul dat care s nu


foloseasc nici o instruciune repetitiv.

42.
Se consider
pseudocod alturat:

programul

S-a notat cu a mod b restul mpririi


lui a la b i cu a div b ctul mpririi
lui a la b.

citete n {nN,n2}
k2; tn
ct timp t1 execut
ct timp t mod k=0 execut

mk; tt div k

kk+1

scrie m

1)

Ce se va afia pentru n=4840?

2)

Care este cea mai mic valoare format din exact 3 cifre ce poate fi introdus
pentru variabila n astfel nct algoritmul s afieze valoarea 7?

3)

Scriei programul Pascal/C/C++ corespunztor algoritmului dat.

4)

nlocuii doar instruciunea scrie m din algoritmul dat cu una sau mai multe
instruciuni astfel nct noul algoritm s afieze mesajul "DA" n cazul n care
numrul n este prim, respectiv mesajul "NU" n caz contrar.

41.
Se
consider
programul
pseudocod alturat:
S-a notat cu x%y restul mpririi lui x la
y i cu [x] partea ntreag a numrului
real x.

citete n,k
(n,k numere naturale)
s0
ct timp n>0 i k>0 execut

cn%10

48

1)

Care este valoarea afiat pentru


n=83425 i k=3?

2)

Pentru k=3 stabilii o valoare


nenul pentru n astfel nct
rezultatul afiat s fie 0.

3)

Scriei programul Pascal/C/C++ corespunztor algoritmului dat.

4)

Scriei un program Pascal/C/C++ pentru un algoritm echivalent cu algoritmul


dat, n care s se utilizeze structura repetitiv cu numr cunoscut de pai (cu
contor).

dac c%2=0 atunci ss+c


n[n/10];
kk-1

scrie s

Se consider programul pseudocod alturat.

44.

S-au folosit urmtoarele notaii: mod pentru restul mpririi ntregi i div pentru
ctul mpririi ntregi.
Care este valoarea afiat de acest
algoritm dac se citesc urmtoarele
valori: 2,15,78,3,0

1)

2)

Dai exemplu de un ir de 5 valori


astfel nct s se afieze valoarea 0.

3)

Rescriei programul pseudocod dat,


modificnd un numr minim de linii
astfel nct programul obinut s
afieze numrul de valori impare
citite.

4)

Scriei programul
Pascal/C/C++
corespunztor algoritmului dat.

citete a {numr natural}


m0
ct timp a<>0 execut

d0
ct timp a mod 2=0 atunci

dd+1; aa div 2

dac d>m atunci md

citete a {numr natural }

scrie m

Se consider programul pseudocod


alturat:

45.

S-a notat cu x%y restul mpririi numerelor ntregi x i


y i cu [x] partea ntreag a numrului real x.

1)

Ce valoare se va afia pentru n=480?

2)

Scriei
programul
algoritmului dat.

3)

Stabilii cte valori din intervalul [10,40]


pot fi introduse pentru variabila n, astfel
nct dup executarea programului,
valoarea afiat s fie 1.

corespunztor

citete n
(numr natural)
s0; f2
ct timp n>1 execut
p0
ct timp n%f=0

execut
n[n/f]; pp+1

dac
p0
atunci
ss+p

ff+1

scrie s
49

4)

Dai exemplu de trei valori diferite pentru n astfel nct rezultatul afiat de
fiecare dat, s fie un numr mai mare dect 5, acelai pentru toate cele trei
valori stabilite pentru n.

Se consider programul pseudocod citete n {n nr natural}


a0; p1
alturat:
S-a notat cu x%y restul mpririi lui x la y i cu ct timp n0 execut
ct timp n>9 execut
[x] partea ntreag a numrului real x.
n[n/10]
Care este valoarea afiat dac se
introduc de la tastatur valorile 59, 480, an*p+a; pp*10
16, 329, 0?
citete n
Dai exemplu de un ir de valori ce
trebuie citite astfel nct valoarea afiat scrie a
s fie 123?
Scriei programul Pascal/C/C++ corespunztor algoritmului dat.
Scriei un algoritm echivalent cu algoritmul dat, care s foloseasc doar
structuri repetitive cu test final.
46.

1)
2)
3)
4)

Se consider programul pseudocod


alturat:
S-a notat cu x%y restul mpririi lui x la y i cu
[x] partea ntreag a numrului real x.
47.

1)

Ce se va afia pentru a=204 i b=212?

2)

Pentru a=24 care sunt valorile care citite


pentru b determin afiarea valorii 4.

3)

Scriei
programul
Pascal/C/C++
corespunztor algoritmului dat.
Dai un exemplu de valori pentru a i b
(a<b) astfel nct rezultatul afiat s fie
0.

4)

48.
Se
consider
programul
pseudocod alturat:
S-a notat cu x%y restul mpririi numerelor
ntregi x i y.
1) Ce valoare va fi afiat dac se citesc
urmtoarele valori: 5, 372, 477,
21, 27, 517?
2) Pentru n=5, scriei cele 5 valori care
se introduc, pe rnd, pentru variabila
x astfel nct rezultatul afiat s fie 4.

citete a,b
(a,b nr. naturale, a<=b)
k0
pentru ia,b,1 execut
ni; c0
ct timp n>0 execut
dac n%10%2=1 atunci
c1

n[n/10]

dac c=0 atunci kk+1

scrie k

citete n (nr. natural)


nr 0; m 0
pentru i1,n execut
citete x (nr. natural)
cifx%10
dac cif>m atunci

m cif;nr 1
altfel

50

dac
nrnr+1

scrie nr

cif=m

atunci

3)

Scriei programul Pascal/C/C++


corespunztor algoritmului dat.

4)

Scriei un program pseudocod echivalent cu algoritmul dat care s conin un


alt tip de structur repetitiv n loc de structura repetitiv cu numr cunoscut
de pai.

Se
consider
programul citete a,b (numere naturale)
c0
pseudocod alturat:
S-a notat cu x%y restul mpririi pentru i=1,a execut
dac b%i=0 atunci
numerelor ntregi x i y i cu [x]
dac a%i=0 atunci ci
partea ntreag a numrului real x.

1) Care este valoarea afiat pentru

a=30 i b=42?
2) tiind c b=39, determinai cea dac c>0 atunci scrie c
mai mare valoare de maximum 2
cifre a variabilei a astfel nct
rezultatul afiat s fie 1.
3) Scriei un algoritm pseudocod, echivalent cu cel dat, care s utilizeze o
structur repetitiv cu test iniial n locul structurii repetitive folosite n acest
algoritm.
4) Scriei programul Pascal/C/C++ corespunztor algoritmului dat.
49.

Se
consider
programul
pseudocod alturat:
S-a notat cu x%y
restul mpririi
numerelor ntregi x i y.
50.

Care este valoarea afiat pentru


n=20 i m=30?
tiind c m=22, determinai cea mai
mic valoare ntreag i pozitiv pentru
variabila n astfel nct rezultatul afiat
s fie 2.

1)
2)

citete n,m (numr natural)


b0
pentru x=n,m execut
dac x>=2 atunci
a2
ct timp x%a>0 execut

aa+1

dac x=a atunci bb+1

scrie b

tiind c n=10, precizai care este numrul valorilor distincte ale lui m astfel
nct algoritmul s afieze valoarea 2.
Scriei programul Pascal/C/C++ corespunztor algoritmului dat.

3)
4)

51.

Se consider programul pseudocod alturat


n care s-a notat cu x|y relaia x divide pe y
sau y este divizibil cu x.

citete n,a,b
(ntregi, a<b,n>0)
s0
51

1)
2)

3)
4)

pentru i=a,b execut


dac n|i atunci
ss+1

scrie s
Scriei programul Pascal/C/C++ corespunztor algoritmului dat.
Scriei un program Pascal/C/ C++ care s fie echivalent cu algoritmul dat i
care s nu conin nicio structur repetitiv.
Ce se va afia pentru a=20,b=50,n=7?
Pentru n=5, determinai cte o valoare de dou
cifre pentru fiecare dintre variabilele a i b
astfel nct rezultatul afiat s fie zero.

Se
consider
programul
pseudocod alturat:
S-a notat cu x%y restul mpririi numrului
natural x la numrul natural y, iar cu [x]
partea ntreag a numrului real x.
52.

1)
2)

citete n (numr natural)


pentru i1,n execut
p1
pentru ji,2,-1 execut

pp*j

Ce se afieaz dac valoarea citit


scrie [p/(i*2)]
este 3?

Care este cea mai mic valoare citit pentru n astfel nct n irul valorilor
afiate s existe cel puin 3 numere care au ultima cifr 0 i care s se afle
pe poziii consecutive?

3)

Scriei programul Pascal/C/C++ corespunztor algoritmului dat.

4)

Scriei un program pseudocod echivalent cu cel dat care s utilizeze o


singur structur repetitiv.

Se consider programul pseudocod


alturat:
S-a notat cu [x] partea ntreag a numrului real
x.
1)
Care este valoarea afiat dac n=10?
2)
Determinai o valoare pentru variabila n
astfel nct s se afieze valoarea 33.
53.

3)
4)

citete n (n>6 natural)


S0
pentru i1,n execut
SS+i
dac S>10 atunci

S[S/2]

scrie S
Scriei un program pseudocod echivalent cu programul dat, care s nu
conin nici o structur repetitiv.
Scriei programul Pascal/C/C++ corespunztor algoritmului dat.

Se consider programul pseudocod


alturat:
S-a notat cu x%y restul mpririi numerelor
ntregi x i y i cu [x] partea ntreag a
numrului real x.
1) Ce va afia algoritmul pentru n=7?
54.

citete n {nN*}
S0
pentru i=1,n-1 execut
pentru j=i+1,n execut

SS+1

52


scrie S

2)

Scriei
programul
Pascal/C/C++
corespunztor algoritmului.

3)

Scriei algoritmul pseudocod, echivalent cu cel dat care folosete numai


structuri repetitive ct timp.

4)

Scriei un algoritm echivalent cu cel dat, n limbaj pseudocod sau limbaj de


programare, care s nu utilizeze nici o structur repetitiv.

55.
Se consider programul pseudocod alturat:
S-a notat cu x % y restul mpririi numrului natural x la numrul natural nenul y
1)
Ce se va afia dac se citesc pentru citete n(numr natural)
n valoarea 5 i pentru x valorile: d 0
16, 8, 48, 0, 24?
pentru i 1, n execut
2)
Dac n = 4, dai exemplu de patru
citete x
valori pentru x, pentru care dac d = 0 atunci

d x
algoritmul scrie 1.

altfel
3)
Scriei programul Pascal/C/C++ repet
corespunztor algoritmului dat.
r x % d; x d
4)
Scriei un algoritm pseudocod d r
echivalent cu algoritmul dat care s pn cnd r = 0
utilizeze n locul structurii repetitive d x
repet pn cnd o structur

repetitiv condiionat anterior.


scrie d

Se consider programul pseudocod s 0


citete n (numr natural)
alturat:
S-a notat cu x%y restul mpririi numrului natural pentru i 1,n execut
x la numrul natural nenul y, iar cu [x/y] citete x(numr natural)
nr x % 10
ctul mpririi
ct timp x>9 execut
1)
Ce se va afia dac se citesc pentru n nr nr * 10
valoarea 5 i pentru x, n ordine, valorile: x [x/10]
123, 22, 5324, 1, 86935?

2)
Dac n = 4, dai valori pentru x astfel nct s s + nr

s se afieze 1234.
3)
Scriei
programul
Pascal/C/C++ scrie s
corespunztor algoritmului dat.
4)
Scriei programul Pascal/C/C++ corespunztor algoritmului dat, folosind n
loc de structura ct timp alt tip de structur repetitiv.
56.

53

Se consider programul pseudocod


alturat:

44.

S-a notat cu a mod b restul mpririi lui a la


b i cu a div b ctul mpririi lui a la b.
1) Ce se va afia pentru n=27155?
2) Scriei o valoare format din exact 4
cifre pentru variabila n astfel nct
algoritmul s afieze valoarea 4.
3)

citete n {n nr. natural}


k0
pentru i0,9 execut
xn
ct timp x>0 execut
dac x mod 10=i atunci

ki

xx div 10

scrie k

Scriei un program pseudocod echivalent cu cel dat pentru toate valorile


posibile ale lui n i care s conin o singur structur repetitiv.
Scriei programul Pascal/C/C++ corespunztor algoritmului dat.

4)

45.

Se
consider
programul
pseudocod alturat n care s-a notat cu
n3 faptul c n este divizibil cu 3

citete a,b
(numere naturale nenule, ab)
S 0
pentru n=a,b execut
dac n3 atunci

S S n
altfel

S S + n

scrie S

1)

Ce se va afia dac se citesc valorile 8


i 17?

2)

Scriei toate perechile de valori de o cifr


care dac sunt citite n acest algoritm,
determin fiecare afiarea valorii 0.

3)

Scriei programul
Pascal/C/C++
corespunztor algoritmului dat.

4)

Scriei un program pseudocod care s fie echivalent cu algoritmul dat i care


s nu foloseasc structuri repetitive.

54

46.

Se
consider
pseudocod alturat:

programul

S-a notat cu a mod b restul mpririi lui a


la b i cu a div b ctul mpririi lui a la
b.

citete n {nN}
pentru i1,n-2 execut
pentru ji+1,n-1 execut
pentru kj+1,n execut
dac k*k=i*i+j*j
atunci scrie i,j,k

1)

Ce se va afia pentru n=6?

2)

Care este cea mai mare valoare ce poate fi introdus pentru n astfel nct
algoritmul s afieze doar tripletele 3,4,5 i 6,8,10 ?

3)

Scriei programul Pascal/C/C++ corespunztor algoritmului dat.

4)

Scriei un program Pascal/C/C++ echivalent cu algoritmul dat care s


foloseasc doar dou structuri repetitive.

Se consider programul pseudocod citete a,b {a,b N}


s0; xa%10*10+a%10
alturat:
S-a notat cu x%y restul mpririi numerelor yb%10*10+b%10
ntregi x i y i cu [x] partea ntreag a pentru i=x,y execut
dac[i/10]=i%10
numrului real x.
atunci ss+1
1)
Ce va tipri algoritmul pentru a=132 i

b=2464?
2)
Scriei
programul
Pascal/C/C++
scrie s
corespunztor algoritmului.
3)
Scriei algoritmul pseudocod echivalent cu cel dat care folosete un alt tip de
structur repetitiv.
4)
Scriei un algoritm echivalent cu cel dat, n limbaj pseudocod sau limbaj de
programare, care s nu utilizeze nici o structur repetitiv.
57.

58.

Se consider programul
alturat:
1) Ce se va afia pentru n=8?

pseudocod

citete n
{numr natural nenul}
s0; x2
pentru i1,n execut

ss+x

xx+2

scrie s

2)

Scriei o valoare strict pozitiv pentru variabila n


astfel nct s se afieze valoarea 132?

3)

Scriei programul pseudocod care s fie echivalent cu algoritmul dat i care s


nu conin nicio structur repetitiv.

4)

Scriei programul Pascal/C/C++ corespunztor algoritmului dat

55

Se consider programul pseudocod


citete a, b
alturat:
(numere naturale 0<ab)
S-a notat cu x%y restul mpririi numrului
pentru i1,a execut
natural x la numrul natural y.
dac (a%i=0)i(b%i=0)
1)
Ce se va afia pentru a=10 i b=15?
2)
Scriei
programul
Pascal/C/C++ atunci

x i
corespunztor cu algoritmul dat.

3)
Explicai n 10-15 cuvinte ce reprezint
valoarea afiat de algoritm n raport cu
scrie x
valorile date.
4)
Dai un exemplu de valori pentru a i b astfel nct algoritmul s afieze 1.
59.

Se
consider
programul
pseudocod alturat:
S-a notat cu x%y restul mpririi numrului
ntreg x la numrul ntreg y.
1) Ce valoare afieaz algoritmul pentru
a=28, b=10?
47.

2)
3)
4)

citete a,b
{numere naturale}
ca%10
pentru i1,b-1 execut
cc*a; cc%10

scrie c

Scriei o pereche de valori de cte dou cifre pentru a i b astfel nct


algoritmul s afieze valoarea 8.
Scriei programul Pascal/C/C++ conform algoritmului dat.
Scriei programul pseudocod care s fie echivalent cu algoritmul dat i care
s conin un alt tip de structur repetitiv.

citete a,n
(numere naturale)
j3
pentru i=1,n execut
dac i%2=0

atunci aa-j

altfel aa+j

j7-j

scrie a
3) Scriei un program pseudocod echivalent cu programul dat, care s nu conin
nici o structur repetitiv.
4) Scriei programul Pascal/C/C++ corespunztor algoritmului dat.
Se
consider
programul
pseudocod alturat:
S-a notat cu x%y restul mpririi numrului
natural x la numrul natural nenul y
1) Care este valoarea afiat dac a=12 i
n=10?
2) Dai exemplu de numr natural care
trebuie citit n variabila n astfel nct
pentru a=32, s se afieze valoarea
34.
60.

56

Se consider programul pseudocod


alturat:

61.

S-a notat cu x%y restul mpririi numrului


natural x la numrul natural nenul y

citete a,n
(numere naturale)
pentru i=1,n execut
dac i%2=0
atunci aa-i
altfel aa+i

scrie a

1)

Care este valoarea afiat dac a=12 i


n=10?

2)

Determinai o valoare pentru variabila n


astfel nct, pentru valoarea iniial
a=32, s se afieze 34.

3)

Scriei un program pseudocod echivalent cu programul dat, care s nu


conin nici o structur repetitiv.

4)

Scriei programul Pascal/C/C++ corespunztor algoritmului dat

62.

Se
consider
programul citete n (numr natural)
pseudocod alturat, n care s-a notat nr0
cu [x] partea ntreag a numrului real pentru i=1,[n/2]execut
ji; s0
x.
ct timp s<n execut
Care este valoarea afiat pentru
ss+j; jj+1
n=30?

Dai exemplu de o valoare pentru n dac s=n atunci nrnr+1
astfel nct valoarea afiat s fie 2.

Scriei
programul
Pascal/C/C++
scrie nr
corespunztor algoritmului dat.
Modificai structura dac...atunci a programului astfel nct s se afieze i
toate modurile n care poate fi descompus n ca sum de numere naturale
consecutive. Scriei programul pseudocod modificat astfel.

1)
2)
3)
4)

Se
consider
programul
pseudocod alturat:
S-a notat cu x%y restul mpririi numerelor
ntregi x i y i cu [x] partea ntreag a
numrului real x.
63.

citete a>b
(numere naturale, ab)
k0
pentru ia,b execut

nr0;auxi
ct timp aux0 execut
nrnr*10+aux%10
aux[aux/10]

dac nr<i atunci
kk+1

scrie k

1)

Ce se va afia pentru a=10 i b=20?

2)

Scriei programul Pascal/C/C++


corespunztor algoritmului dat.

3)

Scriei un algoritm echivalent cu


algoritmul dat, n care s se utilizeze
doar structuri repetitive cu test final.

4)

Dai un enun de problem care poate fi rezolvat cu acest algoritm.

57

64.

Se consider programul pseudocod


alturat n care s-a notat cu x%y restul
mpririi ntregi a lui x la y i cu [x]partea
ntreag a numrului real x.
1) Ce se afieaz pentru n=23751?

citete n (numr natural,n>0)


repeta

bn%10; n[n/10]
pana cand b>=n%10
scrie n

2)

Scriei o valoare cu trei cifre care poate fi introdus pentru variabila n astfel
nct s se afieze valoarea 0.

3)
4)

Scriei programul Pascal/C/C++ corespunztor algoritmului dat.


Adugai o structur alternativ la sfritul algoritmului care s afieze, n plus,
mesajul DA dac cifrele numrului n sunt n ordine strict descresctoare i
mesajul NU n caz contrar.

65.

Se
consider
programul
pseudocod alturat: S-a notat cu a%b
restul mpririi numrului ntreg a la
numrul ntreg b.
1)
Scriei un ir de valori pentru variabila
x astfel nct programul s afieze, n
urma executrii, mesajul DA.
2)
Scriei un ir de valori pentru variabila
x astfel nct programul s afieze, n
urma executrii, mesajul NU.
3)
Scriei
un
program
pseudocod
echivalent cu algoritmul dat care s
conin o structur repetitiv cu test
iniial.
4)

n0
repet
citete x {x numr natural}

dac x<>0 atunci

dac x%2=0

atunci nn+1

altfel nn-1

pn cnd x=0
dac n=0 atunci scrie DA

altfel scrie NU

Scriei programul Pascal/C/C++ corespunztor algoritmului dat.

Se consider programul pseudocod


alturat:
S-a notat cu x%y restul mpririi numrului
ntreg x la numrul ntreg y i cu [z] partea
ntreag a numrului real z.
66.

citete n {numr natural }


x0
repet
xx*10+n%10
n[n/10]
en*(n-x)*([n/10]-x)
pn cnd e=0

1)

Ce se va afia pentru n=123321?

2)

Scriei dou valori, numere naturale dac n>0


consecutive formate fiecare din cte cinci atunci scrie A
cifre, pentru variabila n astfel nct altfel scrie B

rezultatele afiate s fie diferite.


Scriei programul pseudocod care s fie echivalent cu algoritmul dat i care s
conin o structur repetitiv cu test iniial.
Scriei programul Pascal/C/C++ corespunztor algoritmului dat.

3)
4)

58

Se consider programul pseudocod


alturat:
S-a notat cu x%y restul mpririi numrului natural
x la numrul natural y i cu [z] partea ntreag a
numrului real z.
1) Ce se va afia pentru n=102206?
2) Scriei o valoare care poate fi introdus
pentru variabila n astfel nct rezultatul
afiat n urma executrii algoritmului s fie
7210.
67.

3)
4)

citete n {numr natural }


x0
p1
repet

xx+(9-n%10)*p

n[n/10]

pp*10
pn cnd n=0
scrie x

Scriei programul pseudocod care s fie echivalent cu algoritmul dat i care s


conin o structur repetitiv cu test iniial.
Scriei programul Pascal/C/C++ corespunztor algoritmului dat.

Se consider programul pseudocod citete a,b


(numere naturale nenule)
alturat:
S-a notat cu x%y restul mpririi numrului c0
repet
natural x la numrul natural y, iar cu [x]
ia%2
partea ntreag a numrului x.
jb%2
1)
Ce se afieaz dac numerele citite sunt dac i+j=0 atunci
24 i 36?
cc+1
2)
Scriei dou valori care trebuie citite (una
pentru variabila a i una pentru variabila aa*i+(1-i)*[a/2]
b) astfel nct n urma executrii bb*j+(1-j)*[b/2]
pn cnd i*j=1
algoritmului s se afieze valoarea 0.
3)
Scriei
programul
Pascal/C/C++ scrie c
corespunztor algoritmului dat.
4)
Scriei un program pseudocod echivalent cu cel dat n care structura
repet...pn cnd... s fie nlocuit cu o structur repetitiv cu test
iniial.
68.

69.

Se consider programul pseudocod


alturat n care s-a folosit notaia [x] pentru
partea ntreag a lui x.
1)
Ce se va afia pentru n=875?

citete n (numr natural)


repet
n[n/10]
pn cnd n<10
scrie n

2)

Scriei algoritmul pseudocod echivalent cu algoritmul dat, dar care s utilizeze


un alt tip de structur repetitiv.

3)

Scriei programul Pascal/C/C++ corespunztor algoritmului dat.

4)

Determinai cte numere naturale de cel mult dou cifre pot fi introduse
pentru variabila n, astfel nct rezultatul afiat s fie 3.

59

70.

Se
consider
programul
pseudocod alturat. S-a notat cu x%y
restul mpririi numerelor ntregi x i y i
cu [z] partea ntreag a numrului real z
1) Ce valori se vor afia pentru n=40?
p.)

citete n{n natural}


i2
repet
ct timp n%i=0 execut

scrie i

n[n/i]

ii+1
pn cnd n=1

2)

Scriei o valoare a lui n pentru care, n


urma executrii algoritmului, singura
valoare afiat este n.

3)

Scriei programul Pascal/C/C++ corespunztor algoritmului dat.

4)

Scriei programul pseudocod care s fie echivalent cu algoritmul dat i care s


conin o singur structur repetitiv.

Se consider programul pseudocod


alturat:
S-a notat cu x%y restul mpririi numerelor
ntregi x i y i cu [x] partea ntreag a
numrului real x.
1) Care este valoarea afiat pentru
a=1775?
71.

citete a (numr natural)


aa+1
repet
aa-1
ba
s0
ct timp b0 execut
ss*10+b%10
b[b/10]

pn cnd s=a
scrie a

2)

Scriei cea mai mare valoare ntreag


pentru variabila a astfel nct rezultatul
afiat s fie 9.

3)

Precizai o valoare de patru cifre a


variabilei a pentru care se execut doar o
iteraie a structurii repet-pn cnd.

4)

Scriei programul Pascal/C/C++ corespunztor algoritmului dat.


Se consider programul pseudocod
alturat:

72.

S-a notat cu x%y restul mpririi numerelor


ntregi x i y i cu [x] partea ntreag a
numrului real x.
1)

Ce se afieaz dac se citete de la


tastatur numrul n=29357?

2)

Scriei o valoare de 5 cifre pentru n astfel


nct rezultatul afiat s fie 123.

citete n (nr natural)


x0
repet
xx*10+n%10
n[n/10]
pn cnd n=0
repet
nn*10+x%10
x[x/100]
pn cnd x=0
scrie n

60

3)

Scriei un program pseudocod echivalent


cu algoritmul dat care s conin alt tip de
structuri repetitive.

4)

Scriei un program Pascal/C/C++ corespunztor algoritmului dat.


Se consider
alturat:

73.

programul

pseudocod

S-a notat cu [x] partea ntreag a numrului real


x, i cu x%y restul mpririi lui x la y

citete a,b
(numere naturale)
s0
repet
dac a%20 atunci
ss+b

a[a/2]; bb*2
pn cnd a<1
scrie s

1)

Care este valoarea afiat pentru a=19 i


b=45?

2)

Stabilii trei seturi de valori pentru variabilele


a i b astfel nct valoarea afiat pentru s
s fie 480.

3)

Scriei programul corespunztor algoritmului dat.

4)

Identificai o formul de calcul pentru s. Scriei programul echivalent cu


algoritmul dat folosind aceast formul.

74.

Se consider programul pseudocod


alturat, unde x div y nseamn ctul
mpririi numerelor ntregi x i y.

1) Care este
n=81832 ?

valoarea

afiat

pentru

2) Scriei o valoare pentru variabila n astfel


nct s se afieze valoarea 5.

citete n (n N, n>9)
p10; q1
repet

pp*10; qq*10
pn cnd q<=n i n<=p
scrie n div q

3) Cte valori distincte de trei cifre exist pentru variabila n astfel nct s se
afieze 3?
4) Scriei programul Pascal/C/C++ corespunztor algoritmului dat.

75.

Se consider programul pseudocod alturat. S-au folosit urmatoarele


notaii: x mod y i x div y pentru restul, respectiv ctul mpririi ntregi a lui x
la y i |x| pentru valoarea absolut a numrului x.

1)

Ce se va afia pentru x=123476?

citete x{numr natural >1}

61

2)

3)

4)

Cte valori distincte de dou cifre


se pot introduce pentru variabila x
astfel nct, de fiecare dat, s se
afieze mesajul Da?
Scriei programul pseudocod care
s fie echivalent cu algoritmul dat,
dar n care s se nlocuiasc
structura repetitiv pentru cu o
structura repetitiv cu test final.

Scrieti programul Pascal/C/C++


corespunztor algoritmului dat.

Se
consider
programul
pseudocod alturat.
S-au folosit urmtoarele notaii: mod
pentru restul mpririi ntregi iar div
pentru ctul mpririi ntregi.
1)
Ce
se
va
afia
pentru
x=1232189?
2)
Dai o valoare pentru numrul x
astfel nct algoritmul s nu
afieze nimic.
76.

3)
4)

t0;sp0;si0;
yx;
repet
tt+1
xx div 10
pn cnd x0
pentru pt,1,-1 execut
cy mod 10
yy div 10
dac p mod 2=0
atunci spsp+c
altfel sisi+c

dac |si-sp| mod 11=0

atunci scrie DA

altfel scrie Nu

citete x {x nr.natural}
pentru c0,9 execut
yx; p0
repet
dac y mod 10=c atunci
pp+1

yy div 10
pn cnd y=0
dac p>1 atunciscrie c

Scriei un program pseudocod care s fie echivalent cu cel dat, dar n care
s se nlocuiasc structura repetitiv pentru cu o structur repetitiv cu
test iniial.
Scriei programul Pascal/C/C++ corespunztor algoritmului dat.

77.
Se consider programul pseudocod alturat.
S-au folosit urmtoarele notaii: mod pentru restul mpririi ntregi i div pentru
ctul mpririi ntregi.
1)
2)
3)

Ce se va afia pentru x=1939?


Indicai cea mai mare valoare posibil
pentru x astfel nct algoritmul s
afieze valoarea 2355.
nlocuind structura dac cu secvena
dac a>5 atunci
...

v...

citete x {nr.natural}
v0; z1;
repet
ax mod 10
dac a>5 atunci vv+z*5
altfel vv+z*a

xx div 10;zz*10
pn cnd x=0
scrie v

62

trebuie s obinem un algoritm echivalent cu cel dat. Cu ce trebuie nlocuite


punctele de suspensie?
4)

Scriei programul Pascal/C/C++ corespunztor algoritmului dat.

Se consider programul pseudocod


alturat n care:
- [x] reprezint partea ntreag a lui x
- nd reprezint faptul c n e divizibil cu d
48.

1)
2)
3)
4)

Ce se va afia pentru n=20?


Scriei o valoare de dou cifre pentru
variabila n astfel nct rezultatul afiat
s fie impar.
Scriei
programul
Pascal/C/C++
corespunztor algoritmului dat.
Precizai cte valori exist n intervalul nchis [20,40]care, dac sunt
introduse pentru variabila n, rezultatul afiat este, de fiecare dat, egal cu 2.

Se
consider
programul
pseudocod alturat:
S-a notat cu a mod b restul mpririi lui
a la b i cu a div b ctul mpririi lui a
la b.
1)
Ce se va afia pentru n=1764?
78.

2)

3)
4)

citete n (numr natural, 1<n)


p1
d2
repet
k0
ct timp nd execut
n [n/d]; k k+1

p p*(k+1); d d+1
pn cnd n=1
scrie p

citete n {nN,n2}
k1; d2
repet
p0
ct timp n mod d=0 execut
pp+1 ; nn div d

dac p mod 2=1 atunci k0

dd+1
pn cnd (n=1)
scrie k

Scriei o valoare format din 3 cifre


ce poate fi citit pentru variabila n
astfel nct algoritmul s afieze
valoarea 0.
Scriei programul Pascal/C/C++ corespunztor algoritmului dat.
Scriei un program Pascal/C/C++ echivalent cu algoritmul dat pentru toate
valorile posibile ale lui n i care s nu conin nicio structur repetitiv.

79. Scriei un program care rezolv urmtoarea problem: se citesc de la tastatur


dou numere naturale distincte, fiecare de maximum 7 cifre. S se afieze ctul
i restul mpririi celui mai mare dintre cele dou numere la cel mai mic dintre
cele dou numere. Dac mprirea nu se poate efectua, se va afia mesajul
EROARE.
80. Scriei un program care rezolv urmtoarea problem: se citesc trei numere
reale pozitive. S se afieze mesajul DA dac cel puin unul dintre ele are
proprietatea c este egal cu media geometric a celorlalte dou i mesajul NU
dac nici unul dintre ele nu este egal cu media geometric a celorlalte dou.
81. Scriei un program care rezolv urmtoarea problem: se citete un numr
ntreg format din cel mult 8 cifre. S se afieze mesajul DA dac toate cifrele
63

numrului citit sunt identice; n caz contrar, s se afieze mesajul NU.


Exemple:
dac se citete unul dintre numerele 777777 sau -9999 se va afia mesajul
DA;
dac se citete unul dintre numerele 777767 sau -9099 se va afia mesajul
NU.
87.

Scriei un program care citete trei valori reale distincte notate a, b, c i care
afieaz una dintre urmtoarele valori:
1 dac a < b < c;
2 dac a > b > c;
3 dac b este cea mai mare dintre cele trei valori;
4 dac b este cea mai mic dintre cele trei valori;

88. Scriei un program care citete de la tastatur o valoare natural impar n


(1n1000) i apoi calculeaz i afieaz pe ecran, cu exact patru zecimale,
valoarea expresiei:
1 2 3 4 5 -... n

Exemplu: dac se citete pentru n valoarea 3, programul va afia valoarea


1,3178
89. Scriei un program Pascal/C/C++ care citete de la tastatur un numr real a i
afieaz pe ecran, pe acelai rnd i separate printr-un spaiu, dou numere
ntregi consecutive x i y, cu proprietatea c xa<y.
90. Scriei programul Pascal/C care, pentru un numr natural nenul n de cel mult 4
cifre, citit de la tastatur, afieaz n ordine cresctoare, separate prin spaiu,
primele n numere pare strict pozitive divizibile cu 5.
De exemplu, pentru n=6 se afieaz 10 20 30 40 50 60.
91. Scriei un program Pasca/C/C++ care citete de la tastatur un numr natural
nenul a cu cel mult 9 cifre i afieaz ultima cifr a numrului a2007.
De exemplu, pentru a=23467 se afieaz 3.
92.

Se consider irul f: 1,5,2,13,10,... generat dup regula de mai jos, n


care s-a notat cu [x] partea ntreag a numrului x:

1 pentru n 1

f n 2 * f[n / 2] 3 pentru n 1, n par


2 * f pentru n 1, n impar
[ n / 2]

a) Scriei un program care citete un numr natural x (cu cel mult 9 cifre) apoi
64

afieaz pe ecran mesajul DA dac x este termen al irului dat, respectiv


mesajul NU n caz contrar. Se va utiliza un algoritm eficient din punct de vedere
al memoriei utilizate i al timpului de executare.
Exemplu: pentru x=10 se va afia DA
b) Descriei metoda utilizat i explicai n ce const eficiena ei.
93. Pentru dou puncte A, B din plan, puncte date prin coordonatele lor ntregi
(xa,ya), (xb,yb), se cere s se verifice dac punctele A i B sunt egal
deprtate de originea axelor de coordonate. Amintim c distana n plan dintre
punctele P1(x1,y1) i P2(x2,y2) se calculeaz cu ajutorul formulei d(P 1,P2)=

( x1 x2 ) 2 ( y1 y 2 ) 2 .
Scriei programul Pascal/C/C++ care citete de la tastatur cele 4 numere
ntregi i afieaz pe ecran mesajul DA n cazul n care A i B se afl la
aceeai distan de punctul O (originea) i afieaz mesajul NU n caz contrar.
94. Pentru un numr x citit de la tastatur, valoare real pozitiv cu cel mult 5 cifre
la partea ntreag i cel mult 4 zecimale, se cere s se afieze dou numere
naturale a i b astfel nct raportul a/b s fie egal cu x. Scriei programul
Pascal/C corespunztor.
De exemplu, pentru x=1.20, o soluie posibil este 6 5.
95. Scriei un program Pascal/C/C++ care citete de la tastatur un numr natural n
cu cel mult nou cifre i care determin dac exist un numr natural k cu
proprietatea c n=123k. Dac exist un astfel de numr, programul va
afia pe ecran mesajul DA urmat de numrul k, separate printr-un spaiu, altfel
va afia mesajul NU (ca n exemple).
Exemple: pentru n=720 se va afisa DA 6 pentru c 6!=720 ( 6!
=1*2*3*4*5*6); pentru n=721 se va afisa NU .
96. Pentru trei numere reale a, b, c citite de la tastatur, se cere s se afieze o
valoare ntreag x astfel nct suma distanelor de la x la fiecare dintre valorile
a, b, c s fie minim. Valoarea determinat se va afia pe ecran. Definim
distana (pe ax) dintre dou numere u i v prin valoarea absolut a diferenei
lor, |u-v|.
a) Alegei o metod corect i eficient de rezolvare i explicai n limbaj natural
(pe maximum 5-6 rnduri) metoda aleas justificnd corectitudinea i eficiena
acesteia.
b) Scriei programul Pascal/ C/C++ corespunztor metodei alese.

65

97. Se citesc de la tastatur numrul natural n (n<30000) i apoi n numere


ntregi avnd maximum 4 cifre, cel puin una dintre aceste valori fiind pozitiv.
Se cere s se determine i s se afieze pe ecran cea mai mic valoare
pozitiv dintre cele n numere citite i s se precizeze de cte ori a aprut
aceast valoare n irul celor n numere citite. Alegei un algoritm de rezolvare
care s utilizeze eficient memoria.
a) Descriei pe scurt algoritmul de rezolvare, explicnd n ce const eficiena
sa.
b) Scriei programul Pascal/C/C++ corespunztor algoritmului descris.
Exemplu. Pentru n=8 i valorile 6 2 -3 -5 2 9 2 6, se afieaz pe ecran
valorile 2 3 (cea mai mic valoare pozitiv este 2 i apare de trei ori n ir).
98.

Scriei un program Pascal/C/C++ care verific dac un numr natural n cu cel


mult 9 cifre, citit de la tastatur, este un numr fierstru. Definim numr
fierstru un numr cu cel puin 3 cifre care este format numai cu ajutorul a
dou cifre distincte a
i b i i are una dintre formele
, cu a>b. Programul afieaz DA
n caz afirmativ i NU n caz contrar.
Exemple:9393939,515 sunt numere fierstru iar 9354539 nu este numr
fierstru.
(10p.)

99.

Se citete de la tastatur un numr natural n (1n100). S se afieze pe


ecran al n-lea termen al
irului 11,22,33,44,55,66,77,88,99, 111,
222,333,444,etc.
De exemplu, dac n=11 se afieaz 222.
a) Alegei o metod eficient de rezolvare, descriind n limbaj natural metoda
folosit i justificai eficiena acesteia ( cel mult 6 rnduri).
b) Scriei programul Pascal/C/C++ corespunztor metodei descrise la punctul
a).

100. Scriei programul Pascal/C/C++ care afieaz pe ecran, separate prin virgul,
toate numerele naturale de patru cifre care au prima cifr strict mai mic dect
a doua, a doua cifr strict mai mare dect a treia i a treia cifr strict mai mic
dect a patra.
Exemplu: 1201,1202,1203,...,8979,8989

66

101.Pentru dou numere naturale n i m cu maximum nou cifre fiecare, citite de


la tastatur, numere care au cifrele n ordine cresctoare, se cere s se afieze
pe ecran cel mai mare numr care se poate forma cu toate cifrele numerelor n
i m . De exemplu pentru n=35679 i m=123789 se va tipri 99877653321.
Alegei un algoritm eficient de rezolvare.
a) Descriei strategia de rezolvare i justificai eficiena algoritmului ales, folosind
limbajul natural (5-6 rnduri).
b) Scriei programul Pascal/C/C++ corespunztor.

102. Scriei un program eficient din punct de vedere al timpului de executare i al


spaiului de memorie, care citete de la tastatur un numr natural n
(n1000) i afieaz pe ecran cel de al n-lea termen al irului:
1, 1,2,2, 1,2,3,3,3, 1,2,3,4,4,4,4, ...
constuit astfel: prima grup este format din numrul 1, a doua grup este
format din numrul 1 urmat de numrul 2 scris de dou ori, etc. Grupa a ka, este format din numerele 1, 2,..., k-1 urmate de numrul k scris de k ori.
103. Se citete de la tastatur un numr natural n (n100) i apoi n numere din
mulimea {1, 2, 3}. Se cere s se afieze cele n valori citite n ordine
cresctoare.
a) Descriei pe scurt un algoritm de rezolvare al problemei, eficient din punct
de vedere al spaiului de memorie utilizat i al timpului de executare,
explicnd n ce const eficiena metodei.
b) Scriei programul Pascal/C/C++ corespunztor algoritmului descris.
Exemplu. Pentru n=19 i valorile 3 3 3 3 2 1 2 1 3 2 1 3 2 1 1 3 3
2 3 se va afia pe ecran irul :
1 1 1 1 1 2 2 2 2 2 3 3 3 3 3 3 3 3 3.
104. S se scrie un program Pascal/C/C++ care citete de la tastatur un numr
natural n (cu cel puin 2 cifre i cel mult 9 cifre, toate nenule) i care
determin i scrie pe ecran toate numerele obinute din n prin eliminarea cte
unei singure cifre, n ordine: mai nti cifra unitilor, apoi cifra zecilor, apoi
cifra sutelor, etc. Numerele vor fi scrise pe o singur linie, dou numere
alturate fiind separate printr-un singur spaiu.
Exemplu: dac se citete N=12345, se vor afia, n ordine, numerele:
1234 1235 1245 1345 2345
105. irul lui Fibonacci este definit astfel:
t0=0, t1=1, tn=tn-1+tn-2. pentru n2.
67

Scriei programul care citete de la tastatur dou numere naturale a>b


(1ab32000) i verific dac aceste numere sunt termeni consecutivi n irul
lui Fibonacci. Se va afia pe ecran un mesaj dac a i b ndeplinesc sau nu,
condiiile din enun. Exemplu: pentru a=34, b=55 se va afia pe ecran mesajul:
sunt termeni consecutivi in sirul lui Fibonacci
106.Scriei un program Pascal/C/C++ care s afieze pe ecran toate numerele pare
de dou cifre. Numerele vor fi scrise pe mai multe linii, cte cinci pe fiecare
linie. Numerele de pe fiecare linie vor fi separate printr-un spaiu.
107.Scriei programul Pascal/C/C++ care s afieze toate numerele impare de dou
cifre. Afiarea se va face pe ecran, cte dou numere pe fiecare linie, numerele
de pe aceeai linie fiind separate printr-un spaiu.
108.Pentru un numr natural n (1<n<10.000) citit de la tastatur s se scrie un
program care determin n mod eficient toate perechile (x,y) de numere
naturale cu proprietatea c x2+n=y2. Perechile vor fi afiate pe ecran, cte una
pe linie, avnd valorile separate printr-un spaiu, iar dac nu se gsete nicio
astfel de pereche se va afia mesajul nu exist.
a) Descriei n limbaj natural (4-5 rnduri) metoda utilizat.
b) Explicai n ce const eficiena metodei alese (1-2 rnduri).
c) Scriei programul Pascal/C/C++ corespunztor.
Pentru o rezolvare mai puin eficient se va acorda un punctaj parial.
109.Se citesc de la tastatur dou numere naturale n i p (1<n<1000,1<p<10).
S se afieze pe ecran, cu spaiu ntre ele, acele numere naturale mai mici sau
egale cu n care au toate cifrele mai mici sau egale cu p.
De exemplu, dac n=15 i p=2 , se vor afia : 0 1 2 10 11 12
110.Se citesc dou numere naturale nenule cu maximum 9 cifre a,b. S se verifice
dac cele dou variabile sunt doi termeni consecutivi ai irului Fibonacci. irul
lui Fibonacci are urmtoarea definiie:
f1=1, f2=1, fi=fi-1+fi-2,dac i>2
De exemplu, dac a=3 i b=5 atunci se va afia mesajul Da, iar pentru a=21
i b=5 se va afia mesajul Nu

68

111. Pentru dou valori a i b (numere naturale mai mici dect 1000, cu a<b),
citite de la tastatur, se cere s se afieze valorile ntregi din intervalul
nchis[a,b] ce au cifra de control egal cu cifra de control a numrului a.
Cifra de control a unui numr se obine astfel: se calculeaz suma cifrelor
numrului, apoi se calculeaz suma cifrelor rezultatului obinut etc. pn se
obine un numr format dintr-o singur cifr.
Exemplu: cifra de control a numrului 39 este 3 pentru c 3+9=12 iar 1+2=3.
Alegei un algoritm eficient de rezolvare.
a) Explicai n limbaj natural metoda utilizat, justificnd eficiena ei (4-6
rnduri).
b) Scriei programul Pascal/C/C++ ce rezolv problema enunat prin
utilizarea metodei prezentate.
112. Se citesc n numere naturale mai mici dect 1000 (1<n<100). Scriei un
program Pascal/C/C++ ce determin ultima cifr a numrului obinut prin
adunarea tuturor elementelor citite.
Exemplu: dac n=3 iar numerele sunt: 102

27

34 se va afia 3.

113. irul de numere 1,2,3,1,3,1,0,4, .... este definit prin relaia


alturat, n care s-a notat cu x%y restul mpririi numrului natural x la
numrul natural y.

a) Descriei n limbaj natural o metod eficient (ca timp de executare i


spaiu de memorare) prin care se poate determina elementul din ir aflat pe o
poziie dat, n. Explicai n ce const eficiena metodei alese (4-8 rnduri).
p.)
b) Scriei definiia complet a unui subprogram F care are un singur
parametru, n, prin intermediul cruia primete o valoare natural cu cel mult
3 cifre, astfel nct prin instruciunea:
write(F(n));

cout<<F(n); /printf("%d",F(n));

s se afieze valoarea celui de-al n-lea termen din ir, utiliznd algoritmul
descris la punctul a).
Exemplu: Instruciunea
write(F(7));

cout<<F(7); /printf("%d",F(7));

va afia valoarea 0.

69

114. Se consider urmtorul ir de numere naturale: 1, 2, 2, 3, 3, 3, 4,


4, 4, 4, 5, 5, 5, 5, 5, .... Primul element este 1 i se afl pe
poziia 1 n ir. Un numr x apare de x ori n ir pe poziii consecutive i
elementele irului sunt n ordine cresctoare.
Pentru o valoare natural n (0<n<10000) citit de la tastatur se cere s se
precizeze care este termenul cu numrul de ordine n din irul prezentat.
Exemplu: dac n=7 atunci al aptelea numr din ir este 4.
Alegei un algoritm eficient de rezolvare.
a) Explicai n limbaj natural metoda utilizat, justificnd eficiena ei (4-6
rnduri).
b) Scriei programul Pascal/C/C++ ce rezolv problema enunat, utiliznd
metoda descris la punctul anterior.
115. Se citesc de la tastatur dou numere naturale n i k (0<n<1000000000;
0<k<10). Scriei programul Pascal/C/C++ ce afieaz numrul obinut prin
eliminarea primelor k cifre ale numrului n. Dac numrul de cifre ce trebuie
eliminate este mai mare dect numrul de cifre ale lui n atunci se va afia
mesajul "NUMAR VID".
Exemplu: Pentru n=1572 i k=2 programul afieaz 72.
116. Scriei un program Pascal/C/C++ care citete de la tastatur un numr
natural n (0<n<=25) i un ir de n numere naturale cu cel mult patru cifre
fiecare; programul va determina i va afia pe ecran numrul maxim de factori
primi distinci care pot s apar n descompunerea n factori primi a unui numr
din ir.
Exemplu: pentru n=6 i numerele 18 90 450 24 20 75 se afieaz 3
deoarece 90=2*32*5 i 450=2*52*32, fiecare coninnd trei factori primi, iar
celelalte numere citite au cte doi factori primi distinci.
117. Scriei un program Pascal/C/C++ care citete de la tastatur un numr
natural n (1<n<30000) i care determin i afieaz pe ecran suma
exponenilor factorilor primi care apar n descompunerea lui.
Exemplu: pentru n=24, se afieaz 4. (24=23*31, suma exponenilor este
3+1=4).
118. Scriei un program Pascal/C/C++ care citete de la tastatur un numr
natural n (1<n<30000) i care determin i afieaz pe ecran numrul
divizorilor primi ai lui n.
Exemplu: pentru n=24 se afieaz 2 (deoarece are doi divizori primi: 2 i 3),
iar pentru numrul 60 se afieaz 3 (deoarece are trei divizori primi: 2, 3 i
5).

70

119. Se citete de la tastatur un numr natural n i apoi n numere ntregi. S se


determine cea mai mare valoare negativ dintre cele citite, precum i numrul
de apariii ale acestei valori printre numerele citite. Alegei o metod eficient
att din punctul de vedere al timpului de executare ct i al gestionrii
memoriei.
a) Descriei pe scurt metoda folosit explicnd eficiena acesteia (3-4 rnduri).
b) Scriei programul C/C++ corespunztor metodei descrise la punctul a). Se
va afia cea mai mare valoarea negativ i numrul de apariii sau mesajul NU
EXISTA dac nu exist valori negative n irul de numere citite.
De exemplu, pentru n=8 i numerele 10, 3, -4, -7, -4, -7, 11, -4
se vor afia numerele -4 i 3, deoarece -4 este cea mai mare valoare
negativ i apare de 3 ori.
120.Se citesc de la tastatur mai multe numere naturale de cel mult 3 cifre. Se tie
c se citesc cel puin dou numere i c citirea continu, numr cu numr, pn
cnd se citete un numr egal cu primul numr citit. S se scrie un program
C/C++ care citete numerele i afieaz pe ecran media aritmetic a numerelor
pare citite precum i numrul acestora. Se va afia mesajul NU EXISTA dac
nu exist nici un numr par printre cele citite. Alegei o metod de rezolvare care
va gestiona eficient memoria.
De exemplu, dac se citesc pe rnd numerele 5 6 2 7 9 6 8 5 se vor afia
pe ecran valorile 5.5 i 4.
121. Scriei un program Pascal/C/C++ care citete de la tastatur 10 numere ntregi,
determin i afieaz pe ecran media aritmetic a tuturor valorilor pozitive, cu
dou zecimale exacte.
122. Scriei un program Pascal/C/C++ care citete de la tastatur dou numere
naturale a i b cu acelai numr de cifre (0<a<30000, 0<b<30000).
Programul va construi i afia pe ecran numrul natural c cu proprietatea c
fiecare cifr a acestuia este partea ntreag a mediei aritmetice a cifrelor
situate pe aceleai poziii n scrierea numerelor a i b.
Exemplu: Pentru a=3534 i b=5726, se va afia valoarea c=4625.
123. Scriei un program Pascal/C/C++ care citete de la tastatur un numr natural
n (0<n<1000). S se afieze pe ecran toate numerele naturale perfecte mai
mici dect n separate printr-un spaiu. Un numr natural se numete numr
perfect dac este egal cu suma divizorilor si, divizori din care se exclude
divizorul egal cu numrul nsui (6=1+2+3).
Ex. : pentru n=50 se va afia 6 28
124. Scriei un program Pascal/C care citete de la tastatur un numr natural n
(0 <= n <=500000), apoi n numere naturale de cel mult 9 cifre i afieaz
pe ecran cte dintre aceste numere au proprietatea c sunt divizibile cu suma
cifrelor lor. Pentru n = 8 i numerele 12, 13, 20, 51, 60, 122, 123,
117 se va afia 4
71

125. Scriei un program Pascal/C care citete de la tastatur un numr natural


n(0<n<101), apoi, de pe urmtoarele n linii, citete cte o pereche de numere
ntregi, separate prin spaiu. Fiecare pereche a b, cu a<0< b, reprezint
extremitile unui interval nchis de forma [a,b] pe axa Ox. Afiai pe ecran
extremitile intervalului care reprezint reuniunea celor n intervale.
De exemplu pentru n = 3 i perechile de numere -1 2
-3 8
-7 4
se va afia -7 8
126. Se citete un numr natural k (1k4). S se afieze toate palindroamele de
5 cifre (numere naturale de forma c1c2c3c4c5 pentru care c1=c5 i c2=c4), cu
proprietatea c diferena n valoare absolut dintre oricare dou cifre alturate
este egal cu k (|ci-ci+1|=k, pentru orice 1i4). De exemplu, pentru k=2,
un astfel de numr este 53135.
a) Descriei n limbaj natural o metod de rezolvare a problemei, eficient din
punct de vedere al timpului de executare (5-6 rnduri).
b) Scriei programul Pascal/C corespunztor metodei descrise.
127. Pentru un numr natural n dat, 0<n<1000000, se cere s se verifice dac
exist cel puin un numr natural strict mai mare dect n care s aib exact
aceleai cifre ca i n.
a) Descriei metoda de rezolvare aleas folosind limbajul natural (3-4 rnduri)
b) Scriei programul Pascal/C care citete de la tastatur valoarea lui n i
afieaz pe ecran unul dintre mesajele EXISTA sau NU EXISTA.
De exemplu, pentru n=165, se afieaz mesajul EXISTA, iar pentru n=81, se
afieaz mesajul NU EXISTA.
128. Pentru orice numr natural nenul n definim n factorial, notat n!, ca fiind
produsul tuturor numerelor naturale nenule mai mici sau egale cu n (n!
=1*2*...*n).
De exemplu: 3!=1*2*3=6, 5!=1*2*3*4*5=120
a) Descriei n limbaj natural o metod eficient de determinare a numrului de
cifre nule aflate pe ultimele poziii consecutive ale valorii obinute n urma
evalurii lui n!, n fiind un numar natural nenul de cel mult 4 cifre.
De exemplu, dac n=10, cum 10!=3628800, rezultatul va fi 2, deoarece
3628800 are doi de 0 la sfrit.
b) Scriei un program Pascal/C/C++ corespunztor metodei descrise la punctul
anterior, care citete de la tastatur un numr natural nenul n de cel mult 4 cifre
72

i afieaz pe ecran numrul de cifre nule aflate la sfarsitul lui n!.


129. Se citesc de la tastatur trei numere naturale de cel mult 4 cifre fiecare n,a i
b i se cere s se afieze pe ecran cte 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 afiat 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)
a) Alegei o metod eficient de rezolvare i descriei n limbaj natural metoda
aleas justificnd eficiena acesteia (4-6 rnduri).
b) Scriei programul Pascal/C/C++ corespunztor metodei alese la punctul a).
130. Scriei un program C/C++ care citete de pe prima linie a fiierului text
BAC.TXT trei numere naturale nenule a,b,c formate din cel mult patru cifre
fiecare, separate prin cte un spaiu i afieaz pe ecran cel mai mare divizor
comun al acestora. De exemplu, dac din fiier se citesc numerele: 9 27 15,
atunci se afieaz 3.
131. Scriei un program Pasca/C/C++ care citete de la tastatur trei numere
naturale x, y i k, ( 1x<y2000000, k1000) i afieaz pe ecran
cele mai mari k numere prime din intervalul [x,y], pe una sau mai multe linii
separate printr-un singur spaiu. Dac nu exist k numere prime n intervalul
[x,y] se vor afia toate numerele prime gsite iar pe linia urmtoare se va
afia mesajul "s-au gsit mai puine numere prime: urmat de
numrul acestora.
De exemplu, pentru x=3, y=12 i k=5 se vor afia pe ecran nu neaprat n
aceast ordine:
3 5 7 11
s-au gsit mai puine numere prime:4
132. International Standard Book Number (ISBN) este un cod unic utilizat pentru
identificarea fiecrei cri, format din 9 cifre urmate de o cifr de control care
poate fi o cifr sau caracterul x ce reprezint numrul 10. Semnificaia cifrelor
din cadrului unui cod ISBN de forma a1 a 2... a10 este urmtoarea: a1 a 2 a 3
identific ara, a 4 a 5 a 6 a 7 identific editura, a8 a 9

identific numrul asociat


10

crii iar a10 reprezint cifra de control calculat astfel nct

a[i ] * i s fie
i 1

divizibil cu 11. De exemplu 973 8934 05 2 este un cod ISBN cu cifra de


control 2. Scriei un program Pascal/C/C++ care citete de la tastatur un
numr natural cu 9 cifre care reprezint primele 9 poziii ale unui cod ISBN i
afieaz pe ecran cifra de control corespunztoare.

73

133. a) Scriei un program n limbajul Pascal/C/C++, eficient din punctul de vedere


al duratei de executare, care afieaz toate numerele naturale formate din cifre
identice, mai mari dect 10 i mai mici dect o valoare dat n , n<=
2.000.000.000.
De exemplu pentru n=195 , se afieaz: 11,22,33,44,55,66,77,88,99,111 .
b) Explicai n limbaj natural metoda utilizat, justificnd eficiena ei (4-6
rnduri).
134. ntr-un sistem de coordonate carteziene se consider punctele: A(x1,y1) i
B(x2,y2) unde coordonatele ntregi x1,y1,x2,y2 sunt, n aceast ordine,
urmtorii termeni consecutivi ai irului Fibonacci: fn,fn+1,fn+2,fn+3 (n natural).
Scriei un program Pascal/C/C++ care citete de la tastatur un numr natural
n(1<=n<=20), determin i afieaz pe ecran, cu 3 zecimale, lungimea
segmentului AB. Distana dintre dou puncte A(x1,y1) i B(x2,y2) este

( x1 x 2 ) 2 ( y1 y 2 ) 2 .
(10p.)
135. Scriei un program Pascal/C/C++ care citete de la tastatur dou numere
naturale nenule n i m (n<100, m<100), determin i afieaz 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 afia pe cte o linie, iar
numerele corespunztoare fiecrei perechi vor fi separate printr-un spaiu, ca
n exemplu.
De exemplu, pentru n=6 i m=6 se afieaz perechile:
1 6
2 3
2 6
3 6
136. Scriei programul Pascal/C/C++ care citete de la tastatur un numr natural n
(n<100) i un ir cu n numere ntregi din intervalul [100,999]; programul
construiete n mod eficient din punctul de vedere al spaiului de memorie
folosit, un ir de numere rezultat prin nlocuirea fiecrui numr din irul citit cu
numrul obinut prin interschimbarea cifrei unitilor cu cifra sutelor. Numerele
din noul ir se vor afia pe ecran separate printr-un singur spaiu.
De exemplu, pentru n=3 i irul 123 904 500, se afieaz: 321 409 5.

74

You might also like