Sunteți pe pagina 1din 97

MINISTERUL EDUCAŢIEI AL REPUBLICII MOLODOVA

Academia de Studii Economice din Moldova

Olimpiada Republicană la
Informatică ediţia 2006

Chişinău 2006
Olimpiada Republicană la Informatică. Ediţia 2006. Chişinău:
Editura ASEM, 2006. – 96 p.
Lucrarea conţine problemele propuse la Olimpiada Republicană la
Informatică a elevilor, ediţia 2006, şi unele informaţii despre Academia de
Studii Economice din Moldova – gazda Olimpiadei. Pentru toate
problemele în lucrare sunt descrise şi soluţiile.
Materialele Olimpiadei pot fi de un real folos la studierea informaticii
atât elevilor, cât şi profesorilor de informatică, iar informaţiile despre
Academia de Studii Economice pot fi utile, de asemenea, elevilor, îndeosebi
absolvenţilor de şcoli şi licee din Republica Moldova.

Colegiul de redacţie:
Anatol Gremalschi, doctor habilitat, profesor universitar, UTM
Ion Bolun, doctor habilitat, profesor universitar, ASEM
Iurie Mocanu, Ministerul Educaţiei, Tineretului şi Sportului
Dumitru Codreanu, Universitatea Bucureşti
Constantin Dolghieru, Universitatea Politehnică, Bucureşti

Procesare:
Sergiu Corlat USM

 Editura ASEM

2
CUPRINS

Introducere
Instrucţiune........................................................................................7
1. Clasele 7 –9 Descrierea problemelor  Ziua 1..............................9
Cifru ............................................................................................10
Domenii........................................................................................13
Multiplii bitului.............................................................................18
Clasele 10 – 12 Descrierea problemelor  Ziua 1.........................21
Cifru ............................................................................................22
Meteo...........................................................................................25
Multiplii bitului.............................................................................30
2. Clasele 7 - 9 Descrierea problemelor  Ziua 2............................35
Corporaţia.....................................................................................36
Reţele de calculatoare....................................................................41
Matematica magică........................................................................46
Clasele 10 - 12 Descrierea problemelor  Ziua 2..........................50
Corporaţia.....................................................................................51
Şiruri............................................................................................56
Sticla............................................................................................60
3. Academia de Studii Economice din Moldova...................................69
3.1. Prezentarea generală a ASEM..................................................69
3.2. Facultatea Business şi Administrarea Afacerilor....................73
3.3. Facultatea Cibernetică, Statistică şi Informatică Economică
(www.csie.ase.md)...............................................................75
3.4. Facultatea Contabilitate..........................................................79
3.5. Facultatea Economie Generală şi Drept.....................................82
3.6. Facultatea Finanţe...................................................................84
3.7. Facultatea Relaţii Economice Internaţionale..............................87
4. Admiterea ASEM-2006.............................................................89
Anexă ............................................................................................91
Lista participanţilor la Olimpiada Republicană la Informatică a
elevilor, ediţia 2006.............................................................91

3
4
Dragi elevi,
Stimaţi profesori,

Olimpiada Republicană la Informatică este un eveniment


important nu numai pentru cei împătimiţi de acest frumos domeniu al
ştiinţei, dar şi pentru toţi elevii, părinţii, învăţătorii şi profesorii din
instituţiile şcolare ale Republicii Moldova. Afirmăm acest lucru din
simplul motiv că informatica a devenit o parte indispensabilă a vieţii
cotidiene, iar tehnica de calcul, mijloacele de comunicaţii,
programele de calculator reprezintă instrumente frecvent folosite
pentru soluţionarea problemelor din cele mai diverse domenii.

Nu ne putem imagina viaţa modernă fără utilizarea pe scară


largă a tehnologiilor informaţionale şi de comunicaţii. Nu ne putem
imagina viaţa modernă fără formarea unui corp de specialişti
calificaţi în domeniul informaticii, specialişti care ar fi în stare să
elaboreze noi echipamente computaţionale şi noi produse program.
Sîntem siguri, că majoritatea viitorilor specialişti în acest domeniu se
formează începînd cu studierea Informaticii în şcoală, iar rolul
Olimpiadei în descoperirea tinerelor talente este unul crucial.

În Republica Moldova prima Olimpiadă la Informatică a avut


loc cu peste cincisprezece ani în urmă. Pe parcursul acestor ani
ştiinţa calculatoarelor şi tehnologiile informaţionale s-au dezvoltat
foarte rapid, făcînd progrese impresionante. Astăzi limbajul de
programare este pentru elevii din şcolile şi liceele ţării noastre o a
doua limbă maternă, iar gîndirea algoritmică  un instrument de
cercetare şi cunoaştere a lumii înconjurătoare. Totuşi, în pofida
schimbului de generaţii, elevii care participă la Olimpiadă au rămas
cu acelaşi spirit de echipă, pasionaţi de calculatoare, receptivi pentru
tot ce este nou, deschişi pentru o competiţie onestă.

Realizările ştiinţifice şi tehnice de ultima oră au schimbat


radical modul de desfăşurare a Olimpiadei Republicane la
Informatică. Creşterea numărului de participanţi, nivelul înalt de
pregătire demonstrat de elevi, presupun implementarea celor mai noi
tehnologii de evaluare a lucrărilor elaborate de competitori,
5
selectarea unor probe ce au o legătură directă cu celelalte discipline
şcolare, în special cu cele din domeniul ştiinţelor socioumaniste.

În aceste condiţii, Consiliul Olimpic propune participanţilor


probleme care le-ar permite competitorilor să-şi manifeste
competenţele, să propună soluţii originale, să demonstreze o sinergie
a cunoştinţelor acumulate în procesul studierii tuturor disciplinelor
şcolare.

Dorim tuturor participanţilor la Olimpiadă noi succese şi


sperăm că experienţa acumulată în cadrul competiţiilor va fi de un
real folos pentru toate instituţiile de învăţămînt din ţara noastră.

În numele Consiliului Olimpic la Informatică,

Anatol Gremalschi,
doctor habilitat,
profesor universitar

6
Ministerul Educaţiei, Tineretului şi Sportului
al Republicii Moldova
Olimpiada Republicană la Informatică, Chişinău 2006

Instrucţiune

I. Fişiere şi directoare

I.1. După terminarea lucrului, participantul va transmite oficialului


numai fişierele sursă ale programelor, câte unul pentru fiecare problemă.

I.2. Fişierele sursă vor avea aceleaşi nume ca şi fişierele de


intrare/ieşire. De exemplu în cazul fişierelor de intrare/ieşire numite
SORTARE.IN şi SORTARE.OUT, fişierul sursă se va numi
SORTARE.PAS, SORTARE.C, sau SORTARE.CPP.

I.3. Fişierele sursă se vor afla într-un director cu numele format din
primele 7 litere ale numelui de familie, plus prima literă a numelui. De
exemplu pentru elevul Tudor Mărgineanu, directorul se va numi
MARGINET. Pentru elevul Tudor Roşu, directorul se va numi ROSUT.
Denumirile de directoare sînt indicate în fişa de înregistrare.

II. Intrări şi ieşiri

II.1. Programul va citi şi va scrie toate datele din fişierele text indicate,
cu excepţia cazurilor în care se indică altfel în enunţul problemei.

II.2. Fişierele de intrare/ieşire vor fi citite/scrise în catalogul curent,


evitându-se introducerea căilor absolute sau relative de acces. De
exemplu, în cazul limbajului Pascal şi a fişierului 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”).

7
II.3. Programul nu va scrie nimic pe ecran, nu va citi nimic de la
tastatura, nu va lucra cu alte fişiere, cu excepţia cazurilor în care se
indică altfel în enunţul problemei.

III. Limbaje de programare

III.1. Programul va utiliza numai mijloacele standard ale limbajului


respectiv, evitîndu-se includerea codului Asamblor, apelurilor de
întreruperi, scrierea în porturi, schimbarea timpului curent, scrierea
directă în memorie, apelul altor programe, funcţii ale sistemului de
operare şi altor posibilităţi nestandard. Este strict interzisa lansarea altor
procese, accesul la procesele care rulează in momentul execuţiei, cît si
accesul la alte fişiere decît cele indicate in enunţ.

III.2. Programul Pascal va utiliza numai unit-ul system care este


încărcat de compilator automat. Includerea altor unit-uri prin utilizarea
clausei uses este interzisă, cu excepţia cazurilor special prevăzute în
enunţul problemei.

III.3.Competitorilor le vor fi puse la dispoziţie fişierele C_PAS.BAT,


C_CPP.BAT care vor compila soluţiile cu exact aceleaşi opţiuni ca şi în
cadrul evaluării. Competitorii care doresc ca programele lor sa fie
compilate cu alte opţiuni decît cele folosite implicit de sistemul de
evaluare o vor putea face prin includerea lor in sursa programului,
folosind mijloacele prevăzute de limbajul respectiv: {$R-,B- ...}
in Pascal si #pragma in C/C++

IV. Alte restricţii

IV.1. Competitorul va lucra în mediul Windows oferit de organizatori,


utilizând programele DN sau Explorer din Windows, cit si a mediilor de
programare TP, TC. Utilizarea altor programe este interzisă.

IV.2. În cazul încălcării cerinţelor de mai sus, participantul poate fi


sancţionat cu anularea rezultatului pentru problema în cauză, pentru ziua
respectivă, sau cu înlăturarea de la competiţie.

8
Descrierea problemelor  Ziua 1

Clasele 7  9
Numărul
Denumirea Denumirea Denumirea
Denumirea de puncte
fişierului fişierului fişierului
problemei alocat
sursă de intrare de ieşire
problemei

CIFRU.PAS
Cifru 100 CIFRU.C CIFRU.IN CIFRU.OUT
CIFRU.CPP

DOMENII.PAS
Domenii 100 DOMENII.C DOMENII.IN DOMENII.OUT
DOMENII.CPP

MULT.PAS
Multiplii 100 MULT.C MULT.IN MULT.OUT
bitului MULT.CPP

Total 300 - - -

9
Cifru

Pentru a păstra secretul corespondenţii, Păcală a decis să


elaboreze un cifru. Fără a mai consulta literatura de specialitate, el a
propus ca cuvintele formate din literele mari ale alfabetului latin sa
fie reprezentate printr-un şir de cifre, obţinut prin înlocuirea fiecărei
litere prin numărul ei de ordine în alfabet: A  1, B  2, C  3, ..., Z 
26. De exemplu, în formă cifrată cuvîntul APA va fi reprezentat prin
şirul de cifre 1161.
Încercînd să descifreze mesajele primite, Tîndală a stabilit că
metoda respectivă nu este prea bună, întrucît unui singur şir de cifre îi
pot corespunde mai multe mesaje. De exemplu, şirul 1161 poate fi
descifrat în următoarele moduri:
1) 1161  (1)(1)(6)(1)  AAFA;
2) 1161  (11)(6)(1)  KFA;
3) 1161  (1)(16)(1)  APA.

Păcală nu a acceptat obiecţiile lui Tîndală, afirmînd că astfel de


cazuri se întîlnesc foarte rar. Pentru al convinge, Tîndală a decis să-i
prezinte argumente concrete.
Elaboraţi un program care, pentru şirul de cifre dat, calculează
numărul tuturor variantele posibile de descifrare.
Date de intrare.
Fişierul text CIFRU.IN conţine pe o singură linie un şir de
caractere ce reprezintă rezultatul cifrării unui cuvînt format din
literele mari ale alfabetului latin.
Date de ieşire.
Fişierul text CIFRU.OUT va conţine pe o singură linie un
număr întreg  numărul de variante posibile de descifrare a şirului de
cifre din fişierul de intrare.
Exemplu.
CIFRU.IN CIFRU.OUT
1161 3

10
Restricţii. Şirul din fişierul de intrare conţine cel mult 100 de
caractere. Se garantează că numărul variantelor posibile de descifrare
nu va depăşi valoarea . Timpul de execuţie nu va depăşi 0,5
secunde. Fişierul sursă va avea denumirea CIFRU.PAS, CIFRU.C
sau CIFRU.CPP.

Rezolvare

Prin vom nota numărul tuturor variantele posibile de


descifrare a unui şir de cifre de lungimea n. Prin definiţie, .
Întrucît pentru orice şir format dintr-o singură cifră există doar o
singură variantă de descifrare, .
Presupunem că parcurgînd primele cifre ale şirului din
fişierul de intrare, am calculat deja numărul de variante
posibile de descifrare. În funcţie de cifra care se afla pe poziţia n a
şirului de intrare, numărul al variantelor posibile de descifrare
se determină după cum urmează:
1) dacă pe poziţia n se află o cifră ce diferă de 0,
;
2) dacă cifrele de pe poziţiile şi n pot reprezenta o literă,
la numărul se adaugă şi numărul variantelor precedente
.
În programul ce urmează, valorile , şi
sînt reprezentate prin variabilele, respectiv, a, b şi c.

11
Program Cifru;
{ Clasele 7-9 }
var
S : string;
i : integer;
a, b, c : longint;
Intrare, Iesire : text;
begin
assign(Intrare,'CIFRU.IN');
reset(Intrare);
read(Intrare, S);
close(Intrare);
a:=1; b:=1;
for i:=2 to length(S) do
begin
c:=0;
if s[i]<>'0' then c:=b;
if (copy(S,i-1,2)>='10') and (copy(S,i-
1,2)<='26') then c:=c+a;
a:=b; b:=c
end;
assign(Iesire, 'CIFRU.OUT');
rewrite(Iesire);
writeln(Iesire, c);
close(Iesire);
end.

Întrucît calculele respective se efectuează printr-o singură


parcurgere a şirului din fişierul de intrare, timpul cerut de programul
Cifru va fi cu mult mai mic ca 0,5 secunde.

12
Domenii

Este cunoscut faptul că identificarea calculatoarelor în cadrul


reţelei Internet se face cu ajutorul adreselor numerice sau adreselor
simbolice. O adresă simbolică este formată din numele calculatorului
şi nume de domenii separate prin puncte:
<Adresă simbolică>::=<Nume calculator>.<Nume domeniu>{.<Nume domeniu>}

Se consideră că numele de calculatoare şi numele de domenii


reprezintă şiruri de caractere formate din literele mici ale alfabetului
latin. În dependenţă de configuraţia reţelei, unul şi acelaşi nume de
domeniu poate să apară în adrese simbolice distincte.
Exemple:
minister.edu.md
orhei.edu.md
primarie.soroca.md

Pentru a simplifica navigarea prin Internet, un elev ingenios


memorează lista adresele simbolice ale calculatoarelor vizitate într-un
fişier text. Imediat cum accesează un calculator din Internet, elevul
adaugă la sfîrşitul listei adresa respectivă. Evident, una şi aceeaşi
adresă simbolică poate să apară în listă de mai multe ori, în
dependenţă de ordinea în care au fost vizitate calculatoarele
respective.
Elaboraţi un program care determină numărul de vizite ale
fiecărui domeniu.
Date de intrare.
Fişierul text DOMENII.IN conţine pe fiecare linie cîte un şir
de caractere ce reprezintă o adresa simbolică. Adresele simbolice sînt
înscrise în fişierul de intrare în ordinea accesării calculatoarelor
respective.
Date de ieşire.
Fiecare linie a fişierul text DOMENII.OUT va conţine un nume
de domeniu şi numărul de vizite ale acestuia, separate prin spaţiu.
Ordinea de apariţie a numelor de domenii în fişierul de ieşire este

13
arbitrară. Fiecare domeniu va fi scris în fişierul de ieşire doar o
singură dată.
Exemplu.
DOMENII.IN DOMENII.OUT
minister.edu.md edu 3
orhei.edu.md md 4
primarie.soroca.md soroca 1
automobile.com com 1
minister.edu.md

Restricţii. O adresă simbolică conţine cel mult 250 de


caractere. Un nume de domeniu este format din cel mult 10 caractere.
Numărul de domenii distincte este mai mic sau egal cu 100. Fişierul
de intrare conţine cel mult 100 linii. Timpul de execuţie nu va depăşi
0,5 secunde. Fişierul sursă va avea denumirea DOMENII.PAS,
DOMENII.C sau DOMENII.CPP.

14
Rezolvare

Problema poate fi rezolvată printr-o singură parcurgere a


fişierului de intrare. În programul ce urmează domeniile vizitate sînt
memorate în tabloul DomeniiVizitate, iar numărul de vizite  în
tabloul NumarVizite.

Program Domenii;
var
AdresaSimbolica : string;
Domeniu : string[10];
DomeniiVizitate : array[1..1000] of string[10];
NumarVizite : array[1..1000] of longint;
n : integer; { numarul curent de domenii }
Intrare, Iesire : text;

procedure Scrie;
var
i : integer;
begin
assign(Iesire, 'DOMENII.OUT');
rewrite(Iesire);
for i:=1 to n do
writeln(Iesire, DomeniiVizitate[i], ' ',
NumarVizite[i]);
close(Iesire);
end; { scrie }

procedure ContabilizareDomeniu;
var
i : integer;
p : boolean;
begin
{ verificam daca Domeniu este deja inclus in
DomeniiVizitate }
p:=false;
for i:=1 to n do
if Domeniu=DomeniiVizitate[i] then

15
begin
p:=true;
NumarVizite[i]:=NumarVizite[i]+1;
end; { then }
{ daca nu, includem Domeniu in DomeniiVizitate }
if p=false then
begin
n:=n+1;
DomeniiVizitate[n]:=Domeniu;
NumarVizite[n]:=1;
end; { then }
end; { ContabilzareDomenii }

procedure ExtrageDomenii;
var
i : integer;
{ pozitia caracterului in AdresaSimbolica }
begin
{ sarim peste numele de calculator }
i:=1;
while (AdresaSimbolica[i] <> '.') do i:=i+1;
i:=i+1;
{ extragem cite un nume de domeniu }
while (i < length(AdresaSimbolica)) do
begin
Domeniu:='';
repeat
Domeniu:=Domeniu+AdresaSimbolica[i];
i:=i+1;
until (AdresaSimbolica[i] = '.');
ContabilizareDomeniu;
i:=i+1;
end; { while }
end; { ExtrageDomenii }

procedure NumaraVizitele;
begin
assign(Intrare, 'DOMENII.IN');
reset(Intrare);
n:=0;
while not eof(Intrare) do

