Documente Academic
Documente Profesional
Documente Cultură
Culegere Informatica
Culegere Informatica
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.
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.
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
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.
6.
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
12
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.
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.
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.
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
10.
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
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
Virus.out
0 3 0
0 1 0
2 0 0
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.
23
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)
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
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
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
33
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 linia a doua sunt date coordonatele punctelor negre (linie i coloan) separate prin
spaiu
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
36
ron.in
7
13
ron.in
4
22
ron.out
O
ron.out
O
Exemple
37