Sunteți pe pagina 1din 37

Doina Buldur

Culegere de probleme de informatic

pentru clasele V-VIII


1.

Instruciuni de introducere, afiare i calcul


1) S se afieze triunghiul
*
**
***
S se introduc un caracter de la tastatur i s se afieze un triunghi asemntor folosind
caracterul introdus.
2) Se d un numr natural n. Afiai un triunghi de forma
n
n+2 n+2
n+4 n+4 n+4
n+6 n+6 n+6 n+6 (CNI-etapa judeean, Petroani, 2005)
3) ntr-o tabr numrul de biei este cu 10 mai mare dect cel al fetelor. Dac se citete de la
tastatur numrul de fete, s se spun ci elevi sunt n tabr. Exemplu: date de intrare: 50
date de ieire: 110.
4) ntr-un autobuz care pleac n excursie sunt 7 copii. De la nc dou coli urc ali copii, numrul
acestora citindu-se de la tastatura. Ci copii au plecat n excursie? Exemplu: Date de intrare: 15
20 Date de ieire: 42 copii.
5) Un brdu este mpodobit cu globulee albe, roii i albastre. Numrul globuleelor albe se citete
de la tastatur. Cte globulee are brduul, tiind c numrul de globulee roii este cu 3 mai
mare dect numrul de globulee albe, iar globuleele albastre sunt cu 2 mai puine dect totalul
celor albe i roii. Exemplu: Date de intrare: 12 Date de ieire: 52.
6) Ion i Vasile joac urmtorul joc: Ion spune un numr iar Vasile trebuie s gseasc cinci numere
consecutive, cresctoare, numrul din mijloc fiind cel ales de Ion. Exemplu : Ion spune 10, Vasile
spune 8 9 10 11 12. Ajutai-l pe Vasile s gseasc rspunsul mai repede.
7) Doi copii au primit acelai numr de mere Introducnd de la tastatur numrul de mere primte,
afiai cte mere are fiecare copil dup ce primul copil mnnc un mr i d unul celuilalt copil.
Exemplu : Date de intrare : 10 Date de ieire : primul copil 8 mere al doilea copil 11 mere.
8) Maria vrea s verifice dac greutatea i nlimea ei corespund vrstei pe care o are. Ea a gsit
ntr-o carte urmtoarele formule de calcul ale greutii i nlimii unui copil, v fiind vrsta :
greutate=2*v+8 (n kg), nlime=5*v+80 (n cm). Realizai un program care s citeasc vrsta
unui copil i s afieze greutatea i nlimea ideal, folosind aceste formule.
9) Se introduc de la tastatur trei cifre. Afiai pe aceeai linie 5 numere formate cu aceste cifre
luate o singur dat. Exemplu : date de intrare : 3 4 2 Date de ieire : 324 342 243 234 432.
10)
Date trei numere, s se calculeze toate sumele posibile de cte dou numere. Afiarea s
cuprind i termenii sumei, nu numai valoarea ei. Exemplu: Date de intrare : 2 13 4 Date de
ieire: 2+13 =15 2+4=6 13+4=17.
11)
Afiai tabla nmulirii cu numrul n. Exemplu: pentru n=5, se va afia pe vertical 1x5=5
2x5=10 3x5=15 4x5=20 5x5=25 6x5=30 7x5=35 8x5=40 9x5=45 10x5=50.
12)
Se introduc lungimea i limea unui dreptunghi. S se afieze cuvntul PERIMETRU urmat
de valoarea perimetrului acelui dreptunghi.
13)
Dan are de fcut mai multe exerciii de transformare n centimetri a unei mrimi date n
metri. Realizai un program care s citesc valoarea n metri i s o afieze n centimetri.
Exemplu: date de intrare: 72 date de ieire: 7200 cm.
14)
S se scrie un program care citete un numr de ani i calculeaz numrul de luni, zile i
ore corespunztoare. Se consider c un an are 365 zile. Exemplu: date de intrare: 2 date de
ieire: 24 luni 730 zile 17520 ore.
15)
Mriuca ine evidena iepurilor din cresctorie. Ea i noteaz ci iepuri sunt la nceputul
fiecrei luni, ci au murit i ci s-au nscut n cursul fiecei luni. Putei s realizai un program
care, primind aceste date, s afieze la sfritul fiecrei luni ci iepuri sunt n cresctorie?
Exemplu : Date de intrare : nr. Iepuri la nceput de luna 10 nr. iepuri morti 2 nr. iepuri nascuti 6
Date de ieire : 14 iepuri.
16)
ntr-o gospodrie sunt 4 gini. Introducei n calculator prin variabilele a, b, c, d numrul de
ou pe care-l d fiecare gin ntr-o zi. Afiai cte ou se obin ntr-o sptmn.

17)
Se introduc n calculator dou date n variabilele a i b. S se fac un program care s
schimbe ntre ele valorile acestor variabile i s afieze noile valori ale lui a i b.
18)
O nav parcurge distana d ( n km ) dintre dou staii orbitale n a sptmni i b zile. S se
determine viteza navei exprimat n km/or.

2.

Instruciunea de decizie ; algoritmi cu ramificaii


Comparri ntre valorile a dou variabile
1) Date dou numere, afiai-l pe cel mai mic. Exemplu : Date de intrare : 44 32 Date de ieire :
32.
2) Se introduc vrstele a doi copii. Afiai care copil este mai mare i diferena de vrst dintre cei
doi. Exemplu : Date de intrare : 6 13 date de ieire : al doilea copil este mai mare cu 7 ani.
3) Se introduc punctajele a doi sportivi. Afiai-le n ordine descresctoare. Exemplu: Date de
intrare 100 134 Date de ieire: 134 puncte 100 puncte
4) Dintr-o cutie cu trei numere se extrag dou numere. Cunoscnd suma celor dou numere
extrase, s se afieze numrul rmas n cutie. Exemplu : date de intrare : numere existente in
cutie 5 12 8 suma numerelor extrase 13 date de ieire : 12.
5) Se dau dou numere. S se nmuleasc cel mai mare cu doi i cel mai mic cu trei i s se afieze
rezultatele. Exemplu : date de intrare : 3 7 date de ieire : 9 14
6) Se introduc dou numere ntregi. S se testeze dac primul numr este predecesorul
(succesorul) celui de-al doilea i s se afieze un mesaj corespunztor. Exemple : date de
intrare : 2 4 date de ieire : Nu ; date de intrare : 5 6 date de ieire : Da.
Compararea valorii unei variabile cu o constant
1) Se introduc dou numere nenule i un semn de operaie (+,-,*,/). S se efectueze cu cele dou
numere operaia introdus i s se afieze expresia care s-a calculat urmat de semnul = i de
valoarea ei. Exemplu : Date de intrare 10 6 * Date de ieire 10*6=60.
2) Se introduc trei date de forma numr ordine pacient, valoare glicemie. Afiai numrul de ordine
al pacienilor cu glicemia mai mare dect 100. Exemplu : Date de intrare nr 6 glicemie 90 nr
10 glicemie 107 nr 21 glicemie 110 Date de ieire 10 21
3) Ionel spune prinilor doar notele mai mari sau egale cu 7. ntr-o zi el a luat trei note. Introduceile n calculator i afiai acele note pe care le va comunica i prinilor. Exemplu : Date de intrare
8 7 5 Date de ieire 8 7.
4) Se introduc dou numere. Dac al doilea numr este diferit de 0, s se afieze ctul dintre primul
i al doilea, iar dac este nul, s se afieze mesajul mprire imposibil. Exemple : Date de
intrare 10 3 Date de ieire 3.33 Date de intrare 45 0 date de ieire Impartire imposibila.
5) Un lift pentru copii accept o greutate de maxim 100 kg. Introducnd n calculator greutile a
doi copii, specificai prin afiarea unui mesaj corespunztor, dac POT INTRA AMBII COPII sau
INTRA PE RAND. Exemple : Date de intrare : greutati copii 87 50 Date de ieire : Intra pe rand
Date de intrare 45 52 Date de ieire Pot intra ambii copii.
6) Ionel are voie s se uite la TV 20 de ore pe sptmn. Se introduc numrul de ore ct se uit la
TV n fiecare zi din sptmn. S se verifice dac va fi pedepsit sau nu. Exemplu: Date de
intrare: 3 4 2 2 5 6 1 Date de ieire: Va fi pedepsit.
7) S se scrie un program care determin greutatea ideal a unei persoane cunoscnd nlimea,
vrsta i sexul persoanei. Formulele de calcul sunt: Gmasculin = 50 + 0.75 * (inaltime - 150) +
(varsta - 20) / 4, Gfeminin = Gmasculin 10, unde nlimea este exprimat n cm i vrsta n
ani. Sexul se citete sub forma unui caracter, f sau m. Exemplu: Date de intrare: inaltime= 160
varsta=21 sex=f Date de ieire: greutate= 47.75 kg.
8) Scriei un program care s permit alegerea unei opiuni dintr-un anumit meniu afiat pe ecran:
se afieaz meniul
1. suma
2. produs
se introduc dou numere i se alege o operaie din meniu prin introducerea numrului de ordine.
Pe ecran s apar expresia i valoarea calculat.

Testarea ctului sau a restului mpririi ntregi


1) Se dau trei numere. S se afieze aceste numere unul sub altul, afind n dreptul fiecruia unul
dintre cuvintele PAR sau IMPAR. Exemplu : Date de intrare : 45 3 24 Date de ieire : 45 impar 3
impar 24 par.
2) Se dau dou numere nenule. S se verifice dac primul se mparte exact la al doilea. Exemplu :
Date de intrare : 45 7 Date de ieire : Nu.
3) Se dau dou numere. S se afieze acele numere care se mpart exact la 7. Exemplu : Date de
intrare : 34 28 Date de ieire : 28.
4) M iubete un pic, mult, cu pasiune, la nebunie, de loc, un pic,. Rupnd petalele unei
margarete cu x petale, el (ea) m iubete . Exemplu: Date de intrare: x=10 Date de ieire:
de loc.
5) La un concurs se dau ca premii primilor 100 de concureni, tricouri de culoare alb, roie,
albastr i neagr, n aceast secven. Ionel este pe locul x. Ce culoare va avea tricoul pe care-l
va primi? Exemplu : date de intrare : x=38 date de ieire : rosie.
6) ntr-o tabr, bieii sunt cazai cte 4 ntr-o csu, n ordinea sosirii. Ionel a sosit al n-lea. n a
cta csu se va afla? Exemplu : date de intrare : n=69 date de ieire : casuta 17.
7) Elevii clasei a V-a se repartizeaz n clase cte 25 n ordinea mediilor clasei a IV-a. Radu este pe
locul x n ordinea mediilor. n ce clasa va fi repartizat (A, B, C, D sau E)?. Exemplu : date de
intrare : x=73 date de ieire : C.
8) n Galaxia Reckya toate ceasurile au doar 4 ore. tiind c Gygely s-a nscut la ora 1 i c va tri
m ore, s se spun la ce or va muri Gygely. (m<=50). Se d numrul m. Se cere ora la care va
muri Gygely.
Ceasul arat astfel
1
4
2
3
Exemplu: Date de intrare: m=10 Date de ieire: 3. (www.contaminare.ro)
Operatori logici
1) Se dau trei numere diferite. S se afieze cel mai mare i cel mai mic. Exemplu : Date de intrare
45 34 78 Date de ieire max=78 min=34.
2) Se dau trei numere diferite. Afisai-le n ordine cresctoare. Exemplu : Date de intrare 4 2 6
Date de ieire 2 4 6.
3) Se dau trei numere diferite. Afiai numrul a crei valoare este cuprins ntre valorile celorlalte
dou. Exemplu : Date de intrare 12 14 10 Date de ieire 12.
4) Se introduc trei date de forma numr curent elev, punctaj. Afiai numrul elevului cu cel mai
mare punctaj. Exemplu : Date de intrare nr crt 7 punctaj 120 nr crt 3 punctaj 100 nr crt 4
punctaj 119 Date de ieire punctaj maxim are elevul cu nr crt 7.
5) Se introduc trei numere. S se verifice dac formeaz o secven de numere consecutive.
Exemple: Date de intrare 3 4 5 Date de ieire Da Date de intrare 4 5 7 Date de ieire Nu.
6) La ora de matematic Gigel este scos la tabl. Profesoara i dicteaz trei numere i i cere s
verifice dac cele trei numere pot fi laturile unui triunghi. Ajutai-l pe Gigel s afle rezultatul.
Scriei un program care primete numerele lui Gigel, care sunt mai mici ca 32000, i returneaz
DA sau NU. Observaie: Trei numere pot fi laturile unui triunghi numai dac fiecare este mai mic
ca suma celorlalte dou. Exemple: Date de intrare 3 5 7 Date de ieire Da Date de intrare 2 5
9 Date de ieire Nu.
7) S se verifice dac o liter introdus este vocal sau consoan. Exemplu : Date de intrare a
Date de ieire vocala.
8) Se introduc vrstele a 3 persoane. Afiai vrstele cuprinse ntre 18 i 60 de ani. Exemplu : Date
de intrare 56 34 12 Date de ieire 56 34.
9) Date dou numere, afiai acele numere care se mpart exact la 7 i la 11. Exemplu : Date de
intrare 154 213 Date de ieire 154.
10)
Se dau dou numere. S se verifice dac numrul mai mare se mparte exact la cel mai mic.
Exemplu : Date de intrare 10 250 Date de iere 250 se imparte exact la 10.
11)
Cunoscnd data curent exprimat prin trei numere ntregi reprezentnd anul, luna, ziua
precum i data naterii unei persoane, exprimat la fel, s se fac un program care s calculeze
vrsta persoanei respective n numr de ani mplinii. Exemplu : Date de intrare data curenta
2005 10 25 data nasterii 1960 11 2 Date de iere 44 ani.

Probleme diverse
1) Andrei primete ntr-o zi trei note, nu toate bune. Se hotrte ca, dac ultima not este cel
puin 8, s le spun prinilor toate notele primite iar dac este mai mic dect 8, s le comunice
doar cea mai mare not dintre primele dou. Introducei notele luate i afiai notele pe care le
va comunica prinilor. Exemple : Date de intrare 6 9 9 Date de ieire 6 9 9 ; Date de intrare
8 5 7 Date de ieire 8.
2) Se consider trei numere ntregi. Dac toate sunt pozitive, s se afieze numrul mai mare dintre
al doilea i al treilea numr, n caz contrar s se calculeze suma primelor dou numere.
Exemple: Date de intrare 45 23 100 date de ieire 100 ; Date de intrare 34 -25 10 Date de
ieire 9.
3) S se afieze cel mai mare numr par dintre doua numere introduse n calculator. Exemple : Date
de intrare 23 45 Date de ieire nu exista numar par ; Date de intrare 28 14 Date de ieire
28 ; Date de intrare 77 4 Date de ieire 4.
4) Pe o mas de biliard sunt bile albe, roii i verzi. Din fiecare culoare sunt bile de dou
dimensiuni: mari i mici. S se afieze cte bile sunt n total pe masa de biliard. Un juctor vrea
s-i spunei care bile sunt mai multe , cele mici sau cele mari, afind numrul lor. De ce culoare
sunt bilele cele mai numeroase? Precizai numrul lor. Exemplu: Date de intrare Nr. bile albe
mici: 2 Nr. bile albe mari: 3 Nr. bile rosii mici: 1 Nr. bile rosii mari: 4 Nr. bile verzi mici: 3 Nr. bile
verzi mari: 4 Date de ieire Totalul bilelor: 17 Mari: 11 bile Verzi: 7 bile
(www.contaminare.ro).
5) La ferma de gini Copanul este democraie. Fiecare gin primete exact acelai numr de
boabe de porumb. Cele care nu pot fi mprite vor fi primite de curcanul Clapon. S se spun
cine a primit mai multe boabe i cu ct. n caz de egalitate, se va afia numrul de boabe primite
i cuvntul "egalitate". Datele se vor citi n urmtoarea ordine: numrul de gini, iar dupa aceea
numrul de boabe de porumb. Exemplu: Date de intrare 100 4050 Date de ieire: Curcanul mai
mult cu 10 boabe.
(www.contaminare.ro).
3.

Instruciuni de ciclare , algoritmi ciclici


Utilizarea instruciunilor de ciclare pentru generare de numere
1)
2)

S se afieze toate numerele de forma a23a care se mpart exact la 6.


Un lift coboar de la etajul a la etajul b. Afiai toate etajele pe care le parcurge. Exemplu :
Date de intrare 8 3 Date de ieire 8 7 6 5 4 3.
3)
S se afieze tabla nmulirii cu n. Exemplu : Date de intrare n=5 date de ieire 1x5=5
2x5=10 3x5=15 4x5=20 5x5=25 6x5=30 7x5=35 8x5=40 9x5=45 10x5=50.
4)
S se afieze perechile de numere a i b care satisfac relaiile a+b=1000; 17 divide pe a i 19
divide pe b.
5)
S se genereze primii n termeni ai irului 1,1,2,2,2,3,3,3,3,4,4,4,4,4,.
6)
S se afieze primii n termeni ai irului lui Fibonacci : 0,1,1,2,3,5,8,13,21.
7)
Se d un numr. S se scrie, dac se poate, ca sum de dou numere impare. Exemple : date
de intrare 24 Date de ieire 24=1+23 24=3+21 24=5+19 24=7+17 24=9+15 24=11+13 ;
Date de intrare 33 Date de ieire Nu se poate.
8)
Se d un numr. S se scrie, dac este posibil, ca sum de dou numere consecutive.
Exemple : Date de intrare 5 Date de ieire 5=2+3 ; Date de intrare 6 Date de ieire Nu se
poate.
9)
Dndu-se un numr natural n, s se gseasc toate posibilitile de scriere a acestui numr
ca sum de numere consecutive. Exemplu : Date de intrare 15 Date de ieire 15=1+2+3+4+5
15=4+5+6 15=7+8.
10)
S se afieze toi divizorii unui numr natural dat. Exemplu : Date de intrare 12 Date de
ieire 1 2 3 4 6 12.
11)
Se introduce un numr. S se verifice dac este numr prim. Exemple: Date de intrare 23
date de ieire Prim ; Date de intrare 45 Date de ieire Nu este prim.
12)
S se afieze primele n numere prime. Exemplu: Date de intrare n=6 Date de ieire 2 3 5
7 11 13.

Stabilirea limitelor buclei for utiliznd regula celor trei pahare


