Olimpiada Republican la Informatic. Ediia 2008. Chiinu: Editura ASEM, 2008. 96 p. Lucrarea conine problemele propuse la Olimpiada Republican la Informatic a elevilor, ediia 2008, i unele informaii despre Academia de Studii Economice din Moldova gazda Olimpiadei. Pentru toate problemele n lucrare sunt descrise i soluiile. Materialele Olimpiadei pot fi de un real folos la studierea informaticii att elevilor, ct i profesorilor de informatic, iar informaiile despre Academia de Studii Economice pot fi utile, de asemenea, elevilor, ndeosebi absolvenilor de coli i licee din Republica Moldova.
Colegiul de redacie: Anatol Gremalschi, doctor habilitat, profesor universitar, UTM Ion Bolun, doctor habilitat, profesor universitar, ASEM Iurie Mocanu, Ministerul Educaiei i Tineretului Dumitru Codreanu, Universitatea Bucureti Constantin Dolghieru, Universitatea Politehnic, Bucureti Bogdna Denis Universitatea Tehnic, Iai
5 3. Academia de Studii Economice din Moldova ................................ 71
3.1. Prezentarea general a ASEM .......................................................... 71 3.2. Facultatea Business i Administrarea Afacerilor ........................................................................................ 74 3.3. Facultatea Cibernetic, Statistic i Informatic Economic (www.csie.ase.md) .............................. 76 3.4. Facultatea Contabilitate ................................................................... 80 3.5. Facultatea Economie General i Drept ........................................... 83 3.6. Facultatea Finane .............................................................................. 84 3.7. Facultatea Relaii Economice Internaionale ................................... 87 4. Admiterea ASEM-2008 ....................................................................... 90
Anex Lista participanilor la Olimpiada Republican la Informatic a elevilor, ediia 2008 ........................................ 92
6 Dragi elevi,
n acest an Olimpiada Republican la Informatic se desfoar n cadrul Sptmnii Tehnologiilor Informaionale. Pe parcursul acestei sptmni n Republica Moldova snt organizate mai multe evenimente simpozioane tiinifice, conferine i ateliere de lucru, prezentri de soluii hard i soft evenimente, care pun nc o dat n eviden importana tiinei calculatoarelor n lumea modern. Ne bucurm foarte mult, c Olimpiada noastr a devenit un pol de atracie nu numai pentru elevi i cadre didactice, dar i pentru factorii de decizie, oamenii de afaceri. Sper c voi, cei mai talentai elevi din Republica Moldova, prin rezultatele voastre vei demonstra ct de frumoas i captivant este aceast disciplin colar. coala ne ajut s devenim oameni. Informatica contribuie la faptul ca oamenii s poat naviga n oceanul de informaii, s poat lua decizii i s poat s le transpun n via. i nu conteaz, c deciziile i planurile respective sunt scrise n Pascal, C sau C++. Mai important este faptul, c oamenii societii informaionale n devenire vor fi deschii lumii, se vor afirma ca buni specialiti, vor promova cultura informaional.
n acest an, Consiliul Olimpic propune participanilor mai multe probleme, care vor permite competitorilor s-i manifeste competenele, s propun soluii originale, s demonstreze o sinergie a cunotinelor acumulate n procesul studierii tuturor disciplinelor colare.
Dorim tuturor participanilor la Olimpiad noi succese i sperm c experiena acumulat n cadrul competiiilor va fi de un real folos pentru toate instituiile de nvmnt din ara noastr.
n numele Consiliului Olimpic la Informatic,
Anatol Gremalschi, doctor habilitat, profesor universitar 7
Instruciune
I. Fiiere i directoare
I.1. n fiecare zi de concurs, competitorul va rezolva probleme de natur algoritmic i va trimite programele elaborate, prin reea, pe serverul pus la dispoziie de juriu. Se accept numai fiierele surs ale programelor, cte unul pentru fiecare problem.
I.2. Fiierele surs vor avea aceleai nume ca i fiierele de intrare/ieire. De exemplu, n cazul fiierelor de intrare/ieire numite SORTARE.IN i SORTARE.OUT, fiierul surs se va numi SORTARE.PAS, SORTARE.C, sau SORTARE.CPP.
I.3. Fiierele de intrare/ieire vor fi citite/scrise n catalogul curent, evitndu-se introducerea cilor absolute sau relative de acces. De exemplu, n cazul limbajului PASCAL i a fiierului SORTARE.IN se va utiliza apelul assign(f,sortare.in). Pentru un program n limbajul C se va utiliza apelul f=fopen("sortare.in","rt"). Orice fiiere temporare utilizate de program n cursul execuiei vor fi create numai n directorul curent.
I.4. Programul nu va scrie nimic pe ecran, nu va citi nimic de la tastatur, nu va lucra cu alte fiiere dect cel de intrare i de ieire, cu excepia cazurilor n care se indic altfel n enunul problemei.
II. Limbaje de programare
II.1. Limbajele de programare acceptate la Olimpiad snt FreePascal si GnuCC, cu versiunile i opiunile de compilare specificate n Regulamentul Olimpiadei.
II.2. La dorin, competitorii pot lucra n Turbo PASCAL sau Turbo C, ns, la evaluare, compilarea programelor surs va fi fcut cu FreePascal i GCC.
II.3. Programul competitorului poate utiliza toate mijloace oferite de compilatorul ales, cu excepia celor care intra n contradicie cu Regulamentul Olimpiadei. Printre aciunile interzise se numr: apelul de ntreruperi, scrierea n porturi, resetarea timpului curent, lansarea altor programe i/sau procese, accesarea reelei.
8 II.4. Programul competitorului trebuie sa returneze sistemului de operare codul de ieire nul. Astfel, n cazul ieirilor forate din program, programatorii PASCAL vor scrie halt(0), iar programatorii C vor scrie return 0 la ieirea din main i exit(0) n celelalte cazuri.
II.5. Competitorii vor avea la dispoziie fiierele C_PAS.BAT i C_CPP.BAT, care compileaz programele-surs cu exact aceleai opiuni ca i evaluatorul. Competitorii care doresc ca programele lor s fie compilate cu alte opiuni dect cele folosite implicit de sistemul de evaluare, o pot face prin includerea opiunilor dorite n programul- surs, folosind mijloacele prevzute de limbajul respectiv: {$R-,B- ...} in PASCAL si #pragma in C/C++.
III. Alte informaii
III.1. Competitorii vor lucra n sistemul de operare Windows.
III.2. Competitorii vor avea dreptul s utilizeze orice programe instalate pe calculator, n afar de cele de configurare i/sau monitorizare a sistemului de operare sau a reelei. Competitorii nu au dreptul s instaleze sau s dezinstaleze programe, s tearg i/sau s modifice alte fiiere, dect cele create de ei.
III.3. n cazul nclcrii cerinelor de mai sus, participantul poate fi sancionat cu anularea rezultatului pentru problema n cauz, pentru ziua respectiv, sau cu nlturarea de la competiie. 9
Ziua 1. Clasele 79
Denumirea problemei Numrul de puncte alocat problemei Denumirea fiierului surs Denumirea fiierului de intrare Denumirea fiierului de ieire Lacuri 100 LACURI . PAS LACURI . C LACURI . CPP LACURI . I N LACURI . OUT Sistemul roman 100 ROMAN. PAS ROMAN. C ROMAN. CPP ROMAN. I N ROMAN. OUT Numere magice 100 MAGI C. PAS MAGI C. C MAGI C. CPP MAGI C. I N MAGI C. OUT Total 300 - - -
10 Lacuri
Pe o hart digital snt reprezentate lacurile unei rezervaii naturale. Harta digital const din microzone i este reprezentat n memoria calculatorului cu ajutorul unei matrice binare m n ij b B
= . Elementul b ij indic specificul microzonei respective: pmnt ( 0 = ij b ) sau ap ( 1 = ij b ). Se consider c bazinele acvatice distincte nu au pe hart microzone cu laturi comune. Elaborai un program care calculeaz numrul de lacuri k, reprezentate pe hart.
Date de intrare. Fiierul text LACURI . I N conine pe prima linie numerele ntregi n i m separate prin spaiu. Fiecare din urmtoarele n linii ale fiierului de intrare conine cte m numere ntregi separate prin spaiu. Linia 1 + i a fiierului de intrare conine numerele ntregi b i1 , b i2 , ..., b ij , ..., b im .
Date de ieire. Fiierul text LACURI . OUT va conine pe o singur linie un numr ntreg numrul de lacuri k. Exemplu. LACURI . I N LACURI . OUT 5 7 0 0 1 1 0 0 1 0 1 0 1 1 1 1 1 1 1 0 0 1 1 1 1 0 0 0 1 1 0 0 0 0 0 1 0 2
Restricii. 20 , 1 m n . Timpul de execuie nu va depi 0,5 secunde. Programul va folosi cel mult 32 Megaoctei de memorie operativ. Fiierul surs va avea denumirea LACURI . PAS, LACURI . C sau LACURI . CPP. 11 Rezolvare
Presupunem c avem la dispoziie vopsele de culori distincte, codificate prin numerele ntregi 1, 2, 3, 4, ... . Iniial toate lacurile snt vopsite n culoarea 1. Mai nti, vom vopsi cu culoarea 2 unul din lacurile de pe harta digital, nu conteaz care anume. n continuare, vopsim cu culoarea 3 un alt lac .a.m.d., pn cnd pe hart nu vor mai exista lacuri de culoarea 1. Prin c vom nota codul ultimei culori utilizate. Evident, numrul de lacuri reprezentate pe harta digital este 1 = c k . Pentru a vopsi un lac oarecare cu culoarea s, mai nti gsim n matricea B un element 1 = pq b . Atribuim acestui element valoarea s. n continuare, imitm scurgerea vopselei s din microzona (p, q) n microzonele adiacente ce au culoarea 1; din microzonele care numai ce au fost vopsite n culoarea s n microzonele adiacente lor ce tot au culoarea 1 .a.m.d. n programul ce urmeaz, scurgerea vopselei este realizat cu ajutorul procedurii recursive Vopseste, care efectueaz urmtoarele operaii: dac culoarea microzonei curente nu coincide cu 1, atunci n procedura Vopseste nu se efectuiaz nici o operaie; dac culoarea microzonei curente coincide cu 1, atunci microzona n studiu este vopsit n culoarea s, iar procedura Vopseste este apelat recursiv pentru cele patru microzonele adiacente: cea de sus (p-1, q), cea din dreapta (p, q+1), cea de jos (p+1, q) i cea din stnga (p, q-1). Pentru a evita verificrile necesare n cazul microzonelor de la margini, vom incadra harta digital ntru-un chenar, nscriind n celulele respective ale tabloului B valoarea -1.
Program Lacur i ; { Cal cul ar ea numar ul ui de l acur i } const nmax=21; mmax=21; var n, m, k : i nt eger ; B : array[ 0. . nmax, 0. . mmax] of - 1. . 255;
procedure Ci t est e; var i , j : i nt eger ; 12 I nt r ar e : t ext ; begin assi gn( I nt r ar e, 'LAC.IN') ; r eset ( I nt r ar e) ; r eadl n( I nt r ar e, n, m) ; for i : =1 to n do begin for j : =1 to mdo r ead( I nt r ar e, B[ i , j ] ) ; r eadl n( I nt r ar e) ; end; cl ose( I nt r ar e) ; end; { Ci t est e }
procedure Scr i e; var I esi r e : t ext ; begin assi gn( I esi r e, 'LAC.OUT') ; r ewr i t e( I esi r e) ; wr i t el n( I esi r e, k) ; cl ose( I esi r e) ; end; { Scr i e }
procedure Chenar ; { Bor damt abl oul B cu - 1 } var i , j : i nt eger ; begin for i : =0 to n+1 do begin B[ i , 0] : =- 1; B[ i , m+1] : =- 1; end; for j : =0 to m+1 do begin B[ 0, j ] : =- 1; B[ n+1, j ] : =- 1; end; end; { Chenar }
procedure Vopsest e( p, q, s : i nt eger ) ; { Vopsest e l acul ce cont i ne mi cr ozona ( p, q) i n cul oar ea s } begin if B[ p, q] =1 then begin { vopsi mmi cr ozona ( p, q) } B[ p, q] : =s; { vopsi mmi cr ozona de sus } Vopsest e( p- 1, q, s) ; { vopsi mmi cr ozona di n dr eapt a } 13 Vopsest e( p, q+1, s) ; { vopsi mmi cr ozona de j os } Vopsest e( p+1, q, s) ; { vopsi mmi cr ozona di n st i nga } Vopsest e( p, q- 1, s) ; end; { t hen } end; { Vopsest e }
function Sunt Lacur i Nevopsi t e( var p, q : i nt eger ) : bool ean; { Ret ur neaza t r ue daca exi st a cel put i n un l ac nevopsi t } { si coor donat el e p, q al e mi cr ozonei ce ar e cul oar ea 1 } label 1; var i , j : i nt eger ; begin Sunt Lacur i Nevopsi t e: =f al se; for i : =1 t o n do for j : =1 t o mdo if B[ i , j ] =1 then begin Sunt Lacur i Nevopsi t e: =t r ue; p: =i ; q: =j ; goto 1; end; 1: end; { Sunt Lacur i Nevopsi t e }
procedure Numar a; { Numar a l acur i l e de pe har t a di gi t al a } var p, q, s : i nt eger ; begin s: =1; while Sunt Lacur i Nevopsi t e( p, q) do begin s: =s+1; Vopsest e( p, q, s) ; end; k: =s- 1; end; { Numar a }
begin Ci t est e; 14 Chenar ; Numar a; Scr i e; end.
Evident, numrul de apeluri recursive ale procedurii Vopsest e nu poate depi numrul de microzone ale hrii digitale. Prin urmare, timpul de execuie a procedurii Vopsest e este T n m, iar spaiul necesar de memorie n stiv V s n m. Conform restriciilor problemei, dimensiunile imaginii n, m 20, deci timpul de execuie T <<0,5 secunde, iar necesarul de memorie V s < 16 Koctei.
15 Sistemul roman
Sistemul roman de numeraie utilizeaz cifrele I, V, X, L, C, D i M, care au urmtoarea semnificaie: I 1; V 5; X 10; L 50; C 100; D 500; M 1000. Fie n i i c c c c c L L 1 2 1 + o succesiune de cifre, ce reprezint un numr scris n sistemul roman de numeraie. Prin ) ( 1 2 1 n i i c c c c c Val L L + vom nota valoarea acestui numr, scris n sistemul zecimal. De exemplu,
1 ) I ( = Val ; 2 ) II ( = Val ; 4 ) IV ( = Val ; 14 ) XIV ( = Val ; 19 ) XIX ( = Val ; 1963 ) MCMLXIII ( = Val .
n sistemul roman, valoarea numrului se calculeaz parcurgnd irul de la stnga la dreapta, nsumnd valorile cifrelor respective. Aceast regul are ns o excepie: dac n dreapta cifrei curente i c se afl o cifr 1 + i c cu o valoare mai mare, n suma respectiv se include diferena ) ( ) ( 1 i i c Val c Val + . n continuare, se trece, dac exist, la cifra 2 + i c . Exemplu:
14 ] 1 5 [ 10 )] I ( ) V ( [ ) X ( ) XIV ( = + = + = Val Val Val Val .
Expresiile, scrise n sistemul roman de numeraie, se definesc conform urmtoarelor formule metalingvistice: <Cifr roman> ::= I | V| X| L| C| D| M <Numr roman> ::= <Cifr roman>{< Cifr roman>} <Operator> ::= +| - <Expresie aritmetic roman> ::= <Numr roman>{<Operator><Numr roman>}. 16 Elaborai un program care calculeaz valoarea expresiilor aritmetice, scrise n sistemul roman de numeraie. Date de intrare. Fiierul text ROMAN. I N conine pe o singur linie un ir de caractere ce reprezint o expresie aritmetic, scris n sistemul roman de numeraie. Date de ieire. Fiierul text ROMAN. OUT va conine pe o singur linie un numr ntreg valoarea expresiei aritmetice din fiierul de intrare, scris n sistemul zecimal de numeraie. Exemplu ROMAN. I N ROMAN. OUT I +I V- XI X - 14 Restricii. irul din fiierul de intrare va conine cel mult 255 de caractere. Fiecare din numerele romane va conine cel mult 5 cifre. Timpul de execuie nu va depi 0,5 secunde. Programul va folosi cel mult 32 Megaoctei de memorie operativ. Fiierul surs va avea denumirea ROMAN. PAS, ROMAN. C sau ROMAN. CPP.
Rezolvare
Pentru a calcula valoarea expresiei aritmetice scrise n sistemul roman de numeraie, parcurgem irul de caractere de intrare i transformm fiecare numr roman n sistemul zecimal. Numerele zecimale le vom memora n tabloul Numer e, iar operatorii n tabloul Oper at or i . n continuare, parcurgnd tabloul Oper at or i , efectum operaiile respective asupra valorilor din tabloul Numer e. Conform restriciilor problemei, cea mai mare valoare a expresiei din irul de intrare S poate fi 000 255 M 255 = . Prin urmare, pentru memorarea numerelor romane i efectuarea calculelor respective vom folosi tipul de date l ongi nt .
17 Program Si st emul Roman; { Si st emul r oman de numer at i e - Cl asel e 07- 09 } const nmax=128; { numar ul maxi mal de numer e di n expr esi e } var S : string; { expr esi a scr i sa i n si st emul r oman } X : l ongi nt ; { val oar ea expr esi ei i n si st emul zeci mal } Numer e : array[ 1. . nmax] of l ongi nt ; { numer el e di n expr esi e } Oper at or i : array[ 1. . nmax] of char ; { oper at or i i di n expr esi e }
procedure Ci t est e; var I nt r ar e : t ext ; begin assi gn( I nt r ar e, 'ROMAN.IN') ; r eset ( I nt r ar e) ; r eadl n( I nt r ar e, S) ; cl ose( I nt r ar e) ; end; { Ci t est e }
procedure Scr i e; var I esi r e : t ext ; begin assi gn( I esi r e, 'ROMAN.OUT') ; r ewr i t e( I esi r e) ; wr i t el n( I esi r e, X) ; cl ose( I esi r e) ; end; { Scr i e }
function Val oar eaCi f r ei ( Ci f r a : char ) : l ongi nt ; { r et ur neaza val oar ea zeci mal a a ci f r ei r omane Ci f r a } begin case Ci f r a of 'I' : Val oar eaCi f r ei : =1; 'V' : Val oar eaCi f r ei : =5; 'X' : Val oar eaCi f r ei : =10; 'L' : Val oar eaCi f r ei : =50; 'C' : Val oar eaCi f r ei : =100; 'D' : Val oar eaCi f r ei : =500; 'M' : Val oar eaCi f r ei : =1000; end; end; { Val oar eaCi f r ei }
function Val oar eaNumar ul ui ( T : string) : l ongi nt ; { Ret ur neaza val oar ea zeci mal a numar ul ui r oman T } var y : l ongi nt ; 18 i : i nt eger ; begin y: =0; i : =1; repeat if i =l engt h( T) then begin y: =y+Val oar eaCi f r ei ( T[ i ] ) ; i : =i +1; end else begin if Val oar eaCi f r ei ( T[ i ] ) >= Val oar eaCi f r ei ( T[ i +1] ) then begin y: =y+Val oar eaCi f r ei ( T[ i ] ) ; i : =i +1; end { t hen } else begin y: =y+Val oar eaCi f r ei ( T[ i +1] ) - Val oar eaCi f r ei ( T[ i ] ) ; i : =i +2; end; { el se } end; until i >l engt h( T) ; Val oar eaNumar ul ui : =y; end; { Val oar eaNumar ul ui }
procedure Cr eazaTabl our i l e; { cr eaza t abl our i l e Numer e si Oper at or i } var i , k : i nt eger ; Oper : char ; T : string; begin { i ni t i al i zar ea t abl our i l or } for k: = 1 to nmax do begin Numer e[ k] : =0; Oper at or i [ k] : =' '; end; i : =0; { i ndi ce pent r u si r ul S } k: =0; { i ndi ce pent r u t abl our i l e Numer e si Oper at or i } repeat { copi emnumar ul cur ent di n S i n T } T: =''; repeat 19 i : =i +1; T: =T+S[ i ] ; until ( i =l engt h( S) ) or ( S[ i +1] in [ '+', '-'] ) ; k: =k+1; Numer e[ k] : =Val oar eaNumar ul ui ( T) ; if i <l engt h( S) then begin i : =i +1; Oper at or i [ k] : =S[ i ] ; end; until i =l engt h( S) ; end; { Cr eazaTabl our i l e }
procedure Cal cul eaza; var k : i nt eger ; Semn : char ; begin X: =0; Semn: ='+'; k: =0; repeat k: =k+1; case Semn of '+' : X: =X+Numer e[ k] ; '-' : X: =X- Numer e[ k] ; end; { case } if ( Oper at or i [ k] <> ' ') then Semn: =Oper at or i [ k] ; until( Oper at or i [ k] = ' ') ; end; { Cal cul eaza }
begin Ci t est e; Cr eazaTabl our i l e; Cal cul eaza; Scr i e; end.
Din textul programului Roman rezult c irul de intrare S i tabloul Oper at or i vor fi parcurse cte o singur dat. Prin urmare, timpul de execuie va fi cu mult mai mic ca 0,5 secunde.
20 Numere magice
Numrul natural x este considerat ca fiind unul magic, dac numrul de repetri este acelai pentru fiecare cifr din componena lui. Exemple: 1100, 81239, 756675, 454566. Elaborai un program care, pentru orice numar natural n, calculeaz cel mai mic numr magic x, n x .
Date de intrare. Fisierul text MAGI C. I N contine pe prima linie numarul natural n.
Date de iesire. Fisierul text MAGI C. OUT va contine pe o singura linie numarul magic x.
Exemplu. MAGI C. I N MAGI C. OUT 2235 2244
Restrictii. 000 000 1 1 n . Timpul de executie nu va depasi 1 secunda. Programul va folosi cel mult 32 Megaoctei de memorie operativ. Fisierul sursa va avea denumirea MAGI C. C, MAGI C. CPP sau MAGI C. PAS.
Rezolvare
Numrul x poate fi gasit prin metoda trierii, atrubuindu-i consecutiv lui x valorile n, 1 + n , 2 + n , 3 + n .a.m.d. Procesul de triere se termin cnd gsim un numr magic. Evident, pentru a determina dac x este un numr magic, va trebuie s scriem un o funcie care calculeaz i compar numerele de apariii ale cifrelor din componena lui .
21 Program Magi c; { Cl asel e 07- 09 } type Ci f r e = Array [ 0. . 9] of Shor t I nt ; var n : LongI nt ; I nt r ar e , I esi r e : Text ;
function I smagi c( n : LongI nt ) : Bool ean; { Ret ur neaza t r ue daca n est e magi c si f al se i n caz cont r ar } var Di gs : Ci f r e; i : I nt eger ; c : I nt eger ; begin Fi l l Char ( Di gs, si zeof ( Di gs) , 0) ; while ( n>0) do begin I nc( Di gs[ n mod 10] ) ; n : = n div 10; end; c : = - 1; for i : = 0 to 9 do begin if Di gs[ i ] >0 then begin if c = - 1 then c : = Di gs[ i ] else if c<>Di gs[ i ] then exi t ( Fal se) ; end; end; I smagi c : = Tr ue; end;
begin Assi gn( I nt r ar e, ' MAGI C. I N' ) ; Reset ( I nt r ar e) ; Readl n( I nt r ar e, n) ; Cl ose( I nt r ar e) ; Assi gn( I esi r e, ' MAGI C. OUT' ) ; Rewr i t e( I esi r e) ; while not i smagi c( n) do I nc( n) ; Wr i t el n( I esi r e, n) ; Cl ose( I esi r e) ; end. 22
Ziua 1. Clasele 1012
Denumirea problemei Numrul de puncte alocat problemei Denumirea fiierului surs Denumirea fiierului de intrare Denumirea fiierului de ieire Lacuri 100 LACURI . PAS LACURI . C LACURI . CPP LACURI . I N LACURI . OUT Sistemul roman 100 ROMAN. PAS ROMAN. C ROMAN. CPP ROMAN. I N ROMAN. OUT Numere magice 100 MAGI C. PAS MAGI C. C MAGI C. CPP MAGI C. I N MAGI C. OUT Total 300 - - - 23 Lacuri
Pe o hart digital snt reprezentate lacurile unei rezervaii naturale. Harta digital const din microzone i este reprezentat n memoria calculatorului cu ajutorul unei matrice binare m n ij b B
= . Elementul b ij indic specificul microzonei respective: pmnt ( 0 = ij b ) sau ap ( 1 = ij b ). Se consider c bazinele acvatice distincte nu au pe hart microzone cu laturi comune. Elaborai un program care calculeaz numrul de lacuri k, reprezentate pe hart.
Date de intrare. Fiierul text LACURI . I N conine pe prima linie numerele ntregi n i m separate prin spaiu. Fiecare din urmtoarele n linii ale fiierului de intrare conine cte m numere ntregi separate prin spaiu. Linia 1 + i a fiierului de intrare conine numerele ntregi b i1 , b i2 , ..., b ij , ..., b im .
Date de ieire. Fiierul text LACURI . OUT va conine pe o singur linie un numr ntreg numrul de lacuri k. Exemplu. LACURI . I N LACURI . OUT 5 7 0 0 1 1 0 0 1 0 1 0 1 1 1 1 1 1 1 0 0 1 1 1 1 0 0 0 1 1 0 0 0 0 0 1 0 2
Restricii. 20 , 1 m n . Timpul de execuie nu va depi 0,5 secunde. Programul va folosi cel mult 32 Megaoctei de memorie operativ. Fiierul surs va avea denumirea LACURI . PAS, LACURI . C sau LACURI . CPP. 24 Rezolvare
Presupunem c avem la dispoziie vopsele de culori distincte, codificate prin numerele ntregi 1, 2, 3, 4, ... . Iniial toate lacurile snt vopsite n culoarea 1. Mai nti, vom vopsi cu culoarea 2 unul din lacurile de pe harta digital, nu conteaz care anume. n continuare, vopsim cu culoarea 3 un alt lac .a.m.d., pn cnd pe hart nu vor mai exista lacuri de culoarea 1. Prin c vom nota codul ultimei culori utilizate. Evident, numrul de lacuri reprezentate pe harta digital este 1 = c k . Pentru a vopsi un lac oarecare cu culoarea s, mai nti gsim n matricea B un element 1 = pq b . Atribuim acestui element valoarea s. n continuare, imitm scurgerea vopselei s din microzona (p, q) n microzonele adiacente ce au culoarea 1; din microzonele care numai ce au fost vopsite n culoarea s n microzonele adiacente lor ce tot au culoarea 1 .a.m.d. n programul ce urmeaz, scurgerea vopselei este realizat cu ajutorul procedurii recursive Vopsest e, care efectueaz urmtoarele operaii: dac culoarea microzonei curente nu coincide cu 1, atunci n procedura Vopsest e nu se efectuiaz nici o operaie; dac culoarea microzonei curente coincide cu 1, atunci microzona n studiu este vopsit n culoarea s, iar procedura Vopsest e este apelat recursiv pentru cele patru microzonele adiacente: cea de sus (p-1, q), cea din dreapta (p, q+1), cea de jos (p+1, q) i cea din stnga (p, q-1). Pentru a evita verificrile necesare n cazul microzonelor de la margini, vom incadra harta digital ntru-un chenar, nscriind n celulele respective ale tabloului B valoarea -1.
Program Lacur i ; { Cal cul ar ea numar ul ui de l acur i } const nmax=21; mmax=21; var n, m, k : i nt eger ; B : array[ 0. . nmax, 0. . mmax] of - 1. . 255;
procedure Ci t est e; var i , j : i nt eger ; I nt r ar e : t ext ; begin 25 assi gn( I nt r ar e, 'LAC.IN') ; r eset ( I nt r ar e) ; r eadl n( I nt r ar e, n, m) ; for i : =1 to n do begin for j : =1 to mdo r ead( I nt r ar e, B[ i , j ] ) ; r eadl n( I nt r ar e) ; end; cl ose( I nt r ar e) ; end; { Ci t est e }
procedure Scr i e; var I esi r e : t ext ; begin assi gn( I esi r e, 'LAC.OUT') ; r ewr i t e( I esi r e) ; wr i t el n( I esi r e, k) ; cl ose( I esi r e) ; end; { Scr i e }
procedure Chenar ; { Bor damt abl oul B cu - 1 } var i , j : i nt eger ; begin for i : =0 to n+1 do begin B[ i , 0] : =- 1; B[ i , m+1] : =- 1; end; for j : =0 to m+1 do begin B[ 0, j ] : =- 1; B[ n+1, j ] : =- 1; end; end; { Chenar }
procedure Vopsest e( p, q, s : i nt eger ) ; { Vopsest e l acul ce cont i ne mi cr ozona ( p, q) i n cul oar ea s } begin if B[ p, q] =1 then begin {vopsi mmi cr ozona ( p, q) } B[ p, q] : =s; {vopsi mmi cr ozona de sus } Vopsest e( p- 1, q, s) ; {vopsi mmi cr ozona di n dr eapt a} Vopsest e( p, q+1, s) ; {vopsi mmi cr ozona de j os } Vopsest e( p+1, q, s) ; {vopsi mmi cr ozona di n st i nga} Vopsest e( p, q- 1, s) ; end; { t hen } end; { Vopsest e }
function Sunt Lacur i Nevopsi t e( var p, q : i nt eger ) : bool ean; { Ret ur neaza t r ue daca exi st a cel put i n un l ac nevopsi t } 26 { si coor donat el e p, q al e mi cr ozonei ce ar e cul oar ea 1 } label 1; var i , j : i nt eger ; begin Sunt Lacur i Nevopsi t e: =f al se; for i : =1 t o n do for j : =1 t o mdo if B[ i , j ] =1 then begin Sunt Lacur i Nevopsi t e: =t r ue; p: =i ; q: =j ; goto 1; end; 1: end; { Sunt Lacur i Nevopsi t e }
procedure Numar a; { Numar a l acur i l e de pe har t a di gi t al a } var p, q, s : i nt eger ; begin s: =1; while Sunt Lacur i Nevopsi t e( p, q) do begin s: =s+1; Vopsest e( p, q, s) ; end; k: =s- 1; end; { Numar a }
begin Ci t est e; Chenar ; Numar a; Scr i e; end.
Evident, numrul de apeluri recursive ale procedurii Vopsest e nu poate depi numrul de microzone ale hrii digitale. Prin urmare, timpul de execuie a procedurii Vopsest e este T n m, iar spaiul necesar de memorie n stiv V s n m. Conform restriciilor problemei, dimensiunile imaginii n, m 20, deci timpul de execuie T <<0,5 secunde, iar necesarul de memorie V s < 16 Koctei.
27 Sistemul roman
Se consider sistemul roman de numeraie. Acest sistem utilizeaz cifrele I, V, X, L, C, D i M, care au urmtoarea semnificaie: I 1; V 5; X 10; L 50; C 100; D 500; M 1000. Fie n i i c c c c c L L 1 2 1 + o succesiune de cifre, ce reprezint un numr scris n sistemul roman de numeraie. Prin ) ( 1 2 1 n i i c c c c c Val L L + vom nota valoarea acestui numr, scris n sistemul zecimal. De exemplu, 1 ) I ( = Val ; 2 ) II ( = Val ; 4 ) IV ( = Val ; 14 ) XIV ( = Val ; 19 ) XIX ( = Val ; 1963 ) MCMLXIII ( = Val . n sistemul roman, valoarea numrului se calculeaz parcurgnd irul de la stnga la dreapta, nsumnd valorile cifrelor respective. Aceast regul are ns o excepie: dac n dreapta cifrei curente i c se afl o cifr 1 + i c cu o valoare mai mare, n suma respectiv se include diferena ) ( ) ( 1 i i c Val c Val + . n continuare, se trece, dac exist, la cifra 2 + i c . Exemplu:
14 ] 1 5 [ 10 )] I ( ) V ( [ ) X ( ) XIV ( = + = + = Val Val Val Val .
Expresiile, scrise n sistemul roman de numeraie, se definesc conform urmtoarelor formule metalingvistice: <Cifr roman> ::= I | V| X| L| C| D| M <Numr roman> ::= <Cifr roman>{< Cifr roman>} <Operator> ::= +| - | *
<Expresie aritmetic roman> ::= <Numr roman>{<Operator><Numr roman>}. Elaborai un program care calculeaz valoarea expresiilor aritmetice, scrise n sistemul roman de numeraie. 28 Date de intrare Fiierul text ROMAN. I N conine pe o singur linie un ir de caractere ce reprezint o expresie aritmetic, scris n sistemul roman de numeraie. Date de ieire Fiierul text ROMAN. OUT va conine pe o singur linie un numr ntreg valoarea expresiei aritmetice din fiierul de intrare, scris n sistemul zecimal de numeraie. Exemplu
ROMAN. I N ROMAN. OUT I +I V- XI X * I I - 33 Restricii. irul din fiierul de intrare va conine cel mult 255 de caractere. Timpul de execuie nu va depi 0,5 secunde. Programul va folosi cel mult 32 Megaoctei de memorie operativ. Fiierul surs va avea denumirea ROMAN. PAS, ROMAN. C sau ROMAN. CPP.
Rezolvare
Pentru a calcula valoarea expresiei aritmetice scrise n sistemul roman de numeraie, parcurgem irul de caractere de intrare i transformm fiecare numr roman n sistemul zecimal. Numerele zecimale le vom memora n tabloul Numer e, iar operatorii n tabloul Oper at or i . n continuare, parcurgnd tablourile respective, efectum operaiile de nmulire, nlocuind operatorul * i operanzii respective prin produsele calculate. Operaiile de adunare i scdere le efectum parcurgnd nc o dat tablourile Numer e i Oper at or i , care, evident, deja nu mai conin operaiile de nmulire.
Program Si st emul Roman; { Si st emul r oman de numer at i e - Cl asel e 10- 12 } 29 const nmax=128; { numar ul maxi mal de numer e di n expr esi e } var S : st r i ng; { expr esi a scr i sa i n si st emul r oman } X : l ongi nt ; { val oar ea expr esi ei i n si st emul zeci mal } Numer e : array[ 1. . nmax] of l ongi nt ; { numer el e di n expr esi e } Oper at or i : array[ 1. . nmax] of char ; { oper at or i i di n expr esi e }
procedure Ci t est e; var I nt r ar e : t ext ; begin assi gn( I nt r ar e, 'ROMAN.IN') ; r eset ( I nt r ar e) ; r eadl n( I nt r ar e, S) ; cl ose( I nt r ar e) ; end; { Ci t est e }
procedure Scr i e; var I esi r e : t ext ; begin assi gn( I esi r e, 'ROMAN.OUT') ; r ewr i t e( I esi r e) ; wr i t el n( I esi r e, X) ; cl ose( I esi r e) ; end; { Scr i e }
function Val oar eaCi f r ei ( Ci f r a : char ) : l ongi nt ; { r et ur neaza val oar ea zeci mal a a ci f r ei r omane Ci f r a } begin case Ci f r a of 'I' : Val oar eaCi f r ei : =1; 'V' : Val oar eaCi f r ei : =5; 'X' : Val oar eaCi f r ei : =10; 'L' : Val oar eaCi f r ei : =50; 'C' : Val oar eaCi f r ei : =100; 'D' : Val oar eaCi f r ei : =500; 'M' : Val oar eaCi f r ei : =1000; end; end; { Val oar eaCi f r ei } 30
function Val oar eaNumar ul ui ( T : st r i ng) : l ongi nt ; { r et ur neaza val oar ea zeci mal a numar ul ui r oman T} var y : l ongi nt ; i : i nt eger ; begin y: =0; i : =1; repeat if i =l engt h( T) then begin y: =y+Val oar eaCi f r ei ( T[ i ] ) ; i : =i +1; end else begin if Val oar eaCi f r ei ( T[ i ] ) >= Val oar eaCi f r ei ( T[ i +1] ) then begin y: =y+Val oar eaCi f r ei ( T[ i ] ) ; i : =i +1; end { t hen } else begin y: =y+Val oar eaCi f r ei ( T[ i +1] ) - Val oar eaCi f r ei ( T[ i ] ) ; i : =i +2; end; { el se } end; until i >l engt h( T) ; Val oar eaNumar ul ui : =y; end; { Val oar eaNumar ul ui }
procedure Cr eazaTabl our i l e; { cr eaza t abl our i l e Numer e si Oper at or i } var i , k : i nt eger ; Oper : char ; T : string; begin { i ni t i al i zar ea t abl our i l or } for k: = 1 to nmax do begin Numer e[ k] : =0; Oper at or i [ k] : =' '; end; i : =0; { i ndi ce pent r u si r ul S } 31 k: =0; { i ndi ce pent r u t abl our i l e Numer e si Oper at or i } repeat { copi emnumar ul cur ent di n S i n T } T: =''; repeat i : =i +1; T: =T+S[ i ] ; until ( i =l engt h( S) ) or ( S[ i +1] in [ '+', '-', '*'] ) ; k: =k+1; Numer e[ k] : =Val oar eaNumar ul ui ( T) ; if i <l engt h( S) t hen begin i : =i +1; Oper at or i [ k] : =S[ i ] ; end; until i =l engt h( S) ; end; { Cr eazaTabl our i l e }
procedure I nmul t est e; var k, j : i nt eger ; begin k: =0; repeat k: =k+1; if Oper at or i [ k] ='*' then begin { cal cul ampr odusul } Numer e[ k+1] : =Numer e[ k] *Numer e[ k+1] ; { excl udemoper anzi i si oper at or ul * } for j : =k to nmax- 1 do begin Numer e[ j ] : =Numer e[ j +1] ; Oper at or i [ j ] : =Oper at or i [ j +1] ; end; { f or } k: =k- 1; end; { t hen } until ( Oper at or i [ k] = ' ') ; end; { I nmul t est e }
procedure AdunaScade; var k : i nt eger ; 32 Semn : char ; begin X: =0; Semn: ='+'; k: =0; repeat k: =k+1; case Semn of '+' : X: =X+Numer e[ k] ; '-' : X: =X- Numer e[ k] ; end; { case } if ( Oper at or i [ k] <> ' ') then Semn: =Oper at or i [ k] ; until( Oper at or i [ k] = ' ') ; end; { AdunaScade }
begin Ci t est e; Cr eazaTabl our i l e; I nmul t est e; AdunaScade; Scr i e; end. 33 Numere magice
Numrul natural x este considerat ca fiind unul magic, dac numrul de repetri este acelai pentru fiecare cifr din componena lui. Exemple: 1100; 81239; 756675; 454566. Elaborai un program care, pentru orice numar natural n, calculeaz cel mai mic numr magic x, n x .
Date de intrare. Fisierul text MAGI C. I N contine pe prima linie numarul natural n.
Date de iesire. Fisierul text MAGI C. OUT va contine pe o singura linie numarul magic x.
Exemplu. MAGI C. I N MAGI C. OUT 2235 2244
Restrictii. 15 10 1 n . Timpul de executie nu va depasi 1 secunda. Programul va folosi cel mult 32 Megaoctei de memorie operativ. Fisierul sursa va avea denumirea MAGI C. C, MAGI C. CPP sau MAGI C. PAS.
Rezolvare
Soluia triviala a acestei probleme consta in verificarea consecutiva a numerelor, ncepnd cu n. Evident, pentru a afla daca un numr este magic, se determin numrul de repetri ale fiecrei cifre din scrierea lui. Aceasta soluie are astfel o complexitate liniara O(n) si se ncadreaz n limita de timp doar pentru cazurile in care n nu depete valoarea de cteva milioane. Pentru n avnd valori de pna la 10 15 este necesar un algoritm mai rapid. Acesta se poate obine, reducnd spaiul de cutare al numrului magic, astfel incit sa fie 34 verificata doar o mica parte din numerele consecutive ce depesc valoarea lui n. n acest scop, vom ncerca s construim un numr magic, care sa se nceap cu primele i cifre ale numrului n. Fie k numrul total de cifre ale lui n. Numrul magic cutat va avea exact k cifre, deoarece orice numr compus numai din cifre de 9 (de exemplu 999, 99999 etc.) este numr magic. Prin urmare, ntotdeauna exista un numr magic avnd acelai numr de cifre ca i n i fiind mai mare sau egal cu acesta. Astfel, avnd un numr de k cifre, cu primele i cifre fixate, ne ramne sa verificam daca e posibil de ales ultimele k - i cifre ale sale in aa mod incit sa obinem un numr magic cit mai mic posibil. Fie cifre_diferite numrul de cifre diferite, coninute in primele i cifre ale lui n, si fie max_repetari numrul maxim de repetri ale unei din primele cifre i. Pentru orice m intre max_repetari si k inclusiv, se va verifica daca e posibil de construit numrul magic anterior astfel, incit fiecare cifra din componenta lui sa se repete de m ori. Verificarea consta doar in probarea urmtoarelor condiii evidente: - k se divide cu m, deoarece k/m reprezint numrul de cifre diferite si deci trebuie sa fie un numr ntreg; - k/m trebuie sa fie mai mic sau egal cu 10, deoarece exista doar 10 cifre diferite; - k/m trebuie sa fie mai mare sau egal cu cifre_diferite. Cu aceste 3 condiii satisfcute e posibil de construit un numr magic, care ncepe cu primele i cifre ale lui n si in care fiecare cifra se repeta de m ori. Pentru a construi acest numr, se numra de cte ori se repeta fiecare cifra in primele i cifre ale lui n si pentru fiecare cifra dintre ele se va numr de cte ori mai trebuie sa apar astfel incit numrul de repetri ale sale n numrul construit sa fie m. Pe lnga aceasta se vor mai aduga de cte m ori cele mai mici (k/m cifre_diferite) cifre, care nu apar printre primele i cifre ale lui n. Toate aceste cifre adugate trebuie sa fie plasate in ordine cresctoare dup primele i cifre luate din n pentru a obine un numr magic minim, care sa nceap cu primele i cifre ale lui n si in care fiecare cifra sa se repete de m ori. Dintre toate numerele magice construite pentru m intre max_repetari si k inclusiv, se va lua cel mai mic numr i anume el 35 va reprezenta cel mai mic numr magic care ncepe cu primele i cifre ale lui n. Avnd toate aceste detalii descrise, ne rmne sa definim paii principali ai algoritmului: - Se verifica daca n este un numr magic si in caz afirmativ se returneaz ca rezultat. - Fie cifra(i) cifra de pe poziia i a lui n. Pentru fiecare i de la k la 1, si pentru fiecare j de la cifra(i)+1 la 9 se verifica cu metoda de mai sus daca e posibil de construit un numr magic de k cifre, avnd primele i-1 cifre egale cu cifra(1), cifra(2), , cifra(i-1) si avnd cifra de pe poziia i egala cu j. In caz afirmativ se va returna cel mai mic numr magic construit, care respect aceasta proprietate. Se observa ca complexitatea acestui algoritm este O(k 3 ), unde k este numrul de cifre ale lui n, asigurndu-se astfel respectarea restriciilor problemei.
Program Magi c; { Cl asel e 10- 12 } type Ci f r e = Ar r ay[ 0. . 9] of Shor t I nt ; { Past r eaza numar ul de apar i t i i a f i ecar ei ci f r e } type Numar = Ar r ay[ 0. . 16] of Shor t I nt ; { Numar [ 0] va i ndi ca l ungi mea }
{ Ver i f i ca daca numar ul speci f i cat pr i n vect or ul de ci f r e ' num' est e magi c } function i smagi c( const num: Numar ) : Bool ean; var di gs : Ci f r e; c : Shor t I nt ; i : I nt eger ; begin Fi l l Char ( di gs, si zeof ( di gs) , 0) ; for i : = 1 to num[ 0] do I nc( di gs[ num[ i ] ] ) ; c: = - 1; for i : = 0 to 9 do begin if di gs[ i ] > 0 t hen begin if c < 0 then c: = di gs[ i ] else i f di gs[ i ] <> c t hen exi t ( Fal se) ; end; end; 36 i smagi c : = Tr ue; end;
{ i nt oar ce numar ul descr i s de vect or ul de ci f r e ' num' } function get num( const num: Numar ) : I nt 64; var r es, zece : I nt 64; i : i nt eger ; begin r es : = 0; zece : = 1; for i : = num[ 0] downto 1 do begin r es : = r es+ num[ i ] *zece; zece: = zece * 10; end; get num: = r es; end;
{ ver i f i ca daca numar ul speci f i cat pr i n ci f r el e l ui ' num' poat e compune un numar magi c avi nd pr i mel e ' di gpos' ci f r e al e sal e f i xat e } function sol ve( const num: Numar ; di gpos : I nt eger ) : I nt 64; var di gs : Ci f r e; { nr . de apar i t i i al e pr i mel or ' di gpos' ci f r e di n numar } newdi gs : Ci f r e; { ci t e ci f r e de f i ecar e t i p mai t r ebui e de adaugat pent r u a obt i ne un numar magi c } di f di gs : I nt eger ; { numar ul de ci f r e di f er i t e cont i nut e i n pr i mel e ' di gpos' ci f r e di n num} di gsLef t : I nt eger ; mi nr ep : I nt eger ; cur num : Numar ; i , j , r eps: I nt eger ; cur pos : I nt eger ; best : I nt 64; n : I nt eger ; begin
n : = num[ 0] ; { numar ul de ci f r e al e numar ul ui } 37 di gsl ef t : = n- di gpos; cur num: = num; { numar a numar ul de apar i t i i a f i ecar ei di nt r e pr i mel e ' di gpos' ci f r e di n numar } Fi l l Char ( di gs, si zeof ( di gs) , 0) ; for i : =1 to di gpos do I nc( di gs[ num[ i ] ] ) ; di f di gs : = 0; mi nr ep : = 0; { gasest e numar ul maxi mde r epet i t i i a unei ci f r e di nt r e pr i mel e ' di gpos' ci f r e } for i : = 0 to 9 do begin i f di gs[ i ] > 0 then begin I nc( di f di gs) ; if mi nr ep < di gs[ i ] then mi nr ep : = di gs[ i ] ; end; end; { Cel mai mi c numar magi c de ' n' ci f r e gasi t car e i si ar e pr i mel e ' di gpos' ci f r e al e numar ul ui ' num' . Daca e - 1 at unci r ezul t a ca nu se poat e f or ma un numar magi c i n acest e condi t i i . } best : = - 1; { I ncear ca f or mar ea numar ul ui magi c i n car e f i ecar e ci f r a car e apar e se r epet a exact de ' r eps' or i . } for r eps: =mi nr ep to n do begin i f ( n mod r eps=0) and ( n di v r eps >= di f di gs) and ( n di v r eps <= 10) then begin Fi l l Char ( newdi gs, si zeof ( newdi gs) , 0) ; { Cal cul eaza ci t e apar i t i i noi mai si nt necesar e pent r u ci f r el e dej a exi st ent e i n nou numar ( adi ca pent r u pr i mel e ' di gpos' ci f r e) } for i : = 0 to 9 do begin i f di gs[ i ] > 0 then begin newdi gs[ i ] : = r eps- di gs[ i ] ; di gsl ef t : = di gsl ef t - newdi gs[ i ] ; end; end; { Cal cul eaza car e ci f r e neut i l i zat e vor f i i ncl use i n numar ul magi c f or mat } for i : = 0 to 9 do begin if ( di gs[ i ] =0) and ( di gsl ef t >0) then begin 38 newdi gs[ i ] : = r eps; di gsl ef t : = di gsl ef t - r eps; end; end; { Const r ui est e numar ul magi c } cur pos: =di gpos; for i : =0 to 9 do begin if ( newdi gs[ i ] >0) then begi n for j : =0 to newdi gs[ i ] - 1 do begin I nc( cur pos) ; cur num[ cur pos] : =i ; end; end; end; if ( best <0) or ( best > get num( cur num) ) then best : = get num( cur num) ; end; end; sol ve : = best ; end;
var f I nt r ar e, f I esi r e : Text ; var n, r es : I nt 64; num : Numar ;
t emp : Shor t I nt ; i , u, k : I nt eger ; ci f r a : Shor t I nt ; begin r es : = - 1; Assi gn( f I nt r ar e, ' magi c. i n' ) ; Reset ( f I nt r ar e) ; Readl n( f I nt r ar e, n) ; Cl ose( f I nt r ar e) ; { Const r ui est e vect or ul cu ci f r el e l ui ' n' } num[ 0] : = 0; while ( n > 0 ) do begin I nc( num[ 0] ) ; num[ num[ 0] ] : = n mod 10; n: = n div 10; end; k : = num[ 0] ; { I nver seaza ci f r el e numar ul ui } 39 for i : = 1 to k div 2 do begin t emp : = num[ i ] ; num[ i ] : = num[ k- i +1] ; num[ k- i +1] : = t emp; end; if i smagi c( num) then r es : = get num( num) else begin { I t er eaza asupr a ci f r el or l ui ' n' , i ncepi nd cu ul t i ma ci f r a. La f i ecar e pas ' i ' ver i f i ca daca se poat e f or ma un numar magi c di n ' n' ci f r e avi nd pr i mel e i ci f r e f i xat e } for i : = num[ 0] downto 1 do begin ci f r a : = num[ i ] ; for u : = ci f r a+1 to 9 do begin num[ i ] : =u; r es : = sol ve( num, i ) ; if ( r es>=0) then break; end; if( r es>=0) then break; num[ i ] : = ci f r a; end; end; Assi gn( f I esi r e, ' magi c. out ' ) ; Rewr i t e( f I esi r e) ; Wr i t el n( f I esi r e, r es) ; Cl ose( f I esi r e) ; end.
40
Ziua 2. Clasele 79
Denumirea problemei Numrul de puncte alocat problemei Denumirea fiierului surs Denumirea fiierului de intrare Denumirea fiierului de ieire Ppui 100 PAPUSI . PAS PAPUSI . C PAPUSI . CPP PAPUSI . I N PAPUSI . OUT Grupuri 100 GRUP. PAS GRUP. C GRUP. CPP GRUP. I N GRUP. OUT Chimie 100 CHI MI E. PAS CHI MI E. C CHI MI E. CPP CHI MI E. I N CHI MI E. OUT Total 300 - - - 41 Ppui
Cristina este un colecionar mptimit de ppui matrioka. De- a lungul anilor ea a adunat o colecie impresionant, avnd mii de astfel de ppui. Probabil, ai mai auzit de ppuile ruseti din lemn, de diferite dimensiuni, care se pot imbrica una n alta. Cea mai mare ppu conine una un pic mai mica, care la rndul ei conine una i mai mic, i tot aa mai departe. O mulime de astfel de ppui, ascunse una n alta astfel nct una singur cea mai mare este vizibil, formeaz un set. n desenul alturat este prezentat un set desfcut de ppui matrioka. Fiind o fire generoas, Cristina mai druia din cnd n cnd unele ppui prietenilor, seturile respective devenind astfel incomplete. ntr-o zi Cristina a desfcut toate seturile incomplete pe care le avea i a amestecat ppuile respective. Cnd a ncercat s refac seturile, ea s-a gndit c ar fi mai bine s fac o alt grupare a ppuilor, astfel ca n final s aib ct mai puine seturi. S notm ppuile Cristinei cu M 1 , M 2 , , M i , M n . Fiecare ppu M i este caracterizat de diametrul d i i nlimea l i . O ppu M i poate fi inclus ntr-o ppu M j dac d i < d j i l i < l j . Similar, pentru ca ppuile M a1 , M a2 , , M ak s formeze un set, este necesar ca d a1 < d a2 < <d ak i l a1 < l a2 < < l ak . Evident, o ppu poate aparine doar unui singur set. Elaborai un program care calculeaz numrul minim de seturi m n care pot fi grupate toate ppuile din colecia Cristinei. Date de intrare. Fiierul text PAPUSI . I N conine pe prima linie un singur numr ntreg numrul de ppui n. Urmtoarele n linii ale fiierului de intrare conin cte dou numere ntregi d i , l i , separate prin spaiu. Numerele d i , l i din linia 1 + i a fiierului de intrare descriu dimensiunile ppuii M i . 42 Date de ieire. Fiierul text PAPUSI . OUT va conine pe o singur linie un numr ntreg numrul minim de seturi m. Exemplu. PAPUSI . I N PAPUSI . OUT 5 3 3 3 4 1 1 2 1 5 5 2
Restricii. 000 1 1 n ; 1000 , 1 i i l d . Timpul de execuie nu va depi 0,5 secunde. Programul va folosi cel mult 32 Megaoctei de memorie operativ. Fiierul surs va avea denumirea PAPUSI . PAS, PAPUSI . C sau PAPUSI . CPP.
Rezolvare
1. Ordonm ppuile cresctor dup una din dimensiuni, de exemplu, d. Ordinea dup cealalt dimensiune nu este important. Iniial toate ppuile sunt considerate desfcute, iar mulimea de ppui cercetate i grupate este vida. Ppuile sortate le vom nota cu M 1 , M 2 , M i , , M n . 2. La fiecare pas i ncercm s includem ppua M i n colecia de ppui cercetate, n mod optim. Presupunem c ppuile cercetate pna la pasul i-1 snt M 1 , , M i-1 . Aceste ppui snt deja grupate in mi-1 grupuri. Sa notam aceste grupuri cu G i-1,1 , G i-1,2 , G i-1,m(i-1) . Din fiecare grup G i-1,j ne intereseaz doar ppua cea mai mare, s-o notam M g(i-1,j) , si dimensiunile sale d g(i-1,j) , l g(i-1,j) . Vom cuta grupul G i,k , cu proprietatea ca l g(i-1,k) = max [l g(i-1,j) , astfel nct l g(i-1,j) < l i , d (g-1,j) < d i , j = 1, ..., m i-1 ]. Daca G i,k exista, vom include n acest grup papua curenta M i . n acest caz m i = m i-1 . n caz contrar, ppua M i va iniia formarea unui grup nou, iar m i = m i-1 +1.
3. Dup cei n pai, m = m n , numrul minim de grupuri cerut. 43
Program Papusi ; type Papusa = record x, y : i nt eger ; end; var nDr , nSet : i nt eger ; dr Vect , set Vect : array[ 1. . 1000] of Papusa; I nt r ar e, I esi r e : t ext ;
procedure Ci t est e; var i : i nt eger ; begin assi gn( I nt r ar e, ' PAPUSI . I N' ) ; r eset ( I nt r ar e) ; r eadl n( I nt r ar e, nDr ) ; for i : =1 to nDr do r eadl n( I nt r ar e, dr Vect [ i ] . x, dr Vect [ i ] . y) ; cl ose( I nt r ar e) ; end; { Ci t est e }
procedure Sor t ; { Sor t ampapusel e cr escat or dupa x pr i n met oda bul el or } var i : i nt eger ; sunt Per mut ar i : bool ean; aux : Papusa; begin sunt Per mut ar i : = t r ue; while sunt Per mut ar i do begin sunt Per mut ar i : = f al se; for i : = 1 to nDr - 1 do if dr Vect [ i ] . x > dr vect [ i +1] . x then begin aux : = dr Vect [ i ] ; dr Vect [ i ] : = dr Vect [ i +1] ; dr Vect [ i +1] : = aux; sunt Per mut ar i : = t r ue; end; end; end; { Sor t }
procedure Gasest eSet ur i ; var i , j , posOpt i ma : i nt eger ; begin 44 nSet : = 0; for i : = 1 to nDr do begin { caut amset ul cy y maxi mce ar i ncapea i n papusa i } posOpt i ma : = - 1; for j : = 1 to nSet do if ( set Vect [ j ] . x < dr Vect [ i ] . x) and ( set Vect [ j ] . y < dr Vect [ i ] . y) { set ul set Vect [ j ] i ncape i n cur ent } then if ( posOpt i ma = - 1) or ( set Vect [ posOpt i ma] . y < set Vect [ j ] . y) { amgasi t un set mai bun de i ncl us i n papusa i } then posOpt i ma : = j ; if posOpt i ma <> - 1 { i ncl udemset ul posOpt i ma i n papusa i } then set Vect [ posOpt i ma] : = dr Vect [ i ] else begin { papusa cur ent a devi ne un i ni t i at or de set nou } nSet : = nSet +1; set Vect [ nSet ] : = dr Vect [ i ] ; end; end; end;
procedure Scr i e; begin assi gn( I esi r e, ' PAPUSI . OUT' ) ; r ewr i t e( I esi r e) ; wr i t el n( I esi r e, nSet ) ; cl ose( I esi r e) ; end;
begin Ci t est e; Sor t ; Gasest eSet ur i ; Scr i e; end.
Din analiza textelor procedurilor Sor t i Gasest eSet ur i se observ c complexitatea programului este O(n 2 ). Evident, pentru 000 1 1 n , timpul de execuie va fi cu mult mai mic ca 0,5 secunde.
45 Grupuri
Firma ABC-Soft are m angajai i dispune de o reea performant de calculatoare. n cadrul reelei, fiecare utilizator este identificat printr-un numr ntreg. Serverul reelei gestioneaz un disc rigid, directorul rdcin al cruia are n directoare. Pentru fiecare director exist o list n care snt indicai utilizatorii ce au acces la fiierele din directorul respectiv. n general, un utilizator poate avea acces la unul sai la mai multe directoare. Administratorul reelei dorete s divizeze mulimea de utilizatori n grupuri distincte. Doi utilizatori vor fi inclui n acelai grup doar n cazul n care ambii au acces la aceleai directoare. Elaborai un program care, cunoscnd listele de utilizatori pentru fiecare director de pe discul rigid, calculeaz numrul k de grupuri de utilizatori.
Date de intrare. Fiierul text GRUP. I N conine pe prima linie dou numere n i m. Numrul n reprezint numrul de directoare, iar m numrul de utilizatori. Urmtoarele n linii ale fiierului de intrare conin listele de utilizatori pentru fiecare director, cte o list pe linie. La nceputul liniei 1 + i este scris numrul ntreg m i
numrul de utilizatori care au acces la fiierele din directorul i. n continuare, pe aceast linie snt scrise m i numere, reprezentnd numerele de identificare ale utilizatorilor respectivi. Toate numerele snt separate prin spaiu.
Date de ieire. Fiierul text GRUP. OUT va conine pe o singur linie un numr ntreg numrul k de grupuri de utilizatori. 46 Exemplu. GRUP. I N GRUP. OUT 6 5 2 1 4 3 4 1 5 5 4 5 1 3 2 1 5 3 2 5 3 2 3 2 3
Restricii. 00 1 1 n ; 00 1 1 m ; 00 1 1 i m , n i ..., , 3 , 2 , 1 = . Numerele de identificare ale utilizatorilor vor fi cuprinse ntre 1 i m. Programul va folosi cel mult 32 Megaoctei de memorie operativ. Timpul de execuie nu va depi 0,5 secunde. Fiierul surs va avea denumirea GRUP. PAS, GRUP. C sau GRUP. CPP.
Rezolvare
Introducem n studiu tabloul T, care are m rnduri i n coloane. Elementul T[ i , j ] al acestui tablou va avea valoarea t r ue dac utilizatorul i are acces la directorul j i f al se n caz contrar. Evident, elementele tabloului respectiv pot fi calculate n procesul citirii datelor din fiierul de intrare. n continuare, pentru a forma un grup, comparm element cu element rndurile tabloului T, selectndu-le pe cele care coincid. Utilizatorii care au format deja un grup, snt exclui din calcule prin nscrierea valorii t r ue n elementele tabloului auxiliar Excl us.
Program Gr upur i ; { Cl asel e 07 - 09 } const nmax=100; mmax=100; var T: array [ 1. . mmax, 1. . nmax] of bool ean; Excl us : array [ 1. . mmax] of bool ean; n, m, k : i nt eger ;
procedure Ci t est e; { I ni t al i zeaza t abl our i l e T si Excl us } 47 { Ci t est e dat el e de i nt r ar e } var i , j , mi , p : i nt eger ; I nt r ar e : t ext ; begin assi gn( I nt r ar e, 'GRUP.IN') ; r eset ( I nt r ar e) ; r eadl n( I nt r ar e, n, m) ; for i : =1 to mdo for j : = 1 to n do T[ i , j ] : =f al se; for i : =1 to mdo Excl us[ i ] : =f al se; for i : = 1 to n do begin r ead( I nt r ar e, mi ) ; for j : = 1 to mi do begin r ead( I nt r ar e, p) ; T[ p, i ] : =t r ue; end; { f or j } end; { f or i } cl ose( I nt r ar e) ; end; { Ci t est e }
function Coi nci d( i , j : i nt eger ) : bool ean; { Ret ur neaza t r ue daca r i ndur i l e i , j al e t abl oul ui T coi nci d } var p : i nt eger ; q : bool ean; begin; q: = t r ue; for p: =1 to n do q: =q and ( T[ i , p] =T[ j , p] ) ; Coi nci d: =q; end; { Coi nci d }
procedure Numar aGr upur i ; { Cal cul eaza numar ul de gr upur i } var i , j : i nt eger ; begin k: =0; for i : =1 to mdo begin if not Excl us[ i ] then begin 48 k: =k+1; Excl us[ i ] : =t r ue; for j : =i +1 to mdo Excl us[ j ] : =Coi nci d( i , j ) ; end; { t hen } end; { f or } end; { Numar aGr upur i }
procedure Scr i e; var I esi r e : t ext ; begin assi gn( I esi r e, 'GRUP.OUT') ; r ewr i t e( I esi r e) ; wr i t el n( I esi r e, k) ; cl ose( I esi r e) ; end; { Scr i e }
begin Ci t est e; Numar aGr upur i ; Scr i e; end.
Din analiza textului procedurii Numar aGr upur i se observ c ea conine dou cicluri imbricate, n interiorul crora se execut apelul funciei Coi nci d. Aceast funcie, are, la rndul ei, nc un ciclu. Prin urmare, numrul de operaii, cerut de programul Gr upur i este de ordinul n m 2 . Evident, pentru 00 1 1 n i 00 1 1 m , timpul de execuie nu va depi 0,5 secunde.
49 Chimie
Profesorul de chimie a pregtit un test de evaluare a cunotinelor. Fiecare test reprezint o formula n care apar notaiile anumitor elemente chimice. Pentru fiecare element chimic, notaiif cruia apare n formul, elevul trebuie s calculeze numrul respectivi de atomi. n scopuri didactice, formulele chimice se definesc cu ajutorul urmtoarelor formule metalingvistice: <Cifr> ::= 1234567890 <Cifr nenul> ::= 123456789 <Numr> ::= <Cifr nenul>{<Cifr>} <Liter mare> ::= ABCDEFGHI J KLMNOP QRSTUVWXYZ <Liter mic> ::= abcdef ghi j kl mno pqr st uvwxyz <Atom> ::= <Liter mare>[<Liter mic>] <Molecul> ::= <Atom>[<Numr>]{<Atom>[<Numr>]} <Formul> ::= [<Numr>]<Molecul>{+[<Numr>]<Molecul>}
Exemple: C2H5OH+3O2+3Si O2 3Si O2+2CO+3H2O+O2 99C2H5OH+3CuO2 n formulele chimice unitatea gramaticala <Numr> are semnificaia de multiplicator, indicnd numrul de atomi sau de molecule, iar semnul + indic o reacie chimic. Amintim c n cazul reaciilor chimice atomii se pot recombina n molecule noi, ns ei nu apar i nici nu dispar. Evident, cunoscnd formula chimic, pentru fiecare element putem calcula numrul respectiv de atomi. De exemplu, n formula C2H5OH+3O2+3Si O2 sunt 2 atomi de C; 6 atomi de H; 13 atomi de O; 3 atomi de Si . 50 Elaborai un program care calculeaz numrul de atomi pentru fiecare din elementele chimice ce apar ntr-o formul. Date de intrare. Fiierul text CHI MI E. I N conine pe o singur linie un ir de caractere ce reprezint o formul chimic. Date de ieire. Fiierul text CHI MI E. OUT va conine pe prima linie un numr ntreg k numrul de elemente chimice ce apar n formul. Fiecare din urmtoarele k linii va conine notaia elementului chimic i numrul respectiv de atomi, separi prin spaiu. Ordinea apariiei notaiilor elementelor chimice este arbitrar.
Exemplu. CHI MI E. I N CHI MI E. OUT C2H5OH+3O2+3Si O2 4 C 2 H 6 O 13 Si 3
Restricii. irul din fiierul de intrare va avea cel mult 250 caractere. O formul va avea cel mult 10000 atomi. Timpul de execuie nu va depi 1 secund. Programul va folosi cel mult 32 Megaoctei de memorie operativ. Fiierul surs va avea denumirea CHI MI E. PAS, CHI MI E. C sau CHI MI E. CPP.
Rezolvare
Pentru a calcula numrul de atomi, parcurgem formula chimic de la dreapta la stnga. Vom numi numrul aflat n partea dreapt a unui atom multiplicator local, iar cel din partea stng a unei molecule multiplicator global. Menionm, c multiplicatorii globali se identific foarte uor, ntruct n faa lor se afl semnul +, cu excepia celui de la nceputul formulei. Iniial, ambii multiplicatori au valoarea 1. n procesul parcurgerii, memorm multiplicatorul local, care ne indic numrul de atomi din faa lui. Daca molecula are n fa un multiplicator global, nmulim numrul de atomi din molecula respectiv cu valoarea acestuia. 51
Program Chi mi e; { Cl asel e 07- 09 } const Li t er e_mi ci : set of char = [ ' a' . . ' z' ] ; const Li t er e_mar i : set of char = [ ' A' . . ' Z' ] ; const ci f r e : set of char = [ ' 0' . . ' 9' ] ; var f I nt r ar e, f I esi r e : Text ; var s : st r i ng; n : I nt eger ; { r epr ezi nt a l i psa l i t er i mi ci i n numel e at omul ui } const ni mi c = succ( ' z' ) ; { vect or pent r u a past r a numar ul de apar i t i i a at omi l or } var C : Array[ ' A' . . ' Z' , ' a' . . ni mi c] of I nt eger ;
procedure numar a_i n_mol ecul a( i , j : I nt eger ; m: I nt eger ) ; { numar a at omi i i nt r - o mol ecul a, si i i i nmul t est e cu mul t i pl i cat or ul m} { mr epr ezi nt a mul t i pl i cat or ul gl obal } var k : I nt eger ; numar , exponent : I nt eger ; begin k: =j ; { i ncepemde l a capat spr e i nceput }; while ( k>=i ) do begin numar : = 1; { r epr ezi nt a mul t i pl i cat or ul di n f at a el ement ul ui } { Ci t est e mul t i pl i cat or ul } if s[ k] in ci f r e then begin numar : =0; exponent : = 1; while s[ k] i n ci f r e do begin numar : = numar + ( or d( s[ k] ) - or d( ' 0' ) ) *exponent ; exponent : = exponent * 10; dec( k) ; end; end; if ( s[ k] in l i t er e_mi ci ) then begin {cr est e cu mul t i pl i cat or _gl obal * mul t i pl i cat or _l ocal } i nc( C[ s[ k- 1] , s[ k] ] , m* numar ) ; Dec( k, 2) ; 52 continue; end; if ( s[ k] in l i t er e_mar i ) then begin {cr est e cu mul t i pl i cat or _gl obal * mul t i pl i cat or _l ocal } i nc( C[ s[ k] , ni mi c] , m* numar ) ; Dec( k) ; continue; end; end; end;
procedure numar a_i n_mol ecul a_cu_mul t i pl i cat or ( i , j : I nt eger ) ; { numar a at omi i i nt r - o mol ecul a cu mul t i pl i cat or i n f at a } var numar : I nt eger ; begin numar : =0; while ( s[ i ] in ci f r e) do begin numar : = ( numar * 10) + or d( s[ i ] ) - or d( ' 0' ) ; i nc( i ) ; end; if numar =0 then numar : = 1; numar a_i n_mol ecul a( i , j , numar ) ; end;
procedure numar a_i n_f or mul a( i , j : I nt eger ) ; { Numar a at omi i i nt r o f or mul a i nt r eaga } var u, k : I nt eger ; begin u : = 1; for k: = 1 to n do begin if s[ k] = ' +' then begin numar a_i n_mol ecul a_cu_mul t i pl i cat or ( u, k- 1) ; u : = k+1; end; end; numar a_i n_mol ecul a_cu_mul t i pl i cat or ( u, n) ; end;
var u, v: char ; 53 count : I nt eger ; begin { I ni t i al i zar e } Fi l l Char ( C, si zeof ( C) , 0) ; { Ci t i r e Dat e } Assi gn( f I nt r ar e, ' chi mi e. i n' ) ; Reset ( f I nt r ar e) ; Readl n( f I nt r ar e, s) ; Cl ose( f I nt r ar e) ; { Pr ocesar e } n : = l engt h( s) ; numar a_i n_f or mul a( 1, n) ; { Scr i er e dat e } Assi gn( f I esi r e, ' chi mi e. out ' ) ; Rewr i t e( f I esi r e) ; { Det er mi na Numar ul de el ement e chi mi ce di st i nct e } count : = 0; for u: =' A' to ' Z' do begin for v: =' a' to ni mi c do begin if C[ u, v] >0 then I nc( count ) ; end; end; Wr i t el n( f I esi r e, count ) ; { scr i e numar ul de el ement e chi mi ce } for u: =' A' t o ' Z' do begin for v: =' a' to ni mi c do begin if C[ u, v] >0 then begin wr i t e( f I esi r e, u) ; if v<>ni mi c then write( f I esi r e, v) ; wr i t el n( f I esi r e, ' ' , C[ u, v] ) ; end; end; end; Cl ose( f I esi r e) ; end.
54 Ziua 2. Clasele 1012
Denumirea problemei Numrul de puncte alocat problemei Denumirea fiierului surs Denumirea fiierului de intrare Denumirea fiierului de ieire Ppui 100 PAPUSI . PAS PAPUSI . C PAPUSI . CPP PAPUSI . I N PAPUSI . OUT Grupuri 100 GRUP. PAS GRUP. C GRUP. CPP GRUP. I N GRUP. OUT Chimie 100 CHI MI E. PAS CHI MI E. C CHI MI E. CPP CHI MI E. I N CHI MI E. OUT Total 300 - - - 55 Ppui
Cristina este un colecionar mptimit de ppui matrioka. De- a lungul anilor ea a adunat o colecie impresionant, avnd mii de astfel de ppui. Probabil, ai mai auzit de ppuile ruseti din lemn, de diferite dimensiuni, care se pot imbrica una n alta. Cea mai mare ppu conine una un pic mai mica, care la rndul ei conine una i mai mic, i tot aa mai departe. O mulime de astfel de ppui, ascunse una n alta astfel nct una singur cea mai mare este vizibil, formeaz un set. n desenul alturat este prezentat un set desfcut de ppui matrioka. Fiind o fire generoas, Cristina mai druia din cnd n cnd unele ppui prietenilor, seturile respective devenind astfel incomplete. ntr-o zi Cristina a desfcut toate seturile incomplete pe care le avea i a amestecat ppuile respective. Cnd a ncercat s refac seturile, ea s-a gndit c ar fi mai bine s fac o alt grupare a ppuilor, astfel ca n final s aib ct mai puine seturi. S notm ppuile Cristinei cu M 1 , M 2 , , M i , M n . Fiecare ppu M i este caracterizat de diametrul d i i nlimea l i . O ppu M i poate fi inclus ntr-o ppu M j dac d i < d j i l i < l j . Similar, pentru ca ppuile M a1 , M a2 , , M ak s formeze un set, este necesar ca d a1 < d a2 < <d ak i l a1 < l a2 < < l ak . Evident, o ppu poate aparine doar unui singur set. Elaborai un program care calculeaz numrul minim de seturi m n care pot fi grupate toate ppuile din colecia Cristinei. Date de intrare. Fiierul text PAPUSI . I N conine pe prima linie un singur numr ntreg numrul de ppui n. Urmtoarele n linii ale fiierului de intrare conin cte dou numere ntregi d i , l i , separate prin spaiu. Numerele d i , l i din linia 1 + i a fiierului de intrare descriu dimensiunile ppuii M i . 56 Date de ieire. Fiierul text PAPUSI . OUT va conine pe o singur linie un numr ntreg numrul minim de seturi m. Exemplu. PAPUSI . I N PAPUSI . OUT 5 3 3 3 4 1 1 2 1 5 5 2
Restricii. 000 1 1 n ; 1000 , 1 i i l d . Timpul de execuie nu va depi 0,5 secunde. Programul va folosi cel mult 32 Megaoctei de memorie operativ. Fiierul surs va avea denumirea PAPUSI . PAS, PAPUSI . C sau PAPUSI . CPP.
Rezolvare
1. Ordonm ppuile cresctor dup una din dimensiuni, de exemplu, d. Ordinea dup cealalt dimensiune nu este important. Iniial toate ppuile sunt considerate desfcute, iar mulimea de ppui cercetate i grupate este vida. Ppuile sortate le vom nota cu M 1 , M 2 , M i , , M n . 2. La fiecare pas i ncercm s includem ppua M i n colecia de ppui cercetate, n mod optim. Presupunem c ppuile cercetate pna la pasul i-1 snt M 1 , , M i-1 . Aceste ppui snt deja grupate in mi-1 grupuri. Sa notam aceste grupuri cu G i-1,1 , G i-1,2 , G i-1,m(i-1) . Din fiecare grup G i-1,j ne intereseaz doar ppua cea mai mare, s-o notam M g(i-1,j) , si dimensiunile sale d g(i-1,j) , l g(i-1,j) . Vom cuta grupul G i,k , cu proprietatea ca l g(i-1,k) = max [l g(i-1,j) , astfel nct l g(i-1,j) < l i , d (g-1,j) < d i , j = 1, ..., m i-1 ]. Daca G i,k exista, vom include n acest grup papua curenta M i . n acest caz m i = m i-1 . n caz contrar, ppua M i va iniia formarea unui grup nou, iar m i = m i-1 +1.
3. Dup cei n pai, m = m n , numrul minim de grupuri cerut. 57
Program Papusi ; type Papusa = record x, y : i nt eger ; end; var nDr , nSet : i nt eger ; dr Vect , set Vect : array[ 1. . 1000] of Papusa; I nt r ar e, I esi r e : t ext ;
procedure Ci t est e; var i : i nt eger ; begin assi gn( I nt r ar e, ' PAPUSI . I N' ) ; r eset ( I nt r ar e) ; r eadl n( I nt r ar e, nDr ) ; for i : =1 to nDr do r eadl n( I nt r ar e, dr Vect [ i ] . x, dr Vect [ i ] . y) ; cl ose( I nt r ar e) ; end; { Ci t est e }
procedure Sor t ; { Sor t ampapusel e cr escat or dupa x pr i n met oda bul el or } var i : i nt eger ; sunt Per mut ar i : bool ean; aux : Papusa; begin sunt Per mut ar i : = t r ue; while sunt Per mut ar i do begin sunt Per mut ar i : = f al se; for i : = 1 to nDr - 1 do if dr Vect [ i ] . x > dr vect [ i +1] . x then begin aux : = dr Vect [ i ] ; dr Vect [ i ] : = dr Vect [ i +1] ; dr Vect [ i +1] : = aux; sunt Per mut ar i : = t r ue; end; end; end; { Sor t }
procedure Gasest eSet ur i ; var i , j , posOpt i ma : i nt eger ; begin nSet : = 0; 58 for i : = 1 to nDr do begin { caut amset ul cy y maxi mce ar i ncapea i n papusa i } posOpt i ma : = - 1; for j : = 1 to nSet do if ( set Vect [ j ] . x < dr Vect [ i ] . x) and ( set Vect [ j ] . y < dr Vect [ i ] . y) { set ul set Vect [ j ] i ncape i n cur ent } then if ( posOpt i ma = - 1) or ( set Vect [ posOpt i ma] . y < set Vect [ j ] . y) { amgasi t un set mai bun de i ncl us i n papusa i } then posOpt i ma : = j ; if posOpt i ma <> - 1 { i ncl udemset ul posOpt i ma i n papusa i } then set Vect [ posOpt i ma] : = dr Vect [ i ] else begin { papusa cur ent a devi ne un i ni t i at or de set nou } nSet : = nSet +1; set Vect [ nSet ] : = dr Vect [ i ] ; end; end; end;
procedure Scr i e; begin assi gn( I esi r e, ' PAPUSI . OUT' ) ; r ewr i t e( I esi r e) ; wr i t el n( I esi r e, nSet ) ; cl ose( I esi r e) ; end;
begin Ci t est e; Sor t ; Gasest eSet ur i ; Scr i e; end.
Din analiza textelor procedurilor Sor t i Gasest eSet ur i se observ c complexitatea programului este O(n 2 ). Evident, pentru 000 1 1 n , timpul de execuie va fi cu mult mai mic ca 0,5 secunde.
59 Grupuri
Firma ABC-Soft are m angajai i dispune de o reea performant de calculatoare. n cadrul reelei, fiecare utilizator este identificat printr-un numr ntreg, format din ase cifre zecimale. Serverul reelei gestioneaz un disc rigid, directorul rdcin al cruia are n directoare. Pentru fiecare director exist o list n care snt indicai utilizatorii ce au acces la fiierele din directorul respectiv. n general, fiecare utilizator poate avea acces la unul sau la mai multe directoare. Administratorul reelei dorete s divizeze mulimea de utilizatori n grupuri distincte. Doi utilizatori vor fi inclui n acelai grup doar n cazul n care ambii au acces la aceleai directoare. Elaborai un program care, cunoscnd listele de utilizatori pentru fiecare director de pe discul rigid, calculeaz numrul k de grupuri de utilizatori. Date de intrare. Fiierul text GRUP. I N conine pe prima linie un singur numr ntreg numrul de directoare n. Urmtoarele n linii ale fiierului de intrare conin listele de utilizatori, cte o list pe linie. La nceputul liniei 1 + i este scris numrul ntreg m i numrul de utilizatori care au acces la fiierele din directorul i. n continuare, pe aceast linie snt scrise m i numere, reprezentnd numerele de identificare ale utilizatorilor respectivi. Toate numerele snt separate prin spaiu. Date de ieire. Fiierul text GRUP. OUT va conine pe o singur linie un numr ntreg numrul k de grupuri de utilizatori. 60 Exemplu. GRUP. I N GRUP. OUT 5 2 010000 020000 3 020000 010000 999999 3 020000 999999 010000 1 999999 2 030000 999999 3
Restricii. 00 1 1 n ; 000 0 1 1 m ; 000 10 1 i m , n i ..., , 3 , 2 , 1 = . Numerele de identificare vor fi cuprinse ntre 1 i 999999, fiind completate, n caz de necesitate, cu zerouri nesemnificative pn la ase cifre. Timpul de execuie nu va depi 3 secunde. Programul va folosi cel mult 32 Megaoctei de memorie operativ. Fiierul surs va avea denumirea GRUP. PAS, GRUP. C sau GRUP. CPP.
Rezolvare
Pentru nceput, vom ncerca s utilizm algoritmul elaborat pentru problema cu acelai nume, propus elevilor din clasele de gimnaziu. Amintim, c complexitatea algoritmului respectiv este O( n m 2 ). La prima vedere, conform restriciilor din enunul problemei propuse elevilor din clasele de liceu, numrul de operaii cerut de un acest algoritm ar fi de ordinul 10 2 4 4 10 10 10 10 = . ns, la o analiz mai atent a programului PASCAL, elaborat anterior (clasele 79), se observ, c pentru a putea prelucra i identificatorii formai din ase cifre, tablourile T i Excl us trebuie redefinite dup cum urmeaz:
var T: array [ 1. . 999999, 1. . 100] of bool ean; Excl us : array [ 1. . 999999] of bool ean;
Evident, necesarul de memorie va fi de ordinul a 100 Megaoctei, fapt ce contravine restriciilor din enunul problemei. Mai mult ca att, numrul de operaii cerut de un astfel de algoritm va fi de 61 ordinul 14 2 6 6 10 10 10 10 = , fapt care agraveaz i mai mult situaia. Creterea de 000 10 de ori a timpului cerut de algoritm se explic prin faptul c cel puin 99% din rndurile tabloului T (conform restriciilor problemei n reea pot fi cel mult 10000 de utilizatori, pe cnd tabloul T are 999999 de rnduri) vor fi umplute doar cu valori de f al se. Evident, prelucrarea unor astfel de rnduri reprezint un consum inutil de timp. Pentru a economisi memoria i a reduce timpul de calcul, vom utiliza structuri dinamice de date, alocnd memorie doar pentru acele rnduri ale tabloului T, crora le corespund utilizatori de reea. n programul de mai jos se utilizeaz urmtoarele structuri de date: tabloul usUi d[ 1. . 999999] acest tablou conine cte un indicator de adres pentru fiecare potenial utilizator; utilizatorii inexisteni au n componentele respective valoarea ni l ; tabloul us[ 1. . 10000] fiecare component a acestui tablou reprezint un potenial utilizator i conine un indicator la lista de dosare ale utilizatorului respectiv (un rnd al tabloului T); tipul de date ar r ay[ 1. . 100] of bool ean acest tip reprezint rndurile tabloului T, care vor fi create dinamic cu ajutorul procedurii new. Utilizarea acestor structuri de date ne permite s ne ncadrm n spaiul de memorie de circa 10 Megaoctei i s reducem complexitatea problemei de la 10 14 pn la 10 10 . ns, chiar i prin utilizarea structurilor dinamice de date, timpul cerut de program rmne foarte mare. Pentru a reduce timpul de calcul, vom sorta utilizatorii memorai n tabloul us n aa fel, nct utilizatorii cu aceleai drepturi de acces s fie plasai pe poziii consecutive. n programul de mai jos sortarea se realizeaz cu ajutorul funciei Compar a. n cazul utilizrii unui algoritm simplu de sortare, de exemplu, prin metoda bulelor, complexitatea rezultat ar fi tot de O( n m 2 ). ns, dac folosim un algoritm de sortare mai sofisticat, de tipul O( ) log(m m ), timpul cerut de program va fi de ordinul 10 4 10 2 10 = 10 7 , valoare care se ncadreaz uor n timpul de execuie de 3 62 secunde. n programul de mai jos este implementat algoritmul de sortare prin interclasare (merge sort).
Program Gr up; / / cl asel e 10- 12
const nmax = 100; mmax = 10000; maxUi d = 999999; tzpe User Type = array[ 1. . nmax] of bool ean; User Pt r = ^User Type; User Ar r ay = array[ 1. . mmax] of User Pt r ;
var n, m, nr Gr up : i nt eger ; { vect or de user i cu i ndi cel e semni f i cand user i d- ul } usUi d : array[ 1. . maxUi d] of User Pt r ; / / vect or de user i compact at us : User Ar r ay; i nt r ar e, i esi r e : t ext ;
procedure AdaugaDi r LaUser ( ui d : l ongi nt ; di d : i nt eger ) ; {i nr egi st r eaza dr ept ul ut i l i zat or ul ui ui d de a accesa di r ect or ul di d} var i : i nt eger ; begin if usUi d[ ui d] = nil then begin new( usUi d[ ui d] ) ; for i : = 1 to n do usUi d[ ui d] ^[ i ] : = f al se; end; usUi d[ ui d] ^[ di d] : = t r ue; end;
procedure Ci t i r e; { ci t est e f i si er ul de i nt r ar e si const r ui est e vect or ul usUi d } var i , j , mi : i nt eger ; ui d : l ongi nt ; begin assi gn( i nt r ar e, ' GRUP. I N' ) ; r eset ( i nt r ar e) ; r eadl n( i nt r ar e, n) ; for i : =1 to n do begin 63 r ead( i nt r ar e, mi ) ; for j : =1 to mi do begin r ead( i nt r ar e, ui d) ; AdaugaDi r LaUser ( ui d, i ) ; end; end; close( I nt r ar e) ; end;
procedure Compact eazaUser i ; / / const r ui est e vect or ul user i pe baza usUi d var i : l ongi nt ; begin m: =0; for i : =1 t o maxUid do if usUi d[ i ] <> nil then begin m: = m+ 1; us[ m] : = usUi d[ i ] ; end; end;
function Compar a( u1, u2: User Pt r ) : i nt eger ; { r et ur neaza - 1 daca u1 < u2, 0 daca =, 1 daca u1 > u2 } var i : i nt eger ; begin for i : = 1 to n do if u1^[ i ] <> u2^[ i ] then begin if u1^[ i ] = f al se then Compar a : = - 1 else Compar a : = 1; exi t ; end; Compar a : = 0; end;
procedure Mer geSor t User i ; / / sor t eaza user i i dupa l i st a de di r ect oar e var usSur sa, usDest , usAux : ^User Ar r ay; l Sor t , / / l ungi mea unei secvent e sor t at e, i ni t i al 1 64 sor t Pos, / / pozi t i a pr i mul ui el ement nepr ocesat i n i t er at i a cur ent a seq1Cur , seq2Cur , / / pozi t i i l e cur ent e i n secvent el e sor t at e l a pasul ant er i or , / / i nca necer cet at e seq1End, seq2End, / / pozi t i a de dupa ul t i mul el ement si n secvent a i : i nt eger ; begin / / poi nt er ul uvs pr i mest e adr esa vect or ul ui user i usSur sa : = @us; new( usDest ) ; l Sor t : = 1; while l Sor t < mdo begin sor t Pos : = 1; while sor t Pos <= mdo begin seq1Cur : = sor t Pos; seq1End : = sor t Pos + l Sor t ; if ( seq1End > m+ 1) then seq1End : = m+ 1; seq2Cur : = seq1End; seq2End : = seq2Cur + l Sor t ; if ( seq2End > m+ 1) then seq2End : = m+ 1; {sor t ar e pr opr i u- zi sa: } for i : = sor t Pos t o seq2End - 1 do begin if seq1Cur < seq1End then begin if seq2Cur < seq2End then begin {l uamuser ul i , mi ni mul di nt r e user i i cur ent i ai ambel or secvent e} if Compar a( usSur sa^[ seq1Cur ] , usSur sa^[ seq2Cur ] ) < 0 then begin usDest ^[ i ] : = usSur sa^[ seq1Cur ] ; seq1Cur : = seq1Cur + 1; end else begin usDest ^[ i ] : = usSur sa^[ seq2Cur ] ; seq2Cur : = seq2Cur + 1; end end 65 else begin {put eml ua user ul i doar di n pr i ma secvent a} usDest ^[ i ] : = usSur sa^[ seq1Cur ] ; seq1Cur : = seq1Cur + 1; end; end else begin {put eml ua user ul i doar di n a 2- a secvent a} usDest ^[ i ] : = usSur sa^[ seq2Cur ] ; seq2Cur : = seq2Cur + 1; end; end; sor t Pos : = sor t Pos + l Sor t * 2; end; {O i t er at i e de i mbi nar e s- a f i nal i zat . I nver samvect or i i . } usAux : = usSur sa; usSur sa : = usDest ; usDest : = usAux; l Sor t : = l Sor t * 2; end; {sor t ar e f i nal i zat a. copi emt oat e el ement el e di n uvs i napoi i n user i } us : = usSur sa^; end;
procedure Cal cul Nr Gr up; var i : i nt eger ; begin nr Gr up : = 1; for i : = 2 to mdo if Compar a( us[ i - 1] , us[ i ] ) <> 0 then nr Gr up : = nr Gr up + 1; end; procedure Scr i eNr Gr oup; begin assi gn( i esi r e, ' GRUP. OUT' ) ; r ewr i t e( i esi r e) ; wr i t el n( i esi r e, nr Gr up) ; cl ose( i esi r e) ; end; begin Ci t i r e; Compact eazaUser i ; Mer geSor t User i ; Cal cul Nr Gr up; Scr i eNr Gr oup; end. 66 Chimie
Profesorul de chimie a pregtit un test de evaluare a cunotinelor. Fiecare test reprezint o formula n care apar notaiile anumitor elemente chimice. Pentru fiecare element chimic, notaia cruia apare n formul, elevul trebuie s calculeze numrul respectivi de atomi. n scopuri didactice, formulele chimice se definesc cu ajutorul urmtoarelor formule metalingvistice: <Cifr> ::= 1234567890 <Cifr nenul> ::= 123456789 <Numr> ::= <Cifr nenul>{<Cifr>} <Liter mare> ::= ABCDEFGHI J KLMNOP QRSTUVWXYZ <Liter mic> ::= abcdef ghi j kl mnop qr st uvwxyz <Atom> ::= <Liter mare>[<Liter mic>] <Element Compus> ::= <Atom> | ( <Compus>) <Compus> ::= <Element Compus>[<Numr>] {<Element Compus>[<Numr>]} <Molecul> ::= <Compus> <Formul> ::= [<Numr>]<Molecul>{+[<Numr>]<Molecul>}
n formulele chimice unitatea gramaticala <Numr> are semnificaia de multiplicator, indicnd numrul de atomi sau de molecule, iar semnul + indic o reacie chimic. Amintim, c n 67 cazul reaciilor chimice atomii se pot recombina n molecule noi, ns ei nu apar i nici nu dispar. Evident, cunoscnd formula chimic, pentru fiecare element putem calcula numrul respectiv de atomi. De exemplu, n formula C2H5OH+3O2+3Si O2 sunt 2 atomi de C; 6 atomi de H; 13 atomi de O; 3 atomi de Si . Elaborai un program care calculeaz numrul de atomi pentru fiecare din elementele chimice ce apar ntr-o formul. Date de intrare. Fiierul text CHI MI E. I N conine pe o singur linie un ir de caractere ce reprezint o formul chimic. Date de ieire. Fiierul text CHI MI E. OUT va conine pe prima linie un numr ntreg k numrul de elemente chimice ce apar n formul. Fiecare din urmtoarele k linii va conine notaia elementului chimic i numrul respectiv de atomi, separi prin spaiu. Ordinea apariiei notaiilor elementelor chimice este arbitrar. Exemplu. CHI MI E. I N CHI MI E. OUT H2O+Mg3( C( OH) 2) 2+H2SO4 5 H 8 O 9 Mg 3 C 2 S 1
Restricii. irul din fiierul de intrare va avea cel mult 250 caractere. O formul va avea cel mult 10000 atomi. Timpul de execuie nu va depi 1 secund. Programul va folosi cel mult 32 Megaoctei de memorie operativ. Fiierul surs va avea denumirea CHI MI E. PAS, CHI MI E. C sau CHI MI E. CPP.
Rezolvare
Pentru a calcula numrul de atomi, parcurgem formula chimic de la dreapta la stnga. Pentru a simplifica calculele, vom rescrie formula, identificnd moleculele din componena ei. Vom numi numrul aflat n partea dreapt a unui atom multiplicator local, iar cel din partea stng a unei molecule multiplicator global. Menionm, 68 c multiplicatorii globali se identific foarte uor, ntruct n faa lor se afl semnul +, cu excepia celui de la nceputul formulei. Iniial, ambii multiplicatori au valoarea 1. n procesul parcurgerii, memorm multiplicatorul local, care ne indic numrul de atomi din faa lui. Daca molecula are n fa un multiplicator global, nmulim numrul de atomi din molecula respectiv cu valoarea acestuia. Semnificaia parantezelor va fi luat n considerare, memornd multiplicatorii respectivi ntr-o stiv. Prin urmare, algoritmul de calcul va include urmtorii pai: 1. Parcurgnd formula de la dreapta la stnga, citete multiplicatorul local. n lipsa acestuia, prin definiie, lui se atribuie valoarea 1. 2. Daca urmeaz o litera mica, se citete i litera mare din stnga ei. mpreun, ele identific un element chimic. Dac avem doar o litera mare, ea reprezint un element chimic. 3. Adugm la numrul de atomi ai elementului chimic identificat produsul multiplicatorilor global i local. Trecem la pasul 1. 4. Daca urmeaz paranteza ), multiplicatorul global este depus n stiv, iar multiplicatorul global se nmulete cu cel local. Trecem la pasul 1. 5. Daca urmeaz paranteza (, se extrage din stiv multiplicatorul global. Trecem la pasul 1.
Program Chi mi e; { Cl asel e 10- 12 } const Li t er e_mi ci : set of char = [ ' a' . . ' z' ] ; const Li t er e_mar i : set of char = [ ' A' . . ' Z' ] ; const ci f r e : set of char = [ ' 0' . . ' 9' ] ; var f I nt r ar e, f I esi r e : Text ; var s : st r i ng; n : I nt eger ; { r epr ezi nt a l i psa l i t er i mi ci i n numel e at omul ui } const ni mi c = succ( ' z' ) ; { vect or pent r u a past r a numar ul de apar i t i i a at omi l or } var C : Array[ ' A' . . ' Z' , ' a' . . ni mi c] of I nt eger ;
pr ocedur e numar a_i n_mol ecul a( i , j : I nt eger ; m: I nt eger ) ; { numar a at omi i i nt r o mol ecul a, si i i i nmul t est e cu mul t i pl i cat or ul m} { mr epr ezi nt a mul t i pl i cat or ul gl obal } var k : I nt eger ; numar , exponent : I nt eger ; St i va: Array[ 0. . 1000] of I nt eger ; begin St i va[ 0] : = 0; k: =j ; { i ncepemde l a capat spr e i nceput }; 69 while ( k>=i ) do begin numar : = 1; {r epr ezi nt a mul t i pl i cat or ul di n f at a el ement ul ui } { Ci t est e mul t i pl i cat or ul } if s[ k] in ci f r e then begin numar : =0; exponent : = 1; while s[ k] in ci f r e do begin numar : = numar +( or d( s[ k] ) - or d( ' 0' ) ) *exponent ; exponent : = exponent * 10; dec( k) ; end; end; if ( s[ k] in l i t er e_mi ci ) then begin {cr est e cu mul t i pl i cat or _gl obal * mul t i pl i cat or _l ocal } i nc( C[ s[ k- 1] , s[ k] ] , m* numar ) ; Dec( k, 2) ; continue; end; if ( s[ k] in l i t er e_mar i ) then begin {cr est e cu mul t i pl i cat or _gl obal * mul t i pl i cat or _l ocal } i nc( C[ s[ k] , ni mi c] , m* numar ) ; Dec( k) ; continue; end; if s[ k] =' ) ' then begin i nc( St i va[ 0] ) ; St i va[ St i va[ 0] ] : = m; { depune mi n st i va } m: = m*numar ; Dec( k) ; continue; end; if s[ k] =' ( ' then begin m: = St i va[ St i va[ 0] ] ; { Ext r age mdi n st i va } Dec( St i va[ 0] ) ; Dec( k) ; end; end; end;
procedure numar a_i n_mol ecul a_cu_mul t i pl i cat or ( i , j : I nt eger ) ; { numar a at omi i i nt r o mol ecul a cu mul t i pl i cat or i n f at a } var numar : I nt eger ; begin numar : =0; while ( s[ i ] in ci f r e) do begin numar : = ( numar * 10) + or d( s[ i ] ) - or d( ' 0' ) ; i nc( i ) ; end; if numar =0 then numar : = 1; numar a_i n_mol ecul a( i , j , numar ) ; end; 70
procedure numar a_i n_f or mul a( i , j : I nt eger ) ; { Numar a at omi i i nt r - o f or mul a i nt r eaga } var u, k : I nt eger ; begin u : = 1; for k: = 1 to n do begin if s[ k] = ' +' then begin numar a_i n_mol ecul a_cu_mul t i pl i cat or ( u, k- 1) ; u : = k+1; end; end; numar a_i n_mol ecul a_cu_mul t i pl i cat or ( u, n) ; end;
var u, v: char ; count : I nt eger ; begin { I ni t i al i zar e } Fi l l Char ( C, si zeof ( C) , 0) ; { Ci t i r e Dat e } Assi gn( f I nt r ar e, ' chi mi e. i n' ) ; Reset ( f I nt r ar e) ; Readl n( f I nt r ar e, s) ; Cl ose( f I nt r ar e) ; { Pr ocesar e } n : = l engt h( s) ; numar a_i n_f or mul a( 1, n) ; { Scr i er e dat e } Assi gn( f I esi r e, ' chi mi e. out ' ) ; Rewr i t e( f I esi r e) ; { Det er mi na Numar l de el ement e chi mi ce di st i nct e } count : = 0; for u: =' A' to ' Z' do begin for v: =' a' to ni mi c do begin if C[ u, v] >0 then I nc( count ) ; end; end; Wr i t el n( f I esi r e, count ) ; {scr i e numar ul de el ement e chi mi ce} for u: =' A' to ' Z' do begin for v: =' a' to ni mi c do begin if C[ u, v] >0 then begin wr i t e( f I esi r e, u) ; if v<>ni mi c then write( f I esi r e, v) ; wr i t el n( f I esi r e, ' ' , C[ u, v] ) ; end; end; end; Cl ose( f I esi r e) ; end.
71 3. Academia de Studii Economice din Moldova
3.1. Prezentarea general a ASEM Rector ASEM, prof.univ., dr.hab. Grigore Belostecinic
Declarndu-i independena n 1991, Republica Moldova a pornit pe un drum dificil i anevoios al transformrilor politice, economice i sociale. Dezvoltarea economiei naionale devenise condiia primordial pentru fortificarea statalitii i securitii republicii. Printre noile realiti s-a impus i necesitatea deschiderii unei instituii de nvmnt economic superior, care urma s fac fa condiiilor economiei de tranziie. Astfel, la 25 septembrie 1991, prin Hotrrea nr. 537 a Guvernului Republicii Moldova, condus pe atunci de Primul Ministru Valeriu Muravschi, a fost nfiinat Academia de Studii Economice din Moldova (ASEM). n cei 17 ani de activitate, Academia de Studii Economice a evoluat ascendent, devenind principala instituie universitar de profil economic din republic. Acum Academia reprezint un complex universitar modern, n cadrul cruia activeaz: 6 faculti; 27 catedre; Biblioteca tiinific (depozitar al Bncii Mondiale, 5 sli de lectur cu un volum de 500 mii de exemplare de carte); Departamentul de Informatic, inclusiv 28 de sli pentru instruire nzestrate cu calculatoare performante conectate la INTERNET prin dou canale de 4,6 Mbps fiecare i pot electronic pentru fiecare student; Centrul Multimedia cu 70 de calculatoare Pentium 4, destinat lucrului individual al studenilor cu informaiile n form electronic i care este deschis 12 ore pe zi, inclusiv cele de smbt; Centrul de Competen n Informatic cu 21 de calculatoare, videoproiector, tabl inteligent; Centrul Moldo-American pentru Iniiativ Privat; cteva centre postuniversitare de instruire i consultan; serviciile Masterat i Doctorat; un Departament editorial- poligrafic; Incubatorul de Afaceri Studenesc; Baza de odihn Trandafir n or. Vadul lui Vod i alte subdiviziuni. ASEM dispune de 5 blocuri de studii bine amenajate, 7 cmine i un complex sportiv modern, care deseori este gazd a unor competiii sportive republicane i internaionale. n 2006 au fost deschise sli cu calculatoare pentru instruire, conectate la Internet, n toate cminele studeneti. n perioada 1991-2007 la ASEM au fost pregtii peste 23 mii de specialiti de nalt calificare: manageri, marketologi, finansiti, 72 contabili, informaticieni, statisticieni, pedagogi-economiti. Muli absolveni ai Academiei dein funcii importante att n economia naional, ct i n structuri de profil economic de peste hotare. O importan deosebit n activitatea Academiei se acord relaiilor de colaborare cu alte instituii de nvmnt i centre de cercetare din peste 20 de state ale lumii. ASEM este membru al Asociaiei Universitilor Europene (AUE), membru al Asociaiei Universitilor Francofone (AUF), membru al Reelei Universitilor din Bazinul Mrii Negre (BSUN), membru al Reelei Universitilor Iniiativei Central_Europene (CEI University Network) .a. Raporturi reciproc avantajoase au fost stabilite cu Academia de Studii Economice din Bucureti, Academia de Studii Economice G.V.Plehanov din Moscova, Universitatea Alexandru Ioan Cuza din Iai, Institutul de Cercetri Economice al Academiei Romne, Universitatea din Omaha (Nebrasca, SUA), Universitatea Central din Carolina de Nord (Durham, SUA), Aliana Francez i Aliana Universitilor Francofone .a. n colaborare cu centrele universitare din Frana, Spania, Grecia i Germania, ASEM particip la realizarea unor proiecte finanate de Programul TACIS i Banca Mondial. Aceste relaii au constituit un suport considerabil pentru implementarea metodelor performante de predare i promovare a principiilor economiei moderne. n cadrul schimburilor academice cu alte centre universitare, numeroi profesori i studeni au efectuat stagii n strintate. De la nfiinarea ASEM, peste 430 de cadre didactice i cercettori ai Academiei au beneficiat de stagii de scurt i lung durat n circa 20 de ri. La ASEM urmeaz studiile 134 de studeni strini din Ucraina, Rusia, Romnia, Congo, China i Azerbaidjan. Realizrile obinute au fost confirmate oficial i de ctre stat, Academia de Studii Economice din Moldova fiind printre primele instituii de nvmnt acreditate de Guvernul Republicii Moldova. Tinznd s extind aria prestaiilor educaionale, Senatul ASEM creeaz n fiecare an oportuniti inedite de studii. ncepnd cu anul 2002, la ASEM au fost implementate planuri de nvmnt bazate pe sistemul european de credite transferabile de studii. Acest sistem ne apropie i mai mult de practicile internaionale, fiind o condiie indispensabil pentru mobilitatea studenilor, inclusiv n instituiile de peste hotare. Noile planuri includ un numr mai mare de discipline opionale studentul are dreptul s aleag att cursul, ct i profesorul, participnd astfel la definirea propriului traseu educaional. Aceast practic i va mobiliza i pe profesori, or, n cazul n care disciplina 73 predat de ei nu va fi solicitat de ctre studeni, ei vor trebui s schimbe lucrurile sau s prseasc instituia. De asemenea, noile planuri de nvmnt prevd o cretere considerabil a ponderii disciplinelor, care asigur pregtirea de specialitate. O atenie sporit se acord i predrii limbilor moderne, cunoaterea crora fiind, n condiiile economiei de pia, o carte de vizit a oricrui specialist. Un rol aparte revine implementrii, n cadrul ASEM, a stipulrilor documentelor de constituire a Procesului de la Bologna, accentul fiind pus pe calitatea studiilor, dezvoltarea cercetrilor tiinifice i perfecionarea gestiunii universitare. Pentru a face viaa studenilor mai interesant, dar i pentru motivarea iniiativei proprii, la ASEM se organizeaz diverse concursuri, majoritatea crora au devenit deja o tradiie. Printre acestea pot fi nominalizate Cel mai bun student al anului, Miss ASEM viitoarea femeie de afaceri, Mister X ASEM, Perechea potrivit, olimpiadele la informatic i matematic, tradiionalele TVC-uri, Ziua efilor de grup. n 2005 este deschis postul de radio al ASEM, prin intermediul cruia studenii i pot expune opinia despre procesul de nvmnt, viaa n cmine etc. Aceleai posibiliti de a-i mediatiza opiniile i sugestiile privitoare la mbuntirea mediului n care nva studenii notri sunt oferite i prin publicarea articolelor n ziarul Curierul Economic. Deja de cinci ani fiecrui student de la anul I, la nceputul anului de nvmnt, i se nmneaz Ghidul studentului, prin intermediul cruia studenii se familiarizeaz cu: Regulamentul de organizare i desfurare a procesului didactic n instituiile de nvmnt superior; Regulamentul privind organizarea i desfurarea procesului de studii n baza Sistemului European de Credite Academice Transferabile; Planul de nvmnt la specialitate pentru ntreaga perioad a studiilor; Descrierea sistemului de evaluare a cunotinelor studenilor n ASEM; Informaii privind serviciile prestate de Biblioteca ASEM. n vederea implicrii mai active a studenilor n procesul lurii deciziilor, este implementat Sistemul de autoguvernare studeneasc, care presupune: o implicare mai activ a efilor de grup n procesul lurii deciziilor i de organizare a procesului de studii la nivelul grupei academice; activitatea Consiliilor studeneti n cadrul tuturor facultilor; activitatea Senatului Academic Studenesc. n scopul mbuntirii calitii procesului de studii, periodic sunt organizate sondaje de opinie n rndul studenilor, n baza unor 74 chestionare anonime, cu un numr considerabil de ntrebri, nchise sau deschise, efectuate pe un eantion reprezentativ. n baza deciziei Senatului, ncepnd cu semestrul de primvar 2005 n ASEM se implementeaz procedura de evaluare a calitii predrii cursurilor (aprecierea profesorilor de ctre studeni), chestionarul incluznd ntrebri (afirmaii), cu variante de rspuns n forma unor scale de atitudini i ntrebri de control. Toate inovaiile nominalizate se fac n favoarea studenilor. ASEM tinde s creeze condiii optime de instruire, astfel ca studenii s se simt ca acas, iar absolvind Academia s se simt n realitate specialiti de nalt calificare. n prezent la ASEM urmeaz studiile peste 15 mii de studeni, activeaz 29 de doctori habilitai i 201 de doctori n tiine. Nivelul nalt al studiilor i cercetrile tiinifice profunde, tendina spre perfecionarea continu i abilitatea de adaptare la cerinele societii au plasat ASEM pe treapta celor mai atractive instituii de nvmnt superior din republic. mi exprim convingerea c, prin dezvoltarea nvmntului i tiinei economice, prin nsuirea acesteia de ctre toi specialitii i marea majoritate a populaiei, vom putea promova interesul naional: dezvoltarea potenialului economic al rii. Doresc tuturor pretendenilor la studii mai puine emoii i mult noroc la probele de concurs. V promitem condiii bune de studii i v garantm obinerea unor specialiti, care v vor oferi posibiliti reale de angajare n cmpul muncii.
3.2. Facultatea Business i Administrarea Afacerilor
Decan, conf. univ., dr. Sergiu Portrescu
Facultatea de Business i Administrarea Afacerilor este o facultate creat n 2002 n baza a dou faculti cu o bogat istorie i tradiii facultile de Management i Marketing. Activitatea profesional-didactic este asigurat de catedrele: Management; Marketing i logistic; Turism i servicii hoteliere; Merceologie i tehnologie; Cultur fizic i sport. 75 Facultatea de Business i Administrarea Afacerilor are n structura sa urmtoarele specialiti i specializri: Business i administrare. Specialiti pregtii pentru organizarea i conducerea activitii att la nivel de ageni economici, cu diferite forme de proprietate (de stat, privat sau mixt), ct i la nivel naional: manageri capabili s gndeasc strategic i creativ, s adopte decizii raionale, lideri efectivi orientai spre mbuntirea performanelor organizaiei, spre calitate i perfecionare continu. Studiile sunt organizate n limbile romn i rus; cu frecven la zi i frecven redus. Titlul acordat liceniat n economie. Marketing i logistic. Absolvenii acestei specialiti pot ocupa posturi n serviciile de marketing, aprovizionare sau desfacere ale unitilor productoare de bunuri materiale, n comer, servicii de reclam, bnci, ntreprinderi specializate n efectuarea cercetrilor de marketing i prestarea serviciilor de marketing, n nvmntul mediu i universitar, precum i n cadrul organelor de ndrumare, coordonare i sintez macroeconomic. Studiile sunt organizate n limbile romn i rus; cu frecven la zi i frecven redus. Titlul acordat liceniat n economie. Merceologie i comer. Specialiti n organizarea i coordonarea activitii economice a ntreprinderilor de comer cu amnuntul i cu ridicata: Posed cunostinte profunde n diverse aspecte ce tin de problematica marfara: verificarea calitatii, naturalitatii, activitatilor de standartizare, certificare, depozitare, livrare, transportare, pastrare, comercializare etc. Absolvenii pot activa n calitate de economiti n funcii de conducere i executive n unitile comerciale, n serviciile vamale, n activitile organizaiilor de standartizare, certificare, de protecie a consumatorilor a organelor publice locale, n unitile comerciale. Studiile sunt organizate n limbile romn i rus; cu frecven la zi i fr frecven. Titlul acordat liceniat n economie. Turism. Specialiti pregtii pentru activitatea de organizare i dirijare a ageniilor de turism, a hotelurilor i motelurilor. Studiile sunt organizate n limbile romn, englez, francez i rus; cu frecvena la zi i fr frecven. Titlul acordat liceniat n servicii.. Admiterea la facultate n 2007, conform noului nomenclator de specialiti universitare, se va efectua la specialitile/domeniile de formare profesional: 363.1 Business i administrare (cu specializrile business i administrare, achiziii, managementul proprietii intelectuale); 362.1. Marketing i logistic; 369.1. Merceologie i comer; 812.1. Turism. 76 n procesul de instruire, la facultate se acord o mare atenie studierii limbilor moderne, comunicrii de afaceri, utilizrii calculatoarelor, ceea ce ofer absolvenilor acestei faculti anse suplimentare de angajare n cmpul muncii. Pe lng aceasta, absolvenii facultii, indiferent de specialitate, sunt pregtii pentru a iniia afaceri proprii n cele mai diverse domenii ale economiei naionale.
3.3. Facultatea Cibernetic, Statistic i Informatic Economic (www.csie.ase.md)
Decan, prof.univ.dr.hab. Ion Bolun
mpreun s edificm societatea informaional societatea cunoaterii
Desfurarea larg a lucrrilor de edificare a societii informaionale i creterea, odat cu concurena, a rolului calitii deciziilor de gestiune a activitilor economice, impun necesitatea pregtirii specialitilor de nalt calificare n informatic, statistic i cibernetic economic. Dobndind, pe parcursul instruirii, capaciti i competene privind procesele economice i folosirea metodelor economico-matematice pentru eficientizarea unor asemenea procese n mbinare cu operarea lejer cu mijloacele informatice moderne, tinerii specialiti sunt solicitai pe piaa muncii att ca informaticieni, ct i ca economiti. 3.3.1. Facultatea este responsabil de pregtirea specialitilor n domeniul ciberneticii, informaticii, statisticii i previziunii economice. n cadrul celor 4 catedre de la facultate Cibernetic i informatic economic, Statistic i previziune economic, Matematic i Bazele informaticii economice activeaz 61 de cadre didactice, inclusiv 5 doctori habilitai i 33 doctori n tiine. Catedra Cibernetic i informatic economic ef catedr prof.univ.dr.hab. Ilie Costa, este format nc n 1965 ]n cadrul Institutului Politehnic din Chiinu, din 1973 devenind catedr de profil. Catedra este responsabil de pregtirea tinerilor specialiti de nalt calificare la specialitile Cibernetic i informatic economic i Informatic i instruirea studenilor de la toate specialitile ASEM privind folosirea metodelor economico-matematice i a aplicaiilor informatice economice. De asemenea, catedra este responsabil de pregtirea specialitilor prin masterat la specialitatea Tehnologii informaionale n economie, Management informaional i 77 Cibernetic economic i prin doctorat la specialitile Metode economico-matematice i Sisteme informaionale. n cadrul catedrei activeaz 19 profesori titulari, din care 3 doctori habilitai i 9 doctori n tiine. O bun parte din profesorii catedrei sunt absolvenii ASEM. Profesorii catedrei in aa cursuri ca: Limbaje evoluate de programare; Baze de date; Cibernetic economic; Platforma .NET; Inteligen artificial; Reele informatice; Programare Web; Afaceri electronice; Proiectarea sistemelor informatice .a. Catedra a organizat mai multe conferine tiinifice, inclusiv internaionale. Profesorii catedrei au urmat cursuri de perfecionare n SUA, Frana, Grecia, Romnia, Rusia i Bulgaria. Pe lng catedr funcioneaz cercurile tiinifice studeneti Tehnologia programrii i Programare avansat. Anual catedra organizeaz Olimpiada la Informatic a studenilor ASEM. Catedra de profil Statistic i previziune economic ef catedr prof.univ.dr. Ion Prachi, este format n 1994. Catedra este responsabil de pregtirea tinerilor specialiti de nalt calificare la specialitatea Statistic i previziune economic i instruirea n statistic a studenilor de la toate specialitile ASEM. De asemenea, catedra este responsabil de pregtirea specialitilor prin doctorat la specialitatea Statistic economic. n cadrul catedrei activeaz 14 profesori titulari, din care 9 doctori n tiine. Majoritatea profesorilor catedrei sunt absolvenii ASEM. La catedra se in un ir de cursuri noi, inclusiv: "Teoria i practica sondajelor", "Sistemul conturilor naionale", "Econometrie", "Previziune economica", "Statistic financiar-bancar" etc. Profesorii catedrei au urmat cursuri de perfecionare n SUA, Frana, Grecia, Romnia i Rusia. Ei sunt implicai n diverse programe de cercetare tiinific. Catedra a organizat mai multe conferine tiinifice i mese rotunde, discutnd diverse probleme de mbuntire a activitilor n domeniu n republic. Pe lng catedr funcioneaz cercul tiinific studenesc Statistic i previziune economic. Catedra Matematic ef catedr prof.univ.dr.hab. Ion Bunu, este format n 1972. Catedra este responsabil de instruirea n matematic a studenilor de la toate specialitile ASEM. n cadrul catedrei activeaz 11 profesori titulari, din care 1 doctor habilitat i 9 doctori n tiine. Profesorii catedrei sunt implicai n diverse programe de cercetare tiinific. Conf.univ., dr., Dumitru Zambichi n 2004 a devenit laureat al Premiului Naional n domeniul tiinei i Tehnicii. Catedra a organizat mai multe conferine tiinifice i mese rotunde. Anual catedra organizeaz Olimpiada la Matematica aplicat a studenilor ASEM. 78 Catedra Bazele informaticii economice ef catedr conf.univ.dr. Tudor Gdilic, este format n 1994. Catedra este responsabil de instruirea n informatica general a studenilor de la toate specialitile ASEM. n cadrul catedrei activeaz 17 profesori titulari, din care 1 doctor habilitat i 7 doctori n tiine. Membrul corespondent al Academiei Romno-Americane, prof.univ.dr.hab. Dumitru Todoroi conduce i cercul tiinific studenesc Sisteme de informatizare a societii secolului XXI. 3.3.2. Suportul tiinifico-didactic al instruirii. O bun parte din cursuri sunt asigurate cu manualele elaborate de profesorii facultii, inclusiv: Bazele informaticii aplicate (2005, 2003, 2001, 1999); Programarea calculatoarelor (2003); Cercetri operaionale (2004); Baze de date relaionale (1998); Statistica actuarial n asigurri (2003); Programarea n logic (2000); Algebr liniar (2001), Matematica economic (2006), Econometrie (1999); Modelarea proceselor economice (1998); Iniiere n reele (1997); Introducere n business-ul informaional (1996) etc. Pentru consolidarea cunotinelor teoretice, efectuarea lucrrilor de laborator i a celor de control, pentru perfectarea tezelor anuale i a celor de licen, la dispoziia studenilor sunt 29 sli cu calculatoare moderne. n total, la ASEM funcioneaz peste 1100 de calculatoare interconectate n reea cu ieire la Internet. Fiecare student dispune de un cont propriu de pot electronic i spaiu individual de memorie-disc de 40 megaoctei la unul din serverele reelei ASEM. Funcioneaz Centrul Multimedia ASEM dotat cu 70 de calculatoare Pentium 4, destinat lucrului individual al studenilor. Catalogul electronic al Bibliotecii ASEM i sursele bibliografice, inclusiv materialele didactice n form electronic faciliteaz activitile de autoinstruire i cercetare a studenilor i profesorilor. Acest potenial tiinifico-didactic asigur condiiile pregtirii unor specialiti de nalt calificare n domeniul informaticii, ciberneticii, statisticii i previziunii economice specialiti solicitai nu numai n republic, dar i peste hotare. 3.3.3. Specialiti. n cadrul facultii pretendenii pot alege specialitile: 367.1 Statistic i previziune economic (zi - 3 ani de studii; frecven redus - 4 ani de studii). Titlul acordat - licentiat in economie; 368.1 Cibernetic i informatic economic (zi - 3 ani de studii; frecven redus 4 ani de studii). Titlul acordat - licentiat in economie; 79 444.1 Informatic (zi - 3 ani de studii; frecven redus 4 ani de studii). Titlul acordat - licentiat in informatic. Limbile de studii: romn i rus. Specialitatea Informatic. Utilizarea mijloacelor informatice a devenit de importan strategic pentru majoritatea domeniilor de activitate ale societii moderne. Un exemplu semnificativ este Internet, de a crui servicii se folosesc peste 1 mlrd de oameni. n rile economic dezvoltate, dar i n alte ri, se lucreaz intens asupra edificrii societii informaionale societii cunoaterii: Cine deine informaia stpnete situaia. Deficitul de specialiti-informaticieni este considerabil, ndeosebi n rile economic dezvoltate. i n R.Moldova conducerea de vrf a anunat informatizarea societii de prioritate strategic. Firmele ce activeaz n acest domeniu dispun de anumite privilegii, aprobate de ctre Parlament n decembrie 2004, inclusiv scutirea de impozitul pe venit. Informaticienii din Moldova au format firme mixte n domeniu, ce elaboreaz produse informatice pentru agenii economici de peste hotare, contribuind astfel la exportul de mrfuri i servicii avansate i, respectiv, la susinerea creterii economice a republicii. Specialitatea Cibernetic i informatic economic. Creterea rolului informaticii i a activitilor economice bazate pe decizii argumentate, nainteaz, pe prim-plan, necesitatea pregtirii specialitilor de nalt calificare n domeniu. Specialistul este instruit pentru calitatea de economist-analist n problemele de dirijare, luare de decizii eficiente n sfera economico-social cu utilizarea nemijlocit a instrumentarelor moderne, a noilor tehnologii informaionale, precum i pentru calitatea de specialist-manager n business-ul informatic, informatizarea unitilor economice, activitatea unitilor economice n domeniul informaticii. Dispunnd de cunotine att referitoare la procesele economice, ct i la folosirea metodelor economico-matematice pentru modelarea i eficientizarea unor asemenea procese n mbinare cu operarea lejer cu mijloacele informatice moderne, aceti specialiti au cea mai larg arie de aplicare a cunotinelor, fiind solicitai pe piaa muncii att ca informaticieni, ct i ca economiti. Absolvenii specialitii pot activa la ntreprinderi private i publice, inclusiv centre informatice, n sistemul financiar-bancar, etc. Specialitatea "Statistic" ofer tinerilor posibilitatea de a deveni specialiti n analiza informaiilor economice, elaborarea de pronosticuri economice i efectuarea sondajelor de opinie. n condiiile economiei de pia, analiza informaiilor economice este solicitat n toate sectoarele. 80 Aceasta servete pentru fundamentarea deciziilor i elaborarea previziunilor economice. Pe parcursul studiilor, studenii urmeaz practica aplicativ la Biroul Naional de Statistic i n filialele acestuia. ASEM este unica instituie din republic, n cadrul creia se pregtesc specialiti de nalt calificare n statistic economic i social.
3.4. Facultatea Contabilitate
Decan, prof.univ.dr.hab.Viorel urcanu
Contabilitatea este una din sublimele creaii ale spiritului omenesc... (Goethe)
3.4.1. Facultatea "Contabilitate" are o experien bogat n domeniul pregtirii specialitilor de nalt calificare acumulat nu numai n cadrul ASEM (din anul 1991), dar i pe parcursul mai multor ani n cadrul Universitii Tehnice i al Universitii de Stat. Absolvenii acestei specialiti sunt cunoscui nu numai n republic, ci i n afara hotarelor ei. Printre ei menionm: Mihai Manoli, ex- ministru al finanelor; Olga Antipina, contabil-ef al S.A. "Ionel", Pavel Bodarev, director general al Companiei "Moldauditing", Nicolae Dorin, preedinte al S.A. "Mobiasbanc", Iurie Cazacu, ef al Direciei "Metodologia contabilitii i auditului" a Ministerului Finanelor; Alexandra Can, director al S.A. "Artima". n cadrul facultii activeaz trei catedre: "Contabilitate i audit", "Contabilitate" i "Analiza activitii economico-financiare", a cror componen o constituie 79 de profesori, inclusiv: 3 profesori universitari, 24 confereniari, 15 doctori n economie i 8 magitri. Catedra Contabilitate i audit. Disciplinele principale: Bazele contabilitii, Contabilitatea financiar, Contabilitatea managerial, Auditul. Studenii au posibilitatea s studieze aici i alte discipline: Contabilitatea n comer, Contabilitatea bancar, Contabilitatea n instituiile publice, Contabilitatea internaional. O atenie deosebit se acord studierii aplicaiilor informatice n contabilitate: 1C - Contabilitate, Wis-count i Book-Keeper ceea ce permite ca absolvenii s fie pregtii bine pentru munca practic la ntreprinderi. Catedra Analiza activitii economico-financiare. Discipline: Bazele analizei economice, Analiza gestionar, Analiza rapoartelor financiare. Predarea disciplinelor se efectueaz n baza datelor ntreprinderilor, ceea ce ofer posibilitate studenilor s obin cunotine temeinice, apropiate de activitatea practic. 81 Catedra Contabilitate. Asigur pregtirea la disciplinele de contabilitate la alte faculti ale ASEM. Profesorii catedrei contientizeaz faptul c, pentru studenii altor specialiti din Academie, contabilitatea ocup un loc important n planul de nvmnt, de aceea i disciplinele se predau aplicnd materiale metodico-didactice i ilustrative: documente primare, registre contabile, modele ale rapoartelor financiare. Pentru realizarea acestui scop, catedra dispune de un cabinet metodic. 3.4.2. Specialiti. ncepnd cu anul 2004, facultatea organizeaz admiterea la specialitatea "Contabilitate". Titlu acordat - licentiat in economie. Contabilitatea este o profesie veche, format nc n antichitate. Orice ntreprindere, fie mare sau mic, trebuie, conform legislaiei, s in contabilitatea, de aceea, are nevoie de cel puin un contabil. Contabilitatea este, n primul rnd necesar pentru ca la ntreprindere lucrurile s nu se prefac n haos. Avnd n vedere aceast cerin, contabilul ntocmete i prelucreaz un ir de documente cu date diverse i necesare. Se cunoate afirmaia, c contabilul astzi este mna dreapt a conductorului ntreprinderii, deoarece el trebuie s pregteasc informaii importante la luarea deciziilor economice i de conducere. n acest scop contabilul analizeaz datele privind costurile, rentabilitatea, mrimea impozitelor, cotarea valorilor mobiliare la burs etc. Totodat, contabilitatea se consider un limbaj al oamenilor de afaceri. Nici un contract nu se ncheie de ctre ntreprindere fr acceptul contabilului, care trebuie s se expun n privina preurilor, de la care furnizor e mai convenabil de procurat marfa, cu ce preuri s fie vndut producia, care sunt riscurile de afaceri. n fine, contabilul trebuie s-i organizeze activitatea n aa mod ca s asigure pstrarea patrimoniului ntreprinderii, s contribuie la reducerea pierderilor i majorarea profitului. Deci, de competena i profesionalismul contabililor, ntr-o mare msur, depinde activitatea i starea economico-financiar a ntreprinderii n ansamblu. Se tie deja c a nva la contabilitate este mai greu dect la alte specialiti de profil economic, ns muli tineri i dau seama c, dac vor obine aceast profesie, exist o probabilitate mare s-i gseasc i un serviciu. Prestigiul specialitii se explic i prin aceea c, odat cu aderarea la standardele internaionale de contabilitate a crescut rolul contabilului n activitatea economic. Solicitarea nalt a profesiei de contabil se mai explic i prin aceea c contabilitatea este astzi sprijinit legislativ. n urma reformei 82 contabile, au fost elaborate i aprobate Standardele Naionale de Contabilitate i de Audit, alte documente normative. Exist chiar i Legea contabilitii, codul eticii profesionale al auditorului i contabilului. Toate acestea creeaz o viziune clar pentru un viitor specialist n vederea cunoaterii profesiei i a activitii de care va fi preocupat. Unui specialist n domeniu i sunt necesare i asemenea caliti ca: principialitatea, conlucrarea n colectiv, capaciti de a cunoate bine actele normative. n activitatea sa, contabilul se conduce, n mare msur, de reguli stricte referitoare la inerea evidenei contabile, la fiscalitate, la pregtirea rapoartelor financiare i el trebuie s le cunoasc i s le respecte. ns aceasta nu nseamn c contabilul nu are posibiliti de alegere a unor metode, de a analiza i de a lua decizii. Dimpotriv, el poate face acest lucru, dar numai n limitele legislaiei i nu trebuie s comit abateri nici chiar la insistena conductorului ntreprinderii. Totodat, contabilul, ca nici un alt specialist, are relaii cu lucrtorii: n vederea salariilor, deplasrilor, rapoartelor gestionarilor etc. De aceea el trebuie s cunoasc psihologia, s dispun de o cultur nalt. Dar s nu uitm i de relaiile comerciale ale firmelor cu partenerii strini: contabilul trebuie s participe la negocieri, s aib i un comportament care ar atrage clienii. n cazul dat, e vorba i de necesitatea cunoaterii unei limbi strine. Contabilul poate contribui la prosperarea ntreprinderii, dac va izbuti s impun s vorbeasc acele cifre care sunt obinute n contabilitate, adic s le analizeze minuios, pentru a gsi rezerve de desfurare a activitii, de ridicare a eficienei acesteia i de nlturare a pierderilor. Coninutul planurilor de nvmnt prevede studierea acelor discipline care contribuie la formarea profesiei de contabil necesar economiei de pia. Toate disciplinele de specialitate sunt predate n conformitate cu cerinele standardelor naionale i internaionale.n vederea executrii practicii de producie catedra de profil dispune de o baz de practic, avnd legaturi contractuale cu multe ntreprinderi cunoscute n republic, cum snt societile pe aciuni: "Ionel", "Artima", "Vitanta". "Floare-Carpet", "Vismos", "Aroma", "Stejaur", unele firme de audit. Pe parcursul practicii, studenii consolideaz materialul teoretic, fcnd cunotin cu organizarea contabilitii la ntreprindere, documentele i registrele utilizate, cu aplicarea calculatoarelor. Facultatea are relaii cu diferite catedre de la universiti din Republica Moldova i de peste hotare. Muli profesori ai facultii au participat la reforma contabilitii, au avut stagii la Academia de Studii Economice din Bucureti i la Universitatea Omaha din Nebraska (SUA). 83 Procesul de studii se desfoar att cu frecven la zi, ct i cu frecven erdus, cu predare n limbile romn i rus. Absolvind facultatea Contabilitate", specialitii posed cunotine profunde n domeniul contabilitii i auditului, ce le permit s lucreze n ntreprinderi de stat i private din diferite sectoare ale economiei naionale (industrie, comer, agricultur etc.), n sistemul financiar- bancar, precum i n organizaii internaionale. De asemenea, fiind familiarizai cu controlul i auditul, muli absolveni sunt solicitai de organele controlului de stat i de firmele care practic activitatea de audit. Celor care doresc s-i continue studiile postuniversitare, ASEM le ofer posibilitatea s urmeze masteratul i doctoratul. Studenii i pot continua perfecionarea la specialitatea Contabilitate prin studiile de masterat cu 6 programe i, ulterior, cele de doctorat.
3.5. Facultatea Economie General i Drept
Decan, conf.univ.dr. Dorin Vaculovschi
Este o facultate cu un spectru larg de pregtire a cadrelor pentru cele mai diverse domenii ale economiei naionale. Baza tuturor specializrilor o constituie pregtirea fundamental economic, plus specializarea n domeniile corespunztoare. Insernd cadre didactice cu o experien performant de pregtire a specialitilor pentru ramurile economiei naionale, n cadrul facultii activeaz ase catedre: Economie i Politici economice; Management social; Instruire economic i Comunicare de afaceri; Geografie i Economia mediului; Drept privat; Drept public. Concomitent cu pregtirea special, studenii acestei faculti asimileaz cunotine n domeniul folosirii calculatoarelor i a tehnicii de birou. Astfel, absolvenii facultii, nsuind tehnica de calcul i bazele economiei au posibiliti de a se angaja n cele mai diverse domenii ale economiei Republicii Moldova: n cadrul organelor de conducere la nivel de ministere, ntreprinderi, instituii de nvmnt i tiin, n sectorul privat i n cel de stat, administraiei publice, judeene i locale. Facultatea pregtete cadre la urmtoarele specializri: Economie general specialiti cu o larg pregtire economic 84 pentru activitatea profesional n cele mai diverse ramuri ale economiei naionale: ntreprinderi, instituii financiare, n orice structuri comerciale, n cadrul organelor de stat de nivel republican i municipal. Titlul acordat - licentiat n economie; Administrare public specialiti n domeniul managementului n sfera social: educaie, ocrotirea sntii, cultur, asisten social, ocuparea forei de munc. Titlul acordat - licentiat n tiine administrative; Drept specialiti cu o calificare nalt n domeniul jurisprudenei, pentru Ministerul Justiiei, poliiei economice i inspectorate fiscale, ntreprinderi, organizaii vamale, notariat, Uniunea Avocailor, administraii publice. Titlul acordat - licentiat in drept. Admiterea la facultate n 2007, conform noului nomenclator de specialiti universitare, se va efectua la specialitile/domeniile de formare profesional: 366.1 Economie general; 131.1 Administrare public; 381.1 Drept. Limbile de studii: romn i rus.
3.6. Facultatea Finane
Decan, prof.univ.dr.hab. Ludmila Cobzari
Facultatea Finane din cadrul ASEM, fiind una din cele mai prestigioase n coala economic superioar din Republcia Moldova, s-a impus prin faptele mai multor generaii de profesori, studeni i personal administrativ, fapte acumulate n aproape cinci decenii. Prezentul, la fel de dinamic i provocator, ofer facultii prilejul s se afirme prin munca de educare a noii generaii de specialiti n domeniul financiar-bancar, adaptate la actualele realiti economice. Facultatea i desfoar activitatea, alturi de celelalte faculti cu profil economic din cadrul Academiei de Studii Economice din Moldova, ntr-un ansamblu de cldiri moderne, amenajate cu sli de bibliotec, laboratoare informatice, Incubatorul de Afaceri, Complexul Sportiv i Centrul Multimedia. Obiectivele principale ale facultii sunt: promovarea nvmntului economic financiar i a cercetrii de specialitate, avnd n vedere potenialul naional, exigenele europene i dorina de integrare n circuitul universal de valori; 85 implicarea activ, consistent i durabil n dezvoltarea naional i regional, din punct de vedere economic, social i cultural. Instruirea studenilor n cadrul facultii este asigurat de 5 catedre: Finane i asigurri, Bnci i activitate bancar, Investiii i piee de capital, Limbi moderne aplicate i Filozofie i politologie. n cadrul acestor catedre activeaz profesori competeni i cu experien, acumulat inclusiv n cadrul stagiilor de calificare n universitile prestigioase din Grecia, Marea Britanie, Frana, Romnia, Rusia, SUA, Ungaria i alte state. Activitatea catedrei Finane i Asigurri este axat pe dou domenii distincte: 1) instructiv-educativ - obiectivul principal este pregtirea cadrelor n domeniul Finanelor publice, Fiscalitate; Finanelor ntreprinderii i Asigurrilor n corespundere cu exigenele nvmntului superior contemporan; 2) tiinific - miezul problemelor abordate sunt: rolul politicilor financiare n dezvoltarea economiei rii; instrumente financiare de realizare a strategiei de dezvoltare i creterii economice a Republicii Moldova; studierea premiselor financiare de integrare a Republicii Moldova n Uniunea European. Catedra Bnci i activitate bancar desfoar o activitate didactic i de cercetare n domeniul financiar-bancar att pe planul operaiunilor propriu-zise, ct i al gestionrii riscurilor i performanelor bancare i valutare, domenii de mare interes i atractivitate pentru studenii ASEM. Obiectivul principal al catedrei Investiii i piee de capital este pregtirea universitar i postuniversitar a cadrelor n domeniul investiional i al pieei de capital, inclusiv intern i internaional. Colectivul catedrei desfoar o activitate didactic de predare, seminarizare i de cercetare n domeniul investiional i al pieelor de capital. La catedr Limbi moderne aplicate accentul este pus pe formarea competenelor de comunicare oral i scris ce in de activitatea economic a ntreprinderii, definirea noiunilor i a termenilor economici, studierea tehnicilor de redactare a scrisorilor comerciale, a unor circulare, a cererilor de oferte, a ofertelor, comenzilor, reclamaiilor. Catedra Filozofie i politologie desfoar o activitate didactic i de cercetare n domeniul filozofiei i politologiei, avnd ca obiectiv principal cunoaterea de ctre studeni a legitilor generale ale dezvoltrii gndirii filozofice i politice a omenirii, a problemelor filozofico-economice i politice actuale, a dezvoltrii societii postmoderne, contribuind la formarea unei culturi filozofice, filozofico- 86 economice i politice adecvate societii contemporane. Catedra asigur pregtirea studenilor n domeniu la toate facultile ASEM. Admiterea la facultate n 2007, conform noului nomenclator de specialiti universitare, se va efectua la specialitatea/domeniul de formare profesional: 364.1 Finane i bnci. Predarea disciplinelor se efectueaz n limbile romn, rus i englez. n condiiile adaptrii la standardele. n condiiile adaptrii la standardele Spaiului European de nvmnt Superior i aderrii Republicii Moldova la Procesul de la Bologna, facultatea asigur studii de licen n domeniul Finane i Bnci. Conform acestui proces, facultatea Finane ofer urmtoarele cicluri de studii: - Primul ciclu care va finaliza cu obinerea noului titlu de liceniat n economie are ca scop nzestrarea unui numr ct mai mare de studeni cu cunotine teoretice fundamentale pentru fiecare domeniu de specializare. Formarea iniial va fi suficient de larg, nct s permit articularea pe aceast baz solid de cunotine fundamentale a numeroaselor programe de specializare la nivel de master. Pe de alt parte, se va asigura un nivel de formare a aptitudinilor i competenelor cerute de piaa actual a muncii, astfel nct absolventul s poat fi imediat angajat pe o funcie de execuie, dac aceasta este opiunea lui, dup parcurgerea celor trei ani. - Ciclul al doilea care conduce la obinerea unei diplome de master urmeaz s asigure formarea pe specializri nguste cu cunotine avansate i competene de analiz i sintez specifice funciilor din fiecare domeniu: Activitate bancar Investiii i piee de capital Finane corporative Finane publice i fiscalitate Finane i asigurri. Studiul unor discipline de cunoatere avansat n domeniul specializrii alese i cercetarea tiinific sunt principalele ci de asigurare a diferenierii competenelor i aptitudinilor fa de nivelul celor care opteaz s ncheie formarea iniial la nivel de licen. - Ciclul al treilea vizeaz formarea de vrf a unei elite tiinifice de economiti n cadrul colilor doctorale i se adreseaz celor mai buni absolveni ai ciclului de masterat. Preocuprile pentru realizarea unei pregtiri temeinice a viitorilor specialiti s-au concretizat, nainte de toate, ntr-un plan de nvmnt 87 modern, echilibrat, ce realizeaz o sintez ntre structura i standardele actuale ale nvmntului economic universitar i cerinele vieii economice reale, generate de tranziia la noul tip de economie. Prin discipline obligatorii, facultative i opionale, planul de nvmnt orienteaz eforturile studenilor i ale corpului profesoral n trei direcii eseniale: nsuirea cunotinelor teoretice si practice n domeniile finanelor i contabilitii; formarea deprinderilor de utilizare a calculatoarelor n prelucrarea informaiilor statistice i financiar-contabile; nsuirea la un nivel ridicat a limbilor strine de circulaie universala. Studiile efectuate n cadrul Facultii Finane sunt dinamice, novatoare, cu deschidere spre ateptrile absolvenilor.
3.7. Facultatea Relaii Economice Internaionale
Decan, prof.univ.dr.hab. Dumitru Moldovan
"... Dac dorii s obinei studii competitive pe plan european, s fii de folos rii i s v gsii un rost n via, devenind bogai i vestii, alegei facultatea de Relaii Economice Internaionale".
Academia de Studii Economice din Moldova este prima instituie de nvmnt superior din republic care a iniiat pregtirea specialitilor n domeniul Relaiilor Economice Internaionale. Facultatea REI este unica n instituiile din Republica Moldova care face parte din reeaua de universiti sprijinit de programul HESP (Fundaia SOROS). Obiectivele facultii: pregtirea specialitilor de nalt calificare n domeniul relaiilor economice internaionale; studierea aprofundat a dou limbi moderne de afaceri; pregtirea cadrelor tiinifice i didactice prin nvmntul postuniversitar specializat, doctorat i postdoctorat. Studiile se efectueaz la secia de zi i la secia cu frecven redus. n prezent, la specialitatea REI se predau: n limba francez 80% din toate cursurile; n limba englez 80%; n limba german 40%. Facultatea REI a ASEM este prima facultate din Republica Moldova care pregtete specialiti n domeniul Relaiilor Economice Internaionale, acumulnd, n aceast privin, cea mai bogat experien. n 2005 s-a trecut la nvmntul n 2 cicluri, conform prevederilor procesului de la Bologna. 88 n cadrul facultii activeaz 3 catedre specializate cu 65 de profesori: Relaii economice internaionale (ef catedr prof.univ.dr.hab. Boris Chistruga); Economie politic i Doctrine economice (ef catedr prof.univ.dr.hab. Eugenia Fura); Limbi moderne de afaceri (ef catedr conf.univ.dr. Gheorghe Moldovanu). n anii 1994-2007 la facultate au predat cursuri de specialitate peste 80 de profesori din strintate: SUA, Frana, Romnia, Germania, Marea Britanie, Rusia, Polonia, Italia, Argentina, Ungaria, Belgia, Iran etc. La secia cu frecven la zi i cea cu frecven redus nva peste 1100 studeni divizai n trei filiere, conform limbii de predare. Anual, circa 50 de studeni de la facultate se afl la stagiu n universiti i ntreprinderi strine din Frana, SUA, Germania, Olanda, Romnia i alte ri. Studenii facultii editeaz ziare n limbile francez i englez. Admiterea la facultate n 2008, conform noului nomenclator de specialiti universitare, se va efectua la specialitatea/domeniul de formare profesional: 365.1 Economie mondial i relaii economice internaionale. Limbile de studii, n funcie de specializare, sunt: romna, engleza, franceza i germana. Studenii Facultii REI sunt pregtii pentru a activa: n organele puterii de Stat (Preedinie, Parlament, Guvern); n ambasadele Republicii Moldova peste hotare; la Banca Naional a Moldovei i bncile comerciale; n proiectele de asisten ale organismelor economice internaionale; la ntreprinderile autohtone i cele cu capital strin. Facultatea REI are semnate acorduri de cooperare cu Facultatea tiine Economice i Sociale a Universitii Tehnice din Braunchweing (Germania); Facultatea Relaii Internaionale, Universitatea din Nebrasca Omaha (SUA); Facultatea Relaii Economice Internaionale i Facultatea Studii Economice n Limbi Strine de la ASE Bucureti. n cadrul facultii funcioneaz prima filier francofon deschis n Republica Moldova, ce beneficiaz de sprijinul multilateral din partea Ageniei Universitare Francofone. Anual, 16-20 studeni i 3-4 profesori beneficiaz de stagii la universitile din Frana i Belgia. n anul 2005, n cadrul catedrei Limbi moderne de afaceri a ASEM, Centrul de examene a semnat o convenie cu Camera de Comer i Industrie din Paris (CCIP) pentru organizarea sesiunii de examinare la nivel local. Examenele la limba francez de afaceri i profesionale sunt 89 menite s testeze aptitudinile candidailor de utilizare a limbii franceze n mai multe domenii a vieii profesionale, precum i la niveluri diferite. Diplomele CCIP prezint o alternativ diplomelor de cunoatere a limbii franceze generale, oferind posibilitatea de continuare a studiilor n una din rile francofone, dar i perspective de utilizare n scopuri profesionale.
90 4. Admiterea ASEM-2008
Stimai absolveni ai liceelor i colegiilor! Dac dorii s devenii specialiti de nalt calificare i s avei un viitor asigurat, venii la ASEM: instituie de nvmnt superior acreditat; peste 15000 studeni; 31 doctori habilitai i 207 doctori n tiine; bibliotec cu un fond de cri de peste 500 000 volume, 5 sli de lectur cu 500 locuri (1140 m.p.); 5 blocuri de studii (A, B, C, D i E) situate n preajm; 29 de sli cu calculatoare pentru instruire; peste 1100 de calculatoare moderne interconectate n reea cu ieire la Internet. Fiecare student dispune de un cont propriu de pot electronic i spaiu individual de memorie-disc de 40 megaoctei la unul din serverele reelei ASEM; Centrul Multimedia cu 70 de calculatoare Pentium 4 i monitoare TFT, destinat lucrului individual al studenilor cu informaiile n form electronic i care este deschis 12 ore pe zi, inclusiv cele de smbt; catedr militar, n cadrul creia studiile se efectueaz la cerere; coala auto, n cadrul creia studiile se efectueaz la cerere; 7 cmine pentru studeni, nzestrate cu sli de calculatoare conectate la Internet, sli de lectur. Taxa pentru cazare constituie 40 % din totalul cheltuielilor; Incubator de Afaceri Studenesc; Departament Editorial-Poligrafic cu o capacitate de 50 000 copii/zi; Complex sportiv modern; Baza de odihn: 10 tururi x 140 locuri = 1400 persoane (iunie-august); Centru curativ consultativ; Cazangerie autonom asigurarea cu energie termic tot anul; 2 cantine pentru studeni i profesori plasate n blocurile A i B (pentru studenii orfani i semiorfani prnzul este gratis); burse pentru studeni, inclusiv sociale, sportive, altele; distracii/activiti: TVC, Balul Bobocilor, discotec, Miss ASEM, Mister X ASEM, Cel mai bun student ASEM, Olimpiada la Informatic, Olimpiada la Matematic, turism, odihn, excursii, competiii sportive, cercuri tiinifice studeneti, conferine internaionale.
91 Admiterea la ASEM are loc prin concurs. Pot candida absolveni ai liceelor, colilor medii de cultur general, colegiilor, n conformitate cu prevederile legislaiei n vigoare. Lista specialitilor cu indicarea limbii de instruire i a formelor de studii sunt prezentate n tabelul ce urmeaz.
Alte informaii sunt specificate n Regulamentul de organizare i desfurare a admiterii n Academia de Studii Economice din Moldova n anul 2008, afiat la locaia Web a ASEM (www.ase.md) i publicat n pres.
Nu ratai ansa Dvs. Facultatea Specialitatea (ciclul I 3 ani; licen) Codul Limba de instruire Forma de studii Business i Administrarea Afacerilor Business i administrare 363.1 rom/rus zi, f/r Marketing i logistic 362.1 rom/rus zi, f/r Merceologie i comer 369.1 rom/rus zi, f/r Turism 812.1 rom-eng zi 812.1 rom-fr zi 812.1 rom/rus zi, f/r Cibernetic, Statistic i Informatic Economic Statistic i previziune economic 367.1 rom/rus zi, f/r Cibernetica si informatic economic 368.1 rom/rus zi, f/r Informatic 444.1 rom/rus zi, f/r Contabilitate Contabilitate 361.1 rom/rus zi, f/r Economie General i Drept Administraie public 313.1 rom/rus zi Economie general 366.1 romn zi, f/r Drept 381.1 romn zi, f/f Finane Finane si bnci 364.1 rom/rus zi, f/r 364.1 rom-eng zi Relaii Economice Internaionale Economie mondial i relaii economice internaionale 365.1 rom-eng zi 365.1 rom-fr zi 365.1 rom-germ zi 365.1 rom f/r 92 Anex Lista participanilor la Olimpiada Republican la Informatic a elevilor, ediia 2008
Numele Clasa Raion Institutia Antohi Radu 9 mun. Chiinu LT "Orizont" Arbuleac Eugeniu 11 mun. Chiinu LT "Gaudeamus" Arteni Oleg 11 Nisporeni LT "B. Cazacu", or. Nisporeni Asimionese Alexandr 12 mun. Chiinu L.R.P.R. Axinti Igor 10 mun. Chiinu LT "M. Eliade" Babinciuc Eugen 12 mun. Chiinu LT "Spiru Haret" Baidan Nicolai 11 Sngerei LT "A. Agapie" Bala Alexandru 12 or. Cahul LT "P. Rumeanev" Baraniuc Andrei 11 Briceni LT "T. evcenco", Briceni Barladeanu Igor 9 Floreti LT "M. Eminescu", Floreti Belinschii Vladislav 9 Tiraspol LT Tiraspol Berzan Constantin 12 mun. Chiinu LT "Orizont" Bicec Iuliu 10 Hnceti LT "M. Sadoveanu", Hnceti Bocancea Mihai 11 Cueni LT Taraclia Bologa Teodora 12 Rcani LT "L. Gherman" sat. Zicani Bordeianu Veronica 10 Cimilia LT "Lipoveni" Bostan Cristina 10 Cueni LT Taraclia Brnz Nicolae 11 Hnceti LT "M. Eminescu", Hnceti Budeanu Nicolae 10 Ialoveni LT "Olymp", Costeti Buian Marcel 10 mun. Chiinu LT "Gaudeamus" Cabac Cristina 9 Cantemir Gimnaziul Pleeni Casapu Artiom 10 mun. Chiinu Colegiul de informatic Cassir Victoria 9 Taraclia LT Nr.2 Ceban Alexandru 12 tefan Vod LT "tefan Vod" Cebotari Roman 12 Ocnia LT Grinui Cerchez Ilie 10 Orhei LT "I. L. Caragiale" Ceriseu Andrei 11 Cimilia LT "M. Eminescu" Cernov Vladimir 10 Orhei LT "I. L. Caragiale" Cheptea Constantin 12 Streni LT "I. Vatamanu", Streni 93 Chicu Dumitru 12 Clrai LT Horodite Chirtoac Andrei 11 Rezina LT "Alexandru cel Bun" Cibotaru Rodion 11 Drochia LT "M.Eminescu" or. Drochia Ciobanu Aurelia 12 Teleneti LT Srtenii Vechi Ciuntu Maxim 10 mun. Chiinu LT "Prometeu-Prim" Ciuntu Victor 6 mun. Chiinu LT "Spiru Haret" Ciuperc Sergiu 11 Ungheni LT "A. Mateevici" Costiuc Vlad 9 Basarabeasca LT "M. Eminescu" Cotenco Denis 10 Drochia LT "M.Eminescu" or. Drochia Cracan Dan 11 mun. Chiinu LT "Orizont" Cre Petru 12 Dubsari LT Cosnita Cristiuc Mihai 12 Drochia LT "BPHadeu" or. Drochia Dascl Mihail 12 Rezina LT "Alexandru cel Bun" Devcati Dumitru 12 mun. Chiinu L.R.P.R. Dilevschi Sergiu 10 Anenii Noi LT "Gura Bcului" Diomin Chirill 12 Ocnia LT "M. Eminescu", Otaci Doibani Valeriu 11 mun. Chiinu LT "Orizont" Dumbrav Victor 11 Fleti LT Catranc Fandofan Alexandr 10 Dondueni LT "Gaudeamus", Dondueni Fanea Andrei 9 Glodeni LT Petrunea Feenco Vadim 11 Tiraspol LT Tiraspol Florea Gabriela 10 Floreti LT "I. Creang" Frimu Andrei 12 mun. Chiinu LT "Orizont" Fuceji Alecsandr 12 Taraclia LT Nr.2 Gaitan Denis 12 mun. Chiinu LT "V. Alecsandri" Ganea Ctlin 12 mun. Chiinu LT "M. Eliade" Gavrili Cristin 10 Clrai LT "M. Sadoveanu" Ghenghea Marin 12 Glodeni LT Cobani Ghirghilijiu Ana 10 Rcani LT "L. Gherman" sat. Zicani Glc Drago 11 Clrai LT "M. Sadoveanu" Golubovscaia Adelina 12 Dondueni LT "Gaudeamus", Dondueni Gosticev Stanislav 12 mun. Bli LT "D. Cantemir" Gramachi Iulian 10 mun. Chiinu LT "Promrteu-Prim" Grecu Mircea 12 mun. Chiinu LT "Prometeu-Prim" Grico Irina 10 Streni LT "I. Vatamanu", Streni Gujuman Dan 12 Orhei LT "I. L. Caragiale" Guu Pavel 11 Drochia LT "I.Creang" 94 Guzun Ion 10 mun. Chiinu LT "Orizont" Halca Eugen 10 mun. Chiinu Colegiul de informatic Harea Constantin 10 Teleneti coala Medie "Hirieni" Ianac Andrei 12 U.T.A.G Liceul "S.Tomai" Iarlciov Ilie 10 mun. Bli LT "D. Cantemir" Ilco Valentin 9 Glodeni LT Fundul Vechi Ioni Vladimir 11 Nisporeni LT "B. Cazacu", or. Nisporeni Iosipoi Leonid 10 mun. Chiinu LT "Dm. Cantemir" Iuhno Nicolae 10 U.T.A.G LT "Gaidarji", or. Comrat Iurcu Mircea 11 Orhei LT "A. Donici" Peresecina Iusiumbeli Nicolae 10 U.T.A.G Liceul Nr.1 "S.Copciac " Jigan Igor 11 Criuleni LT Cimieni Lazari Mihai 10 mun. Chiinu Colegiul de informatic Lisia Irina 11 Taraclia LT "Vozova", or. Taraclia Liubinskii Pavel 12 mun. Chiinu LT "Gaudeamus" Luca Andrei 9 Ialoveni LT "Olymp", Costeti Lupaco Ludmila 11 Anenii Noi LT "A. Pukin", Anenii Noi Lupacu Serghei 9 Leova Gimnaziul "Tochile-Rducani" Maimescu Alexandru 10 Clrai LT "M. Sadoveanu" Maleca Gheorghe 9 Streni LT "I. Vatamanu", Streni Manole Sorin 11 Rcani LT "L. Damian" or. Rcani Marandici Gheorghe 11 Ialoveni LT "Olymp", Costeti Marandiuc Dumitru 11 Orhei LT "Onisifor Ghibu" Miron Alisa 9 Nisporeni LT "V. Bulicanu" Mironov Andrei 11 mun. Chiinu LT "Gaudeamus" Mogoreanu Daniel 10 mun. Chiinu LT "Orizont" Moroi Adrian 9 Soroca LT "C. Stere" Morociuc Alexei 12 mun. Bli LT "tefan cel Mare" Movileanu Alexandrin 9 Rezina LT "tefan cel Mare" Rezina Muntean Alexandr 12 Cueni LT "M. Eminescu", Cueni Muntean Timofei 11 Streni LT "I. Vatamanu", Streni Nedelciuc Silviu 9 mun. Bli LT "M. Eminescu" Nedialcov Iurii 11 U.T.A.G Liceul "G.Gaidarji", Comrat Nedialcov Victor 9 U.T.A.G LT "D.Caraciobana", Comrat Nicoar Alexei 12 mun. Chiinu Colegiul de Microelectronic Novichi Silviu 12 Criuleni LT "B. Dnga" Criuleni Olaru Alexandru 11 mun. Chiinu LT "Gh. Asachi" 95 Omileanovici Mihai 10 Basarabeasca LT "M. Basarab" Oniciuc Ina 10 Soroca LT "Petru Rare" Pascal Sergiu 12 Hnceti LT "A. Donici", Ciuciuleni Pascari Pavel 9 Cueni LT Taraclia Podlesni Bogdan 12 Briceni LT Nr. 1, Briceni Poltarachii Denis 9 Rcani LT "D. Cantemir" or. Rcani Porumbescu Tatiana 11 or. Cahul LT "M. Eminescu", or. Cahul Postu Denis 12 mun. Chiinu LT "M. Cervantes" Potimokin Serghei 12 mun. Chiinu LT "N.M. Sptaru" Potoroac Mihai 12 Soroca LT "C. Stere" Predeus Natalia 9 Sngerei coala Medie "A. Crihan" Prisacaru Serghei 12 mun. Chiinu LT "Prometeu-Prim" Procopciuc Denis 12 Fleti LT "M. Eminescu", Fleti Raifura Andrei 11 Glodeni LT Cuhneti Recian Sergiu 11 Drochia LT "tefan cel Mare" Roca Iurie 12 mun. Chiinu LT "V. Alecsandri" Rotaru Manoli 10 mun. Chiinu Liceul Prometeu-Prim Rusnac Ion 9 Fleti coala Medie Fletii Noi Rusu Mihaela 12 mun. Chiinu LT "M. Eliade" Rusu Victor 9 mun. Chiinu LT "Iu. Hadeu" Sanduleanu tefan 12 mun. Chiinu LT "M. Eliade" apoval Iaroslav 9 Tiraspol LT Tiraspol Saranci Mihai 10 Dubsari LT Cosnita Savca Alexei 11 Ocnia LT "M. Sadoveanu", Ocnia Scurtu Ana 11 Leova LT "M. Eminescu", Leova erbu Cristina 9 Criuleni LT "B. Dnga" Criuleni ipitca Constantin 9 Anenii Noi LT "Gura Bcului" Smuc Alexandru 11 Ialoveni LT "Olymp", Costeti Solodchi Gabriel 12 Ocnia LT "M. Sadoveanu", Ocnia Stamati Daniela 10 Nisporeni LT "B. Cazacu", or. Nisporeni Starniciuc Mihai 9 Briceni coala Medie Balasineti Suhinin Alexandr 10 Taraclia LT Nr.2 Svistunov Sergiu 12 mun. Chiinu LT "A. Cantemir" ar Andrei 10 Rezina LT "Alexandru cel Bun" Temciuc Irina 10 Sngerei LT "M. Eminescu" Timofti Natalia 10 Ungheni LT "A. Pukin" nari Natalia 9 tefan Vod LT "I. Creang" sat. Copceac 96 iverenco Cezar 11 mun. Chiinu LT "Orizont" Tolocica Olga 12 Ungheni LT "A. Pukin" Tomacinshi Victor 11 Floreti LT "Frumuica" urcanu Clin 12 mun. Chiinu L.R.P.R. Ursan Roman 11 mun. Bli LT "D. Cantemir" Ursu Olesea 11 Basarabeasca LT "C. Stere", s. Abaclia Vacarov Viorel 11 Soroca LT "C. Stere" Vasilos Sergiu 10 mun. Chiinu L.R.P.R. Vzduan Andrei 9 Drochia LT "M.Eminescu" or. Drochia Verejan Vasile 9 Teleneti Gimnaziul "M. Eminescu" Vizir Ivan 11 mun. Chiinu Colegiul de Informatic Zacon Eugen 10 Leova LT "M. Eminescu", Leova Zbirnea Alexei 9 mun. Chiinu LT "Orizont"
97
Semnat pentru tipar 20.04.2008 Format 60x84 1/16. Coli editoriale 6,0. Coli de tipar 6,0.
Tipografia Academiei de Studii Economice din Moldova Chiinu 2005, Mitropolit Gavriil Bnulescu-Bodoni 59 Tel. 24-55-51