16
begin
readln(Intrare, AdresaSimbolica);
{ pentru a simplifica extragerea ultimului
nume de domeniu }
{ adaugam la sfirsitul adresei simbolul '.' }
AdresaSimbolica:=AdresaSimbolica + '.';
ExtrageDomenii;
end; { while }
close(Intrare);
end; { NumaraVizitele }

begin
NumaraVizitele;
Scrie;
end.

Din analiza textului programului Domenii se observă că


elementele tabloului DomeniiVizitate vor fi accesate de cel
mult ori, unde m este numărul total de domenii din fişierul de
intrare, iar n este numărul de domenii distincte. Conform restricţiilor
problemei, , iar

Prin urmare, numărul de operaţii cerute de algoritm este de ordinul


, iar timpul de execuţie nu va depăşi 0,5 secunde.

17
Multiplii bitului

La sfîrşitul secolului XVIII, odată cu trecerea la sistemul


metric, au început să fie folosite prefixele Kilo (103) şi Mega (106).
Prin tradiţie, astfel de prefixe se utilizează şi pentru formarea
multiplilor unui bit:
1 Kilobit (Kbit) = 210 = 1024 biţi;
1 Megabit (Mbit) = 220 = 1048576 biţi.
Evident, utilizarea multiplilor unui bit permite scrierea mai
compactă a numerelor ce reprezintă cantităţi mari de informaţie. De
exemplu, 3 Mbit = 3145728 bit.
Elaboraţi un program care reprezintă în biţi cantităţile de
informaţie, scrise cu ajutorul multiplilor Kbit şi Mbit.
Date de intrare.
Fişierul text MULT.IN conţine pe o singură linie cantitatea de
informaţie scrisă în forma:
<Număr> <Multiplu>
unde <Număr> este un număr natural, iar <Multiplu> − unul din
cuvintele Kbit, Mbit.
Date de ieşire.
Fişierul text MULT.OUT va conţine pe o singură linie un număr
întreg ce exprimă în biţi cantitatea de informaţie indicată în fişierul de
intrare.
Exemplu.
MULT.IN MULT.OUT
3 Mbit 3145728

Restricţii. Numărul natural din fişierul de intrare este mai mic


sau egal cu 103. Timpul de execuţie nu va depăşi 0,5 secunde. Fişierul
sursă va avea denumirea MULT.PAS, MULT.C sau MULT.CPP.

18
Rezolvare

Din enunţul problemei rezultă că numerele naturale ce reprezintă


în biţi cantităţile de informaţie, scrise cu ajutorul multiplilor Kbit şi
Mbit, vor fi de ordinul . Evident, tipul de date
integer nu permite reprezentarea şi prelucrarea directă a acestor
numere. Pentru a evita erorile de depăşire, în programul ce urmează
variabilele ce reprezintă numerele respective aparţin tipului de date
longint.

Program Multipli;
{ Clasele 7-9 }
const Kbit=1024;
Mbit=1048576;
var Numar, Biti : longint;
Multiplu : string;
Intrare, Iesire : text;

procedure Citire;
var Spatiu : char; { spatiul ce separa
numarul si multiplul }
begin
assign(Intrare, 'MULT.IN');
reset(Intrare);
read(Intrare, Numar);
read(Intrare, Spatiu);
read(Intrare, Multiplu);
close(Intrare);
end; { Citire }

procedure Scrie;
begin
assign(Iesire, 'MULT.OUT');
rewrite(Iesire);
writeln(Iesire, Biti);
close(Iesire);
end; { Scrie }

19
procedure Transforma;
begin
if Multiplu='Kbit' then Biti:=Numar*Kbit;
if Multiplu='Mbit' then Biti:=Numar*Mbit;
end; { Transforma }

begin
Citire;
Transforma;
Scrie;
end.

20
Descrierea problemelor  Ziua 1

Clasele 10  12
Numărul
Denumirea Denumirea Denumirea
Denumirea de puncte
fişierului fişierului fişierului
problemei alocat
sursă de intrare de ieşire
problemei

CIFRU.PAS
Cifru 100 CIFRU.C CIFRU.IN CIFRU.OUT
CIFRU.CPP

METEO.PAS
Meteo 100 METEO.C METEO.IN METEO.OUT
METEO.CPP

MULT.PAS
Multiplii 100 MULT.C MULT.IN MULT.OUT
bitului MULT.CPP

Total 300 - - -

21
Cifru

Pentru a păstra secretul corespondenţii, Păcală a decis să


elaboreze un cifru. Fără a mai consulta literatura de specialitate, el a
propus ca cuvintele formate din literele mari ale alfabetului latin sa
fie reprezentate printr-un şir de cifre, obţinut prin înlocuirea fiecărei
litere prin numărul ei de ordine în alfabet: A  1, B  2, C  3, ..., Z 
26. De exemplu, în formă cifrată cuvîntul APA va fi reprezentat prin
şirul de cifre 1161.
Încercînd să descifreze mesajele primite, Tîndală a stabilit că
metoda respectivă nu este prea bună, întrucît unui singur şir de cifre îi
pot corespunde mai multe mesaje. De exemplu, şirul 1161 poate fi
descifrat în următoarele moduri:
1) 1161  (1)(1)(6)(1)  AAFA;
2) 1161  (11)(6)(1)  KFA;
3) 1161  (1)(16)(1)  APA.
Păcală nu a acceptat obiecţiile lui Tîndală, afirmînd că astfel de
cazuri se întîlnesc foarte rar. Pentru al convinge, Tîndală a decis să-i
prezinte argumente concrete.
Elaboraţi un program care, pentru şirul de cifre dat, calculează
numărul tuturor variantele posibile de descifrare.
Date de intrare.
Fişierul text CIFRU.IN conţine pe o singură linie un şir de
caractere ce reprezintă rezultatul cifrării unui cuvînt format din
literele mari ale alfabetului latin.
Date de ieşire.
Fişierul text CIFRU.OUT va conţine pe o singură linie un
număr întreg  numărul de variante posibile de descifrare a şirului de
cifre din fişierul de intrare.
Exemplu.
CIFRU.IN CIFRU.OUT
1161 3

22
Restricţii. Şirul din fişierul de intrare conţine cel mult 1000 de
caractere. Se garantează că numărul variantelor posibile de descifrare
nu va depăşi valoarea . Timpul de execuţie nu va depăşi 0,05
secunde. Fişierul sursă va avea denumirea CIFRU.PAS, CIFRU.C
sau CIFRU.CPP.

Rezolvare

Prin vom nota numărul tuturor variantele posibile de


descifrare a unui şir de cifre de lungimea n. Prin definiţie, .
Întrucît pentru orice şir format dintr-o singură cifră există doar o
singură variantă de descifrare, .
Presupunem că parcurgînd primele cifre ale şirului din
fişierul de intrare, am calculat deja numărul de variante
posibile de descifrare. În funcţie de cifra care se afla pe poziţia n a
şirului de intrare, numărul al variantelor posibile de descifrare
se determină după cum urmează:
1) dacă pe poziţia n se află o cifră ce diferă de 0,
;
2) dacă cifrele de pe poziţiile şi n pot reprezenta o literă,
la numărul se adaugă şi numărul variantelor precedente
.
În programul ce urmează, valorile , şi
sînt reprezentate prin variabilele, respectiv, a, b şi c.

23
Program Cifru;
{ Clasele 10-12 }
var
S : string;
s1, s2 : char;
i : integer;
a, b, c : longint;
Intrare, Iesire : text;
begin
assign(Intrare,'CIFRU.IN');
reset(Intrare);
read(Intrare, s1);
a:=1; b:=1;
while not eof(Intrare) do
begin
read(Intrare, s2);
S:=s1+s2;
c:=0;
if s2<>'0' then c:=b;
if (S>='10') and (S<='26') then c:=c+a;
a:=b; b:=c; s1:=s2
end;
close(Intrare);
assign(Iesire,'CIFRU.OUT');
rewrite(Iesire);
writeln(Iesire, c);
close(Iesire);
end.

Întrucît calculele respective se efectuează printr-o singură


parcurgere a şirului din fişierul de intrare, timpul cerut de programul
Cifru va fi mai mic ca 0,05 secunde.

24
Meteo

In ţara Linustan temperatura reprezintă o mărime fizică exprimată


prin numere întregi din intervalul [1..65000]. Serviciul meteo al acestei
ţări a înregistrat temperaturile din ultimele n zile în forma unui şir de
numere , unde reprezintă temperatura din
ziua i.
Serviciul meteo al Linustanului primeşte foarte des întrebări de
tipul „Care a fost temperatura minimă în intervalul de timp ce începe cu
ziua a şi se termină cu ziua b?”.
Deoarece serviciul este copleşit de astfel de întrebări, scrieţi un
program care va calcula temperatura minimă din şirul de numere
.
Date de intrare.
Fişierul text METEO.IN conţine pe prima linie numărul întreg n.
Linia a doua a fişierului de intrare conţine numerele întregi pozitive
separate prin spaţiu. Linia a treia a fişierului de
intrare conţine numărul întreg m  numărul de întrebări adresate
serviciului meteo. Fiecare din următoarele m linii ale fişierului de intrare
conţine cîte două numere întregi a, b separate prin spaţiu.
Date de ieşire.
Fişierul text METEO.OUT va conţine m linii. Pe linia j a fişierului
de ieşire se va scrie temperatura minimă pentru intervalul de timp definit
prin numerele a, b de pe linia a fişierului de intrare.
Exemplu.
METEO.IN METEO.OUT
10 1
1 8 3 6 2 3 5 7 3 2
9 2
3
1 10
3 5
4 7

25
Restricţii. ; ,
; ; . Timpul de
execuţie nu va depăşi 0,6 secunde. Fişierul sursă va avea denumirea
METEO.PAS, METEO.C sau METEO.CPP.

Rezolvare

Din restricţiile problemei se observă că o rezolvare naivă, şi


anume, parcurgerea şirului pentru fiecare întrebare
adresată serviciului meteo va depăşi limitele temporale impuse.
Pentru a micşora timpul de calcul, vom pregăti unele informaţii
suplimentare, care vor fi folosite pentru a găsi mai repede răspunsuri
la întrebările din enunţul problemei. În acest scop introducem în
studiu tabloul D care are rînduri şi n coloane. Elementul
al acestui tablou este egal cu minimul dintre valorile înregistrate
în intervalul de timp care începe cu ziua j şi are durata de zile.
Elementele tabloului D au următoarele proprietăţi:
1) ;
2) sau, prin alte cuvinte,
minimul dintr-un interval de timp este egal cu minimul
dintre minimele celor două semiintervale de timp.
Aceste proprietăţi pot fi folosite pentru a calcula toate elementele
tabloului D, începînd cu cele din rîndul . Evident,
complexitatea temporală a algoritmului de calcul a tabloului D va fi
.
Pentru a calcula minimul din intervalul , vom

observa că acest interval este format din două subintervale, eventual,


cu intersecţie nevidă, de lungime , unde , l
reprezentînd durata intervalului de timp, adică . Prin
urmare,

26
Întrucît tabloul D este mai mare decît 64 Kocteţi, în programul ce
urmează el este implementat ca un tablou unidimensional de linii
alocate dinamic.

Program Meteo;
const maxn = 10000;
type TLinie = array[1..maxn] of word;
PLinie = ^TLinie;
TLinieShort = array[1..maxn] of shortint;
PLinieShort = ^TLinieShort;
var v : TLinie; {datele meteo}
d : array[0..14] of PLinie; {13<log 10000<14}
logl : TLinieShort;
n : integer;
i, nq : longint;
a, b : integer;
Intrare, Iesire : text;

function min(a, b : word) : word;


begin
if a<b then min:=a else min:=b;
end; { min }

procedure CalcMatrice;
var i, j, k : integer;
log2 : TLinieShort;
begin
log2[1]:=0;
for i:=2 to maxn do
begin
log2[i]:=1+log2[i div 2];
logl[i]:=log2[i]-1;
if (1 shl logl[i])<i then inc(logl[i]);
end;

for i:=1 to logl[n] do


getmem(d[i],2*n+4);

d[0]:=@v;
for i:=1 to logl[n] do
for j:=1 to n do
begin

27
k:=j+1 shl (i-1);
if k<=n then
d[i]^[j]:=min(d[i-1]^[j],d[i-1]^[j+1 shl (i-1)]);
end;
end; { CalcMatrice }

function CalcMinim(a, b : integer) : word;


{calculeaza minimul din intervalul a..b}
var lung : integer; {lungimea segmentului din care
dorim sa extragem minimul}
ll : integer; {logaritm din lungime}
n1, n2 : word;
begin
lung:=b+1-a;
if lung=1 then
begin
{caz particular, segmentul e de lungime unitara}
CalcMinim:=d[0]^[a];
end else
begin
ll:=logl[lung];
n1:=d[ll]^[a];{minimul din primul semisegment}
n2:=d[ll]^[b-1 shl ll+1];
{din din cel de-al doilea semisegment}
CalcMinim:=min(n1,n2);
end;
end;

begin
assign(Intrare,'METEO.IN');
reset(Intrare);
readln(Intrare,n);
for i:=1 to n do read(Intrare,v[i]);
CalcMatrice;
readln(Intrare,nq);

assign(Iesire,'METEO.OUT');
rewrite(Iesire);

for i:=1 to nq do

28
begin
readln(Intrare,a,b);
writeln(Iesire,CalcMinim(a,b));
end;
close(Intrare);
close(Iesire);
end.

Din analiza textului programului Meteo se observă că timpul cerut


de algoritm este . Evident, în cazul restricţiilor din
enunţul problemei, timpul de execuţie va fi mai mic de 0,6 secunde.

29
Multiplii bitului

La sfîrşitul secolului XVIII, odată cu trecerea la sistemul


metric, au început să fie folosite prefixele Kilo (103) şi Mega (106). În
secolul XX, şirul de prefixe a fost continuat cu Giga (109), Tera
(1012), Peta (1015) şi Exa (1018). Acest proces continua şi în prezent,
drept dovadă servind apariţia prefixelor Zetta (1021) şi Yotta (1024).
Prin tradiţie, astfel de prefixe se utilizează şi pentru formarea
multiplilor unui bit:
1 Kilobit (Kbit) = 210 = 1024 biţi;
1 Megabit (Mbit) = 220 = 1048576 biţi;
1 Gigabit (Gbit) = 230biţi;
1 Terabit (Tbit) = 240 biţi;
1 Petabit (Pbit) = 250 biţi;
1 Exabit (Ebit) = 260biţi;
1 Zettabit (Zbit) = 270biţi;
1 Yottabit (Ybit) = 280biţi.
Evident, utilizarea multiplilor unui bit permite scrierea mai
compactă a numerelor ce reprezintă cantitaţi mari de informaţie. De
exemplu, 3 Mbit = 3145728 bit.
Elaboraţi un program care reprezintă în biţi cantităţile de
informaţie, scrise cu ajutorul multiplilor Kbit, Mbit, ..., Ybit.
Date de intrare.
Fişierul text MULT.IN conţine pe o singură linie cantitatea de
informaţie scrisă în forma:
<Număr> <Multiplu>
unde <Număr> este un număr natural, iar <Multiplu> − unul din
cuvintele Kbit, Mbit, Gbit, Tbit, Pbit, Ebit, Zbit, Ybit.
Date de ieşire.
Fişierul text MULT.OUT va conţine pe o singură linie un număr
întreg ce reprezintă în biţi cantitatea de informaţie indicată în fişierul
de intrare. Numărul respectiv va fi scris fără zerouri nesemnificative.

30
Exemplu.
MULT.IN MULT.OUT
3 Mbit 3145728

Restricţii. Numărul natural din fişierul de intrare este mai mic


sau egal cu 109. Timpul de execuţie nu va depăşi 0,05 secunde.
Fişierul sursă va avea denumirea MULT.PAS, MULT.C sau
MULT.CPP.

Rezolvare

Din enunţul problemei rezultă că numerele naturale ce reprezintă


în biţi cantităţile de informaţie, scrise cu ajutorul multiplilor Kbit,
Mbit, ..., Ybit, vor fi de ordinul . Evident, tipurile de
date integer şi longint nu permit reprezentarea şi prelucrarea
directă a acestor numere. Prin urmare, vom defini un tip nou de date,
denumit NumarMare, care ne va permite să prelucrăm numerele
naturale ce conţin pînă la 40 de cifre zecimale. În programul ce
urmează, adunarea, înmulţirea şi ridicarea la putere a numerelor mari
se realizează cu ajutorul procedurilor, respectiv, Suma, Produsul şi
Putere.

Program Multipli;
{ Clasele 10-12 }

const NumarPozitii=40;

type Cifra=0..9;
NumarMare=array[1..NumarPozitii] of Cifra;

var Numar, Biti : NumarMare;


Multiplu : string;
Intrare, Iesire : text;

procedure Citire;
var i : integer;
n : longint;

31
{ numarul natural din fisierul de intrare }
Spatiu : char;
{ spatiul ce separa numarul si multiplul }
begin
assign(Intrare, 'MULT.IN');
reset(Intrare);
read(Intrare, n);
{transformam numarul n din longint in NumarMare}
for i:=NumarPozitii downto 1 do
begin
Numar[i]:=(n mod 10);
n:=(n div 10);
end; { for }
read(Intrare, Spatiu);
read(Intrare, Multiplu);
close(Intrare);
end; { Citire }

procedure Scrie;
var i : integer; p : boolean;
begin
assign(Iesire, 'MULT.OUT');
rewrite(Iesire);
{ verificam daca numarul Biti este egal cu zero }
p:=false;
for i:= 1 to NumarPozitii do
if Biti[i]<>0 then p:=true;
if not p then write(0)
else
begin
{ nu scriem zerourile nesemnificative }
i:=1;

while Biti[i]=0 do i:=i+1;


repeat
write(Iesire, Biti[i]);
i:=i+1;
until i>NumarPozitii;
end; { else }
writeln(Iesire);
close(Iesire);
end; { Scrie }

32
procedure Suma
(A, B : NumarMare; var C : NumarMare);
{ Returneaza C=A+B }
var i : integer;
s : integer; { suma cifrelor din pozitia i }
t : integer; { transportul }
begin
t:=0;
for i:=NumarPozitii downto 1 do
begin
s:=t+A[i]+B[i];
C[i]:=(s mod 10);
t:=(s div 10);
end; { for }
end; { Suma }