1) Un lift parcurge distana dintre dou etaje a i b. S se afieze toate etajele parcurse, n ordinea
atingerii lor. Exemple : Date de intrare a=4 b=7 Date de ieire 4 5 6 7 ; Date de intrare
a=10 b= 8 Date de ieire 10 9 8.
2) Se dau numerele a, b i c. S se scrie un program care s afieze n ordine cresctoare toate
numerele care se divid cu a sau b i sunt mai mici dect c.
Indicaie: Se stabilete cu regula celor trei pahare ca n b s fie numrul mai mare i n a cel mai
mic i bucla se ia de la b la c.
3) S se calculeze suma numerelor naturale cuprinse ntre dou numere date ( dintr-un interval).
Exemplu: Date de intrare: capetele intervalului 3 6 Date de ieire suma=9.
Mai multe bucle for incluse una n alta (imbricate)
1) S se determine toate tripletele de numere a, b, c cu proprietile: 1<a<b<c<100; a+b+c se
divide cu 10.
2) S se afieze toate numerele de dou cifre care adunate cu rsturnatul lor dau 55.
3) Se cere listarea numerelor cuprinse ntre 100 i 599, avnd cifrele n ordine cresctoare i suma
cifrelor egal cu 18.
4) S se nlocuiasc literele cu cifre n scderea urmtoare:
a b c b eedab
----------ebce
Calcule de sume i produse
1) S se calculeze 7+14+21+28++98, 3*6*9*12**33
2) S se calculeze sumele s1=1+2+3++n
s2=1*2+2*3+3*4++(n-1)*n
s3=1+1*2+1*2*3++1*2*3**n
s4=12+22+32++n2
s5=1/2+2/3+3/4++n/(n+1)
s6=2-3+4-5+-99+100
s7=1+2+22+23+24++2n
3) Se introduc succesiv numere nenule pn la introducerea numrului 0. S se afieze suma
tuturor numerelor introduse. Exemplu: Date de intrare 3 5 4 2 0 Date de ieire 14.
4) Se citesc numere de la tastatur pn la introducerea unui numr impar divizibil cu 3. S se
afieze suma tuturor numerelor pare introduse. Exemplu: Date de intrare 7 4 6 2 1 9
Date de ieire 12.
Utilizarea instruciunilor de ciclare pentru repetarea unor aciuni
1) Se dau numerele a i n. S se afieze numrul a urmat de n zerouri. Exemplu : Date de intrare
a=34 n=5 Date de ieire 3400000.
2) Se dau un numr n i un numr prim k. S se specifice la ce putere apare k n descompunerea n
factori primi a numrului n. Exemplu : Date de intrare n=12 k=2 Date de ieire 2.
3) S se afieze descompunerea unui numr dat n factori primi. Exemplu : Date de intrare 12
Date de ieire 12 = 2^2 3^1.
4) Un copac crete zilnic cu 0.75 cm. La plantare avea 1 m. S se afieze dup cte zile ajunge la
nlimea de 12 m. La ce nlime ajunge dup o lun (30 zile)?
5) Pentru a o elibera pe Ileana Cosnzeana, Ft-Frumos trebuie s parcurg x km. El merge zilnic a
km, dar Zna-cea-Rea l duce n fiecare noapte cu b km napoi, b<a. Dup cte zile o elibereaz?
Exemplu: Date de intrare x=10 a=4 b=1 Date de ieire 3 zile.
6) A fost odat un balaur cu 6 capete. ntr-o zi Ft Frumos s-a suprat i i-a tiat un cap. Peste
noapte i-au crescut alte 6 capete la loc. A doua zi Ft Frumos iar i-a tiat un cap dar peste noapte
balaurului i-au crescut alte 6 capete i tot aa timp de n zile. n cea de a (n+1)-a zi, Ft

Frumos s-a plictisit i a plecat acas! Scriei un program care citete de la tastatur n, numrul
de zile, i care afieaz pe ecran cte capete avea balaurul dup n zile. Exemplu: pentru n=3 se
va afia 15 capete.
(ONI 2002 cl.a V-a)
7) A fost odat ca niciodat, a fost un cangur care cretea ntr-un an precum alii n zece. ntr-o zi a
nceput s fac srituri. i a srit pentru nceput 7 metri. A doua zi a srit, n plus fa de ziua
precedent, de zece ori mai mult. n a treia zi a reuit s sar, n plus fa de prima zi, de zece
ori mai mult dect n ziua a doua. n a patra zi a srit, n plus fa de prima zi, de zece ori mai
mult dect n ziua a treia. i tot aa mai departe. Scriei un program care calculeaz ci metri
a srit cangurul, n total, n n zile. Exemplu: pentru n=3 se va afia 861 m.
(ONI Focani 2003 cl.a V-a)
8) Se citesc de la tastatur numere naturale pn cnd suma numerelor pare este mai mare dect
k. Cte numere au fost introduse i care este suma numerelor pare? Exemplu: Date de intrare:
K=12
5 8 1 2 2 3 6
Date de ieire: 7 (numere) 18 (suma celor pare)
( P.N.C.
Bucureti, Cupa Mrior 2005)
Algoritmi de nsumare, contorizare, determinare a min i max
1) Se citesc pe rnd 4 numere ntregi. S se numere cte dintre ele au restul 7 la mprirea cu 13.
S se afieze aceste numere i produsul celorlalte numere. Exemplu: Date de intrare 20 15 30
46 Date de ieire Numere: 20 46 Total: 2 Produs: 450.
2) Se citesc pe rnd temperaturile medii ale fiecrei luni a unui an, ca numere ntregi. S se afieze
cu dou zecimale media anual a temperaturilor pozitive i a celor negative. Exemplu: Date de
intrare -5 -3 1 8 12 17 20 21 18 10 6 -2 Date de ieire medie_poz=13.66 medie_neg=3.33.
3) Se citesc numere naturale strict pozitive pn la ntlnirea numrului 0. S se numere cte dintre
ele sunt pare, presupunnd c cel puin primul element este nenul. Exemplu: Date de intrare 4 3
6 5 7 7 0 Date de ieire 2 numere pare.
4) Se introduc datele de natere a n copii, sub forma an, numr lun, zi. S se afieze ci copii sunt
nscui pe 1 iunie i ci copii sunt nscui n 1994, 1995 i 1996. Exemplu: Date de intrare n=3
an=1994 luna=12 zi=3 an=1990 luna=6 zi=1 an=1995 luna=6 zi=1 Date de ieire 2 copii
nscui la 1 iunie 2 copii nscui n 1994 1995 1996.
5) Se citesc de la tastatur numere ntregi pozitive atta timp ct suma lor nu depete 1000. S
se scrie un program care s afieze cea mai mic i cea mai mare valoare a acestor numere.
Exemplu: 550 345 100 45 Date de ieire max=550 min=100.
6) Se citesc mediile a n elevi, ca numere reale. S se afieze cea mai mare i cea mai mic medie.
S se verifice dac sunt corigeni. Exemplu : Date de intrare n=4 9.50 4.25 9.66 6.33 Date
de ieire max=9.66 min=4.25 1 corigent.
Algoritmul de mprire n cifre a unui numr
1) Se dau trei numere a,b,c, de cte dou cifre, nenule, fiecare. Folosind cifrele unitilor celor trei
numere se va genera un numr x de trei cifre, iar cu cifrele zecilor se va genera un numr y de
trei cifre. S se afieze x i y. Exemplu : date de intrare a=24 b=13 c=64 date de ieire x=434
y=216.
2) Se introduce un numr natural cu maxim 9 cifre. S se determine i s se afieze numrul de
cifre, cea mai mare cifr i suma tuturor cifrelor acestui numr. Exemplu: Date de intrare
24356103 Date de ieire 8 cifre max=6 min=0 suma=24.
3) Cte cifre pare sunt ntr-un numr dat? Exemplu : Date de intrare 34425346 Date de ieire 4
cifre.
4) S se verifice dac la scrierea unui numr, introdus de la tastatur, cifrele pare i impare
alterneaz. Exemplu : date de intrare 347092 date de ieire da.
5) n cte zerouri se termin un numr de maxim 9 cifre, introdus de la tastatur? Exemplu : Date
de intrare 20034000 Date de ieire 3 zerouri.
6) Se introduce un numr. S se verifice dac este palindrom. Exemple : Date de intrare 12321
Date de ieire Da ; Date de intrare 23034 Date de ieire Nu.
7) S se afieze toate numerele palindroame mai mari dect 10 i mai mici dect un numr dat, n.
Exemplu : Date de intrare n=110 date de ieire 11 22 33 44 55 66 77 88 99 101.
8) Se introduce un numr natural n cu maxim 8 cifre, nenule i distincte, mai mici ca 9. S se
afieze cifrele numrului n ordine descresctoare. Indicaie: fiecare cifr c se nmulete cu 10c,

se adun aceste numere i se afieaz fr zerouri. Exemplu: pentru n=354, s-ar face
urmtoarele calcule: 4*104+5*105+3*103=54300 i se va afia 543 .
9) Dat un numr ntreg de maxim 9 cifre, s se afieze numrul de apariii al fiecrei cifre.
Exemplu : Date de intrare 364901211 Date de ieire 0 apare de 1 ori 1 apare de 3 ori 2 apare
de 1 ori 3 apare de 1 ori 4 apare de 1 ori 5 apare de 0 ori 6 apare de 1 ori 7 apare de 0 ori
8 apare de 0 ori 9 apare de 1 ori.
10)
Afiai cte cifre distincte conine un numr nenul. Exemplu : date de intrare 234323 Date
de ieire 3 cifre.
11)
Se dau dou numere naturale a,b cu maxim 9 cifre. a) S se determine cifrele distincte
comune numerelor a i b.
b) S se afieze numrul cel mai mare format din toate cifrele lui
a i b
Exemplu : pentru a=2115 b=29025 se va afia a) 2 5 b) 955222110
(OJI, clasa a V-a,
2004)
12)
Se introduc dou numere, a i b, a<b<5000000. S se afieze ultima cifr a sumei tuturor
numerelor aflate ntre a i b. Exemple: Date de intrare a=12 b=14 date de ieire 9 ; date de
intrare
a=1000000 b=3000000 date de ieire 0.
13)
Se dau dou numere avnd acelai numr de cifre. Cte cifre trebuie modificate pentru a
transforma un numr n cellalt ? Exemplu : pentru n1= 2135 i n2= 7139 este necesar
modificarea a dou cifre.
Algoritmul lui Euclid
1) Se dau dou numere nenule. S se afieze cmmdc i cmmmc al lor. Exemplu : Date de intrare 12
32 Date de ieire cmmdc=4 cmmmc 96.
2) Se dau numitorul i numrtorul unei fracii. S se simplifice, dac se poate, i s se afieze
fracia simplificat. Exemplu : Date de intrare 12 32 Date de ieire 3/8.
3) Se dau trei numere. Determinai i afiai cmmmdc al lor. Exemplu : Date de intrare 12 32 38
Date de ieire 2.
4) Se d numrul n, s se afieze toate numerele mai mici ca el prime cu el. Exemplu : date de
intrare n=10 date de ieire 1 3 7 9.
5) ntr-o tabr particip b biei i f fete. Se organizeaz un joc la care trebuie s participe un
numr ct mai mare de echipe, formate din acelai numr nrb de biei i nrf de fete. Trebuie s
scriei un program care determin numrul maxim de echipe care se pot forma i numrul nrb de
biei i, respectiv numrul nrf de fete, care intr n componene fiecrei echipe. Dac nu se pot
forma cel puin dou echipe identice, afiai Nu ne putem juca. Exemple: pentru b=10 f=15 se
va afia: 5 echipe cu 2 baieti 3 fete, pentru b=12 f=25 se va afia Nu ne putem juca.
6) Se citesc de la tastatur patru numere ntregi diferite de zero. Numerele reprezint n ordinea
citirii: numrtorul i numitorul primei fracii, respectiv numrtorul i numitorul celei de a doua
fracii. S se adune cele doua fracii i s se afieze numrtorul i numitorul sumei. Exemplu:
Date de intrare: 6 18 12 24 Date de ieire: 5 6.
Probleme diverse
1) S se afieze toate numerele pn la 100 care au patru divizori.
2) Dintre numerele mai mici ca 1000, care au cei mai muli divizori ?
3) Se dau n numere. n cte zerouri se va termina produsul lor? Exemplu : date de intrare n=4 5
4 10 25 date de ieire 3 zerouri.
4) Se d un numr natural n, n<=100 i o cifr k din mulimea {2,3,5,7}. Se cere s se afieze
exponentul lui k n descompunerea n factori primi a produsului 1*2*3**n. Exemplu: date de
intrare n=8 k=2 date de ieire 7. (ONI 2003 clasa a V-a)
5) Se introduc temperaturile medii msurate n fiecare lun a unui an. S se afieze valoarea celei
mai mari temperaturi negative i a celei mai mici temperaturi pozitive a acelui an. Exemplu:
date de intrare -4 -6 0 5 10 20 24 25 17 8 -1 -7 date de ieire max negative=-1
min pozitive=5.
6) Se citete un numr natural n cu cel mult 9 cifre i se cere s se afieze o piramid format din
cifrele lui astfel: pe prima linie cifra (sau cifrele) din mijloc, pe a doua cele 3 (sau 4 ) cifre din
mijloc, etc. pe ultima s fie scris numrul dat. Exemplu: n=237855 se va afia 7 8
378 5
2 3 7 8 5 5

7) Dat valoarea unui numr natural, se cere s se tipreasc n scriere roman.


8) Se citesc pe rnd caracter cu caracter elementele unei expresii matematice, caracterele citite
pot fi doar cifre i +, -, * ,/ i =, pn la ntlnirea semnului =. Operaiile se fac n ordinea
introducerii lor, fr a se ine seama de prioritate. Calculatorul s afieze rezultatul expresiei.
9) O broscu se deplaseaz efectund cte o sritur de lungime p cm la fiecare secund. Dup
fiecare n secunde broscua devine mai obosit, iar lungimea sriturii pe care o face se
njumtete. Scriei un program care s citeasc de la tastatur lungimea iniial a sriturii, p,
numrul de secunde dup care broscua i injumtete saltul, n, precum i durata total a
deplasrii broscuei T (exprimat n secunde) i care s determine distana total pe care a
parcurs-o broscua. Distana total determinat va fi afiat pe ecran cu dou zecimale.
Restricii: p, n, T sunt numere naturale; p, n, T<30000;T/n<16 Exemplu Pentru n=10, p=20 i
T=33, distana total pe care se deplaseaz broscua este 357.50 cm.
(ONI, Galaciuc 2001,
clasa a V-a)
10)
La un concurs de matematic particip elevi din mai multe coli din diferite orae. Pentru a
se putea deosebi ntre ele lucrrile lor, fiecare lucrare este codificat printr-un numr natural cu
3 cifre, s zicem abc, unde a este codul oraului, b este codul colii din oraul a iar c este codul
unui elev din coala b din oraul a. Ex.: lucrarea cu codul 328 este lucrarea elevului cu codul 8 de
la coala cu codul 2 din oraul cu codul 3. Se cunosc: un cod (al lucrrii unui elev H, prietenul
nostru), numrul n de lucrri i codurile acestora. Cerin: Se cere s se rezolve cerinele:
a) Verificai dac H este premiant sau nu.
b) Determinai numrul de premii luate de elevii din oraul lui H
c) Determinai numrul de premii luate de elevii din coala lui H
Exemplu: date de intrare codH 123 n=4 133 221 123 125
Date de ieire a) da b) 3 c) 2
(OJI, clasa a V-a, februarie 2004)
11)
O carte are N pagini. Pe paginile care au numrul asociat divizibil cu K i nedivizibil cu H se
afl poze. Cerin: pentru N, K, H citite de la tastatur se cere s se afieze ultima cifr a sumei
numerelor asociate paginilor care au poze, dac problema nu are soluie se va afia mesajul:
Imposibil!
Restricii 0<N<1000000001 0<K,HN. Exemplu Pentru N=20, K=3, H=2 se va afia 7
(CNI Satu-Mare 2003 clasa a V-a)
12)
ntr-o parcare sunt n maini care au numere de nmatriculare provizorii (numere ntregi, din
cel mult 5 cifre). Mainile sunt aezate n ordinea de citire a numerelor de nmatriculare. S se
afieze poziiile pe care se afl mainile pentru care suma cifrelor numrului de nmatriculare
este impar ( n<= 20).
Exemplu: pt. n=5 i numerele de nmatriculare:
634 90281 63721 30361
70915 se vor
afia poziiile:
134
(CNI
SatuMare 2002 clasa a V-a)
13)
n vacan la mare dup ce se plictisete de plaj i ap, Ionic este mai tot timpul n Parcul
de distracii. Dintre toate locurile de distracie el a ales tirul. Astfel, ntr-o sear Ionic obine S
puncte, dup un anumit numr de trageri (cel puin dou trageri). tiind c la toate tragerile
efectuate a obinut puncte i c dup fiecare tragere el progreseaz constant, adic obine cu un
punct mai mult dect la tragerea anterioar, se cere s se determine toate modalitile de
obinere a punctajelor (cu suma lor egal cu S). Date de intrare: de la tastatur se va citi
valoarea lui S (numr natural nenul 998877). Date de ieire: Pentru fiecare soluie se va afia
pe cte un rnd numrul de trageri i punctajul primei trageri cu un spaiu ntre ele, iar la sfrit
pe ultima linie se va afia mesajul Numar solutii, urmat de numrul de soluii. Exemplu: Pentru
S=15 pe ecran se va afia:
5 1
2 7
3 4
Numr soluii 3
(ONI
Glciuc 2002 clasa a V-a)
14)
Pentru a descoperi numrul cheii ce trebuie s o foloseasc pentru a putea s o elibereze pe
Ileana Cosnzeana, Ft-Frumos are de rezolvat urmtoarea problem: Pentru numrul citit pe
u, trebuie s calculeze suma divizorilor i, dac aceast sum este un numr prim, atunci
codul este egal cu suma cifrelor numrului citit. n caz contrar, codul este egal cu suma cifrelor
impare ale numrului citit. Ajutai-l pe erou s descopere numrul cheii. Exemple: date de intrare
472 date de ieire cheia 7 ; Date de intrare 4 date de ieire cheia 4.
(CNI-etapa judeean, 2005)
15)
Se dau dou numere avnd acelai numr de cifre. Cte cifre trebuie modificate pentru a
transforma un numr n cellalt? Exemplu: date de intrare n1=2135 n2=7139 date de ieire 2
cifre.
(CNI-etapa judeean, 2005)

4.

Variabile booleene
1) Ctlina are o maimu care a nvat s scrie la tastatur. Pentru aceast sptmn trebuie s
nvee s scrie trei cuvinte de maximum 10 caractere. Din pcate, maimua se grbete i apas
greit pe taste. Ajutai-o pe Ctlina s verifice cnd maimua a scris corect cele trei cuvinte.
Date de intrare: cele trei cuvinte i cuvintele introduse de maimu. Programul se va opri atunci
cnd maimua a reuit s scrie corect toate cele trei cuvinte indiferent de ordinea introducerii
sau de numrul de cuvinte greite introduse. Separarea intre cuvinte se face apsnd tasta
Enter. Exemplu: Pentru cuvintele: Palat calculator jungla, maimuta poate tasta: palat Calutin
jungla Pialat Cucalator calculator Palat se va afia AI REUSIT!
(www.contaminare.ro)
2)
Cine se uit la televizor ?
Ana, Barbu, Clin, Dumitru i Elena petrec mpreun o zi de iarn.
Dac Ana privete la TV, la fel face i Barbu
Fie Dumitru, fie Elena, fie amndoi privesc la TV
Fie Barbu, fie Clin privete la TV, dar nu amndoi
Dumitru i Clin fie privesc, fie nu privesc la TV, dar asta numai mpreun
Dac Elena privete la TV atunci Ana i Dumitru se uit i ei
Indicaie : se vor folosi variabilele booleene a,b,c,d,e care vor avea valoarea true sau false dup
cum propoziiile Ana se uit la TV , Barbu se uit la TV , etc. sunt adevrate sau false.
3)
Cine minte ?
ntr-o mprejurare n care sunt implicai a, b i c se fac urmtoarele afirmaii : a susine c b
minte, b susine c c minte, c susine c a i b mint. Cine minte i cine spune adevrul ?

5.

Generarea aleatoare a numerelor


Funcia random i procedura randomize
1) S se simuleze aruncarea unui zar de n ori afindu-se valoarea feei i s se afieze de cte ori
a aprut valoarea 6.
2) Se arunc 2 zaruri pn la obinerea unei duble. S se afieze suma punctelor.
3) Se extrag n bile dintr-o urn, notate de la 1 la 20. Valoarea bilei va fi generat de calculator. S
se afieze cea mai mare valoare extras.
4) Dintr-o urn cu bile albe i negre se extrage pe rnd cte o bil, de n ori. Afiai cte bile albe i
cte negre au fost extrase.
5) S se fac un test de nmulire cu dou numere cuprinse ntre 0 i 10, generate de calculator,
care s cuprind cel mult 5 ncercri.

6.

Tablouri cu o dimensiune (vectori)


