Sunteți pe pagina 1din 17

# INSPECTORATUL COLAR AL MUNICIPIULUI BUCURETI

## Str. Icoanei Nr.19, sector 2, telefon: 0212118841, 0212118485; fax: 0212107531

www.ism.e!".ro
SUBIECTELE PROBEI PRACTICE PENTRU
EXAMENUL DE ATESTAT PROFESIONAL LA INFORMATIC, 2009
PROGRAMARE
SPECIALIZAREA MATEMATIC INFORMATIC, INTENSIV INFORMATIC
Subi!"u# \$%&'
Se consi!er# "n arore c" r#!#cin# \$i n %&rf"ri 'nN, 2<n<100(, !at )rin %ector"l !e
(")*i+& *&rf"rile arorel"i s"nt etic+etate c" n"merele !istincte: 1,2,...,n.
,i\$ier"l date.in con-ine !o"# linii. .e )rima linie a fi\$ier"l"i este scris n"m#r"l nat"ral n,
re)re/ent&n! n"m#r"l !e %&rf"ri ale arorel"i !at, iar )e a !o"a linie s"nt scrise n n"mere
nat"rale, se)arate )rin c&te "n s)a-i", re)re/ent&n! %alorile com)onentelor %ector"l"i !e
(")*i+&
Se consi!er# s")ro0ramele:
S1 c" !oi )arametri n \$i t, care !etermin#, 1n "rma a)el"l"i, citirea n"merelor !in
fi\$ier"l date.in \$i ret"rnarea )rin interme!i"l )arametr"l"i n a n"m#r"l"i !e %&rf"ri ale
arorel"i !in en"n-, iar )rin interme!i"l )arametr"l"i t ret"rnarea "n"i talo"
"ni!imensional c" n com)onente n"mere nat"rale re)re/ent&n! %ector"l !e 2ta-i3 al
arorel"i !in en"n-;
S2 c" trei )arametri n, t \$i k, care )rime\$te )rin interme!i"l )arametrilor:
- n n"m#r"l !e %&rf"ri ale arorel"i !in en"n-;
- t %ector"l !e 4ta-i3 al arorel"i !in en"n-;
- k "n n"m#r nat"ral '1kn( re)re/ent&n! etic+eta "n"i %&rf al arorel"i !in
en"n-.
S")ro0ram"l ret"rnea/# n"m#r"l t"t"ror !escen!en-ilor !irec-i ai %&rf"l"i c" etic+eta k.
C%i\$*,
a) Scrie-i !efini-ia com)let# a s")ro0ram"l"i S1;
b) Scrie-i !efini-ia com)let# a s")ro0ram"l"i S2;
c) Scrie-i "n )ro0ram )rinci)al Pascal/C/C++, care s# !etermine afi\$area )e ecran a
etic+etelor t"t"ror fr"n/elor arorel"i c" r#!#cin# !in en"n-"l )rolemei, folosin! a)el"ri "tile
ale s")ro0ramelor S1 \$i S2.
E-./#u& 5ac# fi\$ier"l date.in are con-in"t"l al#t"rat,
)ro0ram"l %a afi\$a )e ecran n"merele "rm#toare:
1 4 7 8
8
6 5 5 2 0 3 3 3
Subi!"u# \$%& 2
,i\$ier"l date.in con-ine !o"# linii. .e )rima linie a fi\$ier"l"i este scris "n n"m#r nat"ral
n '1n100(, iar )e a !o"a linie s"nt scrise n n"mere nat"rale, se)arate )rin c&te "n s)a-i".
Se consi!er# s")ro0ramele:
INSPECTORATUL COLAR AL MUNICIPIULUI BUCURETI
I\$0/!"1% 2!1#)% 3 0/!i)#i")" 4 /%15& "5)\$i) P\$)
Subi!" )"0")" 2009 P%16%).)%7 0/!i)#i8)%) .)".)"i!94i\$51%.)"i!9, i\$"\$0i: i\$51%.)"i!9
1
S1 c" "n sin0"r )arametr" k )rin interme!i"l c#r"ia )rime\$te "n n"m#r nat"ral nen"l
c" cel m"lt 4 cifre, k>1; s")ro0ram"l ret"rnea/# cel mai mic !i%i/or al n"m#r"l"i k,
!i%i/or !iferit !e 1;
S2 c" !oi )arametri, care )rime\$te )rin interme!i"l )arametrilor:
6 n,"n n"m#r nat"ral n '1n100(;
6 ,"n talo" "ni!imensional format !in n '1n100( com)onente ce
memorea/# n"mere 1ntre0i, fiecare a%&n! cel m"lt )atr" cifre.
S")ro0ram"l !etermin# or!onarea cresc#toare a %alorilor memorate !e com)onentele
talo"l"i )rimit )rin interme!i"l )arametr"l"i \$i ret"rnea/# talo"l or!onat )rin
interme!i"l acel"ia\$i )arametr".
C%i\$*,
a) Scrie-i !efini-ia com)let# a s")ro0ram"l"i S1;
b) Scrie-i !efini-ia com)let# a s")ro0ram"l"i S2;
c) S# se scrie )ro0ram"l )rinci)al Pascal/C/C++ care s# citeasc# !in fi\$ier"l
date.in n"m#r"l n \$i cele n n"mere nat"rale, iar a)oi, folosin! a)el"ri "tile ale
s")ro0ramelor S1 \$i S2, s# !etermine \$i s# afi\$e/e )e )rima linie a ecran"l"i toate
n"merele )rime care se afl# )e a !o"a linie a fi\$ier"l"i date.in, 1n or!inea cresc#toare a
%alorilor lor, se)arate )rin c&te "n s)a-i"& 5ac# n" exist# astfel !e n"mere se %a afi\$a
mesa7"l N!&
E-./#u& 5ac# fi\$ier"l date.in are con-in"t"l
al#t"rat, )ro0ram"l %a afi\$a )e ecran n"merele
"rm#toare:
3 3 17 101
8
12 101 " 3 28 3 17 24
Subi!"u# \$%& ;
Se consi!er# "n 0raf neorientat G c" n %&rf"ri 'nN, 2<n<30(, !at )rin matricea !e
a!iacen-# A& *&rf"rile 0raf"l"i s"nt etic+etate c" n"merele !istincte: 1,2,...,n.
,i\$ier"l date.in con-ine n+1 linii. .e )rima linie a fi\$ier"l"i este scris n"m#r"l n !e
%&rf"ri ale 0raf"l"i G, iar )e fiecare !intre "rm#toarele n linii, s"nt scrise c&te n %alori
a)ar-in&n! m"l-imii #0,1\$, se)arate )rin c&te "n s)a-i", re)re/ent&n! %alorile elementelor
matricei !e a!iacen-# A a 0raf"l"i G.
Se consi!er# s")ro0ramele:
S1 c" !oi )arametri n \$i %, care !etermin#, 1n "rma a)el"l"i, citirea n"merelor !in
fi\$ier"l date.in \$i ret"rnea/# )rin interme!i"l )arametrilor:
6 n n"m#r"l !e %&rf"ri ale 0raf"l"i G;
6 % "n talo" i!imensional c" n linii \$i n coloane care memorea/# %alorile
elementelor matricei !e a!iacen-# A a 0raf"l"i G;
S2 c" !oi )arametri n \$i , care )rime\$te )rin interme!i"l )arametrilor:
- n "n n"m#r nat"ral nen"l '2<n<30(;
- "n talo" "ni!imensional c" n com)onente care memorea/# n"mere
1ntre0i, fiecare a%&n! cel m"lt 3 cifre.
S")ro0ram"l ret"rnea/# s"ma t"t"ror %alorilor com)onentelor talo"l"i
"ni!imensional .
C%i\$*,
a) Scrie-i !efini-ia com)let# a s")ro0ram"l"i S1;
b) Scrie-i !efini-ia com)let# a s")ro0ram"l"i S2;
c) Scrie-i "n )ro0ram )rinci)al Pascal/C/C++, care cite\$te !e la tastat"r# "n n"m#r
nat"ral k '0k<30( \$i a)oi, folosin! a)el"ri "tile ale s")ro0ramelor S1 \$i S2, !etermin# \$i
INSPECTORATUL COLAR AL MUNICIPIULUI BUCURETI
I\$0/!"1% 2!1#)% 3 0/!i)#i")" 4 /%15& "5)\$i) P\$)
Subi!" )"0")" 2009 P%16%).)%7 0/!i)#i8)%) .)".)"i!94i\$51%.)"i!9, i\$"\$0i: i\$51%.)"i!9
2
afi\$ea/# )e ecran toate etic+etele %&rf"rilor 0raf"l"i G ale c#ror 0ra!e s"nt e0ale c" k.
8tic+etele se %or afi\$a )e o sin0"r# linie, se)arate )rin c&te "n s)a-i", 1n or!inea cresc#toare
a %alorilor lor. 5ac# 0raf"l n" are nici"n %&rf c" 0ra!"l e0al c" k, at"nci )ro0ram"l %a afi\$a
%aloarea 0.
E-./#u& 5ac# k&3 iar fi\$ier"l date.in are con-in"t"l al#t"rat, at"nci
)ro0ram"l %a afi\$a )e ecran etic+etele "rm#toare:
1 2 6 7
7
0 1 0 0 0 1 1
1 0 0 0 0 1 1
0 0 0 1 0 0 0
0 0 1 0 0 0 0
0 0 0 0 0 0 0
1 1 0 0 0 0 1
1 1 0 0 0 1 0
Subi!"u# \$%& <
,i\$ier"l date.in con-ine o sin0"r# linie )e care este scris "n text !e cel m"lt 250 !e
caractere, format !in cifre, s)a-ii, litere mici sa" mari ale alfaet"l"i en0le/.
Se consi!er# s")ro0ramele:
S1 c" "n sin0"r )arametr", care !etermin#, 1n "rma a)el"l"i, citirea text"l"i !in
fi\$ier"l date.in \$i ret"rnea/# )rin interme!i"l )arametr"l"i s text"l citit;
S2 c" !oi )arametri, care )rime\$te )rin interme!i"l )arametrilor:
6 c "n caracter;
6 s "n \$ir !e caractere format !in cel m"lt 250 !e caractere.
S")ro0ram"l ret"rnea/# n"m#r"l !e a)ari-ii ale caracter"l"i c 1n \$ir"l s.
C%i\$*,
a) Scrie-i !efini-ia com)let# a s")ro0ram"l"i S1;
b) Scrie-i !efini-ia com)let# a s")ro0ram"l"i S2;
c) Scrie-i "n )ro0ram )rinci)al Pascal/C/C++, care, folosin! a)el"ri "tile ale
s")ro0ramelor S1 \$i S2, cite\$te text"l !in fi\$ier"l date.in \$i afi\$ea/# )e ecran, )e o
sin0"r# linie, se)arate )rin c&te "n s)a-i", 1n or!ine alfaetic#, toate literele mici !istincte ale
alfaet"l"i en0le/ care a)ar 1n text"l citit. 5ac# text"l n" con-ine nicio liter# mic#, at"nci
)ro0ram"l %a afi\$a mesa7"l N!.
E-./#u& 5ac# fi\$ier"l date.in are
con-in"t"l al#t"rat, )ro0ram"l %a afi\$a )e
ecran literele "rm#toare:
a c d e ' i l ( n ) * t %
+%a(en de ,-+S-,.+ la in')*(atica
Subi!"u# \$%& =
Se consi!er# !eclar#rile "rm#toare "tili/ate )entr" a !efini o list# sim)l" 1nl#n-"it# 'ti)
sti%#(, alocat# !inamic:
t/0e lista&1n)d;
n)d&*ec)*d
n*2inte3e*; 4*(2lista
end;
st*4ct n)d
# int n*;
n)d5 4*(;\$;
C%i\$*,
)> Scrie-i !efini-ia com)let# a s")ro0ram"l"i S1 !u 31i /)%)."%i care )rime\$te )rin
interme!i"l )arametrilor:
INSPECTORATUL COLAR AL MUNICIPIULUI BUCURETI
I\$0/!"1% 2!1#)% 3 0/!i)#i")" 4 /%15& "5)\$i) P\$)
Subi!" )"0")" 2009 P%16%).)%7 0/!i)#i8)%) .)".)"i!94i\$51%.)"i!9, i\$"\$0i: i\$51%.)"i!9
3
6 0 a!resa )rim"l"i no! !in lista !efinit# mai s"s;
6 k "n n"m#r nat"ral c" cel m"lt )atr" cifre.
S")ro0ram"l !etermin# a!#"0area la 1nce)"t"l listei, 1naintea no!"l"i c" a!resa 0 ')rim"l(,
a "n"i no" no! care s# memore/e 1n c&m)"l n* n"m#r"l k. S")ro0ram"l ret"rnea/# )rin
interme!i"l )arametr"l"i 0 a!resa )rim"l"i no! !in lista mo!ificat# )rin a!#"0are.
b> Scrie-i !efini-ia com)let# a s")ro0ram"l"i S2 care )rime\$te )rin interme!i"l sin0"r"l"i
)arametr" 0 a!resa "n"i no! al listei !efinite \$i care ret"rnea/# n"m#r"l memorat 1n c&m)"l
n* al acest"i no!.
!> Scrie-i "n )ro0ram )rinci)al Pascal/C/C++, care cite\$te !e la tastat"r# "n n"m#r nat"ral
n 'n<100( \$i "n \$ir s format !in n n"mere nat"rale, fiecare n"m#r !in \$ir a%&n! cel m"lt )atr"
cifre, iar a)oi, folosin! a)el"ri "tile ale s")ro0ram"l"i S1, constr"ie\$te o list# sim)l"
1nl#n-"it# alocat# !inamic ale c#rei no!"ri s# memore/e 1n c&m)"l n* toate n"merele )are
!in \$ir"l s. .ro0ram"l, folosin! a)el"ri "tile ale s")ro0ram"l"i S2, %a scrie 1n fi\$ier"l
date.)4t toate n"merele )are memorate 1n no!"rile listei, )e o sin0"r# linie, se)arate )rin
c&te "n s)a-i", 1n or!inea in%ers# a)ari-iei lor 1n \$ir"l s. 5ac# \$ir"l s n" con-ine nici"n n"m#r
)ar at"nci )ro0ram"l %a scrie 1n fi\$ier mesa7"l NU EXISTA.
E-./#u& 5ac# n&10 iar \$ir"l s este format !in n"merele:
5 24 88 123 2 4" 6 21 6 10
at"nci fi\$ier"l date.out %a a%ea con-in"t"l al#t"rat.
10 6 6 2 88 24
Subi!"u# \$%& ?
Se consi!er# "n arore c" r#!#cin# \$i n %&rf"ri 'nN, 2<n<100(, !at )rin %ector"l !e
(")*i+& *&rf"rile arorel"i s"nt etic+etate c" n"merele !istincte: 1,2,...,n.
,i\$ier"l date.in con-ine !o"# linii. .e )rima linie a fi\$ier"l"i este scris n"m#r"l nat"ral
n, re)re/ent&n! n"m#r"l !e %&rf"ri ale arorel"i !at, iar )e a !o"a linie s"nt scrise n n"mere
nat"rale, se)arate )rin c&te "n s)a-i", re)re/ent&n! %alorile com)onentelor %ector"l"i !e
(")*i+&
Se consi!er# s")ro0ramele:
S1 c" !oi )arametri n \$i t, care !etermin#, 1n "rma a)el"l"i, citirea n"merelor !in
fi\$ier"l date.in \$i ret"rnarea )rin interme!i"l )arametr"l"i n a n"m#r"l"i !e %&rf"ri ale
arorel"i !in en"n-, iar )rin interme!i"l )arametr"l"i t, ret"rnarea "n"i talo"
"ni!imensional c" n com)onente n"mere nat"rale re)re/ent&n! %ector"l !e 4")*i+ al
arorel"i !in en"n-;
S2 c" trei )arametri n, t \$i k, care )rime\$te )rin interme!i"l )arametrilor:
- n n"m#r"l !e %&rf"ri ale arorel"i !in en"n-;
- t %ector"l !e 4ta-i3 al arorel"i !in en"n-;
- k "n n"m#r nat"ral '1kn( re)re/ent&n! etic+eta "n"i %&rf al arorel"i !in
en"n-.
S")ro0ram"l ret"rnea/# ni%el"l )e care se 0#se\$te %&rf"l c" etic+eta k. Se consi!er#
c# r#!#cina se 0#se\$te )e ni%el"l 0.
C%i\$*,
a) Scrie-i !efini-ia com)let# a s")ro0ram"l"i S1;
b) Scrie-i !efini-ia com)let# a s")ro0ram"l"i S2;
c) Scrie-i "n )ro0ram )rinci)al Pascal/C/C++, care cite\$te !e la tastat"r# "n n"m#r
nat"ral n '0<n<100( \$i care s# !etermine afi\$area )e ecran a etic+etelor t"t"ror no!"rilor
arorel"i !in en"n-"l )rolemei care se 0#sesc )e ni%el"l n, folosin! a)el"ri "tile ale
s")ro0ramelor S1 \$i S2.
INSPECTORATUL COLAR AL MUNICIPIULUI BUCURETI
I\$0/!"1% 2!1#)% 3 0/!i)#i")" 4 /%15& "5)\$i) P\$)
Subi!" )"0")" 2009 P%16%).)%7 0/!i)#i8)%) .)".)"i!94i\$51%.)"i!9, i\$"\$0i: i\$51%.)"i!9
4
E-./#u& 5ac# fi\$ier"l date.in are con-in"t"l al#t"rat \$i
n&2 at"nci )ro0ram"l %a afi\$a )e ecran n"merele "rm#toare:
4 6 7 8
8
6 5 5 2 0 3 3 3
Subi!"u# \$%& @
,i\$ier"l date.in con-ine !o"# linii. .e )rima linie a fi\$ier"l"i este scris "n n"m#r nat"ral
n '1n10(, iar )e a !o"a linie s"nt scrise n n"mere nat"rale, formate fiecare !in cel m"lt 4
cifre, se)arate )rin c&te "n s)a-i".
Se consi!er# s")ro0ramele:
S1 care )rime\$te )rin interme!i"l sin0"r"l"i s#" )arametr" % "n n"m#r nat"ral !e
maxim"m 4 cifre; s")ro0ram"l ret"rnea/# -.!+/1 !ac# %aloarea )arametr"l"i %
este n"m#r )rim, altfel %a ret"rna 6,7S+/0;
S2 care )rime\$te )rin interme!i"l sin0"r"l"i s#" )arametr" % "n n"m#r nat"ral c" cel
m"lt 4 cifre; s")ro0ram"l ret"rnea/# r#st"rnat"l n"m#r"l"i )rimit )rin )arametr"l %,
a!ic# n"m#r"l o-in"t )rin in%ersarea cifrelor l"i %. 5e exem)l", )entr" %&1234,
s")ro0ram"l %a ret"rna n"m#r"l 4321.
C%i\$*,
a) Scrie-i !efini-ia com)let# a s")ro0ram"l"i S1;
b) Scrie-i !efini-ia com)let# a s")ro0ram"l"i S2;
c) S# se scrie )ro0ram"l )rinci)al Pascal/C/C++ care s# citeasc# !in fi\$ier"l
date.in !e )e )rima linie n"m#r"l n \$i a)oi !e )e a !o"a linie cele n n"mere nat"rale
formate fiecare !in cel m"lt 4 cifre. ,olosin! a)el"ri "tile ale s")ro0ramelor S1 \$i S2,
)ro0ram"l %a !etermina \$i %a afi\$a )e ecran, )e o sin0"r# linie, se)arate )rin c&te "n s)a-i",
toate n"merele )rime care a" r#st"rnat"l "n n"m#r )rim& 5ac# n" exist# astfel !e n"mere
se %a afi\$a mesa7"l N!&
E-./#u& 5ac# fi\$ier"l date.in are con-in"t"l
al#t"rat, )ro0ram"l %a afi\$a )e ecran n"merele
"rm#toare:
13 101 11 3 17
8
13 101 1" 11 28 3 17 24
Subi!"u# \$%& A
Se consi!er# "n 0raf neorientat G c" n %&rf"ri 'nN, 2<n<30( etic+etate c" n"merele
!istincte: 1,2,...,n.
,i\$ier"l date.in con-ine !o"# linii. .e )rima linie a fi\$ier"l"i este scris n"m#r"l n !e
%&rf"ri ale 0raf"l"i G, iar )e "rm#toarea linie, n n"mere nat"rale, se)arate )rin c&te "n
s)a-i", re)re/ent&n! 0ra!ele no!"rilor 0raf"l"i G.
Se consi!er# s")ro0ramele:
S1 c" !oi )arametri n \$i d, care !etermin#, 1n "rma a)el"l"i, citirea n"merelor !in
fi\$ier"l date.in \$i ret"rnarea )rin interme!i"l )arametr"l"i n a n"m#r"l"i !e %&rf"ri ale
0raf"l"i G, iar )rin interme!i"l )arametr"l"i d, a %ector"l"i 0ra!elor no!"rilor 0raf"l"i
G, c" n elemente;
S2, im)lementat rec"rsi%, c" !oi )arametri n \$i , care )rime\$te )rin interme!i"l
)arametrilor:
- n "n n"m#r nat"ral nen"l '2<n<30(;
- "n talo" "ni!imensional c" n com)onente care memorea/# n"mere
nat"rale !e cel m"lt 2 cifre.
INSPECTORATUL COLAR AL MUNICIPIULUI BUCURETI
I\$0/!"1% 2!1#)% 3 0/!i)#i")" 4 /%15& "5)\$i) P\$)
Subi!" )"0")" 2009 P%16%).)%7 0/!i)#i8)%) .)".)"i!94i\$51%.)"i!9, i\$"\$0i: i\$51%.)"i!9
5
S")ro0ram"l ret"rnea/# s"ma t"t"ror %alorilor com)onentelor talo"l"i
"ni!imensional .
C%i\$*,
a) Scrie-i !efini-ia com)let# a s")ro0ram"l"i S1;
b) Scrie-i !efini-ia com)let# a s")ro0ram"l"i S2;
c) Scrie-i "n )ro0ram )rinci)al Pascal/C/C++, care !etermin# \$i afi\$ea/# )e ecran
n"m#r"l !e m"c+ii ale 0raf"l"i G, folosin! a)el"ri "tile ale s")ro0ramelor S1 \$i S2.
E-./#u& 5ac# fi\$ier"l date.in are con-in"t"l al#t"rat, )ro0ram"l %a
afi\$a )e ecran %aloarea: 4
6
1 2 2 1 1 1
Subi!"u# \$%& 9
,i\$ier"l date.in con-ine "n text format !in cel m"lt 255 !e caractere, scris )e o sin0"r#
linie. 9"%intele !in text s"nt se)arate )rin "n"l sa" mai m"lte s)a-ii, iar fiecare c"%&nt este
format !in cel )"-in 3 \$i cel m"lt 50 caractere, !oar litere mici ale alfaet"l"i en0le/.
Se consi!er# s")ro0ramele:
S1 care )rime\$te )rin interme!i"l sin0"r"l"i s#" )arametr" s, "n \$ir !e caractere
format !in maxim"m 50 !e caractere !oar litere mici, \$i care ret"rnea/# )rim"l
caracter !in \$ir"l s !ac# )rimele !o"# caractere ale acest"ia s"nt consec"ti%e 1n
m"l-imea literelor mici ale alfaet"l en0le/, altfel %a ret"rna caracter"l 5 ;
S2 care )rime\$te )rin interme!i"l sin0"r"l"i s#" )arametr" s, "n \$ir !e caractere
format !in maxim"m 50 !e caractere \$i, care, mo!ific# \$ir"l )rin eliminarea )rimelor
!o"# caractere !in acesta;
C%i\$*,
a) Scrie-i !efini-ia com)let# a s")ro0ram"l"i S1;
b) Scrie-i !efini-ia com)let# a s")ro0ram"l"i S2;
c) Scrie-i "n )ro0ram )rinci)al Pascal/C/C++, care, folosin! a)el"ri "tile ale
s")ro0ramelor S1 \$i S2, cite\$te toate c"%intele !in fi\$ier"l date.in, le mo!ific# )e cele
care 1nce) c" !o"# litere consec"ti%e )rin eliminarea !in acestea a )rimelor !o"# caractere
\$i scrie 1n fi\$ier"l date.)4t, )e c&te o linie, se)arate )rin c&te "n s)a-i", fiecare c"%&nt
astfel mo!ificat \$i )rim"l caracter eliminat !in acesta. 5ac# text"l n" con-ine nici"n c"%&nt
care tre"ie mo!ificat, at"nci 1n fi\$ier se %a scrie mesa7"l N! +89S-:.
E-./#u& 5ac# fi\$ier"l date.in con-ine text"l "rm#tor:
a;ac atestat c)la;)*a*e in')*(atica 'e*east*a
at"nci fi\$ier"l date.out %a a%ea con-in"t"l al#t"rat:
ac a
*east*a '
Subi!"u# \$%& '0
Se consi!er# !eclar#rile "rm#toare "tili/ate )entr" a !efini o list# sim)l" 1nl#n-"it#
alocat# !inamic )rin interme!i"l c#reia se re)re/int# "n )olinom B c" coeficien-i 1ntre0i:
t/0e lista&1n)d;
n)d&*ec)*d
4*(2lista
end;
st*4ct n)d
# int c)e';
n)d5 4*(;\$;
C%i\$*,
)> Scrie-i !efini-ia com)let# a s")ro0ram"l"i S1 !u "%i /)%)."%i care )rime\$te )rin
interme!i"l )arametrilor:
INSPECTORATUL COLAR AL MUNICIPIULUI BUCURETI
I\$0/!"1% 2!1#)% 3 0/!i)#i")" 4 /%15& "5)\$i) P\$)
Subi!" )"0")" 2009 P%16%).)%7 0/!i)#i8)%) .)".)"i!94i\$51%.)"i!9, i\$"\$0i: i\$51%.)"i!9
6
6 0 a!resa )rim"l"i no! !in lista !efinit# mai s"s;
6 c "n n"m#r nat"ral c" cel m"lt trei cifre;
6 3* o cifr#;
S")ro0ram"l !etermin# a!#"0area la 1nce)"t"l listei, 1naintea no!"l"i c" a!resa 0 ')rim"l(,
a "n"i no" no! care s# memore/e coeficient"l ! \$i 0ra!"l 3*. S")ro0ram"l ret"rnea/# )rin
interme!i"l )arametr"l"i 0 a!resa )rim"l"i no! !in lista mo!ificat# )rin a!#"0are.
b> Scrie-i !efini-ia com)let# a s")ro0ram"l"i S2 care )rime\$te, )rin interme!i"l sin0"r"l"i
)arametr" 0, a!resa )rim"l"i no! !in lista !efinit# mai s"s \$i care ret"rnea/# %aloarea
)olinom"l"i B, re)re/entat )rin interme!i"l listei sim)l" 1nl#n-"it#, calc"lat# 1n )"nct"l <1.
!> Scrie-i "n )ro0ram )rinci)al Pascal/C/C++, care cite\$te !in fi\$ier"l date.in, !e )e
)rima linie a acest"ia, "n n"m#r nat"ral n 'n<10( \$i a)oi, !e )e "rm#toarele n linii, c&te !o"#
n"mere 1ntre0i ce re)re/int# coeficient"l \$i 0ra!"l "n"i termen al )olinom"l"i B, n"mere
formate !in cel m"lt 4 cifre, se)arate )rin c&te "n s)a-i" )e fiecare linie. .rin a)el"ri "tile ale
s")ro0ramelor S1 \$i S2, )ro0ram"l %a constr"i o list# sim)l" 1nl#n-"it# alocat# !inamic
care %a re)re/enta )olinom"l B \$i %a afi\$a )e ecran mesa7"l DA !ac# <1 este r#!#cin# a
)olinom"l"i B, altfel %a afi\$a mesa7"l NU.
E-./#u& 5ac# fi\$ier"l date.in are con-in"t"l al#t"rat, )ro0ram"l %a
afi\$a )e ecran NU, !eoarece %aloarea <1 n" este r#!#cin# a )olinom"l"i B
cores)"/#tor !atelor !in fi\$ier"l !e intrare:
180 8 84 8 6" 8 2" 8 8 =>%?
2 3 4 5
+ + =
6
1 5
1 4
<2" 3
<6" 2
<84 1
180 0
Subi!"u# \$%& ''
.e )rima linie a fi\$ier"l"i @at*ice.in este scris "n n"m#r nat"ral n '2<n30( iar )e
fiecare !in "rm#toarele n linii ale fi\$ier"l"i, s"nt scrise c&te n n"mere nat"rale, formate
fiecare !in cel m"lt !o"# cifre, se)arate )rin c&te "n s)a-i", re)re/ent&n! %alorile
elementelor "nei matrice )#tratice A c" n linii.
Se consi!er# s")ro0ramele:
S1 c" !oi )arametri n \$i a, care !etermin#, 1n "rma a)el"l"i, citirea n"merelor !in
fi\$ier"l @at*ice.in \$i ret"rnarea )rin interme!i"l )arametr"l"i n a n"m#r"l"i !e linii
ale matricei !in fi\$ier, iar )rin interme!i"l )arametr"l"i a ret"rnarea "n"i talo"
i!imensional )#tratic c" n linii care memorea/# %alorile elementelor matricei A !in
fi\$ier"l !e intrare;
S2 c" !oi )arametri \$i k, care )rime\$te )rin interme!i"l )arametrilor:
6 "n talo" "ni!imensional c" cel m"lt 30 !e elemente '%alorile memorate !e
elementele talo"l"i fiin! n"mere nat"rale, formate fiecare !in cel m"lt !o"#
cifre(;
6 k "n n"m#r nat"ral '2<k30( re)re/ent&n! n"m#r"l efecti% !e elemente ale
talo"l"i .
S")ro0ram"l ret"rnea/# s"ma t"t"ror %alorilor elementelor talo"l"i .
C%i\$*,
a) Scrie-i !efini-ia com)let# a s")ro0ram"l"i S1;
b) Scrie-i !efini-ia com)let# a s")ro0ram"l"i S2;
c) Scrie-i "n )ro0ram )rinci)al Pascal/C/C++, care cite\$te !e la tastat"r# "n n"m#r
nat"ral ( '2<(100(, \$i care, folosin! a)el"ri "tile ale s")ro0ramelor S1 \$i S2, %erific#
!ac# matricea A, scris# 1n fi\$ier"l @at*ice.in, )oate fi matricea !e a!iacen-# a "n"i 0raf
orientat c" n %&rf"ri 'etic+etate c" 1,2,...,n( \$i ( arce, ca/ 1n care )ro0ram"l %a afi\$a )e
INSPECTORATUL COLAR AL MUNICIPIULUI BUCURETI
I\$0/!"1% 2!1#)% 3 0/!i)#i")" 4 /%15& "5)\$i) P\$)
Subi!" )"0")" 2009 P%16%).)%7 0/!i)#i8)%) .)".)"i!94i\$51%.)"i!9, i\$"\$0i: i\$51%.)"i!9
7
ecran, )e o sin0"r# linie, se)arate )rin c&te "n s)a-i", 0ra!ele exterioare ale t"t"ror %&rf"rilor
0raf"l"i, 1n or!inea cresc#toare a etic+etelor lor. 5ac# matricea A n" )oate fi matricea !e
a!iacen-# a "n"i 0raf orientat c" n %&rf"ri \$i ( arce, at"nci )ro0ram"l %a afi\$a )e ecran
mesa7"l IMPOSIBIL.
E-./#u& 5ac# (&4 iar fi\$ier"l @at*ice.in are con-in"t"l al#t"rat, at"nci
)ro0ram"l %a afi\$a )e ecran "rm#toare %alori:
1 2 1
3
0 1 0
1 0 1
1 0 0
Subi!"u# \$%& '2
,i\$ier"l A%!&i\$ con-ine (+1 linii. .e )rima linie s"nt scrise !o"# n"mere nat"rale n \$i (,
se)arate )rintr6"n s)a-i", '2<n30, 2<(100(, re)re/ent&n! n"m#r"l n !e %&rf"ri \$i
n"m#r"l ( !e arce ale "n"i 0raf orientat G. .e fiecare !intre "rm#toarele ( linii ale fi\$ier"l"i
A%!&i\$ s"nt scrise )erec+i !istincte !e c&te !o"# n"mere nat"rale % \$i /, se)arate )rintr6"n
s)a-i", '1%n, 1%n, %/( re)re/ent&n! c&te "n arc al 0raf"l"i !at.
Se consi!er# s")ro0ramele:
S1 care cite\$te %alorile !in fi\$ier"l A%!&i\$ \$i constr"ie\$te "n talo" i!imensional
re)re/ent&n! matricea !e a!iacen-# a 0raf"l"i G. S")ro0ram"l ret"rnea/# )rin
interme!i"l )arametrilor:
6 a, talo"l i!imensional constr"it;
6 n, n"m#r"l !e %&rf"ri ale 0raf"l"i G7
S2 c" trei )arametri, care )rime\$te )rin interme!i"l )arametrilor:
6 a, "n talo" i!imensional )#tratic c" cel m"lt 30 !e linii re)re/ent&n! matricea !e
a!iacen-# a 0raf"l"i orientat G7
6 n, "n n"m#r nat"ral '1n30( re)re/ent&n! n"m#r"l !e %&rf"ri ale 0raf"l"i G.
S")ro0ram"l ret"rnea/#, )rin interme!i"l )arametr"l"i d, "n talo" i!imensional
)#tratic c" n linii, re)re/ent&n! matricea !r"m"rilor )entr" 0raf"l G.
C%i\$*,
a) Scrie-i !efini-ia com)let# a s")ro0ram"l"i S1;
b) Scrie-i !efini-ia com)let# a s")ro0ram"l"i S2;
c) S# se scrie )ro0ram"l )rinci)al Pascal/C/C++ care, folosin! a)el"ri "tile ale
s")ro0ramelor S1 \$i S2, constr"ie\$te \$i scrie, 1n fi\$ier"l A*4(.)4t, matricea !r"m"rilor
)entr" 0raf"l !at. :iniile matricei !r"m"rilor se %or scrie, 1n fi\$ier, )e linii se)arate, c" c&te "n
s)a-i" 1ntre elementele fiec#rei linii.
E-./#u& 5ac# fi\$ier"l A%!&i\$ are con-in"t"l al#t"rat, )ro0ram"l %a scrie
1n fi\$ier"l A*4(.)4t:
1 1 1
1 1 1
1 1 1
3 3
1 2
2 3
3 1
Subi!"u# \$%& ';
,i\$ier"l date.in con-ine cel m"lt 1000 !e n"mere nat"rale, fiecare n"m#r fiin! format
!in cel m"lt )atr" cifre, n"merele fiin! scrise )e o sin0"r# linie, se)arate )rin c&te "n s)a-i".
C%i\$*,
a) Scrie-i !efini-ia com)let# a s")ro0ram"l"i S1 care )rime\$te, )rin interme!i"l
)arametr"l"i %, "n n"m#r nat"ral nen"l, format !in cel m"lt )atr" cifre, \$i care ret"rnea/#
n"m#r"l !e !i%i/ori )o/iti%i ai l"i %.
INSPECTORATUL COLAR AL MUNICIPIULUI BUCURETI
I\$0/!"1% 2!1#)% 3 0/!i)#i")" 4 /%15& "5)\$i) P\$)
Subi!" )"0")" 2009 P%16%).)%7 0/!i)#i8)%) .)".)"i!94i\$51%.)"i!9, i\$"\$0i: i\$51%.)"i!9
8
b) Scrie-i !efini-ia com)let# a s")ro0ram"l"i S1 c" !oi )arametri, care )rime\$te )rin
interme!i"l )arametrilor:
- n "n n"m#r nat"ral, 0<n1000;
- "n \$ir !e n n"mere nat"rale, fiecare n"m#r a%&n! cel m"lt )atr" cifre
S")ro0ram"l !etermin# or!onarea cresc#toare a n"merelor !in \$ir \$i ret"rnea/# )rin
interme!i"l )arametr"l"i \$ir"l or!onat.
c) Scrie-i "n )ro0ram )rinci)al Pascal/C/C++, care cite\$te !in fi\$ier"l date.in toate
n"merele \$i, folosin! a)el"ri "tile ale s")ro0ramelor S1 \$i S2, scrie 1n fi\$ier"l date.)4t,
)e o sin0"r# linie, se)arate )rintr6"n s)a-i", !o"# n"mere nat"rale re)re/ent&n! cel mai mic
n"m#r, res)ecti% cel mai mare n"m#r, c" -)!" /)"%u 3i:i81%i /18i"i:i !in fi\$ier"l date.in.
5ac# nici"n n"m#r !in fi\$ier"l date.in n" are exact )atr" !i%i/ori, at"nci )e )rima linie a
fi\$ier"l"i date.)4t se %a scrie mesa7"l N! +89S-,.
E-./#u& 5ac# fi\$ier"l date.in are con-in"t"l
al#t"rat, at"nci fi\$ier"l date.)4t %a a%ea
"rm#tor"l con-in"t:
10 1202
123 10 35 8"" 1202 145 5000