procedure InmultireCuCifra
(A : NumarMare; q : Cifra; var C : NumarMare);
{ Returneaza in C numarul A inmultit cu cifra q }
var i : integer;
p : integer; { produsul pentru pozitia i }
t : integer; { transportul }
begin
t:=0;
for i:=NumarPozitii downto 1 do
begin
p:=t+A[i]*q;
C[i]:=(p mod 10);
t:=(p div 10);
end; { for }
end; { InmultireCuCifra }

procedure Produsul
(A, B : NumarMare; var C : NumarMare);
{ Returneaza C=A*B }
var i, j : integer;
P : NumarMare; { produsul partial A*B[i] }
begin;
{ initial atribuim lui C valoarea 0 }
for j:=1 to NumarPozitii do C[j]:=0;
for i:=NumarPozitii downto 1 do
begin

33
InmultireCuCifra(A, B[i], P);
Suma(C, P, C);
{ deplasam numarul A la stinga cu o pozitie}
for j:=1 to NumarPozitii-1 do A[j]:=A[j+1];
A[NumarPozitii]:=0;
end; { for }
end; { Produsul }

procedure Putere
(A : NumarMare; q : integer; var B : NumarMare);
{ Returneaza A la puterea q }
var i : integer;
begin
{ initial atrubuim lui B valoarea 1 }
for i:=1 to NumarPozitii do B[i]:=0;
B[NumarPozitii]:=1;
for i:=1 to q do Produsul(B, A, B);
end; { Putere }

procedure Transforma;
var A, B : NumarMare; i : integer;
begin
{ atribuim lui A valoarea 2 }
for i:=1 to NumarPozitii do A[i]:=0;
A[NumarPozitii]:=2;
if Multiplu='Kbit' then Putere(A, 10, B);
if Multiplu='Mbit' then Putere(A, 20, B);
if Multiplu='Gbit' then Putere(A, 30, B);
if Multiplu='Tbit' then Putere(A, 40, B);
if Multiplu='Pbit' then Putere(A, 50, B);
if Multiplu='Ebit' then Putere(A, 60, B);
if Multiplu='Zbit' then Putere(A, 70, B);
if Multiplu='Ybit' then Putere(A, 80, B);
Produsul(B, Numar, Biti);
end; { Transforma }

begin
Citire;
Transforma;
Scrie;
end.

34
Descrierea problemelor  Ziua 2

Clasele 7  9
Numărul
Denumirea Denumirea Denumirea
Denumirea de puncte
fişierului fişierului fişierului
problemei alocat
sursă de intrare de ieşire
problemei

CORP.PAS
Corporaţia 100 CORP.C CORP.IN CORP.OUT
CORP.CPP

RETELE.PAS
Reţele de 100 RETELE.C RETELE.IN RETELE.OUT
calculatoare RETELE.CPP

MAGIC.PAS
Matematica 100 MAGIC.C MAGIC.IN MAGIC.OUT
magică MAGIC.CPP

Total 300 - - -

35
Corporaţia

Structura organizatorică a unei corporaţii este concepută în aşa


mod încît fiecare angajat, cu excepţia unora din ei, are în subordine
unul sau mai mulţi angajaţi. Aceştea, la rîndul lor, pot avea şi ei în
subordine alţi angajaţi. Angajaţii care au subalterni se numesc şefi, iar
cei care nu au  se numesc angajaţi simpli.
Corporaţia este condusă de un preşedinte, care are în subordine
fie direct, fie prin intermediul structurii ierarhice, toţi angajaţii
companiei. Fiecare angajat, cu excepţia preşedintelui, are un şef
direct.
Angajaţii corporaţiei sînt numerotaţi cu numere individuale de
la 1 la k.
Pentru exemplificare, pe desenul de mai jos este prezentată
structura unei corporaţii ce are 4 angajaţi.
Angajatul numărul 3 este preşedintele
corporaţiei şi şeful direct al angajaţilor 1 şi 4.
Angajatul numărul 4 este şeful direct al
angajatului numărul 2. Angajaţii 1 şi 2 sînt
angajaţi simpli.
În ajunul unei sărbători preşedintele corporaţiei
a decis să transmită fiecărui angajat simplu cîte
o scrisoare de mulţumire. Scrisorile respective
au fost transmise prin intermediul şefilor,
folosindu-se în acest scop site-ul corporaţiei.
Fiecare angajat simplu a primit scrisoarea de mulţumire, iar pe site au
rămas înregistrate anumite informaţii despre drumurile parcurse de
fiecare scrisoare de la preşedinte la angajatul respectiv.
Scrieţi un program care, cunoscînd informaţiile de pe site,
reconstituie structura corporaţiei.
Date de intrare.
Fişierul text CORP.IN conţine pe o singură linie informaţiile
de pe site  un şir de numere întregi separate prin spaţiu ce reprezintă
drumurile parcurse de scrisorile de la preşedinte către fiecare angajat
simplu. Fiecare drum este redat prin numerele angajaţilor respectivi
în ordinea în care ei transmit scrisorile de mulţumire. De exemplu, în
cazul corporaţiei de pe desenul de mai sus, există două drumuri: 3-4-2

36
şi 3-1, iar pe site va fi înregistrat şirul 3 4 2 3 1. Se garantează că
datele din fişierul de intrare sînt corecte sau, prin alte cuvinte,
corporaţia respectivă există.
Date de ieşire.
Fişierul text CORP.OUT va conţine k linii. Linia i va conţine în
ordine crescătoare, separate prin spaţiu, numerele subalternilor direcţi
ai angajatului cu numărul i. Sfîrşitul şirului de numere se indică prin
înscrierea numărului 0. Dacă există mai multe soluţii, se va indica
numai una din ele.
Exemplu.
CORP.IN CORP.OUT
3 4 2 3 1 0
0
1 4 0
2 0

Restricţii. . Timpul de execuţie nu va depăşi o


secundă. Fişierul sursă va avea denumirea CORP.PAS, CORP.C sau
CORP.CPP.

37
Rezolvare

Vom nota şirul de numere din fişierul de intrare prin ,


, ..., , , ... . Din enunţul problemei rezultă că numărul
reprezintă preşedintele corporaţiei. Evident, pentru orice
, în cazul în care , numărul
reprezintă subalternul direct al angajatului .
Pentru a găsi toţi subalternii direcţi ai fiecărui angajat
parcurgem o singură dată şirul , , ..., , , ..., din
fişierul de intrare şi memorăm într-un tablou toate perechile distincte
de tipul , . În continuare, ordonăm perechile
respective mai întîi în ordinea crescătoare a numerelor şi,
ulterior, a numerelor .
În sfîrşit, parcurgînd o singură dată tabloul ce conţine perechile
, scriem în fişierul de ieşire subalternii direcţi ai fiecărui
angajat .

Program Corporatia;
{ Clasele 7-9 }
var
i, j, n, a, b, c, k : integer;
r : array [1..500,1..2] of integer;
t : boolean;
Intrare, Iesire : text;
begin
assign(Intrare,'CORP.IN'); reset(Intrare);
assign(Iesire, 'CORP.OUT'); rewrite(Iesire);
read(Intrare, a); b:=a; k:=a;
n:=0;
{ formarea perechilor }
while not eof(Intrare) do
begin
read(Intrare, c); if c>k then k:=c;
if c=a then b:=a else
begin
t:=false;
for i:=1 to n do