Introducere, parcurgere, afiare
Parcurgere cu instruciunea for
1) Se citesc 4 numere de maxim 9 cifre. S se afieze pe vertical, specificndu-se i poziia pe
care o ocup n ir. Exemplu: Date de intrare 5 3 7 6 Date de ieire 5
pozitia 1
3
pozitia 2
7
pozitia 3
6
pozitia 4
2) Se d un ir de 10 numere naturale. S se afieze pe dou rnduri, pe primul rnd cele pare i pe
al doilea cele impare. Exemplu: Date de intrare 4 3 2 5 6 8 9 0 1 5 Date de ieire
4 2 6
8 0
3 5 9 1 5
3) Se introduc 10 litere, s se afieze n ordinea invers introducerii. Exemplu: Date de intrare a b r
a c a d a b r Date de ieire r b a d a c a r b a.
4) Un acrostih este o poezie la care, citind nceputul fiecrui vers, se obine un mesaj. S se
introduc un acrostih, vers cu vers, i s se afieze mesajul dat de primele litere. Exemplu:
pentru
Vreau s dorm
Rd n somn
Este ca un drog

Acest drag somn


Uitat n pat
Se va afia
VREAU
5) Introducei n numere ntr-un vector i un numr d. Afiai acele numere din irul dat care sunt
divizibile cu d. Exemplu: date de intrare n=5 numere: 5 7 10 23 15 d=5 Date de ieire 5 10
15.
6) Robin Hood se afl la un concurs de tras cu arcul. Acolo el trebuie s obin punctajul x doar din
trei sgei(sageata 1+sageata2+sageata3=punctajul x). inta este format din n cercuri
concentrice (unul n altul). Fiecare cerc are un anumit punctaj. S se spun valorile cercurilor n
care trebuie s trag Robin Hood pentru a obine punctajul x. Dac exist mai multe soluii, s se
printeze toate. Dac nu exist soluii, s se printeze imposibil. Date de intrare: pe prima linie n
i x, pe a doua linie valoarea fiecrui cerc. Date de ieire: soluiile sau imposibil. Exemplu:
Intrare:n=3 x=4 valori cercuri 1 2 3 4 Ieire: 1 1 2 (explicaie: 1+1+2=4)
(www.contaminare.ro)
Utilizarea altor instruciuni de ciclare pentru parcurgerea vectorilor
1) S se afieze elementele unui vector pn la prima valoare nul. Dac nu exist nici un 0, se vor
afia toate numerele i mesajul Nici un element nul. Exemplu: Date de intrare: numar
elemente=5, numere 3 6 8 0 2 3 Date de ieire 3 6 8.
2) Se introduc n numere reprezentnd punctajele obinute la un concurs. S se afieze primele k
punctaje mai mari dect o valoare b, necesar calificrii la o etap superioar. Dac nu sunt
suficieni concureni care s fi obinut punctaj peste b, s se afieze i mesajul Candidati
insuficienti. Exemplu: Date de intrare n=3 punctaje: 45 23 78 k=2 b=50 Date de ieire 78.
3) Se introduc un numr par de numere. S se adune cte dou numere consecutive i s se
afieze sumele obinute. Exemplu: Date de intrare: numar elemente: 6, numere 5 4 3 6 5 5 Date
de ieire 9 9 10.
4) Se introduc pe rnd n caractere. S se afieze pe ce poziie apare prima dat caracterul spaiu.
Exemplu: Date de intrare n=10 caractere i n f o c l u b 7 Date de ieire 5.
5) Cpitanul Jack O'Neel se afl pe o nav spaial. Nava are lungimea de n camere i limea de o
camer. El se afl n camera numrul 1. n fiecare camer se afl un dispozitiv de teleportare.
Acest dispozitiv te poate teleporta ntr-o alt camer din cele n. S se spun dac O'Neel poate
ajunge n camera h. Date de intrare: Pe prima linie numrul n i numrul h. Pe a doua linie sunt n
numere, fiecare numr indic n ce camer l transmite pe Jack O'Neel teleportorul din acea
camer. Date de ieire: Dac O'Neel poate ajunge n camera h se va printa "DA" i camerele prin
care a trecut. Dac nu poate ajunge n camera h s se printeze "NU". Obs: Dac O'Neel trece de
dou ori prin aceeai camer, acesta nu mai ncearc s ajung n camera h i se va printa "NU".
Exemple: Date de intrare: n=5 h=4 teleportari: 2 3 4 1 3 Date de ieire:
DA 1 2 3 4 Date de intrare: n=4 h=4 teleportari:1 2 3 4 date de ieire: NU
(www.contaminare.ro)
Sume, produse, contorizri, min, max
1) S se afieze suma valorilor pozitive i suma valorilor negative din n numere date. Exemplu:
Date de intrare n=6 numere 6 9 -8 7 5 3 Date de ieire: S poz= 22 S neg=-16.
2) Se introduc temperaturile msurate n n zile. S se afieze media temperaturilor negative i
media celor pozitive. Exemplu: Date de intrare n=5 temperaturi 23 24 23 25 22 Date de ieire
23.40
3) Din n numere ntregi introduse n calculator doar unul este nul i nu este primul sau ultimul.
Afiai suma numerelor din faa acestui 0 i suma celor de dup el. Exemplu: Date de intrare n=5
numere 4 5 1 0 7 Date de ieire s1=10 s2=7.
4) ntr-un ir de numere ntregi, s se afieze suma elementelor de pe poziiile pare i suma celor
de pe poziii impare. Exemplu: Date de intrare n=6 numere 3 1 5 4 6 7 Date de ieire simp=14
spar=12.
5) Se introduc n calculator i se memoreaz vrstele a n brbai. Afiai ci au vrsta mai mare
dect 50 i mai mic dect 70 de ani. Exemplu: Date de intrare n=4 varste 56 45 76 65 Date de
ieire 2 barbati.
6) La o cur de slbire de k zile se nscriu n persoane, fiecare cu greutatea g(i). tiind c greutatea
ideal este mai mare sau egal cu a i mai mic sau egal cu b, iar persoanele urmeaz

10

tratamente diferite astfel: cei sub greutate ideal se ngra 1 kg pe zi, cei peste greutatea
ideal slbesc 1 kg pe zi, cei cu greutatea ideal i pstreaz greutatea, aflai a) numrul de
persoane cu greutate ideal la nceputul tratamentului ; b) numrul persoanelor cu greutate
ideal dup cele k zile de tratament. Exemplu: n=10 k=7 a=40 b=50 i 38 41 48 50 54 58 60 42
32 se va afia a) 4 persoane b) 7 persoane.
(InfoStar Aiud 1998 clasa a VI-a)
7) Date n numere naturale, cte sunt prime cu 7? Dar cu 10? Exemplu: Date de intrare n=6 numere
5 7 14 20 12 15 Date de ieire: prime cu 7: 4 nr, prime cu 10: 1 nr.
8) Se introduc n numere egale cu 0, 1 sau 2. S se scrie un program care s determine pe ce poziie
apare primul 0, de cte ori apare fiecare cifr i care este cifra folosit cel mai puin. Exemplu:
Date de intrare n=7 numere: 1 1 0 2 1 0 1 Date de ieire: pozitie primul zero 3, cifra 0 apare de
2 ori cifra 1 apare de 4 ori cifra 2 apare de 1 ori, cel mai putin: 2 .
9) Afiai cte numere au forma aaa , din n numere date. Exemplu: Date de intrare n=3 numere
123 222 434 Date de ieire 1 nr.
10)
Se introduc nlimile, exprimate n cm, a n copii. Afiai nlimea celui mai nalt i nlimea
celui mai scund copil. Care este diferena de nlime ntre ei? Exemplu: Date de intrare: n=5
inaltimi 120 118 120 115 100 117 Date de ieire imax=120 cm imin=100 cm diferenta=20 cm.
11)
Se dau n numere. S se determine cea mai mic valoare i s se afieze de cte ori apare ea
n ir. Exemplu: Date de intrare n=8 numere 6 4 7 5 8 5 9 5 Date de ieire min=5 apare de 3 ori.
12)
Se introduc n numere ntregi. Dintre numerele mai mici ca 100, afiai numrul cu valoarea
cea mai mare. Exemplu: Date de intrare: n=4 numere 120 98 34 105 Date de ieire: 98.
13)
S se calculeze suma componentelor pozitive, produsul celor negative i numrul
componentelor nule ale unui vector cu n numere reale. Exemplu: Date de intare: n=7 numere 1
0 -4 -3 0 5 -1 Date de ieire: s=6 p=-12 c=2.
14)
Un lot de pmnt este mprit n n parcele dreptunghiulare, numerotate de la 1 la n. Se
citesc perechile de numere care reprezint lungimea i limea fiecrei parcele. S se afieze
suma ariilor parcelelor i valoarea celei mai mari suprafee. Exemplu: Date de intrare: n=3,
lungime=10 latime=5 lungime=15 latime=10 lungime=12 latime=5 Date de ieire: suma=260
max=150.
15)
S se nlocuiasc fiecare element dintr-un ir numeric cu media aritmetic a celorlalte n-1
elemente ale sale. Exemplu: Date de intrare: n=3 numere 1 2 3 Date de ieire: 2.5 2 1.5
16)
Mo Crciun sosete n mijlocul copiilor oferind fiecrui copil un cadou cu o anumit valoare
(numrul copiilor se citete de la tastatur, precum i valorile cadourilor, n lei). S se spun:
-ct a cheltuit Moul pentru cumprarea cadourilor (n moi, 1 leu=6 moi)
-dac Moul are sau nu un copil preferat, adic dac exist un copil al crui cadou s aib
valoarea mai mare dect suma valorilor cadourilor tuturor celorlali copii. Dac exist, afiai DA,
urmat de indicele copilului, n caz contrar afiai NU. Exemplu: dac n=5 valori cadouri: 10 50
6 5 20, se va afia: Mosul a cheltuit 546 mosi
DA 2
(InfoStar, Aiud 1995 clasa a VI-a)
17)
Un pitic vrea s urce o scar care are n trepte de nlimi date, ordonate cresctor. nlimile
treptelor sunt n cm i sunt valori ntregi. Acolo unde diferena ntre dou trepte consecutive este
de 1 cm piticul urc fr dificulti, unde diferena este mai mare dect 1 cm piticul trebuie s ia
o pastil care i d putere s sar pe treapta urmtoare. Cunoscnd nlimile treptelor, prima
fiind obligatoriu 0, piticul vrea s afle care este numrul minim de pastile de care are nevoie
pentru a urca scara i de asemenea care este cea mai mare diferen dintre dou trepte
consecutive. Exemplu: pentru n=9 i nlimile treptelor 0 3 4 6 7 10 19 20 21, se va afia:
numar minim de pastile =4 diferenta maxima=9
(InfoStar, Aiud 1996 clasa a VI-a)
18) Copiii dintr-o clas merg la cules de portocale. Se citete de la tastatur numrul de copii din
clas i cte portocale a cules fiecare copil. tiind c cel care spune c a cules cele mai multe
portocale i cel care spune c a cules cele mai puine portocale mint, s se spun cte portocale
au cules mpreun toi copiii din clas care spun adevrul. Exemplu: date de intrare : 5 (nr. de
copii din clas) 69 25 14 329 54 date de ieire: 148.
19)
Se citesc de la tastatur n numere naturale. S se spun cte din ele sunt cu 3 cifre.
20)
ntr-o clas sunt x copii. Acetia merg ntr-o pia n care sunt n vnztori de mere. Se citete
de la tastatur numrul de mere ale fiecrui vnztor. Copiii vor cumpra mere doar de la
vnztorii care au cel puin 3 mere pentru fiecare copil. Ci vnztori ndeplinesc aceast
condiie? Exemplu: Date de intrare: x=25 (numrul de copii) n=5 (numrul de vnztori) 280
456 78 50 75 Date de ieire: 4 (vnztori) (P.N.C. Bucureti, Cupa Mrior 2005.)
21)
Se consider n mulimi. Fiecare mulime conine numai numere consecutive. Pentru a da
aceste mulimi este suficient s dm primul i ultimul element. Scriei un program care s

11

determine elementele interseciei celor n mulimi. Date de intrare: De la tastatur se citete


numrul n. Apoi perechi de numere, cte una pe un rnd, separate prin cte un spaiu, care
reprezint cel mai mic, respectiv cel mai mare element din fiecare mulime. Date de ieire: Pe
ecran se va afia pe prima linie elementele interseciei cu cte un spaiu ntre ele. Restricii i
precizri: 0 < n < 31 Elementele mulimilor sunt numere naturale < 41.
Exemplu: date de intrare: n=3 perechi: 5 10 2 9 4 11 Date de ieire: 5 6 7 8 9.
Ordonarea elementelor unui vector
1) Se dau n numere reale. S se afieze n ordine cresctoare. Exemplu:Date de intrare: n=4
numere:7 -3 9.8 0 Date de ieire 3 0 7 9.8
2) Se d un vector cu n componente ntregi. Se cere s se afieze primele k componente n ordine
cresctoare iar celelalte n ordine descresctoare. Exemplu: n=7 k=3 irul 23 12 18 4 0 23 5 se
va afia 12 18 23 23 5 4 0
3) N numere naturale introduse de la tastatur s se afieze astfel: numerele pare n ordine
cresctoare i cele impare n ordine descresctoare. Exemplu: pentru n=7 i irul 2 5 3 1 8 5 4 se
va afia 2 1 3 5 4 5 8.
4) Prin ordonarea elementelor unui vector format din n caractere, s se afieze de cte ori apare
fiecare caracter. Exemplu: Date de intrare: n=4 elemente: a 4 g a Date de ieire: a apare de 2 ori
g apare de 1 ori 4 apare de 1 ori.
5) Cunoscnd numele i nlimea a n elevi, n<=100, s se afieze numele acestora n ordinea
descresctoare a nlimii. Exemplu: Date de intrare: n=3 nume: Ion inaltime: 120 nume:Ana
inaltime:114 nume: Dan inaltime 130 Date de ieire: Dan Ion Ana
6) La un concurs particip n sportivi. Se cunosc rezultatele fiecrui sportiv. S se afieze cele mai
bune trei rezultate, n ordine descresctoare a performanei. Exemplu: pentru n=5 i rezultatele
156 187 23 97 86 se va afia 187 156 97.
7) Se cunosc punctajele obinute de cei n elevi participani la un concurs de informatic. tiind c
doi elevi primesc acelai premiu numai dac au punctaje egale, s se determine ci elevi
primesc Premiul I, ci Premiul II i ci Premiul III. Cerin: Scriei un program care citete de la
tastatur numrul concurenilor precum i punctajele acestora, luate din borderoul de corectare,
i determin i afieaz pe ecran pe cte o linie numrul de elevi pentru fiecare din cele trei
premii. Restricii: numrul n al elevilor nu depete 300 iar punctajul fiecruia este un numr
natural cel mult egal cu 100. Exemplu: Pentru n=10 si punctajele: 58 79 34 12 58 40 79 58 30 58
se vor afia numerele: 2 4 1 ceea ce nseamn c 2 elevi primesc Premiul I (cei care au
obinut 79 puncte), 4 elevi obin Premiul II (cei cu 58 puncte) i un elev (cel cu 40 puncte)
primete Premiul III.
8) Se introduc n numere de cte una sau dou cifre. S se afieze aceste numere n ordinea
cresctoare a primei lor cifre. Exemplu: pentru n=5 i numerele 34 2 5 62 25 se va afia 2 25
34 5 62 sau 25 2 34 5 62.
Deplasarea elementelor unui vector
1) S se insereze cifra 0 pe prima poziie a unui vector dat, fr a utiliza un alt vector. Exemplu:
Date de intrare: n=4 numere: 5 3 7 8 Date de ieire: 0 5 3 7 8.
2) Se introduc n numere n calculator. S se rearanjeze elementele din ir astfel nct primul
element al irului dat s apar pe ultima poziie. Exemplu: Date de intrare: n=3 numere: 1 2 3
Date de ieire: 2 3 1.
3) Se introduc n numere n ordine cresctoare i un numr k. S se insereze acest numr n irul dat
astfel nct s rmn sortat cresctor. Exemplu: Date de intrare: n=4 k=100 numere: 90 95 110
120 Date de ieire: 90 95 100 110 120.
4) Definim operaia de compactare a unui tablou ca fiind eliminarea zerourilor. Dac ntlnim un
element nul toate elementele situate la dreapta sa vor veni cu o poziie mai in fa, n locul su.
Se d un tablou cu n elemente intregi. Compactai-l. Exemplu: Date de intrare: n=4 numere: 9 0
0 5 Date de ieire: 9 5.
5) S se aeze toate elementele egale cu o valoare v dintr-un ir de n numere date, la sfritul
irului. Exemplu: Date de intrare: n=4 v=5 numere: 5 6 5 3 Date de ieire: 6 3 5 5.
6) Se introduc n calculator dou tablouri de dimensiunem, respectiv n, i un numr k, k<=m. S se
intercaleze n primul tablou, dup poziia k, tabloul al doilea.

12

Verificarea unor proprieti


1) Se introduc dou iruri de numere cu acelai numr de elemente. S se verifice dac valorile lor,
n ordinea dat, sunt proporionale. Exemplu: Date de intrare: n=3 sir1: 1 2 3 sir2: 3 6 9 Date de
ieire: Da.
2) S se verifice dac un vector dat este monoton cresctor.
3) S se caute un numr x printre n numere ntregi generate de calculator avnd valori ntre 0 i
100. Dac se gsete valoarea respectiv s se afieze ultima poziie n care apare, dac nu se
gsete, s se afieze mesajul numar inexistent
4) Un tren este format din n vagoane de clasa I-a i a II-a. eful de tren nu vrea s fie mai mult de k
vagoane de aceeai clas unul dup altul. Introducndu-se o aranjare a vagoanelor, s se
testeze dac exist mai mult de k vagoane de acelai fel consecutive. Se va afia un mesaj
corespunztor. n caz afirmativ, s se afieze i poziia de nceput a subirurilor cu mai mult de k
elemente de acelai fel. Exemplu: Date de intrare: n=6 k=3 tip vagoane: 1 1 2 2 2 2 Date de
ieire: Da, pozitia de inceput 3.
5) Date dou iruri de numere, a cu n elemente i b cu m elemente, m< n, s se verifice dac b
este subir al lui a. Exemplu: Date de intrare: n=4 elemente a: 1 2 3 4 m=2 elemente b: 2 4 date
de ieire: da.
6) Se d un ir de numere reale. S se verifice dac irul este o progresie aritmetic (diferena
dintre oricare dou numere alturate este aceeai, de exemplu: 1,4,7,10,13)
7) S se verifice dac n numere date formeaz o mulime (elementele sunt distincte), ordonnd
elementele. Exemple: Date de intrare: n=4 numere: 4 6 2 6 Date de ieire: Nu ; Date de intrare:
n=3 numere: 3 5 2 Date de ieire: Da.
8) S se verifice dac doi vectori cu aceeai lungime au aceleai elemente, ordonnd ambii vectori
n prealabil. Exemple: Date de intrare: n=3 primul vector: 4 2 6 al doilea vector: 6 2 4 Date de
ieire: Da; Date de intrare: n=2 primul vector: 4 2 al doilea vector: 3 4 Date de ieire: Nu.
Construirea unor vectori
1) Ciurul lui Eratostene: S se formeze un vector care s conin elementele prime mai mici dect
un numr dat n, n<1000, utiliznd procedeul de excludere prezentat n manualul de matematic
(excluderea se va face prin inlocuirea elementului cu 0 i nu se vor afia elementele nule).
2) ntr-o nchisoare cu n celule se afl, la un moment dat, n deinui. Se ia hotrrea s fie eliberai
anumii deinui, alegerea lor fcndu-se ntr-un mod special. n nchisoarea aceea erau tot n
gardieni. Procedeul de determinare a deinuilor ce vor fi eliberai este urmtorul: gardianul k
pleac de la celula k i mergnd din k n k celule, schimb starea uilor pe la care
trece,1<=k<=n. n final anumite celule vor rmne deschise, deinuii respectivi fiind eliberai.
Putei afla care? Iniial toate uile sunt nchise. Exemplu: n=50 vor fi eliberati cei din celulele 1 4
9 16 25 36 49.
3) S se formeze vectorul primelor n elemente ale irului lui Fibonacci: 0, 1, 1, 2, 3, 5, 8, 13,21,....
(f[1]=0, f[2]=1, f[i]=f[i-1]+f[i-2]).
4) Se introduc n numere ntregi. Elementele diferite s se memoreze ntr-un alt vector. S se afieze
acest nou vector. Exemplu: Date de intrare: n=4 numere: 1 2 2 1 Date de ieire: 1 2.
5) S se formeze i s se afieze vectorul care s conin elementele nenule dintr-un vector dat.
6) S se extrag dintr-un vector elementele care au ultima cifr egal cu k i s se formeze cu ele
un alt vector. S se afieze cei doi vectori. Exemplu: Date de intrare: n=3 k=7 numere: 17 23 47
Date de ieire: 17 47.
7) Se dau n numere ntregi. Folosind un alt vector, s se aeze numerele pare la nceput. Exemplu:
Date de intrare: n=4 numere: 3 4 6 5 Date de ieire: 4 6 3 5.
8) Prin contorizare i utilizarea unui vector ajuttor, ntr-un ir de numere date s se grupeze la
nceput numerele deficiente, apoi cele perfecte i la sfrit cele abundente. (Numim numr
deficient cel care este mai mare dect suma divizorilor mai mici ca el, numr perfect cel care
este egal cu acest sum i abundent numrul mai mic dect aceast sum). Exemplu: Date de
intrare: n=5 numere: 6 12 3 4 10 Date de ieire: 3 4 10 6 12.
9) Dat un numr n, s se memoreze ntr-un vector toate numerele mai mici ca n prime cu n. S se
afieze n ordine descresctoare. Exemplu: Date de intrare: n=10 Date de ieire: 9 7 3.
10)
Se citete un numr natural cu cifre nenule. S se determine cel mai mic i cel mai mare
numr format din cifrele acestui numr. Exemplu: Date de intrare: n=26341 Date de ieire:
min=12346 max=64321.