Subi!"u# \$%& '<
Se consi!er# !eclar#rile "rm#toare "tili/ate )entr" a !efini o list# sim)l" 1nl#n-"it#,
alocat# !inamic:
t/0e lista&1n)d;
n)d&*ec)*d
n*2inte3e*; 4*(2lista
end;
st*4ct n)d
# int n*;
n)d5 4*(;\$;
C%i\$*,
)> Scrie-i !efini-ia com)let# a s")ro0ram"l"i S1 !u "%i /)%)."%i care )rime\$te )rin
interme!i"l )arametrilor:
6 0 a!resa )rim"l"i no! al listei !efinite;
6 B a!resa "ltim"l"i no! al listei !efinite;
6 k "n n"m#r nat"ral c" cel m"lt )atr" cifre;
S")ro0ram"l !etermin# a!#"0area la sf&r\$it"l listei, !")# no!"l c" a!resa B '"ltim"l(, a
"n"i no" no! care s# memore/e n"m#r"l k 1n c&m)"l n*. S")ro0ram"l ret"rnea/#, )rin
interme!i"l )arametr"l"i B, a!resa "ltim"l"i no! !in lista mo!ificat# )rin a!#"0are.
b> Scrie-i !efini-ia com)let# a s")ro0ram"l"i S2 care )rime\$te, )rin interme!i"l sin0"r"l"i
)arametr" %, "n n"m#r nat"ral !e cel m"lt )atr" cifre, \$i care ret"rnea/# -.!+/1 !ac#
%aloarea )arametr"l"i % este n"m#r )erfect, altfel %a ret"rna 6,7S+/0. 'Un numr natural
este perfect dac este egal cu suma divizorilor si pozitivi, fr el nsui(.
!> ,i\$ier"l N4(e*e.in con-ine cel m"lt 1000 !e n"mere nat"rale, n"mere !e cel m"lt )atr"
cifre, scrise toate )e aceea\$i linie, se)arate )rin c&te "n s)a-i". Scrie-i "n )ro0ram )rinci)al
Pascal/C/C++, care cite\$te n"merele !in fi\$ier"l N4(e*e.in, iar a)oi, folosin! a)el"ri "tile
ale s")ro0ramelor S1 \$i S2, constr"ie\$te lista sim)l" 1nl#n-"it# alocat# !inamic, !efinit# mai
s"s, ale c#rei no!"ri memorea/# 1n c&m)"l n* toate n"merele nat"rale )erfecte !in fi\$ier"l
N4(e*e.in. *alorile memorate !e no!"rile listei create se %or scrie 1n fi\$ier"l Pe*'ect.)4t
)e o sin0"r# linie, se)arate )rin c&te "n s)a-i". 5ac# fi\$ier"l N4(e*e.in n" con-ine nici"n
n"m#r )erfect at"nci )ro0ram"l %a scrie 1n fi\$ier"l Pe*'ect.)4t mesa7"l N! +89S-,.
INSPECTORATUL COLAR AL MUNICIPIULUI BUCURETI
I\$0/!"1% 2!1#)% 3 0/!i)#i")" 4 /%15& "5)\$i) P\$)
Subi!" )"0")" 2009 P%16%).)%7 0/!i)#i8)%) .)".)"i!94i\$51%.)"i!9, i\$"\$0i: i\$51%.)"i!9
9
E-./#u& 5ac# fi\$ier"l N4(e*e.in are con-in"t"l al#t"rat, at"nci
fi\$ier"l Pe*'ect.)4t %a a%ea "rm#tor"l con-in"t:
28 6
5 28 24 6 4"
Subi!"u# \$%& '=
Se consi!er# "n talo" i!imensional )#tratic a c" n linii 'nN, 3<n<30( ale c#r"i
elemente memorea/# !oar %alori 0 \$i 1. :iniile \$i coloanele talo"l"i s"nt n"merotate
1nce)&n! c" 1.
,i\$ier"l date.in con-ine )e )rima linie n"m#r"l n, iar )e "rm#toarele n linii s"nt scrise
c&te n %alori 0 \$i 1, se)arate )rin c&te "n s)a-i", re)re/ent&n! %alorile elementelor talo"l"i a.
Se consi!er# s")ro0ramele:
S', care )rime\$te )rin interme!i"l )arametrilor:
6 a, "n talo" i!imensional )#tratic c" cel m"lt 2" !e linii;
6 n, n"m#r"l efecti% !e linii ale talo"l"i a;
6 i, in!icele "nei linii !in talo"l a '1in(.
S")ro0ram"l S' ret"rnea/# -.!+/1 !ac# linia i con-ine cel )"-in trei %alori 1
sit"ate )e )o/i-ii al#t"rate, altfel %a ret"rna 6,7S+/0.
S2, care )rime\$te )rin interme!i"l )arametrilor:
- a, "n talo" i!imensional )#tratic c" cel m"lt 2" !e linii;
- n, n"m#r"l efecti% !e linii ale talo"l"i a;
- C, in!icele "nei coloane !in talo"l a '1Cn(.
S")ro0ram"l S2 ret"rnea/# "n n"m#r nat"ral re)re/ent&n! s"ma %alorilor
elementelor !in coloana C a talo"l"i a.
C%i\$*:
)> Scrie-i !efini-ia com)let# a s")ro0ram"l"i S';
b> Scrie-i !efini-ia com)let# a s")ro0ram"l"i S2;
c? Scrie-i "n )ro0ram )rinci)al P)0!)DCDCEE care, folosin! a)el"ri "tile ale
s")ro0ramelor S' \$i S2, s# citeasc# !atele !in fi\$ier"l date.in \$i care s# !etermine \$i s#
scrie 1n fi\$ier"l date.)4t:
- )e )rima linie: n"m#r"l !e linii ale talo"l"i a, linii ce con-in cel )"-in trei %alori 1
sit"ate )e )o/i-ii al#t"rate;
- )e a !o"a linie, se)ara-i )rin c&te "n s)a-i", in!icii coloanelor ce con-in mai m"lte
%alori 1 !ec&t %alori 0.
E-./#u& 5ac# fi\$ier"l date.in are con-in"t"l al#t"rat,
)ro0ram"l %a scrie 1n fi\$ier"l date.)4t "rm#toarele:
3 ')entr" liniile 1, 4 si 6(
3 6
6
1 0 1 1 1 0
0 1 1 0 0 1
1 0 1 0 0 1
0 0 1 1 1 1
1 0 1 0 0 0
0 1 1 1 1 1
Subi!"u# \$%& '?
Se consi!er# !eclar#rile "rm#toare "tili/ate )entr" a !efini o list# !"l" 1nl#n-"it#
alocat# !inamic:
t/0e 0n)d&1n)d;
n)d&*ec)*d
in')2inte3e*;
st,d*20n)d;
end;
st*4ct n)d
# int in');
n)d 5st, 5d*;
\$;
INSPECTORATUL COLAR AL MUNICIPIULUI BUCURETI
I\$0/!"1% 2!1#)% 3 0/!i)#i")" 4 /%15& "5)\$i) P\$)
Subi!" )"0")" 2009 P%16%).)%7 0/!i)#i8)%) .)".)"i!94i\$51%.)"i!9, i\$"\$0i: i\$51%.)"i!9
10
Se consi!er# s")ro0ramele:
S', care )rime\$te )rin interme!i"l )arametr"l"i / a!resa )rim"l"i no! al listei \$i scrie 1n
fi\$ier"l date.1u" n"merele memorate !e no!"rile listei 1n c&m)"l in'), !e la "ltim"l no!
s)re )rim"l no!, )e o sin0"r# linie a fi\$ier"l"i, se)arate )rin c&te "n s)a-i";
S2, care )rime\$te )rin interme!i"l )arametr"l"i / a!resa "n"i no! !in list# \$i ret"rnea/#
-.!+/1 !ac# !# 31u9 no!"ri %ecine no!"l"i c" a!resa /, memorea/# c&te "n n"m#r
)ar 1n c&m)"l in'), altfel ret"rnea/# 6,7S+/0.
C%i\$*,
)> Scrie-i !efini-ia com)let# a s")ro0ram"l"i S';
b> Scrie-i !efini-ia com)let# a s")ro0ram"l"i S2;
c? Scrie-i "n )ro0ram )rinci)al P)0!)#DCDCEE, care cite\$te !e )e )rima linie a fi\$ier"l"i
date.in "n n"m#r nat"ral n '3<n<30( \$i a)oi, !e )e a !o"a linie a fi\$ier"l"i, cele n n"mere
nat"rale, formate !in cel cel m"lt 4 cifre fiecare, se)arate )rin c&te "n s)a-i". .ro0ram"l
constr"ie\$te o list# !"l" 1nl#n-"it# alocat# !inamic '!efinit# mai s"s(, ale c#rei no!"ri %or
memora 1n c&m)"l in') cele n n"mere citite, 1n or!inea citirii ')rim"l no! al listei %a memora
)rim"l n"m#r !e )e a !o"a linie a fi\$ier"l"i(. ,olosin! a)el"ri "tile ale celor !o"#
s")ro0rame S' \$i S2, )ro0ram"l !etermin# \$i afi\$ea/# )e )rima linie a fi\$ier"l"i date.)4t
toate n"merele !in no!"rile listei, !e la "ltim"l no! s)re )rim"l, )e o sin0"r# linie, iar )e a
!o"a linie a fi\$ier"l"i date.)4t n"m#r"l !e no!"ri !in list# ce a" )ro)rietatea c# fiecare
!intre cele !o"# no!"ri %ecine memorea/# c&te "n n"m#r )ar 1n c&m)"l in').
E-./#u& 5ac# fi\$ier"l date.in are con-in"t"l
al#t"rat, )ro0ram"l %a scrie 1n fi\$ier"l date.out
"rm#toarele:
4 11 2 7 6 4 3 2
3 ' no!"rile c" in');3, 7 si 11(

8
2 3 4 6 7 2 11 4
Subi!"u# \$%& '@
,i\$ier"l date.in con-ine "n text format !in cel m"lt 250 !e caractere, scris )e o sin0"r#
linie. 9"%intele !in text s"nt se)arate )rin c&te "n s)a-i", iar fiecare c"%&nt este format !in
cel m"lt 20 caractere, !oar literele mici ale alfaet"l"i en0le/.
Se consi!er# s")ro0ramele:
S' care )rime\$te )rin interme!i"l sin0"r"l"i s#" )arametr" s "n c"%&nt !in text \$i
ret"rnea/# -.!+/1 !ac# c"%&nt"l s este format 31)% !in literele ), b sa" !, in!iferent !e
n"m#r"l acestora, altfel s")ro0ram"l %a ret"rna 6,7S+/0;
S2 care )rimeste )rin interme!i"l sin0"r"l"i s#" )arametr" s "n c"%&nt !in text \$i
ret"rnea/# -.!+/1 !ac# c"%&nt"l s este )alin!rom, altfel s")ro0ram"l %a ret"rna
6,7S+/0. <n c"%&nt este )alin!rom !ac# citit !e la "ltima liter# c#tre )rima se o-ine
acela\$i c"%&nt 'exem)l": c"%&nt"l eleele este )alin!rom(.
C%i\$*,
a) Scrie-i !efini-ia com)let# a s")ro0ram"l"i S1;
b) Scrie-i !efini-ia com)let# a s")ro0ram"l"i S2;
c) Scrie-i "n )ro0ram )rinci)al Pascal/C/C++, care folosin! a)el"ri "tile ale
s")ro0ramelor S1 \$i S2, cite\$te text"l !in fi\$ier"l date.in \$i scrie 1n fi\$ier"l date.)4t
- )e )rima linie, se)arate )rin c&te "n s)a-i", toate c"%intele care s"nt formate !oar
litere ), b sa" !, in!iferent !e n"m#r"l !e a)ari-ii ale acestor litere; !ac# text"l n"
con-ine astfel !e c"%inte, se %a scrie mesa7"l NU 1n fi\$ier.
- )e a !o"a linie, se)arate )rin c&te "n s)a-i", toate c"%intele )alin!rom !in text;
!ac# text"l n" con-ine astfel !e c"%inte, se %a scrie mesa7"l NU 1n fi\$ier.
INSPECTORATUL COLAR AL MUNICIPIULUI BUCURETI
I\$0/!"1% 2!1#)% 3 0/!i)#i")" 4 /%15& "5)\$i) P\$)
Subi!" )"0")" 2009 P%16%).)%7 0/!i)#i8)%) .)".)"i!94i\$51%.)"i!9, i\$"\$0i: i\$51%.)"i!9
11
E-./#u& 5ac# fi\$ier"l date.in are
con-in"t"l al#t"rat, )ro0ram"l %a scrie 1n
fi\$ier"l date.out "rm#toarele:
a;c;a a;c c a;cc;a dacad aa
a;c;a a;a c a;cc;a aa
a;c;a a;c c aca* a;cc;a dacad aa
Subi!"u# \$%& 'A
,i\$ier"l date.in con-ine )e )rima linie n"m#r"l nat"ral n '2<n<30(, iar )e "rm#toarele n
linii c&te n %alori 0 sa" 1 se)arate )rin c&te "n s)a-i", re)re/ent&n! %alorile memorate !e
elementele "n"i talo" i!imensional )#tratic a c" n linii.
Se consi!er# s")ro0ramele:
S' ce )rime\$te )rin interme!i"l )arametr"l"i n "n n"m#r nat"ral '2<n<30( \$i )rin
interme!i"l )arametr"l"i a "n talo" i!imensional )#tratic c" n linii ale c#r"i
elemente memorea/# !oar %alori 0 \$i 1. S")ro0ram"l S' ret"rnea/# -.!+/1 !ac#
talo"l a )oate fi matricea !e a!iacen-# a "n"i "n 0raf neorientat c" n %&rf"ri
etic+etate c" n"merele !istincte: 1,2,...,n, altfel s")ro0ram"l %a ret"rna
6,7S+/0;
S2 ce )rime\$te )rin interme!i"l )arametr"l"i n "n n"m#r nat"ral '2<n<30( \$i )rin
interme!i"l )arametr"l"i a "n talo" i!imensional )#tratic c" n linii ale c#r"i
elemente memorea/# !oar %alori 0 \$i 1, re)re/ent&n! matricea !e a!iacen-# a "n"i
0raf neorientat c" n %&rf"ri. S")ro0ram"l S2 afi\$ea/# )e )rima linie a ecran"l"i,
se)arate )rin c&te "n s)a-i", etic+etele t"t"ror no!"rilor 0raf"l"i 1n or!inea
!escresc#toare a 0ra!elor lor.
C%i\$*,
)> Scrie-i !efini-ia com)let# a s")ro0ram"l"i S';
b> Scrie-i !efini-ia com)let# a s")ro0ram"l"i S2;
c? Scrie-i "n )ro0ram )rinci)al Pascal/C/C++, care cite\$te !in fi\$ier"l date.in
n"m#r"l nat"ral n \$i %alorile elementelor talo"l"i i!imensional )#tratic a c" n linii.
.ro0ram"l, folosin! a)el"ri "tile ale s")ro0ramelor S1 \$i S2, afi\$ea/# )e ecran:
6 )e )rima linie: mesa7"l DA !ac# talo"l a )oate fi matricea !e a!iacen-# a "n"i 0raf
neorientat c" n %&rf"ri etic+etate c" n"merele !istincte: 1,2,...,n, altfel %a afi\$a mesa7"l
NU;
6 )e linia a !o"a, se)arate )rin c&te "n s)a-i", etic+etele t"t"ror no!"rilor 0raf"l"i 1n or!inea
!escresc#toare a 0ra!elor lor !ac# talo"l a este matricea !e a!iacen-# a "n"i 0raf
neorientat c" n %&rf"ri, iar 1n ca/ contrar se %a fi\$a mesa7"l NU.
E-./#u& 5ac# fi\$ier"l date.in are con-in"t"l al#t"rat,
)ro0ram"l %a afi\$a 1n fi\$ier"l date.out "rm#toarele:
A,
4 5 6 2 3 7 1
7
0 0 0 0 0 1 0
0 0 0 1 0 1 0
0 0 0 0 1 1 0
0 1 0 0 1 0 1
0 0 1 1 0 0 1
1 1 1 0 0 0 0
0 0 0 1 1 0 0
Subi!"u# \$%& '9
Se consi!er# "n arore c" r#!#cin# \$i n %&rf"ri 'nN, 2<n<100(, !at )rin %ector"l !e
(")*i+& *&rf"rile arorel"i s"nt etic+etate c" n"merele !istincte: 1,2,&&&,n.
,i\$ier"l date.in con-ine !o"# linii. .e )rima linie a fi\$ier"l"i este scris n"m#r"l n,
re)re/ent&n! n"m#r"l !e %&rf"ri ale arorel"i !at, iar )e a !o"a linie s"nt scrise n n"mere
INSPECTORATUL COLAR AL MUNICIPIULUI BUCURETI
I\$0/!"1% 2!1#)% 3 0/!i)#i")" 4 /%15& "5)\$i) P\$)
Subi!" )"0")" 2009 P%16%).)%7 0/!i)#i8)%) .)".)"i!94i\$51%.)"i!9, i\$"\$0i: i\$51%.)"i!9
12
nat"rale, se)arate )rin c&te "n s)a-i", re)re/ent&n! %alorile com)onentelor %ector"l"i !e
(")*i+&
Se consi!er# s")ro0ramele:
S' c" !oi )arametri n \$i t, care !etermin#, 1n "rma a)el"l"i, citirea n"merelor !in
fi\$ier"l date.in \$i ret"rnarea )rin interme!i"l )arametr"l"i n a n"m#r"l"i !e %&rf"ri ale
arorel"i !in en"n-, iar )rin interme!i"l )arametr"l"i t ret"rnarea "n"i talo"
"ni!imensional c" n com)onente n"mere nat"rale re)re/ent&n! %ector"l !e (")*i+ al
arorel"i !in en"n-;
S2 c" cinci )arametri: n, t, k, \$i (, care )rime\$te )rin interme!i"l )arametrilor:
- n, n"m#r"l !e %&rf"ri ale arorel"i !in en"n-;
- t, %ector"l !e (")*i+ al arorel"i !in en"n-;
- k, "n n"m#r nat"ral '1kn( re)re/ent&n! etic+eta "n"i %&rf al arorel"i !in
en"n-.
S")ro0ram"l S2 ret"rnea/# )rin interme!i"l )arametr"l"i ( n"m#r"l t"t"ror fiilor
%&rf"l"i c" etic+eta k, iar )rin interme!i"l )arametr"l"i ret"rnea/# "n talo"
"ni!imensional care memorea/# etic+etele t"t"ror fiilor no!"l"i c" etic+eta k.
C%i\$*,
a) Scrie-i !efini-ia com)let# a s")ro0ram"l"i S1;
b) Scrie-i !efini-ia com)let# a s")ro0ram"l"i S2;
c) Scrie-i "n )ro0ram )rinci)al Pascal/C/C++, care folosin! a)el"ri "tile ale
s")ro0ramelor S' \$i S2 s# !etermine \$i s# scrie 1n fi\$ier"l date.)4t, )e o sin0"r#
linie, se)arate )rin c&te "n s)a-i", etic+etelor t"t"ror fiilor \$i ne)o-ilor 'fiii fiilor s#i( no!"l"i
r#!#cin#.
E-./#u& 5ac# fi\$ier"l date.in %a a%ea con-in"t"l
al#t"rat, at"nci )ro0ram"l %a scrie 1n fi\$ier"l date.out:
2 5 6 4 7
8
7 3 0 2 3 3 5 7
Subi!"u# \$%& 20 %81#:)"
,i\$ier"l date.in con-ine "n text format !in cel m"lt 250 !e caractere, scris )e o sin0"r#
linie. 9"%intele !in text s"nt se)arate )rin c&te "n s)a-i", iar fiecare c"%&nt este format !in
cel m"lt 20 caractere, !oar literele mici ale alfaet"l"i en0le/.
Se consi!er# s")ro0ramele:
S' care )rimeste )rin interme!i"l sin0"r"l"i s#" )arametr" s "n c"%&nt \$i ret"rnea/#
-.!+/1 !ac# c"%&nt"l s con-ine cel )"-in !o"# %ocale 'a,e,i,),4(, altfel s")ro0ram"l
%a ret"rna 6,7S+/0;
S2 care )rimeste )rin interme!i"l sin0"r"l"i s#" )arametr" s "n c"%&nt !in text format !in
cel )"tin 2 litere si ret"rnea/a c"%ant"l otin"t )rin intersc+imarea )rimei litere !in c"%&nt
c" "ltima liter# a acest"ia. 5e exem)l", )entr" c"%&nt"l a;cd )rimit )rin interme!i"l
)arametr"l"i s, s")ro0ram"l ret"rnea/# c"%&nt"l: d;ca&
C%i\$*,
a) Scrie-i !efini-ia com)let# a s")ro0ram"l"i S1;
b) Scrie-i !efini-ia com)let# a s")ro0ram"l"i S2;
c) Scrie-i "n )ro0ram )rinci)al Pascal/C/C++, care folosin! a)el"ri "tile ale
s")ro0ramelor S1 \$i S2, cite\$te text"l !in fi\$ier"l date.in \$i 1l mo!ific# intersc+iman!
)rima si "ltima litera a fiecar"i c"%ant !in text care contine cel )"tin !o"# %ocale. .ro0ram"l
scrie no"l text 1n fi\$ier"l date.)4t )e o sin0"r# linie.
INSPECTORATUL COLAR AL MUNICIPIULUI BUCURETI
I\$0/!"1% 2!1#)% 3 0/!i)#i")" 4 /%15& "5)\$i) P\$)
Subi!" )"0")" 2009 P%16%).)%7 0/!i)#i8)%) .)".)"i!94i\$51%.)"i!9, i\$"\$0i: i\$51%.)"i!9
13
E-./#u& 5ac# fi\$ier"l date.in are
con-in"t"l al#t"rat, )ro0ram"l %a scrie 1n
fi\$ier"l date.out "rm#toarele:
ina e*a 4n n*ei)c si 4n 0i%
ani a*e 4n c*ei)n si 4n 0i%
Subi!"u# \$%& 2' %81#:)"
In fi\$ier"l date.in se 0#sesc )e o sin0"r# linie, se)arate )rin c&te "n s)a-i", mai m"lte
n"mere nat"rale !in inter%al"l D10, 10
6
<1E.
Se consi!er# s")ro0ramele:
S1 c" "n sin0"r )arametr" k )rin interme!i"l c#r"ia )rime\$te "n n"m#r nat"ral nen"l
c" cel m"lt 6 cifre, k>"; s")ro0ram"l ret"rnea/# n"m#r"l format !in )rima \$i "ltima
cifr# a %alorii )arametr"l"i F;
E-./#u& .entr" k&12345 s")ro0ram"l ret"rnea/# %aloarea 15.
S2 c" "n sin0"r )arametr" k )rin interme!i"l c#r"ia )rime\$te "n n"m#r nat"ral nen"l
c" cel m"lt 6 cifre, k>"; s")ro0ram"l ret"rnea/# cel mai mic n"m#r )rim mai mare
sa" e0al c" k.
9erin-e:
a) Scrie-i !efini-ia com)let# a s")ro0ram"l"i S1;
b) Scrie-i !efini-ia com)let# a s")ro0ram"l"i S2;
c) S# se scrie )ro0ram"l )rinci)al Pascal/C/C++ care s# !etermine )entr" fiecare
n"m#r %, citit !in fi\$ier"l date.in, cel mai mic n"m#r )rim mai mare sa" e0al c" n"m#r"l
format !in )rima \$i "ltima cifr# a l"i -, 1n aceast# or!ine, folosin! a)el"ri "tile ale
s")ro0ramelor S1 \$i S2. N"merele )rime !eterminate se %or afi\$a )e ecran, )e o sin0"r#
linie, se)arate c&te "n s)ati".
E-./#u& 5ac# fi\$ier"l date.in are con-in"t"l
al#t"rat, )ro0ram"l %a afi\$a n"merele "rm#toare:
37 17 2" 11