38
t:=t or (r[i,1]=b) and (r[i,2]=c);
if not t then
begin
{ am gasit o pereche noua }
n:=n+1;
r[n,1]:=b;
r[n,2]:=c;
end;
b:=c
end
end;
close(Intrare);
{ sortarea perechilor }
for i:=1 to n-1 do
for j:=1 to n-1 do
if r[j+1,1]<r[j,1] then
begin
a:=r[j+1,1]; r[j+1,1]:=r[j,1]; r[j,1]:=a;
a:=r[j+1,2]; r[j+1,2]:=r[j,2]; r[j,2]:=a;
end else
if r[j+1,1]=r[j,1] then
if r[j+1,2]<r[j,2] then
begin
a:=r[j+1,1]; r[j+1,1]:=r[j,1]; r[j,1]:=a;
a:=r[j+1,2]; r[j+1,2]:=r[j,2]; r[j,2]:=a;
end;
{ scrierea rezultatelor }
a:=1; i:=1;
while a<=k do
begin
if r[i,1]=a then begin write(Iesire, r[i,2],'
'); i:=i+1 end
else begin write(Iesire, 0); if a<k
then writeln(Iesire); a:=a+1 end;
end;
close(Iesire);
end.

Din analiza textului programului Corporatia se observă, că


citirea datelor de intrare şi formarea tabloului ce conţine perechile
distincte necesită cca operaţii, unde m este numărul de perechi

39
de angajaţi citite din fişier, iar n  numărul de perechi distincte.
Întrucît în arborele în studiu , unde k este numărul
angajaţilor, iar , timpul cerut de algoritm va fi proporţional
cu . Evident, pentru timpul de execuţie va fi mai
mic ca o secundă.

40
Reţele de calculatoare

Se consideră n calculatoare C1, C2, ,..., Cn, reunite într-o reţea


de topologie distribuită (Fig. 1).
Structura de comunicaţie a reţelei este formată din linii
bidirecţionale de transmisie a informaţiei. Fiecare linie asigură
comunicarea directă între
perechile de calculatoare
adiacente.
În absenţa unei linii
directe între calculatoarele
Ca, Cb ;
; ,
schimbul de informaţii
între ele se realizează prin
intermediul altor
calculatoare, cu ajutorul
Fig. 1 cărora se formează canale
de comunicare. Mai exact,
un canal de comunicare între calculatoarele Ca, Cb reprezintă o
succesiune de calculatoare distincte (Ca, Ck, Cl, ..., Cm, Cb), cu
proprietatea că între calculatoarele vecine (Ca, Ck), (Ck, Cl), ..., (Cm,
Cb) există cîte o linie directă de transmisie a informaţiei.
Prin definiţie, lungimea canalului de comunicare (Ca, Ck, Cl, ...,
Cm, Cb) este egală cu numărul liniilor directe de transmisie a
informaţiei (Ca, Ck), (Ck, Cl), ..., (Cm, Cb) ce formează canalul
respectiv.
În cazul topologiilor distribuite, între calculatoarele Ca, Cb pot
exista mai multe canale de comunicare. Elaboraţi un program care
determină lungimea celui mai scurt canal de comunicare între
calculatoarele Ca, Cb.
Date de intrare. Fişierul text RETELE.IN conţine pe prima
linie numărul întreg n. Fiecare din următoarele n linii ale fişierului de
intrare conţine numere întregi separate prin spaţiu. Linia i+1 a
fişierului de intrare conţine numerele întregi ce reprezintă
calculatoarele care sînt legate prin linii directe cu calculatorul Ci.

41
Ultima linie a fişierului de intrare conţine numerele naturale Ca, Cb
separate prin spaţiu.
Date de ieşire. Fişierul text RETELE.OUT va conţine pe o
singură linie numărul întreg q  lungimea celui mai scurt canal de
comunicare între calculatoarele Ca, Cb.
Exemplu.
RETELE.IN RETELE.OUT
6 2
3 4 2
1 5 6
1 4
1 3 5 6
2 4 6
4 2 5
1 6

Restricţii. ; ; . Timpul
de execuţie nu va depăşi 0,5 secunde. Fişierul sursă va avea
denumirea RETELE.PAS, RETELE.C sau RETELE.CPP.

Rezolvare

Pentru a determina lungimea celui mai scurt canal de


comunicare între calculatoarele Ca, Cb vom folosi metoda propagării
undei numerice, cunoscută în literatura de specialitate ca algoritmul
lui Lee. Introducem în studiu tabloul , unde zi reprezintă
lungimea celui mai scurt canal de comunicare de la calculatorul Ca la
calculatorul Ci. Iniţial, calculatoarele la care încă nu a ajuns unda
numerică, vor fi marcate în tabloul Z printr-o valoare negativă, de
exemplu, „1”. Evident,
În continuare propagăm prin liniile de transmisie a informaţiei
o undă numerică L, unde L ia consecutiv valorile 0, 1, 2, 3 ş.a.m.d.
Pentru aceasta parcurgem iterativ tabloul Z şi atribuim valoarea L+1
elementelor ce corespund calculatoarelor, vecine cu calculatorul
în care a ajuns unda numerică L. Procesul iterativ se termină în

42
momentul cînd unda numerică ajunge la calculatorul Cb. Pentru
exemplificare, în Fig. 2 sînt prezentate valorile tabloului Z pentru
reţeaua din enunţul problemei.

1 2 3 4 5 6
Tab lo ul
in iţia l      

1 2 3 4 5 6
L=0      

1 2 3 4 5 6
L=1      

1 2 3 4 5 6
L=2      

Fig. 2

În programul ce urmează reţeaua de calculatoare este


reprezentată prin tabloul . Elementul rij al acestui tablou
are valoarea 1 dacă între calculatoarele Ci, Cj există o linie directă de
transmisie a informaţiei şi 0 în caz contrar.

Program Retele;
const nmax = 100;
var n, a, b, q : integer;
R : array[1..nmax, 1..nmax] of integer;
Z : array[1..nmax] of integer;
Intrare, Iesire : text;

procedure Citeste;
var I, j : integer;
begin
assign(Intrare, 'RETELE.IN');
reset(Intrare);

43
readln(Intrare, n);
for i:=1 to n do
for j:=1 to n do R[i, j]:=0;
for i:=1 to n do
begin
while not eoln(Intrare) do
begin read(Intrare, j); R[i, j]:=1; end;
readln(Intrare);
end; { for }
readln(Intrare, a, b);
end; { Citeste }

procedure Scrie;
{ Scrierea datelor in fisierul de iesire }
begin
assign(Iesire, 'RETELE.OUT'); rewrite(Iesire);
writeln(Iesire, Z[b]); close(Iesire);
end; { Scrie }

procedure UndaNumerica;
{ Propagarea undei numerice }
var i, j, L : integer;
begin
for i:=1 to n do Z[i]:=-1;
Z[a]:=0;
L:=0;
while Z[b]=-1 do
begin
for i:=1 to n do
if Z[i]=L then
for j:=1 to n do
if (R[i, j]=1) and (Z[j]=-1) then Z[j]:=L+1;
L:=L+1;
end; { while }
end; { UndaNumerica }

begin
Citeste;
UndaNumerica;
Scrie;
end.

44
Din analiza textului procedurii UndaNumerica se observă că
instrucţiunea if din componenţa ciclurilor imbricate for va fi
executată de cel mult ori. Corpul ciclului while va fi executat
de cel mult q ori, unde q este lungimea celui mai scurt canal de
comunicare de la calculatorul Ca la calculatorul Cb. Evident, lungimea
acestui canal de comunicare nu poate depăşi valoarea , deci
. Prin urmare, în cel mai nefavorabil caz, numărul de execuţii a
instrucţiunii if va fi de ordinul .
Conform restricţiilor din enunţul problemei, . Prin
urmare, numărul necesar de operaţii este de ordinul 10 6, mărime cu
mult mai mică decît capacitatea de prelucrare a calculatoarelor
personale.

45
Matematica magică

Viitorii vrăjitori studiază la şcoală matematica magică. În


cadrul acestei discipline şcolare vrăjitorii învaţă cum să facă calcule
rapide.
Unul din exerciţiile şcolare constă în următoarele. Se consideră
un tabel “magic”, dreptunghiular, format din numere întregi.
Vrăgitorului i se indică un dreptunghi din această tabelă, iar el trebuie
să calculeze cît mai rapid suma numerelor din acest dreptunghi.
Elaboraţi un program care ar ajuta vrăjitorii să efectueze
calculele respective.
Date de intrare.
Fişierul text MAGIC.IN conţine pe prima linie numerele
întregi m şi n separate prin spaţiu. Numărul m reprezintă numărul de
linii, iar numărul n  numărul de coloane ale tabelului “magic”. Pe
următoarele m linii ale fişierului de intrare se conţin cîte n numere
întregi separate prin spaţiu. Pe linia se conţin cele n numere ale
liniei i a tabelului “magic”.
Următoarele linii ale fişierului de intrare conţin descrieri de
dreptunghiuri, sumele numerelor din interiorul cărora trebuie
calculate. Linia conţine numărul întreg k  numărul de
dreptunghiuri. În continuare, pe fiecare din următoarele k linii se
conţin cîte patru numere întregi u, l, d, r separate prin spaţiu.
Numerele (u, l) reprezintă colţul stînga-sus al dreptunghiului
respectiv (u  numărul rîndului; l  numărul coloanei), iar numerele
(d, r)  colţul dreapta-jos (d  numărul rîndului; r  numărul
coloanei). Coloanele tabelului “magic” sînt numerotate de la stînga la
dreapta începînd cu unu, iar liniile  de sus în jos, de asemenea,
începînd cu unu.
Date de ieşire.
Fişierul text MAGIC.OUT va conţine k linii. Linia i va conţine
suma numerelor din dreptunghiul respectiv descris în fişierul de
intrare.

46
Exemplu.
MAGIC.IN MAGIC.OUT
3 4 1
1 2 3 4 18
5 6 7 8 40
1 1 1 1
3
1 1 1 1
1 2 2 3
1 1 3 4

Restricţii. ; . Ca modul,
numerele din tabelul “magic” nu depăşesc valoarea 1000. Timpul de
execuţie nu va depăşi 0,5 secunde. Fişierul sursă va avea denumirea
MAGIC.PAS, MAGIC.C sau MAGIC.CPP.

Rezolvare

Fie A tabloul care reprezintă în programele PASCAL tabel


“magic”:

var A : array [1..100, 1..100] of integer;

Evident, sumele S ale numerelor din interiorul a k dreptunghiuri


specificate prin coordonatele (u, l), (d, r) pot fi calculate cu ajutorul
a trei cicluri imbricate:

for q:= 1 to k do
begin
{... citirea numerelor u, l, d, r din fisierul
de intrare ... }
S:=0;
for i:=u to d do
for j:=l to r do
S:=S+A[i, j];
end;

47
Complexitatea temporală a unui astfel de algoritm este
. Pentru restricţiile problemei produsul este de
ordinul , mărime comparabilă cu capacitatea de prelucrare a
calculatoarelor din laboratorul de informatică. Dacă luăm în
considerare şi faptul că citirea datelor din fişierul de intrare necesită
un anumit timp, s-ar putea ca timpul cerut de un astfel de algoritm să
depaşească restricţia din enunţul problemei.
Pentru a micşora timpul de calcul introducem în studiu tabloul B:

var B : array [1..100, 1..100] of integer;

elementele B[i,j] ale căruia reprezintă sumele numerelor din


dreprunghiurile (1, 1), (i, j) ale tabelului “magic”. Elementele
respective pot fi calculate cu ajutorul instrucţiunii:

B[i,j]=B[i-1,j]+B[i,j-1]-B[i-1,j-1]+A[i, j]

În cazul utilizării tabloului B, suma S a numerelor din


dreptunghiul (u, l), (d, r) se calculează cu ajutorul unei singure
instrucţiuni, fără a mai utiliza cicluri imbricate:

S:=B[d,r]–B[d,l-1]-B[u-1,r]+B[u-1,l-1]

Evident, elementele tabloului B pot fi calculate direct în procesul


citirii elementelor tabelului “magic”.

Program Magic;
var
a, m, n, i, j, u, l, d, r : integer;
k, S, q : longint;
B : array [0..100, 0..100] of longint;
Intrare, Iesire : text;
begin
assign(Intrare, 'MAGIC.IN'); reset(Intrare);
assign(Iesire, 'MAGIC.OUT'); rewrite(Iesire);
readln(Intrare, m, n);
for i:=0 to m do B[i,0]:=0;
for j:=1 to n do B[0,j]:=0;
for i:=1 to m do

48
begin
for j:=1 to n do
begin
read(Intrare, a);
B[i,j]:=a+B[i,j-1]+B[i-1,j]-B[i-1,j-1]
end;
readln(Intrare);
end;
readln(Intrare, k);
for q:=1 to k do
begin
readln(Intrare, u, l, d, r);
S:=B[d,r]-B[d,l-1]-B[u-1,r]+B[u-1,l-1];
writeln(Iesire, S);
end;
close(Intrare);
close(Iesire);
end.

Din analiza textului programului Magic se observă că timpul


necesar este de ordinul . Conform restricţiilor problemei,
, mărime cu mult mai mică ca .

49
Descrierea problemelor  Ziua 2

Clasele 10  12
Numărul
Denumirea Denumirea Denumirea
Denumirea de puncte
fişierului fişierului fişierului
problemei alocat
sursă de intrare de ieşire
problemei

CORP.PAS
Corporaţia 100 CORP.C CORP.IN CORP.OUT
CORP.CPP

SIRURI.PAS
Şiruri 100 SIRURI.C SIRURI.IN SIRURI.OUT
SIRURI.CPP

STICLA.PAS
Sticla 100 STICLA.C STICLA.IN STICLA.OUT
STICLA.CPP

Total 300 - - -

50
Corporaţia

Structura organizatorică a unei corporaţii este concepută în aşa


mod încît fiecare angajat, cu excepţia unora din ei, are în subordine
unul sau mai mulţi angajaţi. Aceştea, la rîndul lor, pot avea şi ei în
subordine alţi angajaţi. Angajaţii care au subalterni se numesc şefi, iar
cei care nu au  se numesc angajaţi simpli.
Corporaţia este condusă de un preşedinte, care are în subordine
fie direct, fie prin intermediul structurii ierarhice, toţi angajaţii
companiei. Fiecare angajat, cu excepţia preşedintelui, are un şef
direct.
Angajaţii corporaţiei sînt numerotaţi cu numere individuale de
la 1 la k.
Pentru exemplificare, pe desenul de mai jos este prezentată
structura unei corporaţii ce are 4 angajaţi.
Angajatul numărul 3 este preşedintele
corporaţiei şi şeful direct al angajaţilor 1 şi
4. Angajatul numărul 4 este şeful direct al
angajatului numărul 2. Angajaţii 1 şi 2 sînt
angajaţi simpli.
În ajunul unei sărbători preşedintele
corporaţiei a decis să transmită fiecărui
angajat simplu cîte o scrisoare de mulţumire.
Scrisorile respective au fost transmise prin
intermediul şefilor, folosindu-se în acest
scop site-ul corporaţiei. Fiecare angajat simplu a primit scrisoarea de
mulţumire, iar pe site au rămas înregistrate anumite informaţii despre
drumurile parcurse de fiecare scrisoare de la preşedinte la angajatul
respectiv.
Scrieţi un program care, cunoscînd informaţiile de pe site,
reconstituie structura corporaţiei.
Date de intrare.
Fişierul text CORP.IN conţine pe o singură linie informaţiile
de pe site  un şir de numere întregi separate prin spaţiu ce reprezintă
drumurile parcurse de scrisorile de la preşedinte către fiecare angajat
simplu. Fiecare drum este redat prin numerele angajaţilor respectivi
în ordinea în care ei transmit scrisorile de mulţumire. De exemplu, în

51
cazul corporaţiei de pe desenul de mai sus, există două drumuri: 3-4-2
şi 3-1, iar pe site va fi înregistrat şirul 3 4 2 3 1. Se garantează că
datele din fişierul de intrare sînt corecte sau, prin alte cuvinte,
corporaţia respectivă există.
Date de ieşire.
Fişierul text CORP.OUT va conţine k linii. Linia i va conţine în
ordine crescătoare, separate prin spaţiu, numerele subalternilor direcţi
ai angajatului cu numărul i. Sfîrşitul şirului de numere se indică prin
înscrierea numărului 0. Dacă există mai multe soluţii, se va indica
numai una din ele.
Exemplu.
CORP.IN CORP.OUT
3 4 2 3 1 0
0
1 4 0
2 0

Restricţii. . Mărimea fişierului de intrare nu


va depăşi 4 Megaocteţi. Timpul de execuţie nu va depăşi 0,5 secunde.
Fişierul sursă va avea denumirea CORP.PAS, CORP.C sau
CORP.CPP.

Rezolvare

Vom nota şirul de numere din fişierul de intrare prin ,


, ..., , , ... . Din enunţul problemei rezultă că numărul
reprezintă preşedintele corporaţiei. Evident, pentru orice
, în cazul în care , numărul
reprezintă seful direct al angajatului .
Vom reprezenta datele de intrare sub forma unui vector Sef, unde
Sefi reprezintă şeful direct al angajatului i. Pentru a construi acest
vector, parcurgem o singură dată şirul , , ..., , , ...,

52
din fişierul de intrare. Dacă numerele si apar
consecutiv si , atunci este şeful lui .
În continuare, parcurgem o singură dată vectorul Sef pentru a
construi lista subalternilor: dacă , atunci îl adăugam pe j la
lista subalternilor lui i.
În final, parcurgând listele de subalterni ai fiecărui angajat,
scriem aceste date în fişierul de ieşire.

Program Corporatia;{ Clasele 10-12 }


const maxn=15000;
type pList = ^TList;
TList = record
data:integer;
next:pList;
end;
var H:array[1..maxn] of pList;{lista subalternilor
fiecarui nod}
type TArray = array[1..maxn] of integer;
var sef:^TArray;{sef^[i] = seful angajatului i}
n:integer;

procedure Citeste;
var sup,presedinte,angajat:integer;
Intrare:text;
begin
new(sef);
fillchar(sef^,sizeof(sef^),0);
assign(Intrare,'corp.in');
reset(Intrare);
read(Intrare,presedinte);
n:=presedinte;
sup:=presedinte;
while not seekeoln(Intrare) do
begin
read(Intrare,angajat);
if angajat<>presedinte then sef^[angajat]:=sup;
sup := angajat;
if n<sup then n:=sup;
end;
close(Intrare);

53
end; { Citeste }

procedure Rezolva;
var i,p:integer;
nod:pList;
begin
for i:=n downto 1 do
begin
if sef^[i]=0 then continue;
p:=sef^[i];
new(nod);{il adaugam pe i la lista fiilor lui p}
nod^.data:=i;
nod^.next:=H[p];
H[p]:=nod;
end;
end; { Rezolva }

procedure Scrie;
var Iesire:text;
temp:pList;
i:integer;
begin
assign(Iesire,'corp.out'); rewrite(Iesire);
for i:=1 to n do
begin
temp:=H[i];
while temp<>nil do
begin
write(Iesire,temp^.data,' ');
temp :=temp^.next;
end;
writeln(Iesire,'0');
end;
close(Iesire);
end; { Scrie }

begin
Citeste;
Rezolva;
Scrie;
end.

54
Din analiza textului programului Corporatia se observă că
timpul cerut de algoritm este de ordinul , unde n este
numărul de perechi de tipul , iar k este numarul
angajaţilor. Întrucît si (acest lucru
poate fi dedus din limita de 4 Megaocteţi impusă fişierului de intrare),
timpul de execuţie va fi mai mic de 0,5 secunde.

55
Şiruri

Se consideră mulţimea S ce conţine n siruri de caractere de


aceiaşi lungime m. Sînt admise doar caracterele ce reprezintă literele
mici ale alfabetului latin. Este cunoscut faptul că fiecare şir apare în
mulţimea S de 2 ori, cu exceptia unuia, care apare în această mulţime
de 3 ori. Elaboraţi un program care găseşte şirul ce apare în mulţimea
S de 3 ori.
Date de intrare.
Prima linie a fişierului text SIRURI.IN conţine numerele
întregi n şi m separate prin spaţiu. Fiecare din următoarele n linii ale
fişierului de intrare conţine cîte un şir de caractere din componenţa
mulţimii S.
Date de ieşire.
Fişierul text SIRURI.OUT va conţine pe o singură linie şirul
de caractere care apare în mulţimea S de 3 ori.
Exemplu.
SIRURI.IN SIRURI.OUT
7 3 abc
aba
bac
abc
abc
bac
aba
abc

Restricţii. ; . Timpul de execuţie


nu va depăşi 0,3 secunde. Fişierul sursă va avea denumirea
SIRURI.PAS, SIRURI.C sau SIRURI.CPP.

56
Rezolvare

O soluţie naivă ar fi citirea tuturor şirurilor din fişierul de


intrare în memoria calculatorului şi calcularea numărului de apariţii a
fiecărui şir. Evident, implementarea unui astfel de algoritm în
condiţiile restricţiilor din enunţul problemei este inacceptabilă,
întrucît necesarul de memorie va fi de circa:

25 000 de şiruri  200 de caractere  5 Megaocteţi,

iar timpul cerut de algoritm va fi de ordinul .


Pentru a evita memorarea tuturor şirurilor din mulţimea S, vom
lua în considerare următoarele raţionamente:
1. Presupunem că caracterul 'a' apare pe poziţia i din şirurile
mulţimii S de un număr par de ori. Evident, în acest caz
acest caracter nu apare pe poziţia i din şirul căutat.
2. Din contra, dacă caracterul 'a' apare pe poziţia i din
şirurile mulţimii S de un număr impar de ori, el, la sigur,
apare şi pe poziţia i din şirul căutat.
Prin urmare, pentru a găsi caracterul ce apare în poziţia i din
şirul căutat, calculăm paritatea numărului de apariţii a fiecăruia din
caracterele 'a', 'b', 'c', ..., 'y' pe poziţia respectivă în toate
şirurile din mulţimea S şi alegem acel caracter, care apare de un
număr impar de ori.
Pentru a parcurge fişierul de intrare doar o singură dată,
imediat cum citim un şir, memorăm paritatea numărului de apariţii a
fiecărui caracter într-un tablou bidimensional de tipul:

var Impar : array[1..200, 'a'..'z'] of


boolean;

în care primul indice indică poziţiile şirurilor de caractere, iar indicele


al doilea  caracterele ce pot apărea pe poziţiile respective.
În particular, pentru exemplul din enunţul problemei, după
citirea fişierului de intrare, primele trei rînduri şi primele trei coloane
ale tabloului Impar vor avea valorile:

57
Prin urmare, şirul căutat este 'abc'.

Program Siruri;
var Intrare, Iesire : text;
m, n : integer;
Impar : array[1..200, 'a'..'z'] of boolean;
i, j : integer;
s : string;
rezultat : string;
ch : char;
gasit : boolean;
begin
assign(Intrare,'SIRURI.IN');
reset(Intrare);
readln(Intrare, n, m);
for i:=1 to n do
begin
readln(Intrare, s);
for j:=1 to m do
Impar[j,s[j]]:=not Impar[j,s[j]];
end;
close(Intrare);

for i:=1 to m do
begin
ch:='a';
gasit:=false;
while not gasit do
if Impar[i,ch] then
begin
rezultat:=rezultat+ch;
gasit:=true;
end
else inc(ch);
end;

58
assign(Iesire,'SIRURI.OUT');
rewrite(Iesire);
writeln(Iesire, rezultat);
close(Iesire);
end.

Din analiza textului programului Siruri se observă că timpul


de execuţie va fi de ordinul , mărime cu mult mai mică decît
capacitatea de prelucrare a calculatoarelor personale.

59
Sticla

Pe o masă se află cîtevă cioburi plate triunghiulare de sticlă


(vezi desenul). Se consideră că:
 toate aceste cioburi s-au format dintr-o singură bucată
dreptunghiulară de sticlă, marginile căreia, iniţial, erau
paralele cu marginile mesei;
 toate cioburile s-au format în rezultatul unei singure lovituri,
aplicate într-un punct ce nu se afla pe marginile bucăţii
dreptunghiulare de sticlă;
 în momentul formării cîte unul din vîrfurile fiecărui ciob
triunghilar se afla în punctul de lovire;
 după formare, unele cioburi puteau să fi fost mutate;
 bucata dreptunghiulară de sticlă poate fi reconstituită prin
mutarea paralelă a cioburilor sau, prin alte cuvinte, după
lovire nici unul din cioburi nu fost rotit.
Scrieţi un program care reconstituie din toate cioburile
triunghiulare bucata dreptunghiulară de sticlă.

Cioburi Bucata de sticlă


Error: Reference source not found

60
Date de intrare.
Introducem în studiu un sistem de coordonate axele căruia sînt
paralele cu marginile mesei. Fiecare ciob va fi definit prin trei perechi
de numere ce reprezentă coordonatele vîrfirilor triunghiului respectiv.
Fişierul text STICLA.IN conţine pe prima linie numărul
întreg N  numărul de cioburi. Fiecare din următoarele N linii ale
fişierului de intrare conţine cîte trei perechi de numere întregi
separate prin spaţiu, reprezentînd coordonatele vîrfulrilor fiecărui
ciob.
Date de ieşire.
Fişierul text STICLA.OUT va conţine N linii. Pe fiecare linie
se vor scrie cîte trei perechi de numere separate prin spaţiu ce
reprezentă coordonatele vîrfurilor ciobului respectiv în momentul
cînd el se află în componenţa bucăţii dreptunghiulare de sticlă. Bucata
dreprunghiulară de sticlă trebuie reconstituită în aşa mod încît
coordonatele tuturor vîrfurilor să fie nenegative, iar unul din vîrfuri să
se afle în originea sistemului de coordonate. Listarea cioburilor se va
face în ordinea apariţiei lor în fişierul de intrare. Listarea vîrfurilor
fiecărui ciob se va face în ordine arbitrară.
Dacă problema admite mai multe soluţii, în fişierul de ieşire se
va indica doar una din ele.
Exemplu.
STICLA.IN STICLA.OUT
5 0 0 3 3 0 9
0 0 3 3 0 9 0 9 6 9 3 3
1 3 7 3 4 -3 0 0 6 0 3 3
1 6 7 6 4 9 3 3 6 6 6 9
5 3 8 6 8 9 3 3 6 0 6 6
6 4 9 1 9 7

Restricţii. . Coordonatele vîrfurilor fiecărui


ciob sînt numere întregi, modulul cărora nu depăşeşte valoarea
10 000. Aria fiecărui ciob este mai mare ca zero. Timpul de execuţie
nu va depăşi 0,2 secunde. Fişierul sursă va avea denumirea
STICLA.PAS, STICLA.C sau STICLA.CPP.

61
Rezolvare

Vom examina două tipuri de triunghiuri: triunghiuri certe şi


triunghiuri incerte. Prin definiţie, un triunghi este cert dacă are numai
o singură latură paralelă cu una din axele de coordonate. Dacă
triunghiul are două laturi paralele cu axele de coordonate, el este
incert.
Evident, în cazul triunghiurilor certe vîrful în care a avut loc
lovitura se determină în mod univoc ca fiind cel opus laturii paralele
cu axa de coordonate.
În cazul unui triunghi incert, există două vîrfuri care ar putea fi
ca posibile puncte de lovitură. Întrucît există cel mult 8 triunghiuri
incerte, problema poate fi soluţionată prin examinarea tuturor
variantelor posibile.
După ce am ales pentru fiecare triunghi care va fi vîrful în care a
fost aplicată lovitura, vom deplasa toate triunghiurile în aşa mod încît
vîrfurile desemnate ca puncte de lovitură să coincidă. Pentru
simplitate, vom amplasa punctul de lovitură în originea sistemului de
coordonate.
În continuare verificăm dacă triunghiurile astfel amplasate
formează un dreptunghi. În acest scop verificăm respectarea
următoarelor condiţii:
1) aria totală a triunghiurilor trebuie să fie egală cu aria
dreptunghiului care le înfăşoară;
2) oricare două triunghiuri nu trebuie să aibă intersecţii.
Dacă aceste condiţiile sînt respectate, dreptunghiul din enunţul
problemei este construit, fiind necesară doar deplasarea lui în aşa mod
ca colţul stînga-jos să fie în originea sistemului de coordonate.
Evident, vor fi recalculate şi coordonatele vîrfurilor tuturor
dreptunghiurilor.
Pentru a micşora timpul de calcul, vom lua în considerare faptul
că oricare două triunghiuri certe nu se intersectează, verificările
respective fiind necesare doar pentru triunghiurile incerte.
În programul ce urmează ariile triunghiurilor se calculează cu
ajutorul funcţiei Surf, iar faptul că două triunghiuri se intersectează
 cu ajutorul funcţiei TriunghiuriAuIntersectii.

62
Program Sticla;
type TPoint = record
x,y:Integer;
end;