13

11)
S se insereze ntre oricare dou elemente alturate ale unui ir numeric dat media lor
aritmetic. Exemplu: date de intrare: n=3 numere: 2 4 5 Date de ieire: 2 3 4 4.5 5.
12)
Se d irul 1,2,2,3,3,3,4,4,4,4,5,... . Dat un numr k, s se afieze elementul de pe poziia k.
7.

Tablouri cu dou dimensiuni (matrici)


Introducere, parcurgere integral, afiare
1) Se d un tablou bidimensional cu m linii i n coloane, 1m,n50, cu componente ntregi i un
numr ntreg k. Se cere s se afieze tabloul cu componentele mrite cu k. Exemplu: Date de
intrare: m=2 n=3 k= 5 elemente:
1 2 3 Date de ieire:
6 7 8
456
9 10 11
2) Se introduc dou matrici cu m linii i n coloane. S se afieze matricea sum a celor dou matrici
date.
3) Se introduce o matrice cu m linii i n coloane. S se afieze elementele astfel nct liniile s
devin coloane. Exemplu: m=2, n=3 matricea 1 2 3
se va afia
1 4
4 5 6
2 5
3 6
4) S se afieze suma i produsul tuturor elementelor unei matrici cu m linii i n coloane cu
componente reale. Cte elemente sunt ntregi?
Exemplu: Date de intrare: m=2 n=2
matrice: 4 5 3
Date de ieire: s=15 p=120 6 numere intregi
112
5) Dat un tablou bidimensional cu n linii i n coloane, afiai cea mai mare component i poziiile
pe care le ocup. Exemplu: Date de intrare: n=2 matrice:
47
Date de ieire: max=7
pozitii 1 2 2 2.
57
6) Se consider un tablou care imagineaz tabla de ah. Se citesc un numr de linie i un numr de
coloan care vor reprezenta poziia unui cal pe tabl. S se afieze coordonatele elementelor
tablei pe care poate sri calul. Exemplu: Date de intrare: 2 2 Date de ieire: 1 4
4 1
4 3
3 4.
Parcurgere parial a unui tablou bidimensional
1) S se afieze suma elementelor de pe coloana k a unei matrici cu m linii i n coloane, kn.
Exemplu: Date de intrare: m=2 n=4 k=1 matrice 4 3 6 8 Date de ieire:
s=11.
7490
2) Se introduc punctajele realizate de m concureni la n probe sub forma unei matrici cu m linii i n
coloane. Afiai punctajul total realizat de fiecare concurent. Exemplu: Date de intrare: m=3 n=2
punctaj concurent 1: 7 9 punctaj concurent 2: 10 8 punctaj concurent 3: 9 9 Date de intrare:
concurent1 16 concurent2 18 concurent3 18.
3) Se d o matrice ptratic cu dimensiunea n,n. Afiai suma elementelor de pe diagonala
principal i de pe diagonala secundar.
4) Ducnd cele dou diagonale ntr-o matrice ptratic, se obin patru zone triunghiulare. Afiai
suma componentelor din interiorul fiecrei zone.
5) Se d un tablou cu m linii i n coloane. Se cere s se afieze suma componentelor de pe
marginea tabloului. Exemplu: Date de intrare: m=3 n=4 matrice 6 4 1 0 Date de ieire : s=32.
1533
0827
6) Se d o matrice cu n linii i n coloane. S se afieze suma componentelor ce se afl pe ptrate
concentrice ale matricii date. Ex: pentru n=4 i tabloul
1 1 1 1 se va afia
suma patrat
1=30
2222
suma patrat
2=10
3333
4444
7) Afiai valoarea maxim de pe fiecare coloan a unei matrici cu m linii i n coloane.
8) Se d un tablou cu m linii i n coloane avnd componente cifre zecimale. Fiecare linie a tabloului
reprezint cifrele a m numere naturale. Se cere s se afieze pe acelai rnd cifrele sumei celor
m numere date. Exemplu: pentru numerele 914, 9211, 3547, 23 se introduce matricea cu
m=4, n=4
0914
9211

14

3547
0023

i se va afia suma 1 3 6 9 5.
9) O persoan are de cumprat p produse din m magazine. S se fac un program care s indice,
pentru fiecare produs, magazinul n care acesta are preul minim. Cunoscnd cantitile ce
trebuie cumprate pentru fiecare produs, s se determine suma ce urmeaz a fi cheltuit.
Exemplu: p=2 m=3 i preurile aezate ntr-o matrice cu p linii i m coloane:
50000
48000 49500
11000 11500 11500 se va afia: produs 1 pret minim in magazin 2
produs 2 pret
minim in magazin 1 , cunoscnd cantitile 5 7, suma necesar va fi de 317000 lei.
Eliminarea, adugarea i schimbarea poziiei liniilor i coloanelor
1) Se introduce o matrice cu m linii i n coloane. Se cere ca prin operaii de interschimbare de linii
s se obin o matrice cu elementele de pe prima coloan ordonate cresctor. Exemplu: Date de
intrare: m=2 n=3 matrice:
7 4 9 Date de ieire:
184
184
540
540
749
2) Se dau o matrice de dimensiune m,n i un numr k, km. S se elimine linia k din matrice.
3) Se dau o matrice de dimensiune m,n i un vector cu n elemente. S se adauge aceste elemente
ca linie k n matricea dat.
4) Se d o matrice cu m linii i n coloane cu elemente 0 sau 1.Determinai o matrice cu m+1 linii i
n+1 coloane care are un numr par de 1 pe fiecare linie i fiecare coloan.
5) S se afieze suma vecinilor fiecrui element al unei matrice de m linii i n coloane. Exemplu:
m=3, n=2 pentru matricea
1 2
se va afia
9 8 18 17 13 12.
3 4
5 6
Verificarea unor proprieti
1) S se verifice dac o matrice ptratic de dimensiune n,n este simetric (elementele simetrice
fa de diagonala principal sunt egale). Exemplu: Date de intrare: n=3 matrice: 3 4 5 Date de
ieire: Da
417
570
2) Se d un tablou cu m linii i n coloane. S se determine numrul de linii care au toate elementele
egale.
3) S se verifice dac dou matrici cu aceeai dimensiune sunt egale (au componentele de pe
aceeai poziie egale).
4) Se introduc mediile a m elevi dintr-o clas, la n materii. S se verifice dac n acea clas sunt
elevi repeteni (cel puin trei corigene). n caz afirmativ, s se specifice i ci sunt.
5) S se verifice dac o matrice are toate elementele distincte.
6) Se da o matrice ptratic cu n linii i n coloane. Stabilii dac este un ptrat magic. (Suma pe
linie egal cu suma pe coloan i cu suma pe fiecare diagonal)
Construirea unui tablou
1) S se construiasc un tablou ptratic de dimensiune n,n cu primele n*n numere pare. Exemplu:
n=3 se va afia
2 4 6
8 10 12
14 16 18
2) Se d un numr natural n. Vrem s construim un tablou ptratic cu n linii i n coloane avnd
elementele n mulimea {-1, 1} astfel nct produsul elementelor de pe fiecare linie, respectiv
coloan s fie 1. Cerin: Afiai unul din tablourile cu proprietile de mai sus. Restricii:
0<n<26. Exemplu: pentru n=4 o soluie posibil este
1 1 1 1
1 1 1 1
-1 1 1 1
1 1 -1 1
(CNI Satu-Mare 2002 clasa a VI-a)

15

8.

iruri de caractere ( tipul string)


Parcurgere, testarea elementelor
1) S se afieze cu litere mari un text dat, de maxim 255 caractere. Exemplu: Date de intrare text:
Cerc dE InfO Date de ieire CERC DE INFO.
2) S se afieze numrul de vocale dintr-un text scris cu litere mici, memorat ntr-o variabil string.
3) S se scrie toate prefixele unui cuvnt dat; prin prefix se nelege irul format din primele
caractere ale cuvntului, minim un caracter, maxim toate. Exemplu: prefixele pentru tablou sunt:
t ta tab tabl tablo tablou.
4) S se afieze toate sufixele unui cuvnt. Exemplu: cuvntul tablou, sufixele: u ou lou blou ablou
tablou.
5) S se stabileasc proprietatea de palindrom a unui cuvnt. Exemplu: cuvntul cojoc este
palindrom.
6) S se afieze literele folosite i frecvena fiecreia ntr-un text de maxim 255 de caractere.
7) Se d un text cu cel mult 255 caractere i o secven continu de litere. Cuvintele din text sunt
separate prin unul sau mai multe spaii. Se cere s se determine numrul de apariii a grupului
de litere dat, n text. Exemplu: text: Alina merge sa cumpere mere, grup de litere: me, se va
afia 2.
8) S se codifice un text dat afind n locul fiecrei litere codul ei ASCII. S se afieze textul
codificat, cu un spaiu ntre coduri i trei spaii pentru un spaiu n text. Exemplu: textul: Am un
mar se va afia 65 109 117 110 109 97 114.
9) ntr-un text dat, s se nlocuiasc o liter dat cu o alt liter dat de la tastatur. Exemplu: Date
de intrare: text abracadabra litera inlocuita b litera cu care se inlocuieste g Date de ieire
abragadabra.
10)
S se verifice dac dou cuvinte date au aceleai litere. Exemplu: Date de intrare: mar ram
Date de ieire: Da
11)
S se introduc n calculator un numr cu mai mult de 10 cifre, sub form string, i s se
afieze cu cifrele grupate cte trei, de la dreapta la stnga, grupele fiind separate de punct.
Exemplu: numrul 12345678900 va fi afiat ca 12.345.678.900.
12)
Se d un ir de caractere. Eliminai din acest ir toate caracterele numerice pe care le
conine. Exemplu: Date de intrare: sir: Ana are 3 mere date de Ieire: Ana are mere
13)
Se citesc de la tastatur n litere mici, cu n < 15. S se formeze dou cuvinte astfel nct
primul s conin numai vocale iar cellalt numai consoane. Primul va fi afiat cuvntul care are
mai multe litere, iar in caz de egalitate cel care conine numai vocale. Exemplu: Date de intrare:
12
avpoinergeas
date de ieire: aoieea
vpnrgs.
14)
ntr-o urn se gsesc bile albe i roii. n fiecare bil exist cte un numr de la 1 la 50. Ionel
i Petric doresc s se joace i inventeaz urmtorul joc: Fiecare din cei doi copii extrage cte 5
bile i numerele din bilele extrase sunt apoi alturate formnd un numr. Ctig cel care a
obinut cel mai mare numr. Exemplu: Ionel extrage bilele cu numerele 10, 23, 1, 15, 48.
Numrul este 102311548. Petric extrage bilele cu numerele 1, 15, 24, 25, 26. Numrul este
115242526. A ctigat Petric. Realizai programul Pascal ce stimuleaz jocul celor doi prieteni.
(CJI, Petroani, 2005)
Scoaterea cuvintelor dintr-un text
1) Se consider un text memorat ntr-o variabil string. S se scrie un program care numr
cuvintele din text, separatorii folosii fiind spaiul, punctul, virgula.
2) O linie citit de la tastatur cuprinde cuvinte separate prin spaii. Se cere s se afieze lungimea
minim i maxim a cuvintelor din linie.
3) Se citete de la tastatur un text cu maxim 255 caractere, cuvintele fiind separate de spaiu,
punct, virgul i caracterele ?,!. Se cere s se afieze unul sub altul cuvintele din text. Exemplu:
pentru textul: Pleaca Ion la mare? Se va afia:
Pleaca
Ion
la
mare
4) S se afieze n ordine alfabetic cuvintele formate din dou litere dintr-un text dat. Exemplu:
Date de intrare: tu ai fost la mare Date de ieire ai la tu.

16

5) Se d un text cu cel mult 255 caractere, litere mici i mari ale alfabetului englez i spaii. Se cere
s se afieze cuvintele din text de lungime maxim. Exemplu: Ionica vrea sa mearga cu Mircea al
mare, se va afia: Ionica mearga Mircea.
6) Se introduc de la tastatur dou texte prin dou variabile de tip string. Se cere s se afieze
cuvintele comune celor dou texte, tiind c dou cuvinte pot fi separate prin unul sau mai
multe spaii. Exemplu: pentru textele: Ion merge la peste i Dan merge la Ion, se va afia : Ion
merge la.
7) Se d un text t format din mai multe cuvinte (maxim 100 de cuvinte sau 1000 de caractere)
separate prin spaiu citit de la tastatur. S se introduc ntr-un dicionar toate cuvintele
distincte din acel text. Acest dictionar va fi ordonat alfabetic n sens cresctor de la A la Z.
Exemplu: "acesta este un text de proba cu doi de este", afiare:
acesta
cu de doi este
proba text un. Observaii: textul se introduce de la tastatur fr ghilimele i se d Enter pentru
a termina introducerea lui in memorie; nu se introduc caractere speciale, sau chiar daca textul
are semne de punctuaie, se va considera ca separator intre cuvinte spaiul;
cuvintele n dicionar vor fi scrise cu liter mic
9.

Alte tipuri de date structurate


Tipul mulime
1) Se dau n (1<=n<=30) iruri de caractere (litere mici i mari ale alfabetului englez i cifrele
sistemului zecimal). S se determine caracterele folosite n toate irurile de caractere. Exemplu:
Date de intrare n=3 siruri
Abcdammbc123ads
Sgssa89822221iuAsd
Hgds921kjdkAsda
Se va afia A d s 1 2.
2) Se dau dou mulimi a i b cu componente numere naturale mai mici sau egale cu 255. Se cere
s se determine mulimile: ab, ab, a-b. Exemplu: Date de intrare: multimea a 1 2 3 4 7 5
multimea b 4 5 8 Date de ieire: reuniune 1 2 3 4 5 7 8 intersectie 4 5 diferenta 1 2 3 7.
3) Se dau n, 1<=n<=30, mulimi cu elemente numere naturale mai mici sau egale cu 255. Se cere
se afle elementele interseciei mulimilor. Exemplu: Date de intrare: m=3 multime1 1 2 3 4
5 multime2 2 4 7 1 multime3 4 5 2 9 Date de ieire: intersectie 2 4.
4) Se citesc, din linii diferite, n cuvinte cuprinznd litere mici ale alfabetului latin. Se cere s se
afieze literele distincte din fiecare cuvnt citit i literele distincte ntlnite n toate cele n
cuvinte. Exemplu:Date de intrare: numar cuvinte=2 cuvant1: backspace cuvant2: program
Date de ieire: litere cuvant1: a b c e k p s litere cuvant2: a g m o p r litere total: a b c e g k m o
p r s.
5) Se dau dou numere n baza 16 cu cel mult 255 cifre. Se cere s se afieze cifrele comune celor
dou numere. Exemplu: Date de intrare: 1A67Fb 56DB345AA Date de ieire: 6 A B.
6) Se introduc numele medicamentelor indicate i contraindicate n 10 boli. Se cere s se afieze
numele medicamentelor care se pot administra unui pacient care sufer de mai multe boli din
cele 10.
7) Se consider maxim 10 mulimi de numere de tip byte. S se verifice dac sunt disjuncte.

Tipul nregistrare
1) Elevii dintr-o coal vor s fac un top al celor mai bune 10 melodii pentru fiecare sptmn.
Ajutai-i s realizeze un program prin care se introduc n date de forma titlu melodie, interpret,
numr puncte acumulate, numr puncte primite i care afieaz primele 10 titluri, n ordinea
descresctoare a punctelor.
2) Dintr-un lot de n persoane care s-au nregistrat cu nume i data naterii, trebuie selectate acele
persoane care au mplinit 18 ani la 1 ianuarie 2006. Datele de intrare cuprind valoarea lui n i
cele n perechi de date de forma nume yy mm dd i sunt coninute de fiierul date.int, iar datele
de ieire conin numele cerute afiate pe vertical pe ecran.

17

3) La o staie meteo se trec datele n fiierul temp.int sub forma data temperatura. S se prelucreze
aceste date afindu-se zilele n care temperatura a fost maxim.
4) ntr-o clas de maxim 25 de elevi, fiecare a primit cte unul din calificativele suficient, bine i
foarte bine la fiecare din cele 10 materii. Datele se introduc n calculator sub forma: nume elev
numr de calificative suficient
numr de calificative bine
numr de calificative foarte bine.
S se afieze n ordine descresctoare statistica notrii (numrul de suficient, de bine i foarte
bine) i numele elevului cu cele mai multe calificative fb.
Stive, liste, cozi alocate static
1) Se consider o stiv iniial vid, care poate conine litere. Ilustrai printr-un program efectul
urmtoarelor operaii: insereaz R, insereaz A, insereaz M, insereaz A, extrage un element,
extrage un element, insereaz V.
2) Se consider coada ... P A S C A L ,,, (P reprezint nceputul iar L sfritul cozii). Ilustrai efectul
urmtoarelor operaii: extrage un element, extrage un element, insereaz C, extrage un
element, insereaz U, insereaz L.
3)
Se consider urmtorul sistem de manevrare a vagoanelor ntr-un
depou. Din dreapta, intr n depou n vagoane numerotate de la 1 la
n,
n ordinea cresctoare a numerelor. Construii un tren cu vagoanele
Linie de ieire
Linie de
numerotate n ordine descresctoare, de la n la 1.
intrare

Depou

4) n condiiile problemei precedente, dorim s construim un tren special: vagoanele cu numr pa