3456 12345 22347 12321
Subi!"u# \$%& 22 %81#:)"
Se consi!er# !eclar#rile "rm#toare "tili/ate )entr" a !efini o list# sim)l" 1nl#n-"it# alocat#
!inamic:
t/0e lista&1n)d;
n)d&*ec)*d
n*2inte3e*; 4*(2lista
end;
st*4ct n)d
# int n*;
n)d5 4*(;\$;
)> Scrie-i !efini-ia com)let# a s")ro0ram"l"i S1 c" !oi )arametri care )rime\$te )rin
interme!i"l )arametrilor:
6 0 a!resa )rim"l"i no! !in lista !efinit#;
6 k "n n"m#r nat"ral c" cel m"lt )atr" cifre.
S")ro0ram"l a!a"0# "n no! c" informatia F la sf&r\$it"l listei. S")ro0ram"l ret"rnea/#
)rin interme!i"l )arametr"l"i / a!resa )rim"l"i no! !in lista mo!ificat# !")# a!#"0are.
b> Scrie-i !efini-ia com)let# a s")ro0ram"l"i S2 care )rime\$te )rin interme!i"l sin0"r"l"i
)arametr" 0 a!resa )rim"l"i no! al listei !efinite \$i care ret"rnea/# %aloarea !in c&m)"l n*
al "ltim"l"i no!.
!> Scrie-i "n )ro0ram )rinci)al Pascal/C/C++, care cite\$te !e la tastat"r# "n n"m#r nat"ral
n format !in cel m"lt " cifre \$i constr"ie\$te o list# liniar# sim)l" 1nl#n-"it# c" toate n"merele
INSPECTORATUL COLAR AL MUNICIPIULUI BUCURETI
I\$0/!"1% 2!1#)% 3 0/!i)#i")" 4 /%15& "5)\$i) P\$)
Subi!" )"0")" 2009 P%16%).)%7 0/!i)#i8)%) .)".)"i!94i\$51%.)"i!9, i\$"\$0i: i\$51%.)"i!9
14
o-in"te !in n"m#r"l n )rin eliminarea s"ccesi%# a "ltimei cifre, a)oi a "ltimelor !o"# cifre
)&n# se o-ine "n n"m#r format !intr6o sin0"r# cifr# folosin! a)el"ri "tile ale s")ro0ram"l"i
S1. .ro0ram"l afi\$ea/# )e ecran %alorile memorate !e no!"rile listei create \$i, folosin!
a)el"ri "tile ale s")ro0ram"l"i S2, %a scrie 1n fi\$ier"l date.)4t %aloarea memorat# !e
"ltim"l no! !in list#.
E-./#u& 5ac# n&23456 at"nci )e ecran se %a afi\$a:
23456 2345 234 23 2
=n fi\$ier"l date.)4t se %a scrie %aloarea: 2
Subi!"u# \$%& 2; %81#:)"
Se consi!er# "n 0raf orientat G c" n %&rf"ri 'nN, 2<n<30(, !at )rin matricea !e
a!iacen-# A& *&rf"rile 0raf"l"i s"nt etic+etate c" n"merele !istincte: 1,2,...,n.
,i\$ier"l date.in con-ine n+1 linii. .e )rima linie a fi\$ier"l"i este scris n"m#r"l n, iar )e
fiecare !intre "rm#toarele n linii, s"nt scrise c&te n %alori a)ar-in&n! m"l-imii #0,1\$,
se)arate )rin c&te "n s)a-i", re)re/ent&n! %alorile elementelor matricei !e a!iacen-# A a
0raf"l"i G.
Se consi!er# s")ro0ramele:
S1 c" !oi )arametri n \$i a, care !etermin#, 1n "rma a)el"l"i, citirea n"merelor !in
fi\$ier"l date.in \$i ret"rnea/# )rin interme!i"l )arametrilor:
6 n n"m#r"l !e %&rf"ri ale 0raf"l"i G;
6 a "n talo" i!imensional c" n linii \$i n coloane care memorea/# %alorile
elementelor matricei !e a!iacen-# A a 0raf"l"i G;
S2 c" trei )arametri n, a \$i 0, care )rime\$te )rin interme!i"l )arametrilor:
- n "n n"m#r nat"ral nen"l '2<n<30(;
- a "n talo" i!imensional )#tratic c" n linii \$i com)onente n"mere 1ntre0i,
fiecare a%&n! cel m"lt 3 cifre;
- 0 "n n"m#r nat"ral nen"l '0<0n(, re)re/ent&n! in!icele "nei coloane !in
talo"l a.
S")ro0ram"l ret"rnea/# s"ma t"t"ror %alorilor com)onentelor coloanei 0 !in talo"l a.
C%i\$*,
a) Scrie-i !efini-ia com)let# a s")ro0ram"l"i S1;
b) Scrie-i !efini-ia com)let# a s")ro0ram"l"i S2;
c) Scrie-i "n )ro0ram )rinci)al Pascal/C/C++, care cite\$te !e la tastat"r# "n n"m#r
nat"ral k '0k<30( \$i a)oi, folosin! a)el"ri "tile ale s")ro0ramelor S1 \$i S2, !etermin# \$i
afi\$ea/# )e ecran toate etic+etele %&rf"rilor 0raf"l"i G ale c#ror 0ra!e interioare s"nt e0ale
c" k. 8tic+etele se %or afi\$a )e o sin0"r# linie, se)arate )rin c&te "n s)a-i", 1n or!inea
cresc#toare a %alorilor lor. 5ac# 0raf"l n" are nici"n %&rf c" 0ra!"l interior e0al c" k, at"nci
)ro0ram"l %a afi\$a %aloarea 0.
E-./#u& 5ac# k&4 iar fi\$ier"l date.in are con-in"t"l
al#t"rat, at"nci )ro0ram"l %a afi\$a )e ecran etic+etele
"rm#toare:
6 7
7
0 1 0 0 0 1 1
1 0 0 0 0 1 1
0 0 0 1 0 0 0
0 0 1 0 0 0 0
0 0 0 0 0 1 1
1 0 0 0 0 0 1
0 1 0 0 0 1 0
INSPECTORATUL COLAR AL MUNICIPIULUI BUCURETI
I\$0/!"1% 2!1#)% 3 0/!i)#i")" 4 /%15& "5)\$i) P\$)
Subi!" )"0")" 2009 P%16%).)%7 0/!i)#i8)%) .)".)"i!94i\$51%.)"i!9, i\$"\$0i: i\$51%.)"i!9
15
Subi!"u# \$%& 2< %81#:)"
,i\$ier"l atestat.in con-ine cel m"lt "n milion !e n"mere nat"rale, se)arate )rin c&te
"n s)a-i". ,iecare n"m#r este format !in cel m"lt " cifre, iar cifrele s"nt !istincte !o"# c&te
!o"#.
Se consi!er# s")ro0ramele:
S1, care )rin interme!i"l )arametr"l"i n* )rime\$te "n n"m#r nat"ral c" cel m"lt no"#
cifre, iar )rin interme!i"l )arametr"l"i d f"rni/ea/# n"m#r"l !e cifre im)are ale
n"m#r"l"i n*. 8xem)l": )entr" n*;617032 se o-ine d;3;
S2, c" trei )arametri n*, % \$i /, care )rime\$te )rin interme!i"l )arametr"l"i n* "n
n"m#r nat"ral c" cel m"lt no"# cifre, !intre care cel )"-in o cifr# este im)ar#, \$i
ret"rnea/# )rin interme!i"l )arametr"l"i % cea mai mic# cifr# im)ar# !in n* iar )rin
interme!i"l )arametr"l"i / cea mai mare cifr# im)ar# !in n*. 8xem)l": )entr"
n*&617032 se o-ine %&1 \$i /&7.
C%i\$*,
a) Scrie-i !efini-ia com)let# a s")ro0ram"l"i S1;
b) Scrie-i !efini-ia com)let# a s")ro0ram"l"i S2;
c) Scrie-i "n )ro0ram )rinci)al Pascal/C/C++ care afi\$ea/# )e ecran !iferen-a !intre
cea mai mare cifr# im)ar# \$i cea mai mic# cifr# im)ar# )entr" /%i.u# n"m#r n c" -)!"
31u9 !i5% i./)% !in fi\$ier"l atestat.in, folosin! a)el"ri "tile ale s")ro0ramelor S1 \$i
S2. 5ac# fi\$ier"l n" con-ine nici"n n"m#r c" exact !o"# cifre im)are se afi\$ea/# )e ecran
mesa7"l NU EXISTA.
E-./#u& 5ac# fi\$ier"l atestat.in are con-in"t"l
al#t"rat, )ro0ram"l %a afi\$a )e ecran %aloarea 2
8"13 614032 81263 "0234
Subi!"u# \$%& 2=
,i\$ier"l atestat.in con-ine o sin0"r# linie )e care s"nt scrise !o"# n"mere nat"rale
nen"le mai mici !ec&t 30000 fiecare, se)arate )rintr6"n s)a-i".
Se consi!er# s")ro0ramele:
S1 c" !oi )arametri, care )rin interme!i"l )arametr"l"i k )rime\$te "n n"m#r nat"ral
nen"l '1FkF30000( \$i f"rni/ea/# )rin )arametr"l % n"m#r"l !e cifre ale n"m#r"l"i k;
S2 c" !oi )arametri, care )rin interme!i"l )arametr"l"i k )rime\$te "n n"m#r nat"ral
nen"l '1FkF30000( \$i ret"rnea/# )rin )arametr"l / cel mai mare n"m#r care se )oate
constr"i folosin! toate cifrele n"m#r"l"i k. 5e exem)l", )entr" k&10667
s")ro0ram"l ret"rnea/# )rin )arametr"l / n"m#r"l 76610.
C%i\$*,
a) Scrie-i !efini-ia com)let# a s")ro0ram"l"i S1;
b) Scrie-i !efini-ia com)let# a s")ro0ram"l"i S2;
c) S# se scrie )ro0ram"l )rinci)al Pascal/C/C++ )rin care se citesc !in fi\$ier"l
atestat.in cele !o"# n"mere nat"rale, se com)letea/# c" 0 la sf&r\$it n"m#r"l care are
mai )"-ine cifre astfel 1nc&t amele n"mere s# ai# acela\$i n"m#r !e cifre, folosin! a)el"ri
"tile ale s")ro0ram"l"i S1. .ro0ram"l %a !etermina \$i %a afi\$a )e ecran s"ma maxim# care
se )oate o-ine !in n"merele formate )rin rearan7area cifrelor fiec#r"ia !intre cele !o"#
n"mere folosin! a)el"ri "tile ale s")ro0ram"l"i S2.
E-./#u& 5ac# fi\$ier"l atestat.in are con-in"t"l al#t"rat,
)ro0ram"l %a afi\$a: 126321 (=53100+73221)
315 27132
INSPECTORATUL COLAR AL MUNICIPIULUI BUCURETI
I\$0/!"1% 2!1#)% 3 0/!i)#i")" 4 /%15& "5)\$i) P\$)
Subi!" )"0")" 2009 P%16%).)%7 0/!i)#i8)%) .)".)"i!94i\$51%.)"i!9, i\$"\$0i: i\$51%.)"i!9
16
C1#!"i:u# 3 )u"1%i,
/%15& C)%.\$ 4 Ni!1#") Mi\$!9 4 Li!u# T1%"i! (I1\$ N!u#!+, 0!"1% '
/%15& D1i\$) 4 Lu.i\$i*) D%u*9 4 Li!u# T1%"i! (D)\$" A#i6Gi%i+, 0!"1% ;
/%15& Gi#3) 4 G%)*i#) Gb9i#9 4 C1#6iu# N)*i1\$)# (MiG)i Vi")8u#+, 0!"1% 2
/%15& D)\$ G%i61%iu 4 C1#6iu# N)*i1\$)# 3 I\$51%.)"i!9 (Tu31% Vi)\$u+, 0!"1% '
/%15& Si.1\$) 4 MiG)#) P1/) 4 C1#6iu# N)*i1\$)# (GG1%6G L)89%+, 0!"1% =
/%15& Si#:iu4 Eu6\$ S9!uiu 4 C1#6iu# N)*i1\$)# (MiG)i Vi")8u#+, 0!"1% 2
C11%31\$)"1%,
/%15&"5)\$i) P\$) i\$0/!"1% 2!1#)% 3 0/!i)#i")" i\$51%.)"i!9,
I\$0/!"1%)"u# !1#)% )# Mu\$i!i/iu#ui Bu!u%2"i
INSPECTORATUL COLAR AL MUNICIPIULUI BUCURETI
I\$0/!"1% 2!1#)% 3 0/!i)#i")" 4 /%15& "5)\$i) P\$)
Subi!" )"0")" 2009 P%16%).)%7 0/!i)#i8)%) .)".)"i!94i\$51%.)"i!9, i\$"\$0i: i\$51%.)"i!9
17