var n:Integer;
type TTriangle = array[1..3] of
TPoint;
var P:array[1..2000] of TTriangle;

procedure Citire;
var f:Text;
i:Integer;
begin
Assign(f,'sticla.in');
Reset(f);
Readln(f,n);
for i:=1 to n do
Readln(f,P[i][1].x,P[i][1].y,P[i][2].x,
P[i][2].y,P[i][3].x,P[i][3].y); Close(f);
end;

procedure Afiseaza;
var f:Text;
i,j:Integer;
minx, miny: Integer;
begin
minx:=MAXINT; miny:=MAXINT;
for i:=1 to n do begin
for j:=1 to 3 do begin
if minx>P[i,j].x then minx := P[i,j].x;
if miny>P[i,j].y then miny := P[i,j].y;
end;
end;

Assign(f,'sticla.out');
rewrite(f);
for i := 1 to n do begin
for j := 1 to 3 do write(f,P[i,j].x-minx,'
',P[i,j].y-miny,' ');
writeln(f);
end;
close(f);
end;

const nIncert:Integer = 0;

63
{numarul de triunghiuri incerte}
var Incert:array[1..8] of integer; {indexii
triughiurilor incerte}

procedure swap(var a,b:Tpoint);


var temp:TPoint;
begin
temp := a;
a := b;
b := temp;
end;

procedure TranslateTriangle(index : Integer);


{ misca triughiul astfel incit virful cu indice unu
sa devina (0,0) }
begin
dec(P[index,2].x,P[index,1].x);
dec(P[index,3].x,P[index,1].x);
dec(P[index,2].y,P[index,1].y);
dec(P[index,3].y,P[index,1].y);
P[index,1].x := 0; P[index,1].y := 0;
end;
{valorile minimale si maximale pe coordonate pentru
triunghiurile certe}
const MinCertX : Integer = 0;
const MinCertY : Integer = 0;
const MaxCertX : Integer = 0;
const MaxCertY : Integer = 0;

function Surf(x1,y1,x2,y2,x3,y3:Longint):Longint;
{ intoarce suprafata dubla a unui triunghi }
begin
Surf := x1*y2 + x2*y3 + x3*y1 -x2*y1 - x3*y2 -
x1*y3;
end;

const AriaDubla : LongInt = 0;

procedure DeterminaCorespondenta;
{ Pentru triughiurile certe, determina virful care a
fost in punctul loviturii si il seteaza pe prima
pozitie. Pentru triughiurile incerte, determina
virfurile care sint candidate pentru a fi in punctual
loviturii se le seteaza pe prima si a treia poziti }
var punctTemp : TPoint;
i,k : Integer;
Paralel : array[1..3] of Boolean;

64
begin
for i:= 1 to n do
begin
AriaDubla := AriaDubla +
abs(Surf(P[i,1].x,P[i,1].y,P[i,2].x,P[i,2].y,

P[i,3].x, P[i,3].y));
for k:=1 to 3 do
Paralel[k] := (P[i][k].x=P[i][1+(k mod 3)].x) or
(P[i][k].y=P[i][1+(k mod 3)].y);
{daca acest triunghi nu e dreptunghic}
if Ord(Paralel[1]) + Ord(Paralel[2]) +
Ord(Paralel[3]) = 1
then begin
{du virful opus laturii paralele cu una din
axe pr prima pozitie}
if Paralel[1] then swap(P[i,1],P[i,3]);
if Paralel[3] then swap(P[i,1],P[i,2]);
TranslateTriangle(i);
for k:=2 to 3 do begin
if MinCertX > P[i,k].x then MinCertX := P[i,k].x;
if MinCertY > P[i,k].y then MinCertY := P[i,k].y;
if MaxCertX < P[i,k].x then MaxCertX := P[i,k].x;
if MaxCertY < P[i,k].y then MaxCertY := P[i,k].y;
end;
end
else
begin
{ daca acest triughi este dreptughic, atunci e
posibil ca lovitura a fost in 2 virfuri }
inc(nIncert);
Incert[nIncert] := i;
{ du virful posibil cu indice mai mic pe prima
pozitie si cel mai mare pe ultima pozitie }
for k:=1 to 3 do
if Paralel[1+(k mod 3)] then
begin
swap(P[i,k],P[i,1]); break;
end;
for k:=3 downto 1 do
if Paralel[1+(k mod 3)] then
begin
swap(P[i,k],P[i,3]); break;
end;
TranslateTriangle(i);
end;
end;

65
end;

function lower(var p1,p2:TPoint):boolean;


{ verifica daca primul punct e mai jos pe axa
unghiulară decit al 2lea punct }
begin
lower := -Longint(p2.x)*p1.y+ Longint(p2.y)*p1.x >
0;
end;

function LowerOrSame(var p1,p2:TPoint):boolean;


{ verifica daca primul punct e mai jos sau identic pe
axa unghiulară decit al 2lea punct }
begin
lowerOrSame := -Longint(p2.x)*p1.y+
Longint(p2.y)*p1.x >= 0;
end;

function
TriunghiuriAuIntersectii(i,j:Integer):Boolean;
var a,b, u,r : extended;
begin
{ orienteaza pozitiv triughiurile }
if lower(P[i,3],P[i,2]) then swap(P[i,3],P[i,2]);
if lower(P[j,3],P[j,2]) then swap(P[j,3],P[j,2]);
TriunghiuriAuIntersectii:=true;
if lowerOrSame(P[i,2],P[j,2]) and
lower(P[j,2],P[i,3]) then exit;
if lower(P[i,2],P[j,3]) and
lowerOrSame(P[j,3],P[i,3]) then exit;
if lowerOrSame(P[j,2],P[i,2]) and
lower(P[i,2],P[j,3]) then exit;
if lower(P[j,2],P[i,3]) and
lowerOrSame(P[i,3],P[j,3]) then exit;
TriunghiuriAuIntersectii := false;
end;

function SintCorecte:Boolean;
{verifica daca triughiurile pot forma un dreptunghi }
var maxx, maxy, minx, miny:Integer;
var i,j,k:Integer;
var x,y:Integer;
begin
SintCorecte:=False;
maxx := MaxCertX; maxy := MaxCertY; minx :=
MinCertX; miny := MinCertY;
for i:=1 to nIncert do

66
for j:=2 to 3 do
begin
if minx>p[Incert[i],j].x then minx := p[Incert[i],j].x;
if miny>p[Incert[i],j].y then miny := p[Incert[i],j].y;
if maxx<p[Incert[i],j].x then maxx := p[Incert[i],j].x;
if maxy<p[Incert[i],j].y then maxy := p[Incert[i],j].y;
end;
{ verifica ca bounding box sa fie de dimensiunile
corecte }
if (2*LongInt(maxx-minx)*LongInt(maxy-
miny)<>AriaDubla) then exit;
{ verifica sa nu fie intersectii intre cele incerte
si oricare alt triunghi }
for i:=1 to nIncert do
for k:=1 to n do
begin
if k=Incert[i] then continue;
if TriunghiuriAuIntersectii(k,Incert[i]) then
exit;
end;
SintCorecte:=True;
end;

function CautaSolutie(i:Integer):Boolean;
var r:Boolean;
begin
if (i > nIncert) then begin
if SintCorecte
then begin
Afiseaza;
CautaSolutie:=True;
exit;
end
else begin CautaSolutie := False; exit; end;
end;
if CautaSolutie(i+1) then begin CautaSolutie:=true;
exit; end;

swap(P[Incert[i],1],P[Incert[i],3]);
TranslateTriangle(Incert[i]);
r:=CautaSolutie(i+1);
{ restabilim datele ca la intrare }
swap(P[Incert[i],1],P[Incert[i],3]);
TranslateTriangle(Incert[i]);
CautaSolutie:=r;
end;

67
begin
Citire;
DeterminaCorespondenta;
CautaSolutie(1);
end.

Din analiza textului programului Sticla se poate deduce că


timpul cerut de algoritm este de ordinul , unde n este
numărul de cioburi, iar k este numărul de cioburi cu două laturi
paralele la axele de coordonate. Întrucît , programul se
încadrează uşor în timpul alocat.

68
3. Academia de Studii Economice din Moldova

3.1. Prezentarea generală a ASEM


Rector ASEM, prof.univ., dr.hab. Grigore Belostecinic

Declarându-şi independenţa în 1991, Republica Moldova a pornit


pe un drum dificil şi anevoios al transformărilor politice, economice
şi sociale. Dezvoltarea economiei naţionale devenise condiţia
primordială pentru fortificarea statalităţii şi securităţii republicii.
Printre noile realităţi s-a impus şi necesitatea deschiderii unei
instituţii de învăţământ economic superior, care urma să facă faţă
condiţiilor economiei de tranziţie.
Astfel, la 25 septembrie 1991, prin Hotărârea nr. 537 a
Guvernului Republicii Moldova, condus pe atunci de Primul Ministru
Valeriu Muravschi, a fost înfiinţată Academia de Studii Economice
din Moldova (ASEM).
În cei 15 ani de activitate, Academia de Studii Economice a
evoluat ascendent, devenind principala instituţie universitară de profil
economic din republică. Acum Academia reprezintă un complex
universitar modern, în cadrul căruia activează: 6 facultăţi; 25 catedre;
Biblioteca (depozitar al Băncii Mondiale, 5 săli de lectură cu un
volum de 500 mii de exemplare de carte); Departamentul de
informatică, inclusiv 28 de săli pentru instruire înzestrate cu
calculatoare performante conectate la INTERNET printr/un canal de
3 Mbps şi poştă electronică pentru fiecare student; Centrul
Multimedia cu 70 de calculatoare Pentium 4 şi monitoare LCD,
destinat lucrului individual al studenţilor cu informaţiile în formă
electronică şi care este deschis 12 ore pe zi, inclusiv cele de sâmbătă;
Complexul Sportiv cu şase săli sportive, două terenuri în spaţiul liber,
patru auditorii pentru cursurile teoretice şi un cabinet de proceduri
curative; Centrul Moldo-American pentru Iniţiativă Privată; câteva
centre postuniversitare de instruire şi consultanţă; serviciile Masterat
şi Doctorat; un Departament editorial-poligrafic; Incubatorul de
Afaceri; Baza de odihnă „Trandafir” în or. Vadul lui Vodă şi alte
subdiviziuni. ASEM dispune de 5 blocuri de studii bine amenajate, 7

69
cămine şi un complex sportiv modern, care deseori este gazdă a unor
competiţii sportive republicane şi internaţionale. În acest an de studii
au fost deschise săli cu calculatoare pentru instruire în toate căminele
studenţeşti.
În perioada 1991-2005 la ASEM au fost pregătiţi circa 19 mii de
specialişti de înaltă calificare: manageri, marketologi, finansişti,
contabili, informaticieni, statisticieni, economişti, pedagogi-
economişti. Mulţi absolvenţi ai Academiei deţin funcţii importante
atât în economia naţională, cât şi în structuri de profil economic de
peste hotare.
O importanţă deosebită în activitatea Academiei li se acordă
relaţiilor de colaborare cu alte instituţii de învăţământ şi centre de
cercetare din peste 20 de state ale lumii. ASEM este membru al
Asociaţiei Universităţilor Europene (AUE), membru al Asociaţiei
Universităţilor Francofone (AUF), membru al Reţelei Universităţilor
din Bazinul Mării Negre (BSUN) ş.a. Raporturi reciproc avantajoase
au fost stabilite cu Academia de Studii Economice din Bucureşti,
Academia de Studii Economice “G.V.Plehanov” din Moscova,
Universitatea “Alexandru Ioan Cuza” din Iaşi, Institutul de Cercetări
Economice al Academiei Române, Universitatea din Omaha
(Nebrasca, SUA), Universitatea Centrală din Carolina de Nord
(Durham, SUA), Alianţa Franceză şi Alianţa Universităţilor
Francofone ş.a. În colaborare cu centrele universitare din Franţa,
Spania, Grecia şi Germania, ASEM participă la realizarea unor
proiecte finanţate de Programul TACIS şi Banca Mondială. Aceste
relaţii 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,
numeroşi profesori şi studenţi au efectuat stagii în străinătate. De la
înfiinţarea ASEM, peste 380 de cadre didactice şi cercetători ai
Academiei au beneficiat de stagii de scurtă şi lungă durată în circa 20
de ţări. La ASEM urmează studiile 129 de studenţi străini din Ucraina
(85), Rusia (20), România (11), Congo (7), China (2) şi Azerbaidjan (2).
Realizările obţinute au fost confirmate oficial şi de către stat,
Academia de Studii Economice din Moldova fiind printre primele
instituţii de învăţământ acreditate de Guvernul Republicii Moldova.

70
Tinzând să extindă aria prestaţiilor educaţionale, Senatul ASEM
creează în fiecare an oportunităţi inedite de studii. Începând cu anul
2002, la ASEM au fost implementate planuri de învăţământ bazate pe
sistemul european de credite transferabile de studii. Acest sistem ne
apropie şi mai mult de practicile internaţionale, fiind o condiţie
indispensabilă pentru mobilitatea studenţilor, inclusiv în instituţiile de
peste hotare. Noile planuri includ un număr mai mare de discipline
opţionale – studentul are dreptul să aleagă atât cursul, cât şi
profesorul, participând astfel la definirea propriului traseu
educaţional. Această practică îi va mobiliza şi pe profesori, or, în
cazul în care disciplina predată de ei nu va fi solicitată de către
studenţi, ei vor trebui să schimbe lucrurile sau să părăsească instituţia.
De asemenea, noile planuri de învăţământ prevăd o creştere
considerabilă a ponderii disciplinelor, care asigură pregătirea de
specialitate. O atenţie sporită se acordă şi predării limbilor moderne,
cunoaşterea cărora fiind, în condiţiile economiei de piaţă, o „carte de
vizită” a oricărui specialist.
Pentru a face viaţa studenţilor mai interesantă, dar şi pentru
motivarea iniţiativei proprii, la ASEM se organizează diverse
concursuri, majoritatea cărora au devenit deja o tradiţie. Printre
acestea pot fi nominalizate „Cel mai bun student economist al
anului”, „Miss ASEM – viitoarea femeie de afaceri”, „Mister X
ASEM”, „Perechea potrivită”, olimpiadele la informatică şi
matematică, tradiţionalele TVC-uri, Ziua şefilor de grupă. În 2005
este deschis postul de radio al ASEM, prin intermediul cărora
studenţii îşi pot expune opinia despre procesul de învăţământ, viaţa în
cămine etc. Aceleaşi posibilităţi – de a-şi mediatiza opiniile şi
sugestiile privitoare la îmbunătăţirea mediului în care învaţă şi trăiesc
studenţii noştri – sunt oferite şi prin publicarea articolelor în ziarul
„Curierul Economic”.
Deja de patru ani fiecărui student de la anul I, la începutul anului
de învăţământ, i se înmânează „Ghidul studentului”, prin intermediul
căruia studenţii se familiarizează cu: Regulamentul de organizare şi
desfăşurarea procesului didactic în instituţiile de învăţământ superior;
Regulamentul privind organizarea şi desfăşurarea procesului de studii
în baza Sistemului European de Credite Academice Transferabile;
Planul de învăţământ la specialitate pentru întreaga perioadă a

71
studiilor; Descrierea sistemului de evaluare a cunoştinţelor studenţilor
în ASEM; Informaţii privind serviciile prestate de Biblioteca ASEM.
În vederea implicării mai active a studenţilor în procesul luării
deciziilor, este implementat Sistemul de autoguvernare studenţească,
ce presupune:
 o implicare mai activă a şefilor de grupă în procesul luării
deciziilor şi organizare a procesului de studii la nivelul grupei
academice;
 activitatea Consiliilor studenţeşti în cadrul tuturor facultăţilor;
 activitatea Senatului Academic Studenţesc.
În scopul îmbunătăţirii calităţii procesului de studii, periodic sunt
organizate sondaje de opinie în rândul studenţilor, în baza unor
chestionare anonime, cu un număr considerabil de întrebări, închise
sau deschise, efectuate pe un eşantion reprezentativ.
În baza deciziei Senatului, începând cu semestrul de primăvară
2005 în ASEM se implementează procedura de evaluare a calităţii
predării cursurilor (aprecierea profesorilor de către studenţi),
chestionarul incluzând întrebări (afirmaţii), cu variante de răspuns în
forma unor scale de atitudini şi întrebări de control.
Toate inovaţiile nominalizate se fac în favoarea studenţilor.
ASEM tinde să creeze condiţii optime de instruire, astfel ca studenţii
să se simtă „ca acasă”, iar absolvind Academia să se simtă în realitate
specialişti de înaltă calificare.
În prezent la ASEM urmează studiile peste 16 mii de studenţi,
activează 29 de doctori habilitaţi şi 196 de doctori în ştiinţe. Nivelul
înalt al studiilor şi cercetările ştiinţifice profunde, tendinţa spre
perfecţionarea continuă şi abilitatea de adaptare la cerinţele societăţii
au plasat ASEM pe treapta celor mai atractive instituţii de învăţământ
superior din republică.
Îmi exprim convingerea că, prin dezvoltarea învăţămîntului şi
ştiinţei economice, prin însuşirea acesteia de către toţi specialiştii şi
marea majoritate a populaţiei, vom putea promova interesul naţional:
dezvoltarea potenţialului economic al ţării.
Doresc tuturor pretendenţilor mai puţine emoţii şi mult noroc la
probele de concurs. Vă promitem condiţii bune de studii şi vă
garantăm obţinerea unor specialităţi, care vă vor oferi posibilităţi
reale de angajare în câmpul muncii.

72
3.2. Facultatea Business şi Administrarea
Afacerilor
Decan, conf. univ., dr. Marina Nicolaescu

"Schimbarea este legea vieţii. Acei care privesc


numai la trecut sau la prezent în mod sigur vor
pierde viitorul. " (J.F.Kennedy)

Facultatea de Business şi Administrarea Afacerilor este o facultate


creată în 2002 în baza a două facultăţi cu o bogată istorie şi tradiţii –
facultăţile de Management şi Marketing.
Activitatea profesional-didactică este asigurată de catedrele:
 Management;
 Marketing;
 Comerţ, turism, servicii hoteliere;
 Merceologie şi tehnologie;
 Cultură fizică şi sport.
Facultatea de Business şi Administrarea Afacerilor are în structura
sa următoarele specialităţi şi specializări:
Managementul firmei. Managementul firmei. Specialişti pregătiţi
pentru organizarea şi conducerea activităţii atât la nivel de agenţi
economici, cu diferite forme de proprietate (de stat, privată sau mixtă),
cât şi la nivel naţional: manageri capabili să gândească strategic şi
creativ, să adopte decizii raţionale, lideri efectivi orientaţi spre
îmbunătăţirea performanţelor organizaţiei, spre calitate şi perfecţionare
continuă. Studiile sunt organizate în limbile română şi rusă; cu frecvenţă
la zi şi fără frecvenţă. Calificarea obţinută – manager-economist.
Marketing. Absolvenţii acestei specialităţi pot ocupa posturi în
serviciile de marketing, aprovizionare sau desfacere ale unităţilor
producătoare de bunuri materiale, în comerţ, servicii de reclamă, bănci,
întreprinderi specializate în efectuarea cercetărilor de marketing şi
prestarea serviciilor de marketing, în învăţământul mediu şi universitar,
precum şi în cadrul organelor de îndrumare, coordonare şi sinteză
macroeconomică. Studiile sunt organizate în limbile română şi rusă; cu
frecvenţă la zi şi fără frecvenţă. Calificarea obţinută – economist.
Comerţ. Specialişti în organizarea şi coordonarea activităţii
economice a întreprinderilor de comerţ cu amănuntul şi cu ridicata.

73
Studiile sunt organizate în limbile română şi rusă; cu frecvenţă la zi şi
fără frecvenţă. Calificarea obţinută – economist.
Turism şi servicii hoteliere. Specialişti pregătiţi pentru activitatea de
organizare şi dirijare a agenţiilor de turism, a hotelurilor şi motelurilor.
Studiile sunt organizate în limbile română, engleză, franceză şi rusă; cu
frecvenţa la zi şi fără frecvenţă. Calificarea obţinută – manager-
economist.
Managementul proprietăţii intelectuale. Specialişti în domeniul
gestionării serviciilor de protecţie a proprietăţii industriale la
întreprinderi, evaluării şi comercializării obiectelor proprietăţii
intelectuale, soluţionării litigiilor, combaterii falsificării şi pirateriei; ce
pot activa în ministere şi departamente, organizaţii şi asociaţii de diferite
tipuri, cu diverse forme de proprietate, unde se necesită protecţia şi
comercializarea obiectelor de proprietate intelectuală. Studiile sunt
organizate în limbile română; cu frecvenţă la zi şi fără frecvenţă.
Calificarea obţinută – manager.
Achiziţii. Este o specialitate relativ nouă pentru ASEM, absolvenţii
căreia vor putea ocupa posturi în structuri implicate în activităţi de
achiziţii de toate tipurile atât în structuri comerciale, cât şi necomerciale
(publice). Studiile sunt organizate în limbile română şi rusă; cu frecvenţă
la zi şi fără frecvenţă. Calificarea obţinută – manager-economist.
Admiterea la facultate în 2006, conform noului nomenclator de
specialităţi universitare, se va efectua la specialităţile/domeniile de
formare profesională:
 363.1 Business şi administrare (cu specializările business şi
administrare, achiziţii, managementul proprietăţii intelectuale);
 362.1. Marketing şi logistică;
 369.1 Merceologie şi comerţ;
 812.1 Turism.
În procesul de instruire, la facultate se acordă o mare atenţie studierii
limbilor moderne, comunicării de afaceri, utilizării calculatoarelor,
ceea ce oferă absolvenţilor acestei facultăţi şanse suplimentare de
angajare în câmpul muncii. Pe lângă aceasta, absolvenţii facultăţii,
indiferent de specialitate, sunt pregătiţi pentru a iniţia afaceri proprii în
cele mai diverse domenii ale economiei naţionale.

74
3.3. Facultatea Cibernetică, Statistică şi
Informatică Economică (www.csie.ase.md)
Decan, prof.univ., dr.hab. Ion Bolun

„Dacă tinerii sunt viitorul societăţii, atunci tinerii


informaticieni sunt cei cărora le revine rolul de avangardă
în edificarea societăţii viitorului – societăţii cunoaşterii”

3.3.1. Facultatea este responsabilă de pregătirea specialiştilor î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ă 69 de
cadre didactice, inclusiv 5 doctori habilitaţi şi 37 doctori în ştiinţe.
Catedra „Cibernetică şi informatică economică” – şef catedră
dr.hab., prof.univ. Ilie Costaş, este formată încă în 1965, din 1973
devenind catedră de profil. Catedra este responsabilă de pregătirea
tinerilor specialişti de înaltă calificare la specialităţile „Cibernetică şi
informatică economică” şi „Informatică” şi instruirea studenţilor de la
toate specialităţile ASEM privind folosirea metodelor economico-
matematice şi a aplicaţiilor şi sistemelor informatice economice. De
asemenea, catedra este responsabilă de pregătirea specialiştilor prin
masterat la specialitatea „Tehnologii informaţionale în economie” şi
prin doctorat la specialitatea „Metode economico-matematice”.
În cadrul catedrei activează 23 de profesori titulari, din care 3
doctori habilitaţi şi 9 doctori în ştiinţe. O bună parte din profesorii
catedrei sunt absolvenţii ASEM. Profesorii catedrei ţin aşa cursuri ca:
Limbaje evoluate de programare; Baze de date; Cibernetică
economică; Platforma .NET; Inteligenţă artificială; Reţele
informatice; Programare Web; Afaceri electronice; Proiectarea
sistemelor informatice ş.a. Circa 50 % din cursuri sunt asigurate cu
materiale didactice publicate de profesorii catedrei. Catedra a
organizat mai multe conferinţe ştiinţifice, inclusiv internaţionale.
Profesorii catedrei au urmat cursuri de perfecţionare în SUA, Franţa,
Grecia, România, Rusia şi Bulgaria. Pe lângă catedră funcţionează
cercurile ştiinţifice studenţeşti „Tehnologia programării” şi

75
„Programare avansată”. Anual catedra organizează Olimpiada la
informatică a studenţilor ASEM.
Catedra de profil „Statistică şi previziune economică” – şef
catedră prof.univ.,dr. Ion Pârţachi, este formată în 1994. Catedra este
responsabilă de pregătirea tinerilor specialişti de înaltă calificare la
specialitatea „Statistică economică” şi instruirea în statistică a
studenţilor de la toate specialităţile ASEM. De asemenea, catedra este
responsabilă de pregătirea specialiştilor prin doctorat la specialitatea
„Statistică economică”. În cadrul catedrei activează 15 profesori
titulari, din care 9 doctori în ştiinţe. Majoritatea profesorilor catedrei
sunt absolvenţii ASEM. La catedra se ţin un şir de cursuri noi,
inclusiv: "Teoria şi practica sondajelor", "Sistemul conturilor
naţionale", "Econometrie", "Previziune economica", "Statistică
financiar-bancară" etc. O bună parte din cursuri sunt asigurate cu
materiale didactice publicate de profesorii catedrei. Profesorii
catedrei au urmat cursuri de perfecţionare în SUA, Franţa, Grecia,
România şi Rusia. Ei sunt implicaţi în diverse programe de cercetare
ştiinţifică. Catedra a organizat mai multe conferinţe ştiinţifice şi mese
rotunde, discutând diverse probleme de îmbunătăţire a activităţilor în
domeniu în republică. Pe lângă catedră funcţionează cercul ştiinţific
studenţesc „Statistică şi previziune economică”.
Catedra „Matematică şi econometrie” – şef catedră dr.hab.,
prof.univ. Ion Bunu, este formată în 1972. Catedra este responsabilă
de instruirea în matematică a studenţilor de la toate specialităţile
ASEM. În cadrul catedrei activează 15 profesori titulari, din care 1
doctor habilitat şi 12 doctori în ştiinţe. Majoritatea cursurilor sunt asigurate
cu materiale didactice publicate de profesorii catedrei. Profesorii catedrei
sunt implicaţi în diverse programe de cercetare ştiinţifică. Conf.univ.,
dr., Dumitru Zambiţchi în 2004 a devenit laureat al Premiului
Naţional în domeniul Ştiinţei şi Tehnicii. Catedra a organizat mai
multe conferinţe ştiinţifice şi mese rotunde. Anual catedra
organizează Olimpiada la matematică aplicată a studenţilor ASEM.
Catedra „Bazele informaticii economice” – şef catedră dr.,
conf.univ. Tudor Gâdilică, este formată în 1994. Catedra este
responsabilă de instruirea în informatica generală a studenţilor de la
toate specialităţile ASEM. În cadrul catedrei activează 18 profesori
titulari, din care 1 doctor habilitat şi 7 doctori în ştiinţe. Majoritatea
cursurilor sunt asigurate cu materiale didactice publicate de profesorii

76
catedrei. Membrul corespondent al Academiei Româno-Americane,
dr.hab., prof.univ. Dumitru Todoroi este şi Director al Centrului de
Cercetări Economice al ASEM. Pe lângă catedră funcţionează
cercurile ştiinţifice studenţeşti „Informatica în economie” şi „Sisteme
de informatizare a societăţii secolului XXI”.
3.3.2. Suportul ştiinţifico-didactic al instruirii. O bună parte din
cursuri sunt asigurate cu manualele elaborate de profesorii facultăţii,
inclusiv: „Bazele informaticii aplicate” (2005, 2001, 1999);
„Programarea calculatoarelor” (2003); „Cercetări operaţionale” (2004);
„Baze de date relaţionale” (1998); „Statistica actuarială în asigurări”
(2003); „Programarea în logică” (2000); „Algebră liniară” (2001),
„Econometrie” (1999); „Modelarea proceselor economice” (1998);
„Iniţiere în reţele” (1997); „Introducere în business-ul informaţional”
(1996) etc.
Pentru consolidarea cunoştinţelor teoretice, efectuarea lucrărilor
de laborator şi a celor de control, pentru perfectarea tezelor anuale şi
a celor de licenţă, la dispoziţia studenţilor sunt 28 săli cu calculatoare
moderne. În total, la ASEM funcţionează peste 900 de calculatoare
interconectate în reţea cu ieşire la Internet. Fiecare student dispune de
un cont propriu de poştă electronică şi spaţiu individual de memorie-
disc de 30 megaocteţi la unul din serverele reţelei ASEM.
Funcţionează Centrul Multimedia ASEM dotat cu 70 de calculatoare
Pentium 4. Catalogul electronic al Bibliotecii ASEM şi sursele
bibliografice, inclusiv materialele didactice în formă electronică
facilitează activităţile de autoinstruire şi cercetare a studenţilor şi
profesorilor.
Acest potenţial ştiinţifico-didactic asigură condiţiile pregătirii unor
specialişti de înaltă calificare în domeniul informaticii, ciberneticii,
statisticii şi previziunii economice – specialişti solicitaţi nu numai în
republică, dar şi peste hotare.
3.3.3. Specialităţi. În cadrul facultăţii pretendenţii pot alege
specialităţile:
 367.1 – Statistică şi previziune economică (zi - 3 şi 4 ani de
studii; frecvenţă redusă - 3, 4 şi 5 ani de studii);
 368.1 – Cibernetică şi informatică economică (zi - 3 şi 4 ani de
studii; frecvenţă redusă – 3, 4 şi 5 ani de studii).
 444.1 – Informatică (zi - 3 şi 4 ani de studii; frecvenţă redusă– 3,
4 şi 5 ani de studii);

77
Limbile de studii: română şi rusă.
Specialitatea „Informatică”. Utilizarea mijloacelor informatice a
devenit de importanţă strategică pentru majoritatea domeniilor de
activitate ale societăţii moderne. Un exemplu semnificativ este
Internet, de a cărui servicii se folosesc peste 800 de milioane de
oameni. În ţările economic dezvoltate, dar şi în alte ţări, se lucrează
intens asupra edificării societăţii informaţionale – societăţii
cunoaşterii: „Cine deţine informaţia – stăpâneşte situaţia”. Deficitul
de specialişti-informaticieni este considerabil, îndeosebi în ţările
economic dezvoltate.
Şi în R.Moldova conducerea de vârf a anunţat informatizarea
societăţii de prioritate strategică. Firmele ce activează în acest
domeniu dispun de anumite privilegii, aprobate de către Parlament în
decembrie 2004, inclusiv scutirea de impozitul pe venit.
Informaticienii din Moldova au format firme mixte în domeniu, ce
elaborează produse informatice pentru agenţii economici de peste
hotare, contribuind astfel la exportul de mărfuri şi servicii avansate şi,
respectiv, la susţinerea creşterii economice a republicii.
Specialitatea „Cibernetică şi informatică economică”.
Creşterea rolului informaticii şi a activităţilor economice bazate pe
decizii argumentate, înaintează, pe prim-plan, necesitatea pregătirii
specialiştilor 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
informaţionale, precum şi pentru calitatea de specialist-manager în
business-ul informatic, informatizarea unităţilor economice, activitatea
unităţilor economice în domeniul informaticii. Dispunând de
cunoştinţe atât referitoare la procesele economice, cât şi la folosirea
metodelor economico-matematice pentru modelarea şi eficientizarea
unor asemenea procese în îmbinare cu operarea lejeră cu mijloacele
informatice moderne, aceşti specialişti au cea mai largă arie de
aplicare a cunoştinţelor, fiind solicitaţi pe piaţa muncii atât ca
informaticieni, cât şi ca economişti. Absolvenţii specialităţii pot
activa la întreprinderi private şi publice, inclusiv centre informatice,
în sistemul financiar-bancar, etc.

78
Specialitatea "Statistică" oferă tinerilor posibilitatea de a deveni
specialişti în analiza informaţiilor economice, elaborarea de
pronosticuri economice şi efectuarea sondajelor de opinie. În
condiţiile economiei de piaţă, analiza informaţiilor economice este
solicitată în toate sectoarele. Aceasta serveşte pentru fundamentarea
deciziilor şi elaborarea previziunilor economice. Pe parcursul
studiilor, studenţii urmează practica aplicativă la Departamentul de
Statistică al Republicii Moldova şi în filialele acestuia. ASEM este
unica instituţie din republică, în cadrul căreia se pregătesc specialişti
de înaltă calificare în statistică economică şi socială.

3.4. Facultatea Contabilitate


Decan, prof.univ., dr.hab.Viorel Ţurcanu
„Contabilitatea este una din sublimele creaţii
ale spiritului omenesc...” (Goethe)

3.4.1. Facultatea "Contabilitate" are o experienţă bogată în


domeniul pregătirii specialiştilor de înaltă calificare acumulată nu
numai în cadrul ASEM (din anul 1991), dar şi pe parcursul mai
multor ani în cadrul Universităţii Tehnice şi al Universităţii de Stat.
Absolvenţii acestei specialităţi sunt cunoscuţi nu numai în
republică, ci şi peste hotarele ei. Printre ei menţionăm: Mihai
Manoli, ex-ministru al finanţelor, ambasador al Republicii Moldova
în SUA; Olga Antipina, contabil-şef al S.A. "Ionel", Pavel Bodarev,
director general al Companiei "Moldauditing", Nicolae Dorin,
preşedinte al S.A. "Mobiasbancă", Iurie Cazacu, şef al Direcţiei
"Metodologia contabilităţii şi auditului" a Ministerului Finanţelor;
Alexandra Can, director al S.A. "Artima".
În cadrul facultăţii activează trei catedre: "Contabilitate şi audit",
"Contabilitate" şi "Analiza activităţii economico-financiare", a căror
componenţă o constituie 79 de profesori, inclusiv: 2 profesori
universitari, 21 conferenţiari, 10 doctori în economie şi 8 magiştri.
3.4.2. Specialităţi. Începând cu anul 2004, facultatea organizează
admitere la specialitatea "Contabilitate".
Contabilitatea este o profesie veche, formată încă în antichitate.
Orice întreprindere, fie mare sau mică, trebuie, conform legislaţiei, să

79
ţină contabilitatea, de aceea, are nevoie de cel puţin un contabil.
Contabilitatea este, în primul rând necesară pentru ca la întreprindere
lucrurile să nu se prefacă în haos. Având în vedere această cerinţă,
contabilul întocmeşte şi prelucrează un şir de documente cu date
diverse şi necesare.
Se cunoaşte afirmaţia, că contabilul astăzi este mâna dreaptă a
conducătorului întreprinderii, deoarece el trebuie să pregătească
informaţii importante la luarea deciziilor economice şi de conducere.
În acest scop contabilul analizează datele privind costurile,
rentabilitatea, mărimea impozitelor, cotarea valorilor mobiliare la
bursă etc. Totodată, contabilitatea se consideră un limbaj al oamenilor
de afaceri. Nici un contract nu se încheie de către întreprindere fără
acceptul contabilului, care trebuie să se expună în privinţa preţurilor,
de la care furnizor e mai convenabil de procurat marfa, cu ce preţuri
să fie vândută producţia, care sunt riscurile de afaceri.
În fine, contabilul trebuie să-şi organizeze activitatea în aşa mod
ca să asigure păstrarea patrimoniului întreprinderii, să contribuie la
reducerea pierderilor şi majorarea profitului. Deci, de competenţa şi
profesionalismul contabililor, într-o mare măsură, depinde activitatea
şi starea economico-financiară a întreprinderii în ansamblu.
Se ştie deja că a învăţa la contabilitate este mai greu decât la alte
specialităţi de profil economic, însă mulţi tineri îşi dau seama că, dacă
vor obţine această profesie, există o probabilitate mare să-şi găsească
şi un serviciu. Prestigiul specialităţii se explică şi prin aceea că, o dată
cu aderarea la standardele internaţionale de contabilitate a crescut
rolul contabilului în activitatea economică.
Solicitarea înaltă a profesiei de contabil se mai explică şi prin
aceea că contabilitatea este astăzi sprijinită legislativ. În urma
reformei contabile, au fost elaborate şi aprobate Standardele
Naţionale de Contabilitate şi de Audit, alte documente normative.
Există chiar şi Legea contabilităţii, codul eticii profesionale al
auditorului şi contabilului. Toate acestea creează o viziune clară
pentru un viitor specialist în vederea cunoaşterii profesiei şi a
activităţii de care va fi preocupat.
Unui specialist în domeniu îi sunt necesare şi asemenea calităţi ca:
principialitatea, conlucrarea în colectiv, capacităţi de a cunoaşte bine
actele normative. În activitatea sa, contabilul se conduce, în mare
măsură, de reguli stricte referitoare la ţinerea evidenţei contabile, la

80
fiscalitate, la pregătirea rapoartelor financiare şi el trebuie să le
cunoască şi să le respecte. Însă aceasta nu înseamnă că contabilul nu
are posibilităţi de alegere a unor metode, de a analiza şi de a lua
decizii. Dimpotrivă, el poate face acest lucru, dar numai în limitele
legislaţiei şi nu trebuie să comită abateri nici chiar la insistenţa
conducătorului întreprinderii. Totodată, contabilul, ca nici un alt
specialist, are relaţii cu lucrătorii: în vederea salariilor, deplasărilor,
rapoartelor gestionarilor etc.
De aceea el trebuie să cunoască psihologia, să dispună de o cultură
înaltă. Dar să nu uităm şi de relaţiile comerciale ale firmelor cu
partenerii străini: contabilul trebuie să participe la negocieri, să aibă şi
un comportament care ar atrage clienţii. În cazul dat, e vorba şi de
necesitatea cunoaşterii unei limbi străine.
Contabilul poate contribui la prosperarea întreprinderii, dacă va
izbuti să impună să „vorbească” acele cifre care sunt obţinute în
contabilitate, adică să le analizeze minuţios, pentru a găsi rezerve de
desfăşurare a activităţii, de ridicare a eficienţei acesteia şi de
înlăturarea pierderilor.
Conţinutul planurilor de studii prevede studierea acelor discipline
care contribuie la formarea profesiei de contabil necesară economiei
de piaţă. Toate disciplinele de specialitate sunt predate în
conformitate cu cerinţele standardelor naţionale şi internaţionale.
La facultate o atenţie deosebită se acordă studierii calculatoarelor şi
limbilor străine. Viitorii contabili însuşesc cele mai moderne programe
automatizate de contabilitate: „1C-Contabilitate"; „Wizcount"; „Book-
Keeper" etc. Facultatea are relaţii cu diferite catedre de la universităţi din
Republica Moldova şi de peste hotare. Mulţi profesori ai facultăţii au
participat la reforma contabilităţii, au avut stagii la Academia de Studii
Economice din Bucureşti şi la Universitatea Omaha din Nebraska (SUA).
Procesul de studii se desfăşoară atât cu frecvenţă la zi, cât şi fără
frecvenţă, cu predare în limbile română şi rusă.
Absolvind facultatea „Contabilitate", specialiştii posedă cunoştinţe
profunde în domeniul contabilităţii şi auditului, ce le permit să lucreze în
întreprinderi de stat şi private din diferite ramuri ale economiei naţionale
(industrie, comerţ agricultură etc.), în sistemul financiar-bancar, precum
şi în organizaţii internaţionale. De asemenea, fiind familiarizaţi cu
controlul şi auditul, mulţi absolvenţi sunt solicitaţi de organele
controlului de stat şi de firmele care practică activitatea de audit.

81
Celor care doresc să-şi continue studiile postuniversitare, ASEM le
oferă posibilitatea să urmeze masteratul şi doctoratul.

3.5. Facultatea Economie Generală şi Drept


Decan, conf.univ., dr. Dorin Vaculovschi

Este o facultate cu un spectru larg de pregătire a cadrelor pentru cele


mai diverse domenii ale economiei naţionale. Baza tuturor specializărilor
o constituie pregătirea fundamentală economică, plus specializarea în
domeniile corespunzătoare.
Inserând cadre didactice cu o experienţă performantă de pregătire a
specialiştilor pentru ramurile economiei naţionale, în cadrul facultăţii
activează şase catedre:
 Economie generală;
 Management social;
 Instruire economică şi comunicare de afaceri;
 Geografie şi Economia mediului;
 Drept privat;
 Drept public.
Pentru prima dată în Republica Moldova a fost iniţiată pregătirea
specialiştilor cu specializări noi ca: Economia generală şi Economia şi
managementul mediului.
Concomitent cu pregătirea specială, studenţii acestei facultăţi
asimilează cunoştinţe în domeniul folosirii calculatoarelor şi a tehnicii de
birou. Astfel, absolvenţii facultăţii, însuşind tehnica de calcul şi bazele
economiei au posibilităţi de a se angaja în cele mai diverse domenii ale
economiei Republicii Moldova: în cadrul organelor de conducere la nivel
de ministere, întreprinderi, instituţii de învăţământ şi ştiinţă, în sectorul
privat şi în cel de stat, administraţii publice, judeţene şi locale.
Facultatea pregăteşte cadre în următoarele specializări:
 Economie Generală – specialişti cu o largă pregătire economică
pentru activitatea profesională în cele mai diverse ramuri ale economiei
naţionale: întreprinderi, instituţii financiare, în orice structuri comerciale,
în cadrul organelor de stat de nivel republican şi municipal;
 Management Social – specialişti în domeniul managementului în

82
sfera socială: educaţie, ocrotirea sănătăţii, cultură, asistenţă socială,
ocuparea forţei de muncă;
 Economia şi Managementul Resurselor Umane – specialişti ce
se vor ocupa ulterior cu selecţia, evaluarea performanţelor, recrutarea,
orientarea profesională a angajaţilor; cu probleme de organizare a muncii
şi de salarizare a personalului, precum şi de alte domenii legate de
managementul resurselor umane, ocuparea forţei de muncă, mişcarea
sindicală etc.;
 Managementul în Administraţia Publică – specialişti în
domeniul managementului în administrarea publică atât la nivel local, cât
şi la nivel central;
 Economia şi Managementul Mediului – specialişti de economie
cu un nivel de cunoaştere a ocrotirii mediului înconjurător şi folosire a
resurselor naturale, bazate pe cunoştinţe economice fundamentale;
 Dreptul Economic – specialişti cu o calificare înaltă în
domeniul jurisprudenţei, pentru Ministerul Justiţiei, poliţiei
economice şi inspectorate fiscale, întreprinderi, organizaţii vamale,
notariat, Uniunea Avocaţilor, administraţii publice;
 Instruirea Economică – singura specializare în Republica
Moldova destinată pregătirii cadrelor cu un înalt grad de specializare
în domeniul economiei şi pedagogiei. Specialiştii au posibilitatea de a
se angaja atât în calitate de economist în economia naţională, cât şi în
calitate de profesori de economie în instituţii de învăţământ superior,
colegii şi licee.
Admiterea la facultate în 2006, conform noului nomenclator de
specialităţi universitare, se va efectua la specialităţile/domeniile de
formare profesională:
 366.1 Economie generală;
 131.1 Administrare publică;
 381.1 Drept.
Limbile de studii: română şi rusă.

83
3.6. Facultatea Finanţe
Decan, prof.univ., dr.hab. Ludmila Cobzari

Facultatea Finanţe din cadrul ASEM, fiind una din cele mai
prestigioase în şcoala economică superioară din Republcia Moldova, s-a
impus prin faptele mai multor generaţii de profesori, studenţi şi personal
administrativ, fapte acumulate în aproape cinci decenii. Prezentul, la fel
de dinamic şi provocator, oferă facultăţii prilejul să se afirme prin munca
de educare a noii generaţii de specialişti în domeniul financiar-bancar,
adaptate la actualele realităţi economice.
Facultatea îşi desfăşoară activitatea, alături de celelalte facultăţi cu
profil economic din cadrul Academiei de Studii Economice din
Moldova, într-un ansamblu de clădiri moderne, amenajate cu săli de
bibliotecă, laboratoare informatice, Incubatorul de Afaceri, Complexul
Sportiv şi Centrul Multimedia.
Instruirea studenţilor în cadrul facultăţii este asigurată de 5 catedre:
Finanţe şi asigurări, Bănci şi burse de valori, Investiţii şi pieţe de
capital, Limbi moderne aplicate şi Filozofie şi politologie.
Activitatea catedrei Finanţe şi Asigurări este axată pe două
domenii distincte:
1) instructiv-educativ - obiectivul principal este pregătirea
cadrelor în domeniul Finanţelor publice, Fiscalitate;
Finanţelor întreprinderii şi Asigurărilor în corespundere cu
exigenţele învăţămîntului superior contemporan;
2) ştiinţific - miezul problemelor abordate sunt: rolul politicilor
financiare în dezvoltarea economiei ţării; instrumente
financiare de realizare a strategiei de dezvoltare şi creşterii
economice a Republicii Moldova; studierea premiselor
financiare de integrare a Republicii Moldova în Uniunea
Europeană.
Catedra Bănci şi burse de valori desfăşoară o activitate didactică
şi de cercetare în domeniul financiar-bancar atât pe planul
operaţiunilor propriu-zise, cât şi al gestionării riscurilor şi
performanţelor bancare şi valutare, domenii de mare interes şi
atractivitate pentru studenţii ASEM.
Obiectivul principal al catedrei Investiţii şi pieţe de capital este
pregătirea universitară şi postuniversitară a cadrelor în domeniul