rvor merge la un moment dat n alt direcie dect cele impare, din acest motiv toate vagoanele
cu numr par trebuie s fie plasate la nceputul trenului n ordinea cresctoare a numerelor lor,
iar cele cu numr impar la sfritul trenului, n ordinea descresctoare a numerelor lor. Cum
procedai?
5) Se citete de pe o linie de la tastatur o succesiune de paranteze rotunde deschise i nchise
pn la ntlnirea caracterului punct. ntlnirea unei paranteze deschise determin introducerea
acesteia ntr-o coad. ntlnirea uneia nchise determin extragerea unui element din coadVerificai dac parantezele din ir se nchid corect i determinai dimensiunea maxim a cozii
(numrul maxim de paranteze deschise n coad la un moment dat). Exemple: Date de intrare:
(()). Date de ieire: corect dim max=2; date de intrare (((). Date de ieire: incorect dim max=3;
date de intrare: ()). Date de ieire: incorect dim max=1.
6) Se consider un caroiaj dreptunghiular cu n linii i m coloane, n care pe anumite poziii sunt
plasate obstacole. n poziia iniial (x0,y0) se afl plasat un mobil. S se determine, pentru toate
poziiile n care ajunge mobilul, distana minim de la poziia iniial a mobilului msurat n
deplasri elementare (o deplasare elementar este o deplasare cu o poziie la stnga, la
dreapta, sus sau jos). Exemplu: Date de intrare: m=5 n=5 x0=3 y0=3 pozitie obstacole 1 2
Date de ieire:
-2 -1 -1 5 4 unde -1=obstacol, -2=inaccesibil
13
-1 2 1 -1 3
24
2 1 0 1 2
43
3 2 -1 -1 3
44
4 3 4 5 4
21

10.

Ali algoritmi de lucru cu date structurate


Interclasarea
1) Se cere s se interclaseze dou iruri de numere reale, ordonate cresctor. Prin interclasare se
nelege crearea unui nou ir ordonat , format din elementele irurilor date. Exemplu: Date de

18

intrare: nr. elemente din primul sir=3, primul sir=3 6 9, nr. elemente din al doilea sir=4, al
doilea sir=1 2 5 9. Date de iesire: 1 2 3 5 6 9.
2) Pe dou rafturi din bibliotec avei mai multe cri. Se cunoate inltimea n cm a fiecrei cri i
faptul c, pe fiecare raft, crile sunt aranjate de la stnga la dreapta n ordine descresctoare a
nlimii. Mutai toate crile pe un al treilea raft pe care s fie ordonate tot descresctor. Afiati
nlimile crilor de pe acest al treilea raft. Exemplu: Date de intrare: numar carti pe primul raft:
5 inaltimi: 18 18 17 15 15 numar carti pe al doilea raft: 3 inaltimi: 15 14 12 Date de ieire: 18
18 17 15 15 15 14 12.
Parcurgere circular a unui ir
1) Numerele de la 1 la n sunt aezate n ordine cresctoare pe circumferina unui cerc astfel c n
ajunge situat lng 1. ncepnd cu numrul s se marcheaz numerele din k n k, n ordinea
cresctoare a lor, pn cnd un numr este marcat de 2 ori. Cte numere au rmas nemarcate?
2) Oaza Lacotrop din deertul Etpas este nconjurat de n portocali care conin fructe, dispui sub
form de cerc i numerotai de la 1 la n, n sensul acelor de ceas. Maimua Gino pornete de la
un portocal m i numr, n sensul acelor de ceas, k portocali care conin fructe. Culege toate
fructele din portocaul de pe poziia k. Continu numrtoarea ncepnd cu portocalul urmtor
celui din care a cules, dar care conine fructe. n final rmne un singur portocal p necules, n
care Gino i face adpost. Cerin: Cu ce portocal m trebuie s nceap numrtoarea pentru ca
s-i fac adpost exact n portocalul p?. Date de intrare: fiierul portocal.in conine pe o singur
linie, numerele n, k i p, separate printr-un spaiu. Date de ieire: fiierul portocal.out conine pe
prima linie numrul natural m cerut. Restricii: 2<=n<=1000, 1<=k<=10000, 1<=p<=1000.
Exemplu: portocal.in 6 8 5 portocal.out 3.
(ONI, Focani, clasa a VII-a, 2003)
3) Jocul Nu te supra, frate! se joac de ctre doi jucatori. Pe o pist circular cu n csue
numerotate de la 1 la n, n ordinea dat de sensul acelor de ceasornic, se afl nscrise valorile 0,
1 i 10. Cei doi juctori vor avea fiecare cte un pion i vor porni pe rnd, din csua 1. ncepe
juctorul 1. Fiecare juctor va muta pionul su conform cu valoarea obinut prin aruncarea
zarului, cumulnd sau pierznd puncte n funcie de csua n care ajunge. Fiecare juctor citete
valoarea zarului cnd i vine rdul.
Jocul are urmatoarele reguli:
1. Ctigtorul poate fi:
- juctorul care ajunge primul din nou n csua cu numrul 1, indiferent de punctaj
(exceptnd cazul n care are punctaj 0)
- n cazul n care se termin irul aruncrilor cu zarul, nseamn c juctorii s-au plictisit i
ctig cel care a cumulat mai multe puncte, iar dac au punctaje egale ctig cel care
se afl n csua cu numr de ordine mai mare.
2.
Dup aruncarea zarului, juctorul mut pionul cu attea csue ct indic valoarea
zarului, n ordinea acelor de ceasornic, ncepnd numrtoarea cu csua urmtoare poziiei
pe care se afl. Prima csu nu conine valoarea 0 (zero).
3.
Dup mutare pot apare urmtoarele situaii:
- ajunge ntr-o csu cu valoarea 0 (zero) juctorul este penalizat, pierde toate punctele
acumulate i reia jocul din pozitia 1
- ajunge ntr-o csu cu valoarea 10 primete un bonus de 10 puncte
- ajunge ntr-o csu cu valoarea 1 primete 1 punct
- ajunge ntr-o csu n care se afl cellalt pion (cu excepia csuei 1, cnd ctig)
juctorul care ajunge ultimul este penalizat, pierde toate punctele i reia jocul de la
csua 1.
Cerin Determinai juctorul ctigtor, poziiile fiecrui juctor pe cerc i punctajul fiecrui
juctor.
Date de intrare n fiierul JOC.IN se dau:

19

Pe prima linie numrul n al csuelor din cerc.


Linia a doua conine o succesiune de n valori (0, 1 sau 10), separate printr-un spaiu,
reprezentnd valoarea fiecrei csue.
- Linia a treia conine numrul de aruncri cu zarul
- Linia a patra conine o succesiune de valori ntregi cuprinse ntre 1 i 6,
separate printr-un spaiu, reprezentnd aruncarea cu zarul.
Date de ieire Fiierul JOC.OUT va conine 3 linii cu urmtoarele informaii:
- pe prima linie: juctorul ctigtor
- pe a doua linie: poziia i punctajul juctorului numrul 1
- pe a treia linie: poziia i punctajul juctorului numrul 2.
Restricii 7<=n<=100
Exemple
JOC.IN
JOC.OUT
10
2
1 1 1 1 1 10 0 1 1 0
6 10
8
13
36241353
JOC.IN
JOC.OUT
7
1
1 1 0 10 1 10 1
13
16
10
6424621356332145
JOC.IN
JOC.OUT
12
2
1 10 1 1 0 10 1 1 1 10 0 1
9 11
4
10 11
5633
(OJI, clasa a VII-a, 2004)
-

Operaii cu numere mari


7) S se afieze toate valorile 2n , pentru n cuprins ntre 31 i 50.
7) S se fac un program care s afieze pe ecran suma a dou numere ntregi, de maxim 100 de
cifre, citite din fiierul termeni.int.
7) Se citesc dou numere naturale ca iruri de caractere, avnd lungimea maxim de 25. S se
afieze produsul numerelor sau un mesaj de eroare dac datele de intrare sunt eronate. Datele
de intrare pot fi citite de la tastatur sau din fiierul de tip text INT.INP care conine dou linii,
cte un numr pe linie. Datele de ieire pot fi afiate pe ecran sau scrise n fiierul de tip text
IES.OUT, precizndu-se produsul obinut.
Exemplu: dac numerele citite sunt: 13478654 54390123 se va afia produsul
733105648934442.
7) Se citete un numr natural foarte mare, de maxim 50 cifre. Verificai dac este palindrom
afind un mesaj corespunztor.
Modelarea unor relaii
1)

Numim celebritate o persoan care este cunoscut de toat lumea, dar nu cunoate pe
nimeni. Se pune problema de a identifica o celebritate, dac exist, ntr-un grup de n persoane
pentru care se cunosc relaiile dintre persoane.
2)
Pe o matrice de m linii i n coloane, fie o populaie de virui care evolueaz astfel: un virus
moare izolat cnd are mai puin de 2 vecini i sufocat cnd are mai mult de 3 vecini; un virus
apare pe un loc liber dac are 2 sau 3 vecini; un virus triete 3 generaii dac are condiii
prielnice de mediu. Virusul de generaie i se codific prin i, cu 1<=i<=3. Inexistena virusului se
codific prin 0. S se afieze configuraia populaiei de virui dup g generaii. Observaie: un
virus poate avea cel mult 4 vecini: N, S, E, V. Datele de intrare se citesc din fiierul virus. inp cu
urmtoarea structur:
m
n
g
a[1,1] a[1,2] a[1,n]

20

a[2,1] a[2,2] a[2,n]

a[m,1] a[m,2] a[m,n]


Datele de ieire se trec n fiierul virus.out. Exemplu:
Virus.inp
3
3
2 1 0
2 2 3
0 1 3

Virus.out
0 3 0
0 1 0
2 0 0

(CNI, Piatra Neam, clasa a VIII-a, 2001)


3) La un simpozion particip n persoane. Unele persoane cunosc alte persoane din sal, altele nu.
Calculatorul care monitorizeaz reuniunea trebuie s comunice care este cea mai cunoscut
persoan. Pentru aceasta persoanele se numeroteaz de la 1 la n i se introduc n calculator
perechi de forma i, j care semnific faptul c persoana i cunoate persoana j, pn la marcajul
de sfrit de fiier.
Determinarea unor secvene maximale
1) ntr-un text de maxim 255 caractere, s se afieze cea mai lung secven de caractere identice.
Dac sunt mai multe secvene, se va afia prima. Exemplu: text: aabsssdadaaab se va afia sss.
2) Se consider un ir de maxim 255 litere c1, c2, , cn nu neaprat distincte, din alfabetul
englez. Cerine: a) s se determine poziia p i lungimea l a secvenei maxime format din litere
consecutive egale din irul dat (1<=p, 1<=n); b) s se determine literele distincte i frecvena
lor de apariie n irul iniial; c) din irul literelor distincte de la punctul b), s se afieze cte
posibiliti de aranjare a 3 litere diferite sunt. Date de intrare se citesc din fiierul olimp71.inp ce
are urmtoarea structur: n c1 c2 cn. Datele de ieire sw vor afia pe ecran. Exemplu:
olimp71.inp 6 abbacx, se va afia a) p=2 l=2 b) a b c x 2 2 1 1 c) 24
(CNI, Piatra-Neam, clasa a VII-a, 2001)
Probleme de geometrie
1) Din fiierul dreptunghi.int se citesc coordonatele capetelor diagonalei unui dreptunghi cu laturile
paralele cu axele de coordonate.. Scriei n fiierul puncte.out cte puncte de coordonate ntregi
sunt n interiorul sau pe laturile dreptunghiului. Exemplu:
fiierul dreptunghi.int:
-2.5 3
fiierul puncte.out
4 -1.75
35
2) Cte puncte cu coordonate ntregi sunt continute ntr-o sfer de raz R cu centrul n originea
sistemului de cooronate? Se consider c R este un numr natural, R<=30. Amintim c distana
dintre un punct cu coordonatele (x,y,z) i originea sistemului de coordonate se determin dup
formula d=sqrt(x*x+y*y+z*z). Exemplu: pentru R=4, programul va afia 257. (ORI, Moldova,
clasele VI-IX, 2001)
3) Se citesc de la tastatur trei numere reale pozitive, care reprezint lungimile laturilor unui
triunghi. Scriei un program care s determine aria i lungimile nlimilor triunghiului. Specificai
i natura acestui triunghi: echilateral, isoscel, dreptunghic, dreptunghic isoscel sau oarecare.
4) Se dau n puncte n plan p1, p2, , pn prin coordonatele lor carteziene i un dreptunghi cu
laturile paralele cu axele prin coordonatele colului din stnga sus i colului din dreapta jos.
Cerin: determinai numrul de puncte dintre p1, p2, , pn care sunt n interiorul
dreptunghiului, respectiv numrul de puncte de pe cele dou diagonale. Date de intrare: n
fiierul puncte.in pe prima linie se afl n, pe urmtoarele n linii coordonatele punctelor p1, p2,
pn separate printr-un spaiu, iar pe urmtoarele dou linii se afl coordonatele colurilor
dreptunghiului. Date de ieire: n fiierul text puncte.out se vor scrie numerele cerute cu un
spaiu ntre ele. Restricii: 0<n<100, coordonatele sunt numere naturale < 3000. Exemplu:
Puncte.in
puncte.out
8
5 4
34
24
56

21

51
42
06
22
32
15
51
(CNI, Satu-Mare, clasa a VIII-a, 2003)
5) n curtea din spatele casei unui gospodar triau nestingherite mai multe familii de furnicue,
organizate n mai multe muuroaie. Una dintre furnicue l aude ntr-o zi pe gospodar spunndu-i
soiei sale c vrea s amplaseze un obiect chiar n zona n care se aflau muuroaiele. Furnicua le
anun i pe celelalte, ns netiind s aprecieze exact unde va fi amplasat acel obiect,
furnicuele au nevoie de ajutorul vostru. Dac afl care din muuroaie se afl n pericol, ele se
pot adposti fr grij n cele care sunt n siguran. Cunoscndu-se numrul de puncte
(muuroaie) M, coordonatele x i y ale celor M puncte prin numrul vrfurilor poligonului
(obiectului) i coordonatele vrfurilor, determinai muuroaiele care sunt n pericol s fie distruse
de obiectul care va fi amplasat de gospodar. Date de intrare: Fiierul de intrare furnici.in conine
pe prima linie un numr ntreg pozitiv M, care reprezint numrul de muuroaie. Pe urmtoarele
M linii se gsesc cte dou numere ntregi pozitive, separate printr-un singur spaiu, care
reprezint coordonatele punctelor (muuroaielor). Urmtoarea linie conine un singur numr
ntreg pozitiv N care reprezint numrul de vrfuri ale poligonului. Cele N linii care urmeaz
conin cte dou numere ntregi pozitive, separate prin cte un spaiu, care reprezint
coordonatele pentru vrfurile poligonului. Poligonul poate fi convex sau concav. Date de ieire:
Fiierul de ieire furnici.out va conine M linii. Pe fiecare dintre acestea se va scrie unul dintre
mesajele "in siguranta!" sau "in pericol" dac muuroaiele de furnici din fiierul de intrare se
gsesc n exteriorul, respectiv n interiorul poligonului. Punctele corespunztoare muuroaielor
vor fi tratate n ordinea n care apar n fiierul de intrare. Restricii i precizri: se
consider c un
muuroi este n pericol atunci cnd coordonatele sale sunt coninute n interiorul poligonului sau
cnd muuroiul se gsete pe una dintre laturile acestuia;3
<N <50;

1
<M <100.

Exemplu
furnici.in
furnici.out
5
in siguranta!
80 100
in pericol!
400 170
in siguranta!
230 160
in siguranta!
340 347
in pericol
230 350
6
100 165
380 200
400 140
520 350
395 310
220 360
(ginfo ian. 2004)
6) Introducei n calculator coordonatele, abscisa i ordonata, a n puncte astfel nct s nu existe
patru puncte coliniare. Determinai numrul de paralelograme care se pot forma unind cte
patru din aceste puncte. Datele de intrare se citesc din fiierul puncte.int care va avea pe prima
linie numrul n i pe urmtoarele n linii coordonatele punctelor separate prin spaiu. Afiarea
rezultatului se va face pe ecran. Exemplu:
puncte.int
7
22
33
54
16
82
71
65

pe ecran
6

22

7) Se dau n puncte n plan prin coordonatele lor (numere naturale mai mici sau egale cu 50). S se
determine centrul i raza unui cerc care s conin toate punctele date n interior sau pe
circumferin, avnd centrul n unul din punctele introduse.
8) S se calculeze aria unui poligon convex A1, A2,, An (3<=n<=100) dat prin coordonatele
vrfurilor sale, numere naturale mai mici dect 50. Indicaie: se va descompune poligonul in
triunghiuri de forma A1AiAi+1.
9) Se dau n, n>=3, puncte n plan prin coordonatele lor numere ntregi din intervalul [0,500]. S se
afieze numrul de triunghiuri isoscele care se pot forma unind cte trei din cele n puncte.
10)
Se dau n, n>=3, puncte ]n plan prin coordonatele lor, numere ntregi mai mici dect 50.
S se afieze tripletele de coordonate ale punctelor care determin triunghiuri de arie maxim.
11)
Se dau n, n >=4, puncte n plan prin coordonatele i culoarea lor (numere naturale mai
mici sau egale cu 50). S se afieze coordonatele vrfurilor dreptunghiurilor cu laturile paralele
cu axele ale cror vrfuri au aceeai culoare.
12)
Se d un dreptunghi prin coordonatele vrfurilor sus-stnga i jos-dreapta, i n puncte n
plan prin coordonatele lor numere naturale mai mici dect 500. Se cere s se determine numrul
de puncte care se afl n interiorul dreptunghiului, pe dreptunghi i n exteriorul lui.
11.

Utilizarea subprogramelor
Proceduri
1) Pentru citirea a n date de forma nume elev, nota1, nota2, nota3 i pentru calculul mediei fiecrui
elev, s se scrie procedura Citire. S se realizeze urmtorul cap de tabel ntr-o procedur Tabel:
***************************
* Nume elev * Medie
*
***************************
i s se
afieze rezultate printr-o procedur Scriere. S se modifice procedura Tabel astfel nct s
permit realizarea capului de tabel utiliznd n locul * un alt caracter, citit de la tastatur n
programul principal.
2) S se ordoneze cresctor irul format din n nume de elevi folosind o procedur cu doi parametrii,
de interschimbare a valorilor.
3) S se listeze primele n numere prime, verificnd calitatea de prim a unui numr ntr-o procedur
cu un parametru.
4) Se introduc numrtorul i numitorul a dou fracii. S se afieze cele dou fracii i suma lor sub
forma ireductibil. Se va folosi o procedur cu doi parametrii, de simplificare a unei fracii.
5) Se introduc n date de forma nume elev, punctaj. Uiliznd procedura Meniu s se afieze un
meniu de forma
1. Afisare in ordine alfabetica
2. Afisare in ordinea descrescatoare a punctajelor
prin care utilizatorul poate alege modul de vizualizare al datelor introduse. Afiarea datelor i
sortarea lor se va face prin procedurile Afisare i Sortare.
6) Se introduc dou numere ntregi. S se afieze n cte zerouri se termin produsul lor, fr a
calcula produsul. Se va ine seama c un zero la sfrit se obine nmulind un 2 cu un 5 n
descompunere celor dou numere n factori primi. Se va crea o procedur cu doi parametrii, de
determinare a exponentului la care apare un numr prim n descompunerea n factori primi a
unui numr.
7) Se introduc dou numere n i k. Utiliznd o procedur de calculul puterii unui numr, s se
afieze n la puterea k.
Funcii
1) S se verifice dac numele a k elevi se afl ntr-un ir de n nume, utiliznd o funcie Cautare.
2) Citii un ir de n numere ntregi i afiai cea mai mare cifr a numerelor de pe poziii pare i cea
mai mic cifr a celor de pe poziii impare. Se va realiza cte o funcie pentru determinarea cifrei
maximale i a celei minimale.

12.

Fiiere tip text

23

1) S se determine i s se afieze numrul de linii dintr-un fiier tip text i numrul de


caractere de pe fiecare linie.
2) S se verifice dac ntr-un fiier tip text sunt linii albe, care conin numai caracterele spaiu i
TAB
3) S se afieze pe ecran un fiier text, linie cu linie.
4) S se transfere coninutul unui fiier tip text ntr-un alt fiier tip text, sub aceeai form.
7) S se fac un top al melodiilor (vezi problema 1 din Capitolul IX, Tipul nregistrare) utiliznd un
fiier pentru citirea titlului, a interpretului i a punctajului acumulat. Punctajul sptmnal
obinut se va citi de la tastatur. Afiarea topului se va face pe ecran. Se va actualiza cmpul
puntaj acumulat din fiierul de intrare.
13.

Pregtire pentru faza naional a ONI i CNI


Clasa a V-a
1)

n Orintia, exist o floare care face strict x semine . Fiecare smn este fertil i n decurs de
un an, din ea se dezvolt cte o floare care va face alte x semine fertile. Dup k ani, florile
orintiene dispar, dar rmn urmaele lor. Grdinarul Perolino, pe care l intereseaz cte flori vor
fi n grdina lui dup z ani, tiind c n primul an au fost f flori de tipul amintit, v roag s l
ajutai la numrarea florilor. Date de intrare
f: numrul iniial de flori
x : numrul de semine produse de
fiecare floare
k : durata de via a
unei flori
z : anul n care
grdinarul face recensmntul
Date
de
ieire : t : numrul de flori aflate n grdin la sfritul anului z. Restricii:1<=f<=10, 1<=x<=6,
1<=k<=5, 1<z<5. Exemplu: Intrri f=1 x=2 k=3 z=3 Ieire 8 flori.
Explicaie:
anul 1
1 floare
2 semine
anul 2 3 flori 6 semine
anul 3 8 flori (3 + 6 1)
(CNI, clasa a V-a,
Satu-Mare, 2004)
2) Nicu are N dischete cu aceeai capacitate 1400 Ko. Dischetele sunt numerotate cu 1, 2, , N i
pe fiecare dischet are o poriune din ea ocupat cu diverse fiiere. Dischetele 1, 2, , N au
ocupate o1, o2, , oN Ko fiecare. Nicu afl c prietenul su George are un joc frumos de
dimensiune x Ko. Dup multe negocieri cu George, Nicu are acceptul de a copia jocul.
Cerin: Din cele N dischete alegei ct mai puine pentru a copia jocul (dac este posibil). Cnd
nu este posibil afiai mesajul Nu se poate copia jocul!
(CNI Satu-Mare 2003
clasa a V-a)
3) Afiai primele dou numere prime alturate dintre cele n numere ntregi date.
Cnd acestea nu exist, afiai mesajul: fr soluie ( n<= 20). Exemplu:
Pentru n=7
i numerele 1 18 41 13 9 7 5
se va afia perechea 41 13
pentru n=6 i numerele 2 8 7 2 5 4
se va afia perechea 7 2
pentru n=5 i numerele 4 12 8 5 4
se va afia mesajul
fr soluie
(CNI Satu-Mare 2002 clasa a V-a)
4) Pentru un n natural dat, sa se determine toate numerele prime mai mici sau egale cu n pentru
care oglinditul corespunztor este tot un numr prim (n<100). Exemplu: n=20, printre numerele
gsite sunt i 13, cu oglinditul 31, i 17, cu oglinditul 71.
(CNI
Piatra-Neam
2001,
clasa a V-a)
5) Un schior i dorete un traseu care s conin cel puin un pisc (vrf) i cel puin o vale. Dac
traseul este caracterizat (ca altitudini relative) de cifrele componente ale unui numr dat, ajutail s stabileasc dac l parcurge sau nu. Exemplu: traseul 5745 poate fi parcurs, traseele 123 i
68556 nu pot fi parcurse.
(CNI Piatra-Neam 2001, clasa a V-a)
6) Se consider un ir cu n numere naturale mai mici dect 32000, n < 30. Se cere: a)
s
se
afieze un numr din ir care are n scrierea sa ct mai multe cifre distincte. Dac exist mai
multe numere cu aceast proprietate se va afia primul element dintre ele. b) s se determine o
succesiune cu numr maxim de componente din ir care are proprietatea c fiecare component
a succesiunii are acelai numr de cifre distincte n scrierea sa.
Exemplu: pentru n=9 i irul
865, 15, 144, 231, 1591, 1998, 6235, 14, 4201se va afia a) 6235 b) 231 1591 1998
(CNI 1998 clasa a V-a)

24

7) Se citesc n, numr natural mai mic dect 100, i n numere naturale nenule mai mici dect
30000. Se cer: a) ultima cifr a numrului x[1]+x[2]+...x[n] b) ultima cifr a numrului x[1]
x[2]+x[3]+...x[n] Exemplu: pentru n=3 i numerele 11 4 3 se va afia a) 8 b) 1
(CNI 1998 clasa a V-a)
8) Se dau patru numere naturale a, b, c, d. S se afieze sub form de fracie ireductibil cea mai
mic fracie subunitar i cea mai mic fracie supraunitar folosind cele patru numere.
Exemplu: pentru a=2 b=5 c=6 d=16 se vor afia fraciile 1/8 i 6/5
(CNI Sinaia 1997 clasa a V-a)
9) Se consider n stlpi de nlimi h[1], h[2], h[3]... h[n] metri. La baza fiecrui stlp se afl cte
un melc codificat prin numrul stlpului. Fiecare melc i urc ziua p[i] metri i coboar noaptea
q[i] metri (p[i]>=q[i]). S se afieze melcii n ordinea n care ating vrfurile stlpilor. Exemplu:
pentru n=3 i h[1]=2 p[1]=1 q[1]=0, h[2]=4 p[2]=4 q[2]=4, h[3]=5 p[3]=1 q[3]=0 se va afia 2
1 3.
(CNI Sinaia 1997 clasa a V-a)
10)
Fie A un ir de n numere naturale, 8<=n<=256, i p un numr natural dat.
a)
s
se
precizeze dac p este numr prim
b) s se afieze de cte ori apare p n A i pe ce poziii
c) dac numrul p nu apare n A, s se nsereze numrul p pe o poziie k, 1<=k<=n, unde k
este dat de la tastatur, deplasnd spre dreapta elementele aflate pe poziiile k+j, 0<=j<=nk+1.
(CNI Buteni 1994 clasa a V-a)
11)
De la tastatur se citesc n elemente ale unui ir de numere. S se scrie un program care
interschimb dou secvene de lungimi l1 i l2 care ncep din poziiile p1, reapectiv p2.
Elementele care nu sunt cuprinse n cele dou secvene pot fi mutate astfel nct
interschimbarea s se poat face. Exemplu: pentru n=9, irul 1,2,3,4,5,6,7,8,9, p1=2 l1=2 p2=6
l2=3, rezultatul este 1 6 7 8 4 5 2 3 9. (CNI Nvodari 1993 clasa a V-a)
12)
Dndu-se dou numere n, k s se determine 2*k numere prime situate n centrul listei
numerelor prime din intervalul [1,n], n cazul n care n interval este un numr par de numere
prime, i 2*k-1 numere din centrul listei de numere prime, n cazul n care numrul de numere
prime este impar. Dac numrul 2*k ( resp. 2*k-1) este mai mare dect numrul de numere
prime din intervalul considerat, atunci se vor afia toate numerele prime din interval. Restricii:
1<=n<=10000, 1<=k<=30, k<n. Exemplu: n=21 k=2 se va afisa
5 7 11 13
( ONI, clasa a V-a, Focani, 2003)
13)
n fiecare zi nelucrtoare din sptmn Pinochio spune cte o minciun datorit creia nasul
acestuia crete cu cte p cm pe zi. Smbta i duminica, cnd vine bunicul Gepeto acas, pentru
a nu-l supra prea tare, Pinochio reuete s nu spun nici o minciun, ba chiar uitndu-se n
oglind observ c n fiecare din aceste zile lungimea nasului su scade cu cte 1 cm pe zi. Cnd
ncepe o nou sptmn, rmnnd singur acas Pinochio continu irul minciunilor. Care este
dimensiunea nasului lui Pinochio dup k zile (zilele ncep cu luni ) tiind c iniial nasul su
msura n cm? Exemplu: pentru n=2 p=1 k=8 se va afia 6 cm.
(ONI 2003 clasa a V-a)
14)
Gigel este un tip ciudat. Lui i place s i impresioneze colegii exprimnd duratele numai n
secunde. De exemplu, dac l vei ntreba ct e ceasul el i va rspunde cte secunde s-au scurs
de la ora 0.00 din ziua respectiv. Dac ai s-l ntrebi ce vrst are, el i va rspunde cte
secunde au trecut de cnd s-a nscut.
Colegii lui Gigel au hotrt c nu e cazul s se lase impresionai; ca urmare au nevoie de un
program care s citeasc de la tastatur un numr natural N (N2000000000) care reprezint
vrsta lui Gigel exprimat n secunde i care va afia pe ecran ci ani, cte luni i cte zile are
Gigel (orele i minutele rmase sunt considerate nesemnificative). Scriei acest program pentru
colegii lui Gigel!
Nu uitai c anii biseci sunt cei divizibili cu 4, dar nedivizibili cu 100 sau divizibili cu 400. De
exemplu 1992 i 2000 au fost ani biseci. Dar anul 1900 nu a fost bisect. Anii biseci au 366 de
zile, spre deosebire de ceilali care au doar 365. Considerm c ne aflm n ultima zi de coal
(15 iunie 2002).
Exemplu :Pentru N=69206400 programul va afia :Gigel are 2 ani, 2 luni si 10 zile.
(ONI Glciuc 2002 clasa a V-a)
15)
Fie un numr p (1p4) dat de la tastatur. S se scrie pe ecran toate numerele n de p cifre
cu proprietile urmtoare: 1) n-1 i n+1 sunt numere prime 2) suma cifrelor lui n este tot un
numr prim. De exemplu, pentru p=2, numrul n=12 face parte din soluie deoarece n-1=11,
n+1=13 sunt prime iar suma cifrelor lui n este 1+2=3, tot un numar prim. Dac nu exist nici un
numr n cu p cifre care s verifice aceste proprieti, se va da un mesaj.
(Marele Premiu PACO, 2001)

25

16) Copa bate la poarta Orintiei, dar poarta e programat s nu se deschid dect dup ce se
introduc, ntr-o caset cu s spaii (3<=s<=10), s cifre strigate de portar. Portarul a strigat 1,
Copa a butonat 1, n primul spaiu de la stnga la dreapta. Portarul a strigat 0, i n timp ce
Copa butona 0 n spaiul al doilea, 1 a devenit 2 n spaiul anterior. Portarul a strigat 7. Copa
scria 7 n spaiul al treilea, iar n primul spaiu 2 devine 3, iar n al doilea spaiu 0 devine 1. i tot
aa, pn la al s-lea spaiu, cnd Copa reuete s scrie toate cifrele i apare tot codul. i poarta
se deschide, dar surpriz, mai era o poart, iar codul acesteia, N, era cel mai mic numr
format din ct mai multe dintre cifrele codului anterior, astfel nct nici o cifr s nu se repete.
Obs.: Dup 9 urmeaz 0. Disperat de atta informatizare, Copa v cere sprijinul s calculai cel
de-al doilea cod N. Exemplu: Date de intrare s=10 cifre strigate de portar: 1 0 7 9 7 3 6 9
4 6
Date de ieire 102456789
(ONI
Focani
2003 clasa a V-a )
Clasa a VI-a
1) Doi copii vopsesc un gard din scnduri pe care le vom numerota de la 1 la n astfel: primul ia o
cutie de vopsea roie cu care vopsete scndurile cu numrul p, 2p, 3p, etc. Al doilea
procedeaz la fel, ncepe de la acelai capt al gardului dar ia o cutie de vopsea albastr i
vopsete din q n q scnduri. Astfel, cnd vor termina de vopsit, gardul va avea multe scnduri
nevopsite, unele scnduri vopsite n rou, altele n albastru, iar altele n violet. Cunoscnd
numerele n, p i q afiai: a) cte scnduri rmn nevopsite b) cte scnduri sunt vopsite n rou
c) cte scnduri sunt vopsite n albastru d) cte scnduri sunt vopsite n violet
(ONI 2002 clasa a VI-a)
2) Se d un vector cu n (1n30) elemente numere naturale, cu maxim 8 cifre. Se cere: a) S se
afieze cte elemente din vector sunt valori-pant (numere care privite de la stnga sau de la
dreapta au cifrele n ordine cresctoare, de exemplu 136, 931).
b) S se afieze cea mai mare i cea mai mic valoare-pant i poziiile pe care se afl acestea n
vector. Exemplu: Dac se citete n=6 i elementele 126 9621 1212 3678 9231 9621 ,
programul va afia: numar valori-panta= 4
cea mai mare valoare-panta=9621 pe pozitiile 2
6 cea mai mica valoare-panta=126 pe pozitiile 1.
(ONI 2003 clasa VI-a)
3) Fratele cel mic al lui Gigel primise de la Mo Crciun un joc de cuburi colorate. Gigel l-ar fi nsoit
pe cel mic la joc, mai ales cnd acesta nira cele n cuburi unul dup altul, iar lui i treceau prin
cap tot felul de cerine pe care profesorul lui de informatic le-ar fi putut scorni: a. s vedem
cte culori sunt n total; b. care culoare este folosit pentru cele mai multe cuburi; c. ce cub ar
trebui scos din ir astfel nct s se formeze din cuburile rmase un ir ct mai lung de cuburi
alturate de aceeai culoare.
Se citesc de la tastatur n, numrul de cuburi, n<50, i o succesiune de n numere de culori, de
la 1 la 10. Dac la cerinele a, b, c sunt mai multe soluii, se vor preciza toate. Exemplu: n=15
culorile 5 2 5 2 2 3 3 2 3 5 3 3 3 2 2 se va afia a. 3 b. 2 3 c. Pozitia 10.
(ONI Focani 2003 clasa a VI-a)
4) Profesorul de sport al clasei a VI-a B de la o coal din Focani vrea la nceputul orei s aeze
elevii pe terenul de sport, la raport, ntr-o anumit ordine. Pentru acest lucru, elevii sunt bine
instruii, astfel nct, aeznd pe ultimul rnd n elevi, celelalte rnduri de elevi se creeaz
singure dup regula: - pe poziia i a unui rnd se va aeza un elev, dup cum urmeaz: dac pe
rndul din spate, pe poziiile i i i+1 stau fie numai biei, fie numai fete, atunci se va aeza o
fat, iar dac pe aceste poziii stau elevi de sex opus, se va aeza un biat.
Conform acestei reguli, pe rndul cu numrul de ordine i (i{1, 2, , n}) se vor aeza i elevi.
Numrul de elevi din clas este n(n+1)/2.
Cerin: Pentru n dat i un ir de n numere 0 i 1 (0 reprezint codificarea pentru o fat, iar 1
pentru un biat), care reprezint irul de elevi de pe ultimul rnd, se cere s se determine
numrul de biei din clas.
Date de intrare: De la tastatur se citesc datele de pe dou linii: pe prima linie n, pe linia a
doua un ir de n numere 0 i 1, separate printr-un spaiu ce reprezint irul de elevi de pe ultimul
rnd. Date de ieire: Pe ecran se va afia numrul de biei din clas. Restricii: 1 n 20.

26

5)

6)

7)

8)

Exemplu: Pentru datele de intrare: 5


1 0 0 1 1 se va afia: 8
(ONI Focani 2003
clasa a VI-a)
Gigel a primit spre pstrare un set de n cutii de greuti nu neaprat distincte. El a cntrit
cutiile i pentru fiecare greutate distinct a notat pe o foaie, n ordine cresctoare a greutilor,
numrul de cutii cu greutatea respectiv.
Deoarece fratele su mai mic avea prostul obicei s se joace cu numerele scrise de el pe foaie,
Gigel s-a gndit s calculeze un numr de control dup urmtorul algoritm: ncepnd de la
primul numr a grupat numerele de apariii ale greutilor cte trei (dac i rmn numere
negrupate la sfrit, le ignor). Dac ntr-un grup sunt numai numere pare sau numai impare
noteaz grupul cu cifra 1, altfel l noteaz cu cifra 0. Din irul astfel obinut, se formeaz un
numr care are ca valoare cifra zecilor egal cu numrul de valori 1 i cifra unitilor egal cu
numrul de valori 0, obinndu-se astfel numrul de control.
Cerin: Citind greutile cutiilor, s se determine numrul de control i s se verifice dac este
numr prim. Date de intrare: Se citete de la tastatur numrul n urmat de greutile cutiilor.
Date de ieire:Se va scrie pe ecran numrul de control, urmat de valoarea 0 sau 1 pe linia
urmtoare. Pe urmtoarea linie se va afia 1 dac numrul este prim, respectiv 0 n caz contrar.
Restricii:1 n 100. Fiecare greutate este un numr natural, mai mic sau egal cu 200
Exemplu: Date de intrare n=21 1 3 2 6 2 6 2 8 9 8 8 9 10 8 11 18 11 12 14 15 17
Date de ieire 31 1. Explicaie: Dup ordonare se obine irul: 1 2 2 2 3 6 6 8 8 8 8 9 9 10 11 11
12 14 15 1 18. Se obine apoi: 1 3 1 2 4 2 1 2 1 1 1 1 1 care grupate cate trei dau valorile 1 1 0
1, din care se obine numrul de control 31, care este numr prim.
(OJI 2004 clasa a VI-a)
Vntorul ef al regelui Arthur a primit nsrcinare s vneze primele rae ce se ntorc din rile
calde. Regele fiind un tip cu idei fixe, i-a cerut vntorului s vneze raele albe cu sgei albe,
iar raele negre cu sgei negre. Raele vin n rnduri (stoluri) din ce n ce mai mari: mai nti
una, apoi dou, trei, cinci, opt, treisprezece, .a.m.d. Se observ c numrul de rae dintr-un
rnd este egal cu numrul de rae de pe cele dou rnduri anterioare. Raele fiind nite creaturi
ordonate zboar n rnduri, n care nu vei putea gsi dou rae de aceeai culoare alturate,
fiecare rnd ncepnd cu o ra alb.
Vntorul tie c dac a nceput s doboare o ra, trebuie s le doboare pe toate de pe rndul
acesteia, deoarece supravieuitoarele vor alerta celelalte rae i ele nu se vor mai ntoarce
niciodat, iar vntorul nostru i va pierde slujba.Cerin: tiind c vntorul a primit ka sgei
albe i kb sgei negre, trebuie s determinai cte rnduri de rae a dobort i cte sgei de
fiecare tip i-au rmas, tiind c el vrea s-i pstreze slujba. Date de intrare: Se citesc de la
tastatur numerele ka i kb (n aceast ordine). Date de ieire: Se va afia pe ecran:
- numrul de rnduri doborte
- numrul de sgei albe rmase
- numrul de sgei negre rmase.
Restricii: 0ka, kb2.000.000.000 Exemplu: Pentru ka=9 i kb=10 Se va afia: 4 2 6.
Explicaie: Pentru exemplu avem rndurile (A- ra alb, N- ra neagr) de rae:
A
AN
ANA
ANANA
(CJI 2004 clasa a VI-a)
S se genereze dou iruri A i B de numere naturale, elementele lui A s fie cuprinse ntre 0 i
99, iar ale lui B ntre 1 i 999. Cele dou iruri au acelai numr de elemente, specificat de la
tastatur. S se genereze un ir C dup urmtoarea regul: C[i]=A[i]-B[i], dac A[i] este par i
B[i] impar, C[i]=A[i]+B[i], dac A[i] este impar i B[i] par, C[i]=A[i]*B[i], dac A[i] i B[i] sunt
ambele fie pare, fie impare. S se afieze cte patru elemente pe un rnd, elementele irului A,
ale irului B i apoi ale lui C.
(CNI 1987 clasa a VI-a)
O coal are maxim 7 serii de clase a VI-a, notate A, B, C, D, E, F. S se scrie un program care s
genereze o planificare a ntlnirilor sportive ntre aceste clase, astfel nct fiecare s se
ntlneasc o singur dat cu alt clas. ntlnirile au loc zilnic, cte una n fiecare zi, cu excepia
duminicilor. Programarea ntlnirilor ncepe cu ziua de miercuri, 1 iunie 1988 i arat astfel:
miercuri 1 iunie
VI A VI B
joi
2 iunie
VI A VI C
...................................................
(CNI 1988 clasa a VIa)