84
investiţional şi al pieţei de capital, inclusiv internă şi internaţională.
Colectivul catedrei desfăşoară o activitate didactică de predare,
seminarizare şi de cercetare în domeniul investiţional şi al pieţelor de
capital.
La catedră Limbi moderne aplicate accentul este pus pe
formarea competenţelor de comunicare orală şi scrisă ce ţin de
activitatea economică a întreprinderii, definirea noţiunilor şi a
termenilor economici, studierea tehnicilor de redactare a scrisorilor
comerciale, a unor circulare, a cererilor de oferte, a ofertelor,
comenzilor, reclamaţiilor.
Catedra Filozofie şi politologie desfăşoară o activitate didactică
şi de cercetare în domeniul filozofiei şi politologiei, având ca obiectiv
principal cunoaşterea de către studenţi a legităţilor generale ale
dezvoltării gândirii filozofice şi politice a omenirii, a problemelor
filozofico-economice şi politice actuale, a dezvoltării societăţii
postmoderne, contribuind la formarea unei culturi filozofice,
filozofico-economice şi politice adecvate societăţii contemporane.
Catedra asigură pregătirea studenţilor în domeniu la toate facultăţile
ASEM.
Procesul de studii din cadrul Facultăţii Finanţe este structurat în
următoarele specializări:
 Finanţe şi asigurări. Principalul obiectiv al specializării „Finanţe