27

9) Se d un vector de numere naturale mai mici dect 101 i un numr natural a. S se nsereze
ntre dou componente vecine, a cror diferen n valoare absolut este mai mare sau egal cu
a, media lor aritmetic, pentru ca n final s rezulte un vector n care diferena absolut dintre
dou elemente este mai mic dect a.
(CNI Nvodari 1989 clasa a VII-a)
10)
Fie un ir de n fracii (1n5) de forma a[i]/b[i], 1in) cu 0a[i]255, 1b[i]8.
a) S se simplifice fracia de pe poziia k, k dat de la tastatur.
b) S se calculeze suma fraciilor avnd ca rezultat fracia ireductibil p/q.
c) S se calculeze ct la sut reprezint numrul q din suma p+q
(CNI Buteni 1994
clasa a VI-a)
11)
Pe o tij se afl n discuri avnd diametre diferite, 1<= n<=100. Se cere aranjarea lor n
ordinea descresctoare a diametrelor de jos n sus. n scopul aranjrii n ordinea cerut se poate
efectua un singur tip de operaie: cu ajutorul unei cleme se prind un numr oarecare k de
discuri,2<k, ncepnd cu cel mai de sus se scot de pe tij i se ntorc, introducndu-le din nou pe
tij. Date de intrare: n= numar discuri, a1,a2..,an=diametrele discurilor,1<=ai<=999. Date de
ieire: fiecare schimbare const din dou linii de forma k=numrul discurilor prinse i x1,x2,
,xn=noua configuraie a tijei. Exemplu: n=5 diametrele 5 3 2 1 4 se va afia k=4 5 4 1 2
3
k=3 5 4 3 2 1.
(CNI Sinaia 1996 clasa a VI-a)
12)
Se consider un numr n de copii care poart tricouri de baschet ce au pe spate imprimate
un numr de la 1 la n. Ei joac urmtorul joc: se aeaz pe un cerc ntr-o ordine oarecare toi cei
n copii; profesorul, pornind de la un elev ncepe s numere k elevi, cel de-al k-lea fiind eliminat
din cerc; de la urmtorul dup cel eliminat continu numrtoarea pn la k, eliminndu-l pe cel
la care s-a oprit numrtoarea, .a.m.d.
Cunoscndu-se numerele n i k (n,k<=50), s se determineordinea n care se aflau iniial dispui
copiii pe cerc, astfel nct acetia s fie eliminai n ordinea 1,2,,n. Se va afia pe o linie
numrul de ordine al juctorilor situai iniial pe cerc ncepnd cu numrul 1. Exemplu: date de
intrare: n=5 k=2 Date de ieire: 1 5 2 4 3.
(CNI Sinaia 1997 clasa a VI-a)
13)
n vacan Gigel a uitat tehnica de nmulire a dou numere. Ca s-l ajute, bunica l-a nvat
o metod veche: Dac a i b sunt cele dou numere care trebuie nmulite, le vom scrie unul
lng altul i vom forma sub fiecare cte o coloan conform urmtoarelor reguli:
1) sub a se acrie partea ntreag a lui a/2, iar sub b se scrie 2*b
2) se aplic pasul 1) pn cnd numrul de pe coloana lui a este
1
3) produsul se obine adunnd numerele din coloana lui b
care corespund, pe linie, unor numere impare din coloana lui a. Exemplu: a=45, b=19,
a
b
produs
45
19
19+
22
38
11
76
76
5
152
152
2
304
1
608
608
===
855
(CNI Piatra-Neam 2001 clasa a VIa)
14)
Nicu merge la Metro s-i cumpere rechizite colare. Pe fiecare obiect cumprat se afl un
cod de produs alctuit din cel mult 10 liniue verticale. Pentru fiecare cod Nicu asociaz un
numr de cod astfel: pentru fiecare liniu asociaz o cifr, lungimea liniuei. n acest mod
fiecare obiect are asociat un numr natural. Cerin: Pentru cele n obiecte cumprate i date prin
numrul de cod se cere s se afieze cte numere palindroame exist cu proprietile: sunt mai
mici strict dect cel mai mare numr de cod, nu sunt printre numerele de cod date. Restricii:
0<n<26, cel mai mare numr de cod este mai mic dect 3001. Exemplu: pentru n=7 i numerele
de cod 8 20 22 44 108 55 88 se va afia 15 (deoarece avem urmtoarele numere
palindroame: 0 1 2 3 4 5 6 7 9 11 33 66 77 99 101).
(CNI Satu-Mare 2003 clasa a VI-a)
15) La concursul Mititelu Gates, pentru buna desfurare a competiiei este necesar o suma dat
S; n acest scop s-a creat o list de n (n<1000) persoane care pot i vor s sponsorizere acest
eveniment. Fiecare din cele n persoane a confirmat participarea i suma oferit. Determinai
valorile selectate pentru sponsorizarea concursului, tiind c numrul persoanelor trebuie s fie
minim i suma total s acopere cheltuielile.(unitatea de msur este milionul)

28

Exemplul 1 : N=8 S=30 2.5 3


2 5
15 7 4 1
Se va afia: 15 7 5 3
Exemplul 2 : N=7 S=37
5.5 4.5 2 17 2 5.5 10 Se va afia: 17 10 5.5 4.5
16)
Un grup de elevi formeaz o coloan care are m rnduri, m15, cu n elevi pe rnd, n6. De
pe fiecare rnd este ales cel mai scund elev, iar dintre alei, cel mai nalt primete un steag. Al
doilea steag este repartizat n mod similar, se alege de pe fiecare rnd cel mai nalt elev, iar
dintre alei, cel mai scund. n cazul n care exist mai muli elevi cu aceeai nlime, se alege
primul dintre ei. S se scrie un program care s afieze nlimile purttorilor de steag; valorile
m, n i nlimile elevilor se citesc de la tastatur. Exemplu: m=3 n=4 rndul 1: 120 130 140
150 rndul 2: 110 120 130 130 rndul 3: 140 140 150 150 ; primul steag este dat elevului
din poziia (3,1), cu nlimea 140, iar al doilea steag elevului din poziia (2,3), cu nlimea 130.
(CNI 1989 clasa a V-a)
17)
ntr-un parc cu castani un copil gsete o zon cu 12 dale, aranjate sub forma unui
dreptunghi cu 4 linii i 3 coloane. Copilul i noteaz numrul de castane de pe fiecare dal,
ncepnd cu dala de pe prima linie i prima coloan, continund linie cu linie (notiele copilului se
introduc de la tastatur). El pornete de pe prima dal (unde nu sunt castane), se poate muta de
pe o dal pe alta doar pe linie sau pe coloan. Copilul adun castanele de pe fiecare dal pe care
ajunge i face un numr de k mutri (k citit de la tastatur). Comanda unei mutri de pe o dal
pe alta se va face apsnd pe una dintre tastele A, B, C sau D, unde mutrile posibile sunt
definite astfel:
A pe linia anterioar;
B pe coloana urmtoare;
C pe linia urmtoare;
D pe coloana anterioar.
a. Se cere s se afieze cte castane a adunat copilul dup fiecare mutare.
b. Copilul se joac cu cifrele numrului total de castane, obinut la punctul a., conform
urmtoarelor exemple:
173 > 11 > 2, 8 > 8, 14 > 5, 97 > 16 > 7, 1989 > 27 > 9
Ce cifr obine copilul la punctul (b.) pentru numrul obinut la punctul (a.), dup mutarea k?
Obs.: Copilul nu va primi comenzi prin care s ias de pe dale.
Exemplu: Pentru urmtoarea repartiie de castane pe dale
0
5
7
3
1
2
10
8
4
6
1
1
i pentru k = 4:
a.
Comenzi de la tastatur:
Rezultat afiat pe ecran
B
5
C
6
B
8
C
12
b.
12 > 3
(CNI Satu-Mare 2002 clasa a VI-a)
18)
Marius are o org de lumini de form dreptunghiular cu n linii i m coloane de beculee.
Funcionarea orgii este automat, automodificndu-se o dat la 1 secund simultan toate
becurile, dup urmtoarea regul: dac un bec are un numr par de becuri vecine aprinse (n
stnga, dreapta, sus i jos) atunci i schimb starea (dac este aprins se stinge, iar dac este
stins se aprinde), ns dac are un numr impar de becuri vecine aprinse i pstreaz starea.
tiind configuraia iniial a orgii determinai cum va arta orga dup k secunde?
Restricii:1<=n,m<=100, 1<=k<=500 Date de intrare: n m dimensiunile orgii, k timpul de
rulare a orgii, n linii, fiecare avnd m elemente separate printr-un spaiu, reprezentnd strile
becurilor. Starea unui bec este data prin 1, daca becul este aprins i 0, daca este stins. Date de
ieire: n linii cu m elemente de 0 i 1 reprezentnd configuraia orgii dup k secunde, elementele
fiind separate printr-un spaiu.
Exemplu: Date de intrare: 4 4 3
1001
1100
0111
0000

29

Rspuns: 0 1 0 0
1111
0011
1111
Explicaie:
1001
1100
1110
0
1100
0011 1110 1
0111
1001 1011 0
0000
1000
1010
1
Not: Dac un element are 0 becuri vecine aprinse,
vecine aprinse

100
111
011
111
se consider c are un numr par de becuri

(CNI Satu-Mare 2004 clasa a VI-a)


19)
Se consider un text cu lungimea maxim de 255 caractere. Textul este format din cuvinte
separate de cel puin un spaiu. Se cere s se gseasc cuvintele de lungime maxim i toate
literele care se regsesc simultan n toate aceste cuvinte.
(CNI
Nvodari 1992 clasa a V-a)
20)
Se citesc dou mulimi M1 i M2 de cuvinte precum i un numr natural k. S se aeze
cuvintele mulimii M1 unele sub altele astfel nct literele lor de pe poziia k s formeze pe
vertical un cuvnt din mulimea M2. S se afieze unele sub altele cuvintele din mulimea M1
dup ce au fost ordonate corespunztor. Exemplu: M1=[carte, acesta, arid, rac], M2=[ cutie,
abac, acar, cort], k=2, rezultatul
carte
acesta
rac
arid .
(CNI Nvodari 1992 clasa a VII-a)
21)
Se introduce un text format din cuvinte desprite prin oricte spaii i avnd maxim 255 de
caractere, toate majuscule.
a) S se afieze toate cuvintele din text, unul dup altul b) S
se gseasc lungimea celui mai mic cuvnt c) Se citete un cuvnt de la tastatur; s se afieze
toate cuvintele din text care au aceeai lungime i sunt formate din exact aceleai litere cu ale
cuvntului dat.
(CNI Buteni 1994 clasa a VII-a)
22)
Se consider un ir de cel mult 100 caractere, format din literele mici ale alfabetului englez.
Se numete o blb o secven de caractere care apare n ir de cel puin dou ori i una dup
alta. Exempu: abbcabab are blbele b i ab. a) S se determine cea mai lung blb din irul
considerat (ca numr de caractere)
b) S se codifice irul dat nlocuind fiecare caracter cu
ultima cifr a lui 2 la puterea x, unde x este codul ASCII asociat literei respective. Exemplu: Date
de intrare abbcabab date de ieire a) ab b) 24482424.
(CNI 1997 clasa a VI-a)
23)
Se citete de la tastatur un numr natural n, n<=15). Pentru a codifica un text scris cu cel
mult primele n litere mici din alfabetul englez, se folosesc cele mai mici n numere naturale care
au exact 3 divizori. Pentru litera a se folosete cel mai mic numr cu aceast proprietate, pentru
b cel mai mic numr diferit de cel folosit pentru a, etc. a) S se afieze cele n numere folosite la
codificare b) pentru un text dat de la tastatur cu maxim 20 de litere, se cere s se afieze
codificarea textului. Exemplu: pentru n=2 i textul aabbaa, se va afia a) 4 9
b) 449944.
(CNI Sinaia 1998 clasa a VI-a)
24)
Se dau dou numere a,b cu maxim 8 cifre. Dup fixarea a dou cifre, cte una din fiecare
numr, aceste cifre se interschimb ntre ele, obinndu-se alte dou numere a, b. De exemplu,
din numerele a=23, b=416, fixnd prima cifr din a i a doua cifr din b, dup interschimbarea
lor se obin numerele a=13, b=426. S se determine a i b, astfel nct suma a+b s fie
maxim. Exemplu: a=23, b=416, suma maxim se obine pentru 63 i 412.
(CNI Sinaia 1998 clasa a VI-a)
25)
Membrii cercului de electronic de la Clubul Copiilor din Aiud au realizat un robot care tie s
se deplaseze la comand. Astfel comanda Nx deplaseaz robotul x metri spre nord, comanda Ey,
Vz, St, deplaseaz robotul respectiv y metri spre est, z metri spre vest, t metri spre sud (x,y,z,t
numere naturale). Un grup de copii dau o serie de comenzi robotului pentru a-l rtci. La
comanda STAI robotul se oprete. Cunoscnd comenzile date, ajutai membrii clubului ca prin
maxim 2 comenzi s readuc robotul n punctul de plecare. Exemplu: N 3 V 5 S 3 E 4 E 5
N 2 STAI robotul revine la comenzile V 4 S 2.
(InfoStar, Aiud 1997 clasa a VI-a)

30

26)
Se citete de la tastatur un text de maxim 255 de caractere. Singurul separator ntre
cuvinte este considerat caracterul spaiu (SPACE).
a. Se va afia pentru fiecare cuvnt: poziia cuvntului n text, adic al ctelea cuvnt este;
numrul de litere; suma codurilor ASCII ale literelor
b. Se va afia frecvena de apariie a fiecrui cuvnt n text.
(CNI Satu-Mare 2002 clasa a
VI-a)
27)
Sinbad Marinarul viseaz c se afl ntr-o peter cu comori. Peste tot se aflau cufere pline cu
bijuterii i monezi de aur. i n timp ce Sinbad se minuna, se auzi o voce care spuse: Exist o
cale de a ajunge aici i dac reueti toate aceste comori vor fi ale tale. Aceast peter se afl
n vrful muntelui Ararat , dar duhurile rele vor ncerca s te opreasc. Tu trebuie s le nvingi n
lupt dreapt. Pentru a deschide petera trebuie s-i aminteti cte duhuri ai nvins i s
rosteti cu voce tare formula magic, care este cel mai mic numr care are att prima cifr ct i
numrul de cifre egal cu numrul duhurilor nvinse de tine. n plus, acest numr trebuie s aib
proprietatea c orice secven de dou cifre consecutive trebuie s fie numere prime diferite. n
acest moment, Sinbad s-a trezit i vrea s plece n cutarea comorii. Nu se teme de duhurile
rele, dar tie cte calcule necesit cutarea formulei magice (i mai tie c la matematic nu se
descurc foarte bine). De aceea, v roag s-l ajutai.
Sinbad v va spune numrul n egal cu numrul duhurilor nvinse de el, iar voi trebuie s-i
spunei formula magic. n cazul n care nu exist un astfel de numr, transmitei-i c Nu exist.
Exemplu: n=3 se va afia 311.
(ONI
2002 clasa a VI-a)
28)
Gigel are de rezolvat urmtoarea problem: se consider numrul natural N format din
maxim 9 cifre, distincte dou cte dou i n care nu exist cifra 0. Gigel va trebui s fac
bileele pentru fiecare cifr din numr, bileele pe care le va pune ntr-o cciul, conform
urmtorului algoritm: iniial pornete de la ultima cifr a numrului (cifra unitilor) i pune n
cciul bileelul pe care este scris aceast cifr. Dac aceasta este o valoare par, ncepe
parcurgerea numrului spre dreapta, n caz contrar spre stnga, parcurgerea fcndu-se cu un
numr de pai egal cu cifra respectiv. n parcurgerea unui numr spre dreapta se consider c
dup ultima cifr urmeaz prima (cea mai semnificativ cifr a numrului), dup aceasta
urmeaz a doua, etc., iar n deplasarea spre stnga dup prima cifr (cea mai semnificativ cifr
a numrului) urmeaz ultima cifr (cifra unitilor), apoi penultima, etc., iar parcurgerea ncepe
cu cifra din numr imediat de lng cifra scris pe ultimul bileel introdus n cciul, respectnd
sensul parcurgerii. De exemplu, dac numrul nostru este 1346, Gigel pornete de la cifra 6, iar
biletul pe care s-a scris aceast cifr l pune n cciul. Parcurge numrul spre dreapta, fcnd 6
pai; trece prin cifrele: 1,3,4,6,1 i se oprete la cifra 3. Deci, n cciul va pune bileelul pe care
este scris cifra 3.
Algoritmul continu pn cnd se termin toate bileelele sau cnd ajunge la o cifr pentru
care bileelul cu valoarea respectiv a fost introdus deja n cciul.
Cerin: n cazul n care algoritmul se ncheie ntruct Gigel a pus toate bileelele n cciul,
se va afia cifra de pe ultimul bileel introdus n cciul, iar n cazul n care Gigel ajunge n timpul
parcurgerii la o cifr pentru care bileelul corespunztor a fost introdus deja n cciul, se va
afia valoarea acestei cifre
Date de intrare: Se va citi de la tastatur numrul natural N format din cel mult 9 cifre
distincte dou cte dou, n care nu exist cifra 0.
Datele de ieire: Se va afia pe ecran cifra la care Gigel a ajuns n momentul opririi
algoritmului.
Exemple :
1) N=412
Gigel ncepe cu cifra 2 (bileelul cu cifra 2 este pus de Gigel n cciul); fiind valoare par,
parcurge spre dreapta i se oprete la cifra 1, bileelul cu aceast cifr fiind pus n cciul. Cifra
1 fiind impar, continu parcurgerea spre stnga i se oprete la cifra 4 i pune astfel i ultimul
bileel n cciul. Din acest moment nu mai exist bileele nepuse n cciul i se va afia deci
cifra 4 .
2) N=1243
Gigel ncepe cu cifra 3 (bileelul cu cifra 3 este pus de Gigel n cciul); fiind valoare impar,
parcurge spre stnga i se oprete la cifra 1, bileelul cu aceast cifr fiind pus n cciul. Cifra 1
fiind impar, continu parcurgerea spre stnga i se oprete tot la cifra 3, dar nu mai exist
bileelul cu cifra 3 pentru a putea fi pus n cciul. Se va afia deci, cifra 3.
(ONI Focani 2003 clasa a VI-a)

31

29)
Simpatie mare ntre Ionel i Mrioara, doi elevi venii n tabr la Glciuc! Pentru a scpa
de indiscreia colegilor, cei doi hotrsc s-i trimit mesaje, unul altuia, folosind o metod
simpl de criptare: textul de criptat se scrie pe o foaie, aranjnd literele cuvintelor ntr-un tablou
avnd cte 5 caractere pe fiecare linie. Spaiul dintre cuvinte este i el caracter. Textul astfel
aranjat pe un numr suficient de linii pentru a ncape, se citete pe coloane, de sus n jos i de la
stnga la dreapta. n locul spaiilor dintre cuvinte se pun puncte. Tot puncte se pun i la sfritul
textului, attea cte spaii libere sunt rmase la sfritul textului pus n tablou. Exemplu:
Pentru textul: Te astept dupa cina la ora 8 se va aranja:
1
2
3
4
5
T
e
a
s
t
e
P
t
d
u
P
a
c
i
N
a
l
a
o
R
a
8
se va codifica: Ttdclaeeuia..ppn.8ataao.s...r.
Decodificarea mesajului se va face nvers codificrii.
Ajutai-i, realiznd un program care s codifice i s decodifice mesajele celor doi copii.
Pentru diferenierea mesajelor ce trebuie codificate, de cele care trebuie decodificate, primul
caracter al mesajului va fi C sau c pentru codificare, respectiv D sau d pentru decodificare.
Aceste caractere, vor fi lipite de prima litera din textul mesajului.
Intrare: CAm un mar
Ieire: A.mm.aurn.
ntrare: dTaGia.aubllcaaa.r.c.
Ieire: Tabara la Galaciuc
(ONI Glciuc 2002 clasa a VI-a)
30)
S se calculeze anul, ziua, luna i ora revenirii unei rachete pe Pmnt cunoscnd anul, ziua,
luna i ora plecrii i durata zborului n minute. Zborul dureaz cel mult un an.
(CNI Nvodari
1989 clasa a VI-a)
31)
Ministerul numerelor are de cteva zile un nou ef. Acesta a dorit s fac o serie de
schimbri n ministerul pe care l conduce i a nceput reorganizarea cu mulimea numerelor
naturale n 2 etape: mai nti toate numerele naturale au fost aezate fr spaiu (sau alt
separator) ntre ele. Dup aceast prim etap, mulimea numerelor naturale arta astfel:
123456789101112131415161718192021222324... A doua etap a reorganizrii a constat n
formarea unor noi grupe: o grup de o cifr, o grup de 2 cifre, o grup de 3 cifre i aa mai
departe. Astfel, grupele reorganizate sunt: 1, 23, 456, 7891, 01112, 131415, 1617181,
92021222, 324252627 . Cerin: Pentru un numr natural N dat, s se afieze prima i ultima
cifr din cea de-a N-a grup de cifre obinut dup reorganizare, valori separate printr-un
spaiu. Restricii: 1<=N<=250. Exemplu: Pentru N=8 se va afia: 9 2 (deoarece 9 i 2 sunt
prima, respectiv ultima cifr din grupa a 8 a care este 92021222 )
(ONI Focani 2003 clasa a VI-a)
Clasa a VII-a
1) Se d o expresie aritmetic care conine operatorii +, - i operanzii a, b, c. Cunoscnd valorile
operanzilor a, b, c se cere s se determine valoarea expresiei. Date de intrare: n fiierul
expresie.in se d pe prima linie valorile operanzilor a, b, c (separai prin cte un spaiu), iar pe
linia a doua expresia. Date de ieire: n fiierul expresie.out se va scrie valoarea expresiei.
Restricii: a,b,c<32000 i sunt numere naturale nenule
Expresia este corect din punct de vedere matematic i are cel mult 1000 de caractere
Exemplu: expresie.in 7 8 3 a+c-b+c expresie.out 5
(www.contaminare.ro)
2) Se d o secven de maxim 1000 de caractere (numai litere mari i mici ale alfabetului englez i
cifre). Cerin:
se cere s se determine cel mai mare numr din secven. Date de intrare: n fiierul nrmax.in se
d pe o singur linie, secvena. Date de ieire: n fiierul nrmax.out se va scrie numrul cerut.
Restricii: secvena de caractere din fiier are maxim 1000 de caractere i cel puin un caracter.
Exemplu: nrmax.in A78bx899f7g9
nrmax.out 899 . Observaie: dac nu exist soluie n fiierul nrmax.out se va scrie numrul -1.

32

3) Pe o insul, dup multiple experimente chimice se produce un fenomen extrem de periculos.


Viespile se nmulesc foarte repede producnd pagube mari. Guvernatorul ia hotrrea ca dup n
zile s se evacueze insula. Se cere s se determine numrul de viespi existente n ziua de
plecare, tiind c n prima zi dup fenomen sunt p viespi, n a doua zi q viespi, iar n zilele cu
numrul de ordine k (3kn) numrul de viespi este egal cu de patru ori numrul de viespi din
ziua k-1, minus numrul de viespi din ziua a k-2. Date de intrare: |n fiierul text VIESPI.IN se afl
pe prima linie n, iar pe a doua linie p i q cu un spaiu ntre ele. Date de ieire: |n fiierul text
VIESPI.OUT se va scrie pe prima linie numrul de viespi dup cele n zile. Restricie
1n,p,q100. Exemplu: VIESPI.IN 4 2 3 VIESPI.OUT 37
(ONI.
Clasele
7-8,
2001)
4) Gigel are o panglic alctuit din benzi de 1 cm lime, colorate n diverse culori. Panglica are N
benzi colorate cu C culori, culori pe care le vom numerota de la 1 la C. Gigel vrea ca la ambele
capete ale panglicii s aib aceeai culoare, dar cum nu poate schimba culorile benzilor, singura
posibilitate rmne tierea unor buci de la capete. Cerin: Scriei un program care s
determine modul de tiere a panglicii astfel nct la cele dou capete s fie benzi de aceeai
culoare, iar lungimea panglicii obinute s fie maxim. Date de intrare: Fiierul de intrare
PANGLICA.IN conine:
pe prima linie numerele naturale N i C separate printr-un spaiu;
pe urmtoarele N linii descrierea panglicii: pe fiecare linie un numr natural de la 1 la C,
reprezentnd n ordine culorile fiilor ce alctuiesc panglica.
Date de ieire: Fiierul de ieire PANGLICA.OUT va conine urmtoarele 4 numere:
pe prima linie numrul de fii rmase;
pe linia a doua numrul culorii care se afl la capete;
pe linia a treia cte fii trebuie tiate de la nceputul panglicii iniiale;
pe linia a patra cte fii trebuie tiate de la sfritul panglicii iniiale.
Restricii i precizri 2N10000 1C200 Dac exist mai multe soluii alegei pe
cea n care se taie ct mai puin din partea de nceput a panglicii.
Exemplul 1
Exemplul 2
PANGLICA.IN
PANGLICA.OUT
PANGLICA.IN
PANGLICA.OUT
63
4
52
4
1
2
1
2
2
1
2
1
1
1
1
0
3
2
2
2
3
(ONI, clasa a 7-a,2002)
5) Gigel s-a ntlnit din nou cu Maria la Concursul Naional de Informatic de la Satu Mare. Pentru a
comunica astfel nct ceilali colegi s nu neleag mesajele lor ei folosesc o metod de criptare
a informatiilor conform urmtoarelor reguli:
1. Ei formeaz dicionarul cuvintelor utilizate n mesaj, spaiul ce separ cuvintele fiind
considerat i el un cuvnt.
2. Apoi determin k, ce reprezint cea mai mic putere a lui 2 astfel nct numrul cuvintelor din
dicionar s fie mai mic dect 2k.
3. n urmtoarea etap ei sorteaz cuvintele din dicionar n ordine alfabetic cresctoare.
4. Fiecare cuvnt din dicionar se codific prin corespondentul n baza 2 a poziiei cuvntului,
exprimat pe k bii.
5. Se grupeaz biii astfel obinui n grupe de 8 completnd dac este cazul cu 0 ultima grup.
6. Fiecare grup se transform ntr-o valoare zecimal, rezultnd astfel codul ASCII a unui
caracter ce reprezint codul criptat.
NOT: Cuvintele din mesaj includ doar caractere mici din alfabetul englez,sunt separate prin
spaiu, iar lungimea unui cuvnt nu depete 10 caractere.
Datele de intrare se citesc din fiierul COD.IN ce are o singur linie. Primul caracter din linie
reprezint tipul operaiei, criptare (c). Imediat dup caracterul c urmeaz mesajul de criptat. n
dicionar nu pot exista mai mult de 15 cuvinte (inclusiv spaiul). Datele de ieire se scriu n
fiierul COD.OUT ce conine mesajul criptat urmat imediat de cuvintele din dicionar separate
prin spaiu. EXEMPLU:
COD.IN
COD.OUT

33

cmama are mere


spaii)

e are mama mere

(ATENIE! ntre are exist dou

(CNI, clasa a 7-a, Satu Mare, 2002)


6) ntr-un fiier de intrare NUMERE.IN exist una sau mai multe linii. Pe fiecare linie exista cel puin
dou numere urmate apoi de unul din caracterele p, m, n sau i separate prin spaiu.
Caracterele de sfrit de linie au urmtoarele nelesuri. p cte numere sunt prime din
numerele date pe linia respectiv, m determinarea mediei aritmetice a numerelor din linia
respectiv exprimat cu dou zecimale, n numrul de numere prime din intervalul nchis a
celor dou numere din linia respectiv
i inversul fiecrui numr din linia respectiv cu dou zecimale. Datele de ieire se scriu n
fiierul NUMERE.OUT avnd pe fiecare linie rezultatele cerinelor fiecrei linii din fiierul de
intrare.
Not: Toate datele de intrare se consider corecte. Numrul maxim de linii este 10. Pe o linie nu
poate exista mai mult de 10 numere (acolo unde acest lucru este permis) Numerele utilizate sunt
naturale i nu depesc 64000.
Exemplu:
NUMERE.IN
NUMERE.OUT
13 21 27 29 p
2
12 5 i
0,08 0,20
(CNI, clasa a 7-a, Satu Mare, 2002)
7) Se d o expresie aritmetic care conine operatorii +, - i operanzii a, b, c. Cunoscnd valorile
operanzilor a, b, c se cere s se determine valoarea expresiei. Date de intrare: n fiierul
expresie.in se d pe prima linie valorile operanzilor a, b, c (separai prin cte un spaiu), iar pe
linia a doua expresia. Date de ieire: n fiierul expresie.out se va scrie valoarea expresiei.
Restricii: a,b,c<32000 i sunt numere naturale nenule. Expresia este corect din punct de
vedere matematic i are cel mult 1000 de caractere. Exemplu: expresie.in 7 8 3 a+c-b+c
expresie.out 5
(www.contaminare.ro)
8) Se consider un vector unidimensional x cu n componente numere naturale distincte, cel mult
egale cu 32000.
Cerin: Scriei un program care s construiasc vectorul y cu elemente din mulimea {1,2,
,n} astfel nct oricare ar fi numerele naturale i,j cu proprietatea c 1<=i<=n, 1<=j<=n i x[i]
< x[j] s avem y[i]<y[j]. Date de intrare; fiierul siruri.in va conine: pe prima linie numrul n iar
pe linia a doua componentele vectorului x separate printr-un spaiu. Date de ieire: fiierul
siruri.out va conine pe prima linie componentele vectorului y separate printr-un spaiu.
Restricii: 1<=n<=100, componentele vectorului x sunt numere naturale cel mult egale cu
32000. Exemplu:
siruri.in
Siruri.out
6
5 2 3 6 4 1
12 3 7 16 10 1
(OJI, clasa a VII-a, 2004)
9) George pleac n excursie la munte. Pentru aceast excursie el dorete s-i ia un rucsac cu
haine. Rucsacul are un volum de depozitare egal cu V cm3. George stabilete n haine utile
pentru excursie (numerotate cu 1, 2, , n). Hainele au fiecare cte un volum egal cu v1, v2, ,
vn cm3. Din pcate, exist posibilitatea ca acestea s nu intre toate n rucsac. George ajunge la
concluzia c hainele sunt mpachetate i presate i micoreaz volumul fiecare cu p1, p2, , pn
la sut. Cerin: Determinai numrul maxim de haine ce pot fi introduse n rucsac. Date de
intrare: n fiierul text excursie.in pe prima linie se va afla v i n separate printr-un spaiu, pe a
doua linie se afl v1, v2, , vn separate prin cte un spaiu, iar pe linia a treia p1, p2, , pn
separate de cte un spaiu. Date de ieire: n fiierul excursie.out se va scrie numrul cerut.
Restricii: 0<n<100, 0<v<30000, v1, v2, , vn sunt numere naturale <30000, p1, p2, , pn
sunt numere naturale <100. Exemplu:
excursie.in
excursie.out
980 4
2
1600 200 10000 800
50 20 10 10
(CNI, Satu-Mare, clasa a VII-a, 2003)
10) Un turist aflat n Valea Romeului, aude din vzduh n cuvinte. Aici exist o piatr fermecat care
atunci cnd un cuvnt se izbete de ea, eman un ecou similar cu cuvntul dar spus de la
sfrit . Ajutai turistul s gseasc grupele formate din cuvnt i ecoul su. Exemplu: date de

34

intrare: n=7 i cuvintele: cam des sed oamenii la al doilea mac Date de ieire: cam mac
des sed la al .
(Info-Star, clasa a VII-a, 1996)
Clasa a VIII-a
1) Se consider o list de litere mici ale alfabetului, fiecare avnd o anumit pondere. Se cere
completarea unui careu ptratic, astfel nct s se obin ponderea maxim pe coloane. Pentru
aceasta se dau urmtoarele definiii:
1.
Se numete cuvnt un ir de litere mici, cu proprietatea c nu exist x consoane sau y vocale
consecutive i nu pot exista 2 caractere identice consecutive.
2.
Se numete cuvnt de gen masculin, un cuvnt care ncepe i se termin cu consoana.
3.
Se numete cuvnt de gen feminin, un cuvnt care ncepe i se termin cu vocal.
4.
Se numete cuvnt de gen neutru, un cuvnt care ncepe cu consoan i se termin cu
vocal, sau ncepe cu vocal i se termin cu consoan.
Datele se citesc dintr-un fiier cu urmtoarea structur:

pe prima linie se citete dimensiunea careului (n), x i y cu spaiu ntre ele

pe linia a doua sunt date coordonatele punctelor negre (linie i coloan) separate prin
spaiu

pe linia a treia se dau numrul de cuvinte masculine, feminine i neutre utilizate la


completarea careului

ncepnd cu linia a patra se d perechea pondere caracter separate prin spaiu


Numele fiierului se introduce de la tastatur.
Datele de ieire se scriu n fiierul cu numele CNI.OUT care are urmtoarea structur:

pe primele n linii, careul ( punctele negre vor fi marcate prin caracterul * )

pe linia n+1 se va scrie ponderea maxim obinut


Exemplu:
FIIERUL DE INTRARE:
CNI.OUT
433
cadc
2341
ab*a
413
cdab
100 c
*abc
80 b
1160
90 a
70 d
(CNI, clasa a 8-a, Satu Mare, 2002)
2) Se dau urmtoarele corespondene pentru numerele naturale.
0 corespunde 0
1 corespunde 143
2 corespunde 307
3 corespunde 453
7 corespunde 1273
10 corespunde 1747
11 corespunde 2113
576 corespunde 160377
S se determine codificarea numerelor citite din fiierul cu numele CNI.IN (fiecare numr fiind
citit de pe o linie). Datele de ieire se vor scrie n fiierul CNI.OUT
Exemplu:
CNI.IN
CNI.OUT
10
1747
0
0
7
1273
(CNI, clasa a 8-a, Satu Mare, 2002)
3) Se consider urmtorul ir, construit astfel nct fiecare element al lui, cu excepia primului, se
obine din cel precedent: 1, 11, 21, 1211, 111221, ...Termenii din ir sunt numerotai ncepnd cu
1. Cerin: Dat n, un numr natural, s se determine cel de-al n-lea termen din irul dat. Date de
intrare: Din fiierul text SIR.IN se citete numrul natural n. Date de ieire: Pe prima linie a

35

fiierului text SIR.OUT se va scrie al n-lea termen al sirului. Restricii 4 n 35, numrul de cifre
ale unui termen nu depete 17000.
Eemple
SIR.IN
SIR.OUT
4
1211
SIR.IN
SIR.OUT
5
111221
(OJI, 2002, clasa a 8-a)
4) Se d un cuvnt format numai din litere mici. Numim anagram un cuvnt format din literele
cuvntului dat, schimbnd eventual ordinea literelor. De exemplu o anagram a cuvntului
tamara este cuvntul armata. Evident, un cuvnt poate fi considerat o anagram a lui nsui.
Cerin: Scriei un program care s genereze toate anagramele unui cuvnt dat, n
ordine lexicografic. Date de intrare: Fiierul de intrare ANAG.IN conine pe prima
linie cuvntul dat.
Date de ieire: Fiierul de ieire ANAG.OUT va conine n ordine anagramele cuvntului dat, cte
una pe linie.
Restricii i precizri: Cuvntul dat are cel mult 10 de litere mici, cuvntul x=x1x2...xn precede
cuvntul y=y1y2...yn dac exist un indice k{1,2,...,n} astfel nct xi=yi, i{1,2,...,k-1}, iar
litera xk precede n alfabet litera yk.
Exemplu
ANAG.IN
ANAG.OUT
ana
aan
ana
naa
(OJI, 2002, clasa a VIII-a)
5) S ne imaginm o reea format din noduri situate n punctele de coordonate ntregi, fiecare nod
fiind unit prin bare paralele cu axele de coordonate de cele 4 noduri vecine. Un pianjen este
plasat iniial n originea sistemului de coordonate. La fiecare secund, pianjenul se poate
deplasa din nodul n care se afl n unul dintre cele 4 noduri vecine.
Cerin: Scriei un program care s determine n cte moduri se poate deplasa pianjenul din
poziia iniial, ntr-o poziie final dat, n timpul cel mai scurt. Date de intrare: Fiierul de
intrare SPIDER.IN conine pe o singur linie abscisa i ordonata punctului final, separate prin
spaiu: x y
Date de ieire:n fiierul de ieire SPIDER.OUT se va afia pe prima linie numrul de moduri
determinat Nr
Restricii 0<x,y80. Exemplul 1
Exemplul 2
SPIDER.IN
SPIDER.OUT
12
3
SPIDER.IN
SPIDER.OUT
23

10

(ONI. Clasele VII-VIII, 2001)


6) Lidorienii i senopictii sunt n conflict pentru ronul fermecat, fiind arbitrai de orintieni, alei de
prile beligerante drept judectori. Orintia a propus: Ronul fermecat va fi ascuns printre ali k
roni cu acelai aspect, dar toi realizai dintr-un material mai greu dect originalul, avnd masa,
standard, diferit de cea a ronului femecat. Pentru a-l descoperi, v gandii c avei la dispoziie
o balan i toi cei k+1 roni. Lidorienii, apoi senopictii vor spune un singur numr, reprezentnd
numrul maxim de cntriri admis (numrul acesta nu se obine cntrind un ron de mai multe
ori i nici cntrind de ct mai multe ori ronii; cntrirea presupune s existe, pe fiecare bra al
balanei, un numr egal de roni (1-1, 2-2, etc.) pentru descoperirea ronului fermecat. Dac nici
una dintre pri nu spune numrul corect, atunci ronul fermecat va rmne n Orintia. Dac
ambele pri spun numrul corect, ronul va rmne tot la orintieni.. Cerin Sarcina voastr
este s indicai ara care ctig ronul fermecat: Lidoria -L, Senopictia S, Orintia O. Date de
intrare Fisierul ron.in are pe prima linie numrul k, iar pe linia a doua dou numere RL, respectiv
RS separate printr-un spaiu. RL reprezint rspunsul lidorienilor, iar RS rspunsul
senopictilor.Date de ieire Fisierul ron.out contine una din literele L, S i O.Restricii 1 < k <
10000 RL, RL sunt numere naturale cel mult egale cu k

36

ron.in
7
13
ron.in
4
22

ron.out
O

Explicaie: maximul admis este 2,


deci ronul fermecat rmne n
Orintia
Explicaie: maximul admis este 2,
dar fiind egalitate, ronul rmne
n Orintia

ron.out
O

Exemple

(OJI, clasa VIII-a, 2004)


7)
Se consider n dreptunghiuri avnd laturile paralele cu axele de coordonate. Fiecare
dreptunghi este specificat prin coordonatele extremitilor unei diagonale. Toate coordonatele
sunt numere naturale. S se calculeze aria suprafeei comune tuturor celor n dreptunghiuri
(intersecia) i perimetrul suprafeei acoperite de dreptunghiurile considerate. Date de intrare:
numrul n i 2*n perechi de numere naturale mai mici dect 100 Date de ieire: aria interseciei,
coordonatele vrfurilor figurii rezultate prin intersecie, peerimetrul figurii rezultate prin
reuniune.
(CNI, Nvodari, clasa a VIII-a, 1992)

37

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