şi Asigurări” constă în formarea şi pregătirea specialiştilor în trei direcţii
de bază: domeniul finanţelor publice, domeniul finanţelor manageriale şi
domeniul asigurărilor. Absolvenţii acestei specializări pot ocupa funcţii
de economist-finanţist în instituţiile publice centrale şi locale, manager
financiar, analist şi consilier financiar, agent de asigurări şi economist în
domeniul asigurărilor şi reasigurărilor, precum şi în domeniul instituţiilor
financiare.
 Finanţe şi contabilitatea firmei. Scopul acestor studii este
specializarea interdisciplinară în finanţe şi contabilitate şi se înscrie în
tendinţa de specializare a învăţământului universitar pe domenii
distincte, în strânsă legătură cu cerinţele înregistrate pe piaţa forţei de
muncă. Absolvenţii acestei specializări pot ocupa funcţii de manager
financiar, contabil, auditor, finanţist atât la instituţii şi întreprinderi de
stat, cât şi în domeniul businessului mic şi mijlociu.

85
 Fiscalitate şi administrare financiară. Scopul studiilor la
specializarea “Fiscalitate şi administrare financiară” este pregătirea
specialiştilor în domeniul financiar-fiscal şi se înscrie în tendinţa de
specializare a învăţământului universitar pe domenii distincte, în strânsă
legătură cu cerinţele înregistrate pe piaţa forţei de muncă. Absolvenţii
acestei specializări pot activa în calitate economist-finanţist, inspector
fiscal şi vamal, expert financiar şi fiscal, în cadrul compartimentului
financiar-fiscal din cadrul întreprinderilor, organizaţiilor şi instituţiilor de
stat şi din sectorul businessului mic şi mijlociu.
 Bănci şi Burse de Valori. Scopul acestor studii este specializarea
aprofundată în domeniul activităţii bancare şi a burselor de valori. Istoria
apariţiei specializării ²Bănci şi Burse de Valori² ne prezintă prin trecut
prezentul, prin prezent – viitorul şi este condiţionată de factorii obiectivi
ai funcţionării economiei în diferite perioade de dezvoltare a unei ţări.
Absolvenţii acestei specializări pot ocupa funcţii de economist în
domeniul analizei financiar-bancare, ofiţer de credit, gestionar al
portofoliului de hârtii de valoare, broker sau dealer pe piaţa de capital,
administrator de cont, economist al operaţiunilor valutare şi
internaţionale.
Admiterea la facultate în 2006, conform noului nomenclator de
specialităţi universitare, se va efectua la specialitatea/domeniul de
formare profesională:
 364.1 Finanţe şi bănci.
Studiile la facultate se efectuează în limbile română, rusă şi engleză.
Desfăşurarea procesului de învăţământ în cadrul Facultăţii este asigurată
de profesori competenţi şi cu experienţă, formată inclusiv şi în cadrul
stagiilor de calificare în universităţile prestigioase din Grecia, Marea
Britanie, Franţa, România, Rusia, SUA, Ungaria şi alte state.
Preocupările pentru realizarea unei pregătiri temeinice a viitorilor
specialişti s-au concretizat, înainte de toate, într-un plan de învăţământ
modern, echilibrat, ce realizează o sinteză între structura şi standardele
actuale ale învăţământului economic universitar şi cerinţele vieţii
economice reale, generate de tranziţia la noul tip de economie. Prin
discipline obligatorii, facultative şi opţionale, planul de învăţămînt
orientează eforturile studenţilor şi ale corpului profesoral în trei direcţii
esenţiale: însuşirea cunoştinţelor teoretice si practice în domeniile
finanţelor şi contabilităţii; formarea deprinderilor de utilizare a

86
calculatoarelor în prelucrarea informaţiilor statistice şi financiar-
contabile; însuşirea la un nivel ridicat a limbilor străine de circulaţie
universala.
Desfăşurarea procesului de învăţământ în cadrul Facultăţii este
asigurată de profesori competenţi şi cu experienţă, acumulată inclusiv în
cadrul stagiilor de calificare în universităţile prestigioase din Grecia,
Marea Britanie, Franţa, România, Rusia, SUA, Ungaria şi alte state.

3.7. Facultatea Relaţii Economice Internaţionale


Decan, prof.univ., dr.hab. Dumitru Moldovan

"... Dacă doriţi să obţineţi studii competitive pe plan european, să


fiţi de folos ţării şi să vă găsiţi un rost în viaţă, devenind bogaţi şi
vestiţi, alegeţi facultatea de Relaţii Economice Internaţionale".

Academia de Studii Economice din Moldova este prima instituţie


de învăţământ superior din republică care a iniţiat pregătirea
specialiştilor în domeniul Relaţiilor Economice Internaţionale.
Facultatea REI este unica în instituţiile din Republica Moldova care
face parte din reţeaua de universităţi sprijinită de programul HESP
(Fundaţia SOROS).
În cadrul facultăţii activează 3 catedre specializate cu 65 de
profesori: Relaţii economice internaţionale (şef catedră conf.univ., dr.
Boris Chistruga); Economie politică şi Doctrine economice (şef
catedră prof.univ., dr.hab. Eugenia Făuraş); Limbi moderne de afaceri
(şef catedră conf.univ., dr. Gheorghe Moldovanu).
În cadrul catedrelor deseori activează profesori invitaţi din SUA,
Franţa, România, Germania, Rusia, Marea Britanie, Polonia, Italia,
Argentina, Ungaria, Belgia.
Absolvenţii specialităţii Relaţii economice internaţionale devin
titulari a două calificări: economist şi interpret de limbă engleză,
franceză sau germană.
La secţia cu frecvenţă la zi şi fără frecvenţă învaţă peste 1100
studenţi divizaţi în trei filiere, conform limbii de predare. Anual, circa
50 de studenţi de la facultate se află la stagiu în universităţi şi
întreprinderi străine din Franţa, SUA, Germania, Olanda, România şi

87
alte ţări. Studenţii facultăţii editează ziare în limbile franceză şi
engleză.
Admiterea la facultate în 2006, conform noului nomenclator de
specialităţi universitare, se va efectua la specialitatea/domeniul de
formare profesională:
 365.1 Economie mondială şi relaţii economice internaţionale.
Limbile de studii, în funcţie de specializare, sunt: română, engleza,
franceza şi germana.
Studenţii Facultăţii REI sunt pregătiţi pentru a activa:
 în organele puterii de Stat (Preşedinţie, Parlament, Guvern);
 în ambasadele Republicii Moldova peste hotare;
 la Banca Naţională a Moldovei şi băncile comerciale;
 în proiectele de asistenţă ale organismelor economice
internaţionale;
 la întreprinderile autohtone şi cele cu capital străin.
Facultatea REI are semnate acorduri de cooperare cu Facultatea
Ştiinţe Economice şi Sociale a Universităţii Tehnice din
Braunchweing (Germania); Facultatea Relaţii Internaţionale,
Universitatea din Nebrasca Omaha (SUA); Facultatea Relaţii
Economice Internaţionale şi Facultatea Studii Economice în Limbi
Străine de la ASE Bucureşti.
În cadrul facultăţii funcţionează prima filieră francofonă deschisă
în Republica Moldova, ce beneficiază de sprijinul multilateral din
partea Agenţiei Universitare Francofone. Anual, 16-20 studenţi şi 3-4
profesori beneficiază de stagii la universităţile din Franţa şi Belgia.
În anul 2005, în cadrul catedrei „Limbi moderne de afaceri” a
ASEM, Centrul de examene a semnat o convenţie 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 menite să testeze aptitudinile candidaţilor de
utilizare a limbii franceze în mai multe domenii a vieţii profesionale,
precum şi la niveluri diferite.
Diplomele CCIP prezintă o alternativă diplomelor de cunoaştere a
limbii franceze generale, oferind posibilitatea de continuare a
studiilor în una din ţările francofone, dar şi perspective de utilizare în
scopuri profesionale.

88
4. Admiterea ASEM-2006

Stimaţi absolvenţi ai şcolilor medii, liceelor şi colegiilor!


Dacă doriţi să deveniţi specialişti de înaltă calificare şi să aveţi un
viitor asigurat, veniţi la ASEM:
 instituţie de învăţământ superior acreditată;
 peste 16000 studenţi;
 29 de doctori habilitaţi şi 196 de doctori în ştiinţe;
 bibliotecă cu un fond de cărţi de peste 500 000 volume, 5 săli de
lectură cu 500 locuri (1140 m.p.);
 5 blocuri de studii („A”, „B”, „C”, „D” şi „E”) situate în preajmă;
 28 de săli cu calculatoare pentru instruire; peste 900 de calculatoare
moderne interconectate în reţea cu ieşire la Internet. Fiecare student
dispune de un cont propriu de poştă electronică şi spaţiu individual
de memorie-disc de 30 megaocteţi la unul din serverele reţelei
ASEM;
 Centrul Multimedia cu 70 de calculatoare Pentium 4 şi monitoare LCD,
destinat lucrului individual al studenţilor cu informaţiile în formă
electronică şi care este deschis 12 ore pe zi, inclusiv cele de sâmbătă;
 catedră militară, în cadrul căreia studiile se efectuează la cerere;
 7 cămine pentru studenţi, înzestrate cu săli de calculatoare
conectate la Internet, săli de lectură. Taxa pentru cazare constituie
40 % din totalul cheltuielilor;
 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 studenţi şi profesori plasate în blocurile „A” şi „B”
(pentru studenţii orfani şi semiorfani prânzul este gratis);
 burse pentru studenţi – sociale, sportive, altele;
 distracţii/activităţi: TVC, Balul Bobocilor, discotecă, Miss ASEM,
Mister X ASEM, Cel mai bun student, Olimpiada la Informatică,
Olimpiada la Matematică, turism, odihnă, excursii, competiţii sportive,
cercuri ştiinţifice studenţeşti, conferinţe internaţionale.

89
Admiterea la ASEM are loc prin concurs. Pot candida absolvenţi ai
liceelor, şcolilor medii de cultură generală, colegiilor, în conformitate cu
prevederile legislaţiei în vigoare. La studiile fără frecvenţă pot candida şi
specialiştii cu studii superioare în scopul obţinerii unei noi specialităţi;
durata studiilor în acest caz este de trei ani.
Lista specialităţilor cu indicarea limbii de instruire şi a formelor de
studii sunt prezentate în tabelul ce urmează.

Codul Limba
Specialitatea Forma
Facultatea de
(ciclul I – 3(4) ani; licenţă) de studii
instruire
Business şi administrare 363.1 rom/rus zi, f/r
Marketing şi logistică 362.1 rom/rus zi, f/r
Business şi
Merceologie şi comerţ 369.1 rom/rus zi, f/r
Administrarea
812.1 rom-eng zi
Afacerilor
Turism 812.1 rom-fr zi
812.1 rom/rus zi, f/r
Statistică şi previziune 367.1
Cibernetică, română zi, f/r
economică
Statistică şi
Cibernetica si informatică 368.1
Informatică rom/rus zi, f/r
economică
Economică
Informaticã 444.1 rom/rus zi, f/r
Contabilitate Contabilitate 361.1 rom/rus zi, f/r
Economie Administraţie publică 313.1 rom/rus zi
Generală şi Economie generală 366.1 română zi, f/r
Drept Drept 381.1 română zi, f/f
364.1 rom/rus zi, f/r
Finanţe Finanţe si bănci
364.1 rom-eng zi
365.1 rom-eng zi
Relaţii Economie mondială şi relaţii
365.1 rom-fr zi
Economice economice internaţionale
365.1 rom-germ zi
Internaţionale
365.1 rom f/r

Alte informaţii sunt specificate în Regulamentul de organizare şi


desfăşurare a admiterii în Academia de Studii Economice din Moldova
în anul 2006, afişat la locaţia Web a ASEM ( www.ase.md) şi publicat
în presă, inclusiv ziarul Curierul economic nr. 12, 6 mai – 12 mai 2006.

90
Nu rataţi şansa Dvs.

91
Anexă

Lista participanţilor la Olimpiada Republicană la


Informatică a elevilor, ediţia 2006

Numele Clasa Raion Instituţia


Grosu Andrei 11 Anenii Noi Liceul Teoretic "Hyperion", Anenii Noi
Curdvanovschi Igor 9 Bălţi Liceul Teoretic "Ştefan cel Mare", Bălţi
Gostişev Stanislav 10 Bălţi Liceul Teoretic "D. Cantemir", Bălţi
Moroşciuc Alexei 10 Bălţi Liceul Teoretic "D. Cantemir", Bălţi
Mocanu Alexandru 11 Bălţi Liceul Teoretic "M. Eminsecu", Bălţi
Gaisan Dumitru 12 Bălţi Liceul Teoretic "D. Cantemir", Bălţi
Felendiuc Denis 11 Bălţi Colegiu Colegiul Politehnic Bălţi
Zaharia Alexandru 12 Bălţi Colegiu Colegiul Politehnic Bălţi
Sîrbu Iulia 9 Briceni Şcoala Medie, Briceni
Mironov Alexandru 11 Briceni Liceul Teoretic nr.1 Briceni
Bargan Alexandru 9 Cahul Liceul Teoretic "M. Eminescu"
Maftei Alexandru 10 Cahul SM Baurci
Malai Natalia 11 Cahul Liceul Teoretic "M. Eminescu"
Miron Andrei 9 Cantemir Gimnaziul Pleşeni
Sorocean Alexei 9 Călăraşi Şcoala Medie Hîrjauca
Chicu Dumitru 10 Călăraşi Liceul Teoretic Horodişte
Gîrşcan Andrian 11 Călăraşi Liceul Teoretic "M. Sadoveanu" Călăraşi
Sorocean Sergiu 12 Călăraşi Liceul Teoretic "M. Sadoveanu" Călăraşi
Ursachi Tudor 12 Călăraşi Liceul Teoretic "M. Sadoveanu" Călăraşi
Bocancea Mihai 9 Căuşeni Liceul Teoretic Taraclia
Munteanu Alexandru 10 Căuşeni Liceul "M. Eminescu", Căuşeni
Lobodă Arcadie 11 Căuşeni Liceul "A. Mateevici", Căinari
Trifan Stanislav 12 Căuşeni Liceul "A. Mateevici", Căuşeni
Surdu Pavel 10 Cimişlia Liceul Teoretic "M. Viteazu", Cimişlia
Mihalache Elena 11 Cimişlia Liceul Teoretic "M. Viteazu", Cimişlia
Istrati Mihai 9 Criuleni Liceul Teoretic Criuleni
Noviţchi Silviu 10 Criuleni Liceul Teoretic Criuleni

92
Novac Pavel 11 Criuleni Liceul Teoretic Criuleni
Noviţchi Radu 12 Criuleni Liceul Teoretic Criuleni
Buzatu Radu 10 Donduşeni Liceul Teoretic "Alexei Mateevici"
Guţu Pavel 9 Drochia Liceul Teoretic "Ion Creangă" Popeştii de Sus
Obadă Denis 11 Drochia Liceul Teoretic "M. Eminsecu", Drochia
Sîrbu Vadim 11 Drochia Liceul Teoretic "M. Eminsecu", Drochia
Solonencov Sergiu 12 Drochia Liceul Teoretic "M. Eminsecu", Drochia
Gavrilov Eugeniu 9 Edineţ Liceul Teoretic "D. Cantemir", Edineţ
Dobic Marina 10 Edineţ Liceul Teoretic "D. Cantemir", Edineţ
Mereniuc Alexandru 11 Edineţ Liceul Teoretic Brătuşeni
Dumbravă Victor 9 Făleşti Liceul Teoretic Catranîc
Cîrstea Denis 10 Făleşti Liceul Teoretic Răuţel
Rusnac Mihai 10 Făleşti Liceul Teoretic " Mihai Eminescu", Făleşti
Marchitan Vladimir 11 Făleşti Liceul Teoretic "I. Creangă", Făleşti
Parasii Denis 9 Floreşti gim. Temeleuţi
Ivanov Sergiu 10 Floreşti Liceul "I. Creangă", Floreşti
Guranda Eugen 11 Floreşti Liceul "I. Creangă", Floreşti
Guranda Ion 12 Floreşti Liceul "I. Creangă", Floreşti
Nagavciuc Viorica 9 Glodeni Liceul Teoretic Fundurii Vechi
Mîrza Andrei 10 Glodeni ŞM Iabloana
Covalischi Alexandru 12 Glodeni Liceul Teoretic "Lev Tolstoi"
Brînză Nicolae 9 Hînceşti Liceul Teoretic "M. Sadoveanu", Hînceşti
Mititelu Denis 10 Hînceşti Liceul Teoretic "M. Sadoveanu", Hînceşti
Pascal Serghei 10 Hînceşti Liceul Teoretic "A. Donici", Ciuciuleni
Foltea Cristina 12 Hînceşti Liceul Teoretic "A. Donici", Ciuciuleni
Bivol Elena 8 Ialoveni Liceul Teoretic "Olymp", Costeşti
Lazăr Mihai 9 Ialoveni ŞM Cigîrleni
Smuc Alexandru 9 Ialoveni Liceul Teoretic "Olymp", Costeşti
Tabac Radu 11 Ialoveni Liceul Teoretic, Puhoi
Fedorcea Doina 10 Leova Liceul teoretic "C. Spătaru"
Rizov Silvia 11 Leova Liceul teoretic "C. Spătaru"
Nicu Andrei 12 Leova Liceul teoretic "C. Spătaru"
Casapu Artiom 8 m. Chişinău Liceul Teoretic "Prometeu"
Ciuntu Maxim 8 m. Chişinău Liceul Teoretic "Prometeu"
Gramaţchi Iulian 8 m. Chişinău Liceul Teoretic "Prometeu"

93
Guzun Ion 8 m. Chişinău Liceul Teoretic Moldo-Turc
Balaban Valeriu 9 m. Chişinău Liceul Teoretic "Gh. Asachi"
Cracan Dan 9 m. Chişinău Liceul Teoretic Moldo-Turc
Dilion Viorel 9 m. Chişinău Liceul Teoretic "N. Iorga"
Doibani Valeriu 9 m. Chişinău Liceul Teoretic Moldo-Turc
Popovici Eugen 9 m. Chişinău Liceul Teoretic Moldo-Turc
Berzan Constantin 10 m. Chişinău Liceul Teoretic Moldo-Turc
Frimu Andrei 10 m. Chişinău Liceul Teoretic Moldo-Turc
Grecu Mircea 10 m. Chişinău Liceul Teoretic "Prometeu"
Prisăcaru Sergiu 10 m. Chişinău Liceul Teoretic "Prometeu"
Rusu Mihaela 10 m. Chişinău Liceul Teoretic "M. Eliade"
Boreico Iurie 11 m. Chişinău Liceul Teoretic Moldo-Turc
Coroliuc Denis 11 m. Chişinău şc. Nr. 14
Falico Veaceslav 11 m. Chişinău Liceul Teoretic "Ion Creangă"
Ivanov Sergiu 11 m. Chişinău Liceul Teoretic "Gaudeamus"
Vanovschi Vladimir 11 m. Chişinău Liceul Teoretic "M. Spătaru"
Vasilaşcu Roman 11 m. Chişinău Liceul Teoretic "M. Eliade"
Vasiliev Artiom 11 m. Chişinău Liceul Teoretic "D. Cantemir"
Vicol Dorian 11 m. Chişinău Liceul Teoretic "Prometeu"
Zamorzaev Alexandr 11 m. Chişinău Liceul Teoretic Moldo-Turc
Borsenco Ion 12 m. Chişinău Liceul Teoretic Moldo-Turc
Burlacu Oleg 12 m. Chişinău Liceul Teoretic "Gh. Asachi"
Burovenco Igor 12 m. Chişinău Liceul Teoretic "D. Cantemir"
Câssa Vadim 12 m. Chişinău Liceul Teoretic "B. P. Haşdeu"
Chiriac Liubomir 12 m. Chişinău Liceul Teoretic Moldo-Turc
Colin Alexei 12 m. Chişinău Liceul Teoretic "N. Iorga"
Efros Pavel 12 m. Chişinău Liceul Teoretic "Prometeu"
Fedotcenco Denis 12 m. Chişinău Liceul Teoretic "D. Cantemir"
Gorin Anton 12 m. Chişinău Liceul Teoretic "D. Cantemir"
Zacon Stanislav 10 m. Chişinău Liceul Republican cu profil real
Bulicanu Liviu 11 m. Chişinău Liceul Republican cu profil real
Gogu Andrei 12 m. Chişinău Liceul Republican cu profil real
Suman Dinu 10 m. Chişinău Colegiul de Informatică Chişinău
Cristiuc Mihai 11 m. Chişinău Colegiul Politehnic, Chişinău
Rotaru Anatol 12 m. Chişinău Colegiul de Informatică Chişinău

94
Dragan Nicolae 9 Nisporeni LT "Prometeu", Grozeşti
Şoldău Grigore 10 Nisporeni Liceul Teoretic "M. Eliade", Nisporeni
Brodicico Dumitru 11 Nisporeni Liceul Teoretic "B. Cazacu", Nisporeni
Ţărnă Victor 12 Nisporeni Liceul Teoretic "B. Cazacu", Nisporeni
Savca Alexei 9 Ocniţa Liceul Teoretic "M. Sadoveanu", Ocniţa
Solodchi Gabriel 10 Ocniţa ŞM Lipnic
Bejan Andrei 11 Ocniţa Liceul Teoretic "M. Sadoveanu", Ocniţa
Sîtnic Victor 12 Ocniţa Liceul Teoretic "M. Sadoveanu", Ocniţa
Gujuman Dan 10 Orhei Liceul Teoretic "I. Caragiali", Orhei
Mihu Marin 11 Orhei Liceul Teoretic "I. Caragiali", Orhei
Mîţu Petru 11 Orhei Liceul Teoretic "O. Ghibu", Orhei
Bivol Olga 12 Orhei Liceul Teoretic "O. Ghibu", Orhei
Milosta Andrei 9 Rezina Liceul Teoretic "Ştefan cel Mare", Rezina
Drahnea Serghei 11 Rezina Liceul Teoretic "A. cel Bun", Rezina
Ciubari Eugen 12 Rezina Liceul Teoretic "A. cel Bun", Rezina
Reabuhin Andrei 9 Rîşcani Liceul Teoretic "D. Cantemir", Rîşcani
Gînju Eugenia 10 Rîşcani Liceul Teoretic "L. Gherman", s. Zăicani
Bejan Oleg 11 Rîşcani Liceul Teoretic "D. Cantemir", Rîşcani
Popov Ştefan 11 Rîşcani Liceul Teoretic "L. Damian", Rîşcani
Drăgăuţan Nicolae 9 Sîngerei "A Crihan", Sîngerei
Banaru Alexandru 11 Sîngerei Liceul Teoretic "M. Eminescu", Sîngerei
Ciugureanu Igor 12 Sîngerei Liceul Teoretic "D. Cantemir", Sîngerei
Simonov Dumitru 12 Sîngerei Liceul Teoretic "M. Eminescu", Sîngerei
Potoroacă Mihai 10 Soroca Liceul Teoretic "C. Stere", Soroca
Dubciuc Vitalie 12 Soroca Liceul Teoretic "C. Stere", Soroca
Marchitan Irina 12 Soroca Liceul Teoretic "P. Rareş", Soroca
Iovu Andrei 9 Străşeni Liceul Teoretic "I. Vatamanu", Străşeni
Munteanu Eugen 10 Străşeni Liceul Teoretic "I. Vatamanu", Străşeni
Graciov Marc 11 Străşeni Liceul Teoretic "I. Vatamanu", Străşeni
Iacob Alexandru 11 Străşeni Liceul Teoretic "I. Vatamanu", Străşeni
Barbus Maxim 9 Şoldăneşti ŞM Şoldăneşti
Plotean Iurie 10 Şoldăneşti LT Şoldăneşti
Savca Andrei 11 Şoldăneşti LT Şoldăneşti
Guma Vasile 12 Şoldăneşti LT Cotiujenii Mari
Ceban Andrei 10 Ştefan Vodă Liceul Teoretic "Şt. Vodă", Ştefan Vodă

95
Munteanu Alexandru 12 Ştefan Vodă Liceul Teoretic "Şt. Vodă", Ştefan Vodă
Kalincov Dmitrii 9 Taraclia Liceul Teoretic Tvardiţa
Burlacenko Natalia 10 Taraclia Liceul Teoretic Ciumai
Iazadjî Zahar 11 Taraclia Liceul Teoretic Tvardiţa
Ciorna Tatiana 12 Taraclia Liceul Teoretic "I. Vazov", Taraclia
Gandrabur Alexandru 9 Teleneşti Gimanaziul "M. Eminescu",Teleneşti
Uricu Mariana 11 Teleneşti LT "V. Anestiade", Sărăteni
Cerdanţev Alexandr 10 Tiraspol Gimnaziul Tiraspol
Kovaci Evdokim 10 Tiraspol Liceul Teoretic Nr.1
Semaka Vadim 10 Tiraspol Liceul Teoretic Nr.1
Bulavkina Svetlana 11 Tiraspol Liceul Teoretic Nr.1
Ciupercă Sergiu 9 Ungheni Liceul Teoretic "A.Mateevici"
Tolocica Olga 10 Ungheni Liceul Teoretic "A. Puşkin"
Baran Marina 11 Ungheni Liceul Teoretic "A. Puşkin"
Corneev Denis 12 Ungheni Liceul Teoretic "V. Alecsandri"
Nedialcov Iurii 9 UTAG Liceul Teoretic Gaidarji, Comrat
Ianak Andrei 10 UTAG Liceul Teoretic Tomai
Volevici Serghei 11 UTAG Liceul Teoretic Gaidarji, Comrat
Ceban Alexandr 12 UTAG Liceul Teoretic Gaidarji, Comrat

96
Semnat pentru tipar 07.05.2006
Format 60x84 1/16.
Coli editoriale 6,0. Coli de tipar 6,0.

Tipografia Academiei de Studii Economice din Moldova


Chişinău 2006, Mitropolit Gavriil Bănulescu-Bodoni 59
Tel. 24-55-51

97

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