Sunteți pe pagina 1din 22

CUPRINS

INTRODUCERE.........................................................................................................................................3
OBIECTIVELE GENERALE ALE PRACTICII DE SPECIALITATE II.................................................4
COMPETENŢE TRANSVERSALE..........................................................................................................4
COMPETENŢE PROFESIONALE............................................................................................................5
COMPETENŢE SPECIFICE PRACTICII DE SPECIALITATE II........................................................6
1. Enunțul sarcinii..................................................................................................................................7
2. Modul de elaborare a aplicației........................................................................................................8
Punctul 1..................................................................................................................................................8
Punctul 2..................................................................................................................................................8
Punctul 3..................................................................................................................................................8
Punctul 4..................................................................................................................................................8
Punctul 6..................................................................................................................................................8
Punctul 7..................................................................................................................................................8
Punctul 8..................................................................................................................................................8
3. Listing-ul programului......................................................................................................................9
4. Estimarea complexității algoritmilor.............................................................................................16
5. Rezultatele testării subprogramelor...............................................................................................18
6. Concluzie...........................................................................................................................................23
7. Bibliografie.......................................................................................................................................24
INTRODUCERE

Practica de instruire a anului doi s-a început pe 30 mai și are lor pina pe 17 iunie, fiecarui
elev i sa dat sarcina sa individuală ce conținea 8 itemi. Pentru realizarea ei am avut nevoie de
limbajul de programare C++ in mare parte.
Pe parcursul practicii am avut de realizat acei 8 itemi ai sarcinii în aplicația Borland C+
+ Builder. Realizînd programul noi elevii avem o responsabilitate de a finisa acest program
conform cerinţelor date de conducătorul practicii și sa nu dam greș. După finisarea programului
şi a perioadei de practică, noi avem pare de o experiență buna ce ne va ajuta in viitor la un
serviciu.
Programul pe care l-am avut la practică este un program în domeniul bazelor de date, această
bază de date are ca obiectiv realizarea anumitor calcule mai profunde asupra lucrului cu
matricile bidimensionale, excluderea liniilor,înserarea liniilor, introducerea datelor în fișiere,
citirea datelor din fișier. Acestea sunt câteva din lista cu întrebări care trebuie de realizat pe baza
obiectivului practicii. Pe tot timpul practicii la elaborarea programului am avut necesitatea să
citim noi surse de informaţie care ne dezvolta capacităţile de programare în limbajul C++ și
folosirea acestuia în aplicația Borland C++ Builder în care am realizat această aplicație de tip
software.
Practica de instruire la rindul sau reprezintă un program complex format din mai multe
subprograme și realizînd toate sarcinile reprezintă o finisare cu succes al practicii.

2
OBIECTIVELE GENERALE ALE PRACTICII DE SPECIALITATE II
- consolidarea cunoştinţelor teoretice, obţinute de studenţi pe parcursul studierii
limbajului de programare C++ şi mediului de programare CBuilder (sau C#, Visual
C+);

- însuşirea tehnologiei de elaborare a programelor mari;


- dezvoltarea abilităţilor muncii de sine stătătoare şi lucrul în echipă; - formarea
deprinderilor de cercetător.

COMPETENŢE TRANSVERSALE

1. Competenţe de învăţare de a învăţa să înveţi.


2. Competenţe de comunicare în limba maternă / limba de stat.
3. Competenţe de comunicare într-o limbă străină.
4. Competenţe acţiona-strategice.
5. Competenţe de autocunoaştere şi autorealizare.
6. Competenţe interpersonale, civice, morale.
7. Competenţe de bază în matematică, ştiinţe şi tehnologie.
8. Competenţe digitale, în domeniul tehnologiei informaţiei şi comunicaţiilor (TIC).
9. Competenţe culturale, interculturale (de a recepta şi a crea valori).
10. Competenţe antreprenoriale, spirit de iniţiativă şi antreprenoriat.
Notă. În procesul practicii de specialitate I, specialitatea 1851 -„Informatică”, se
dezvoltă, cu preponderenţă, următoarele competenţe transversale:

 Competenţe de comunicare în limba maternă / limba de stat.


 Competenţe de bază în matematică, ştiinţe şi tehnologie.
 Competenţe digitale, în domeniul tehnologiei informaţiei şi comunicaţiilor (TIC).

3
COMPETENŢE PROFESIONALE
(La specialitate):
1. Respectarea dreptului de autor asupra resurselor digitale, a normelor de etică şi
securitate informaţională.

2. Identificarea principiilor de funcţionare, clasificare şi proiectare a conexiunii între


echipamentele reţelelor de calculatoare.

3. Proiectarea algoritmilor şi codificarea lui într-un limbaj de programare.


4. Utilizarea metodelor şi tehnicilor eficiente de programare.
5. Elaborarea aplicaţiilor, utilizând elementele programării orientate pe obiecte.
6. Conceperea produselor multimedia.
7. Utilizarea tehnologiilor şi instrumentelor de proiectare, elaborare şi programare a
aplicaţiilor WEB.

8. Modelarea, proiectarea şi implementarea sistemelor informatice.


9. Aplicarea fundamentelor teoretice ale ştiinţelor juridice, sociale şi economice în
activitatea profesională.

4
COMPETENŢE SPECIFICE PRACTICII DE SPECIALITATE II

1. Analiza structurală a problemei în studiu.


2. Proiectarea descendentă a algoritmilor.
3. Aplicarea principiilor programării structurate, programării procedurale şi programării
orientate pe obiecte în scrierea algoritmilor şi elaborarea aplicaţiei.

4. Utilizarea tipurilor structurate de date (tablou, şir de caractere, mulţime, articol, fişier
etc.) adecvate pentru organizarea şi prelucrarea datelor.

5. Utilizarea principiilor Programării Orientate spre Obiecte la elaborarea programelor.


6. Utilizarea tehnicilor eficiente la elaborarea algoritmilor şi programelor respective.
7. Aplicarea tehnicilor de testare şi depanare a programelor elaborate. 8. Elaborarea unei
aplicaţii cu interfaţă grafică de interacţiune cu utilizatorul;

9. Gestionarea informaţiei utilizând resursele Internet.

5
1. Enunțul sarcinii

Harta unui continent poate fi văzută ca un dreptunghi având înălţimea de n unităţi, iar lăţimea de m
unităţi. Colţul din stânga –sus al hărţii are coordonatele [0, 0] , iar colţul din dreapta-jos are
coordonatele [n, m]. Coordonatele oraşelor de pe hartă sunt întotdeauna numere întregi, adică sunt de
forma [i, j] cu 0 ≤ i ≤ n, reprezentând linia şi 0 ≤ j ≤ m, reprezentând coloana.
Informaţii despre harta considerată sunt înregistrate în fişierul text Harta.in, care conţine pe
prima linie numerele naturale n şi m, separate prin spaţiu, reprezentând dimensiunile hărţii. A doua linie
a fişierului conţine naturalul k –numărul de oraşele de pe hartă. Pe următoarele k linii se găsesc câte
două numere naturale, separate printr-un spaţiu, reprezentând coordonatele a câte unui oraş de pe hartă.
Să se creeze o aplicație care să realizeze, la solicitarea utilizatorului, următoarele prescripţii:
(Design-ul aplicației vă aparține).
1) Înregistrează pe harta continentului un nou oraş; coordonatele oraşului de înregistrat se vor
introduce de la tastatură;
2) Exclude de pe harta continentului un oraş, coordonatele cărui se vor introduce de la tastatură;
3)Determină coordonatele oraşului, care este cel mai îndepărtat de la colţul stânga –sus al hărţii;
4) Determină numărul de oraşe plasate pe coloana rasterului cu indicele indicat de la tastatură;
5) Afişează pe ecran indicii liniilor rasterului hărţii, care nu conţin nici un oraş;
6) Creează fişierul text SortDist.txt, în care se vor transcrie liniile fişierului de intrare
Harta.in în ordinea descrescătoare a distanţelor Di ( 0 ≤ i ≤ n ) ale oraşelor respective de la colţul
stânga –sus al hărţii; la sfârşitul liniilor fişierului creat se vor ataşa valorile Di, precedate de câte un
spaţiu; datele se vor sorta prin metoda interclasării;
7) Găseşte pe harta continentului o zonă pătratică ce conţine un număr maximal de oraşe;
8) Rezolvă problema. În unul din oraşele de pe hartă în studiu se găseşte un turist. El doreşte să
pornească într-o expediţie deosebită. A decis să plece într-o anumită direcţie, şi să păstreze acea direcţie
pănă ajunge la marginea continentului (a hărţii) unde se încheie expediţia sa. Doreşte însă să aleagă acea
direcţie care îl asigură că pe drumul său va trece prin cât mai multe oraşe.
Fiind date dimensiunile hărţii, coordonatele L şi C ale oraşului în care se găseşte iniţial turistul şi
coordonatele tuturor celorlalte oraşe de pe hartă, elaboraţi un subprogram care determină numărul
maxim de oraşe pe care le va vizita turistul.
Date de intrare. Fişierul de intrare Harta.in, descris anterior, şi numere naturale L, C care se
introduc de la tastatură.
Date de ieşire. Fişierul de ieşire Harta.out va avea pe prima sa linie, un număr natural
reprezentând numărul maxim de oraşe pe care le vizitează turistul.
Exemplu : L=3 C=2
Harta.in Harta.out Explicaţii
5 10 3 Datele de intrare corespund hărţii din figura următoare, în care
7 am marcat cu  poziţia iniţială a turistului, iar cu  oraşele de
0 0 pe hartă. Traseul ales este cel indicat de linia trasată.
0 8
1 6
2 2
2 4
3 7
4 5
.

Restricţii Timp maxim de execuţie/test: 1 secundă.


1 ≤ n ≤ 1000
1 ≤ m ≤ 1000
1 ≤ k ≤ 2000

6
2. Modul de elaborare a aplicației

Aplicația am elaborat-o în mediul de programare Borland C++ Builder (v. 6.0). A fost un program
destul de complex și destul de dificil, în comparație cu alte aplicații ce le-am elaborat pe parcursul
anului de studii.
Pentru program am avut nevoie de cîteva funcții, și anume pentru citirea datelor din fișier. GetData(); și
GetRC();

Punctul 1
Am elaborat un algoritm simplu.Am înregistrat 2 variabile ca și latitudine și longitudine ce sunt
coordonatele orașului. Introduc acele coordonate în fișier cu ajutorul casetei StringGrid.

Punctul 2
La fel am avut nevoie de un algoritm simplu.Introduc coordonatele orașului ce doresc s-ăl exclud.
Introduc coordonatele prin variabilele a și b dintr-o casetă TEdit.

Punctul 3
La acest punct am elaborat un algoritm mai complex și mai lung dar nu complicat.Introduc punctul din
care voi calcula distanta pină la orașul la care urmeaza sa intoduc coordonatele prin caseta TEdit și
rezultatul se afișează inregistrinduse în fișier.

Punctul 4
La acest punct nu prea am avut bătăi de cap, am găsit pe internet un algoritm simplu și l-am aplicat.
Rezultatul se afișează în caseta Label după ce accesăm optiunea din meniul formei.

Punctul 5
Acest punct are ceva asemă nă tor cu punctul precedent a problemei datorită acestei asemă nă ri a
fost nevoie doar să schimb cîteva instrucțiuni pentru a-l rezolva.

Punctul 6
Acest punct mi-a dat mari bătăi de cap deoarece nu prea am înțeles metoda de sortare propusă la
rezolvarea problemei și în plus mai este nevoie de a lucra cu fișierele înregistrînd date în fișier.Mi-a luat
mult timp pentru a înțelege de ce metodă am nevoie pentru rezolvare.Pînă la urmă am decis că trebuie
rezultatele sortării să le afișez în un label direct di-n fișier.

Punctul 7
A fost cel mai greu punct. Am avut dificultăți la calcularea aranjarii numarului de orașe în patrat
deoarece trebuia să parcurg toată matricea în căutarea orașelor.

Punctul 8
A fost un punct greu ce l-am rezolvat mult timp deoarece nu prea am înțeles din condițiile programului
cum să calculez numărul de orașe prin care va trece turistul și din cauza lipsei de informație am avut
probleme la acest punct.

7
3. Listing-ul programului
Program Turist:
//---------------------------------------------------------------------------

#include <vcl.h>
#pragma hdrstop
#include <fstream.h>
#include "UPro.h"
#include <string.h>
#include <math.hpp>
#include <math.h>
#include <stdio.h>
#include <conio.h>
#include "UPro3.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
int f;
int tag,g,n,m,line,line1;
int siz=225;
AnsiString ffile;
bool o=false;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
Edit1->Visible=False;
Label1->Visible=False;
Label2->Visible=True;
Label3->Visible=False;
Label4->Visible=False;
Label5->Visible=False;
BitBtn1->Visible=False; \
//N1->Enabled=false;
N3->Enabled=false;
N10->Enabled=false;
N15->Enabled=false;
N11->Enabled=false;
//N2->Enabled=false;
N4->Enabled=false;
N5->Enabled=false;
N11->Enabled=false;
Memo2->Visible=false;
Memo1->Visible=False;
Form1->Caption="MapReader";
Label2->Caption="Bun venit in MapReader!\nPentru a continua tastati tasta
File.";
Label2->Font->Name="Palatino Linotype";
BitBtn1->Caption="OK";
Label2->Font->Size=16;
Memo2->Lines->Clear();
Label2->Color=clInactiveBorder;
Label1->Color=clInactiveBorder;
// Form1->LoadFromfile();

}
//---------------------------------------------------------------------------

//---------------------------------------------------------------------------
void __fastcall TForm1::BitBtn1Click(TObject *Sender)

{
Label2->Font->Name="MS Sans Serif";
8
// Image1->Visible=false;
Label2->Font->Size=8;
BitBtn1->Caption="OK";
Label2->Color=clInactiveBorder;
Label3->Color=clInactiveBorder;Label1->Color=clInactiveBorder;
Label4->Color=clInactiveBorder;

if (tag==1)
{
AnsiString st,str,str1,str2;
// st=Edit1->Text;

st=Edit1->Text;
ffile=st;

if(Edit1->Text.Length()==0) ShowMessage("Introduceti numele fisierului!");

if (FileExists(st))
{
g=1;
Memo1->Visible=True;
Label3->Visible=True;
Label4->Visible=True;
Label5->Visible=True;
}

else
{
ShowMessage("Nume incorect!"
"Vereficati daca numele care lati introdus coencide nu
numele fisierului");
return;
}

if(g==1)
{
char n1,m1;
o=true;
N3->Enabled=true;
N10->Enabled=true;
N15->Enabled=true;
N11->Enabled=true;
//N2->Enabled=false;
N4->Enabled=true;
N5->Enabled=true;
N11->Enabled=true;
int i,line2,line1,k,xst,yst;
int a[50];
int b[50];

Label4->Caption=st;
Label5->Caption="Harta";
Memo1->Lines->LoadFromFile(st);

line=Memo1->Lines->Count;
str=Memo1->Lines->Strings[0];

line1=str.Length();
line2=0;

for(i=1;i<=line1;i++)
{

if(str[i]==' ') {break;}


else
{
9
str1=str1+str[i];
line2++;

}
}

for(i=line2+1;i<=line1;i++)
{
str2=str2+str[i];
}

n=StrToInt(str1);
m=StrToInt(str2);

if((n>9)||(m>9)) {ShowMessage("Continetul e prea mare.\nHarta nu va fi


creata.");
Label5->Visible=false;}
else
{

Form1->Canvas->Brush->Color = RGB(siz, siz, siz);

Form1->Canvas->Rectangle(500, 70, 500+(m+1)*23, 70+(n+1)*23); //42

int z=0;
for(i=23;i<200;i=i+23)
{
if(z>n) break;
Form1->Canvas->MoveTo(500, 70+i);
Form1->Canvas->LineTo(500+(m+1)*23, 70+i);
z++;
}

z=0;
for(i=23;i<250;i=i+23)
{
if(z>m) break;
Form1->Canvas->MoveTo(500+i, 70);
Form1->Canvas->LineTo(500+i, 70+(n+1)*23);
z++;
}

line=Memo1->Lines->Count;
str1="";
str2="";
for(k=3;k<line;k++)
{

st=Memo1->Lines->Strings[k];
line2=0;
line1=st.Length();

for(i=1;i<=line1;i++)
{

if(st[i]==' ') {break;}


else
{
str1=str1+st[i];
line2++;

}
}

for(i=line2+1;i<=line1;i++)
10
{
str2=str2+st[i];
}
a[k]=StrToInt(str1);
b[k]=StrToInt(str2);

str2="";
str1="";
}

Form1->Canvas->Brush->Color = RGB(255, 0, 0);


Form1->Canvas->Ellipse(500,70, 505, 75);

int begx=500;
int begy=70;

for(i = 3;i<line;i++)
Form1->Canvas->Ellipse((begx+(b[i]*23)),(begy+(a[i]*23)), (begx+(b[i]*23))+5,
(begy+(a[i]*23))+5);
Form1->Canvas->Brush->Color = RGB(255, 255, 255);
}
}
}

if(tag==2)
{
AnsiString st,str1,str2;
int xst,yst;
str1="";
int line,line1,line2,i;
st=Edit1->Text;
line2=0;
int a[50];
int b[50];
line1=st.Length();

for(i=1;i<=line1;i++)
{

if(st[i]==' ') {break;}


else
{
str1=str1+st[i];
line2++;
}
}

for(i=line2+1;i<=line1;i++)
{
str2=str2+st[i];
}

xst=StrToInt(str1);
yst=StrToInt(str2);

if(((xst>n)||(xst<0))||((yst>m)||(yst<0)))
ShowMessage("Coordinate incorecte!");
else
{
Memo1->Lines->Add(st);
line=StrToInt(Memo1->Lines->Strings[1]);
11
line++;
Memo1->Lines->Strings[1]=IntToStr(line);
Memo1->Lines->SaveToFile(ffile);
ShowMessage("Orasul a fost introdus cu succes!");
if((n>9)||(m>9)) {ShowMessage("Continetul e prea mare.\nHarta nu va fi
creata.");
Label5->Visible=false;}

else
{
Label5->Caption="Harta";
if((n>9)||(m>9)) {ShowMessage("Continetul e prea mare.\nHarta nu va fi
creata.");
Label5->Visible=false;}
else
{

Form1->Canvas->Brush->Color = RGB(255, 255, 255);


Form1->Canvas->Rectangle(500, 70, 500+(m+1)*23, 70+(n+1)*23);

int z=0;
for(i=23;i<200;i=i+23)
{
if(z>n) break;
Form1->Canvas->MoveTo(500, 70+i);
Form1->Canvas->LineTo(500+(m+1)*23, 70+i);
z++;
}

z=0;
for(i=23;i<250;i=i+23)
{
if(z>m) break;
Form1->Canvas->MoveTo(500+i, 70);
Form1->Canvas->LineTo(500+i, 70+(n+1)*23);
z++;
}

line=Memo1->Lines->Count;
str1="";
str2="";
for(int k=3;k<line;k++)
{

st=Memo1->Lines->Strings[k];
line2=0;
line1=st.Length();

for(i=1;i<=line1;i++)
{

if(st[i]==' ') {break;}


else
{
str1=str1+st[i];
line2++;

}
}

for(i=line2+1;i<=line1;i++)
{
str2=str2+st[i];
}
a[k]=StrToInt(str1);
b[k]=StrToInt(str2);
12
str2="";
str1="";
}

Form1->Canvas->Brush->Color = RGB(255, 0, 0);


Form1->Canvas->Ellipse(500,70, 505, 75);

int begx=500;
int begy=70;

for(i = 3;i<line;i++)
Form1->Canvas->Ellipse((begx+(b[i]*23)),(begy+(a[i]*23)), (begx+(b[i]*23))+5,
(begy+(a[i]*23))+5);
Form1->Canvas->Brush->Color = RGB(255, 255, 255);

}
}
}
}

if(tag==3)
{
AnsiString st,str1,str2;
int line,count,line1,line2=0;
int a[50];
int b[50];
st=Edit1->Text;
count=Memo1->Lines->Count;
bool k=false;
for(int i=0;i<count;i++)

if(CompareText(st, Memo1->Lines->Strings[i])==0)
{
Memo1->Lines->Delete(i);
line=StrToInt(Memo1->Lines->Strings[1]);
line--;
Memo1->Lines->Strings[1]=IntToStr(line);
Memo1->Lines->SaveToFile(ffile);
ShowMessage("Orasul a fost introdus cu succes");
if((n>9)||(m>9)) {ShowMessage("Continetul e prea mare.\nHarta nu va fi
creata.");}
else
{
Label5->Caption="Harta";
Form1->Canvas->Brush->Color = RGB(255, 255, 255);
Form1->Canvas->Rectangle(500, 70, 500+(m+1)*23, 70+(n+1)*23);

int z=0;
for(i=23;i<200;i=i+23)
{
if(z>n) break;
Form1->Canvas->MoveTo(500, 70+i);
Form1->Canvas->LineTo(500+(m+1)*23, 70+i);
z++;
}

z=0;
for(i=23;i<250;i=i+23)
{
if(z>m) break;
Form1->Canvas->MoveTo(500+i, 70);
Form1->Canvas->LineTo(500+i, 70+(n+1)*23);
z++;
}
13
line=Memo1->Lines->Count;
str1="";
str2="";
for(int k=3;k<line;k++)
{

st=Memo1->Lines->Strings[k];
line2=0;
line1=st.Length();

for(i=1;i<=line1;i++)
{

if(st[i]==' ') {break;}


else
{
str1=str1+st[i];
line2++;

}
}

for(i=line2+1;i<=line1;i++)
{
str2=str2+st[i];
}
a[k]=StrToInt(str1);
b[k]=StrToInt(str2);

str2="";
str1="";
}

Form1->Canvas->Brush->Color = RGB(255, 0, 0);


Form1->Canvas->Ellipse(500,70, 505, 75);

int begx=500;
int begy=70;

for(i = 3;i<line;i++)
Form1->Canvas->Ellipse((begx+(b[i]*23)),(begy+(a[i]*23)), (begx+(b[i]*23))+5,
(begy+(a[i]*23))+5);
Form1->Canvas->Brush->Color = RGB(255, 255, 255);
Label5->Visible=false; k=true;

} }
if(!k)
ShowMessage("Orasul dat nu e gasit");

if(tag==4)
{
int line,i,j,k,line1,line2;
AnsiString str,str1,str2,st;
int yst;

line=Memo1->Lines->Count;

st=Edit1->Text; //numarul coloanei


j=0;
14
4. Estimarea complexității algoritmilor
În întreg programul am avut algoritmi de complexitate diferită,unele puncte le-am
rezolvat destul de repede chiar dacă nu am studiat unele metode necesare la lecții .În
general practica mi sa părut destul de grea dar unele puncte și prea grele restituind din
numărul de ore pe care le-am avut pe baza programului Borland C++ Builder.

5. Rezultatele testării subprogramelor

 Interfața formei înainte de execuție

 Interfață punctul 1
15
 Interfață punctul 2

 Interfață punctul 3

16
 Interfață punctul 4

 Interfață punctul 5

17
 Interfață punctul 6

18
 Interfață punctul 7

 Interfață punctul 8

19
 Conținutul fișierelor:

 Fișierele proiectului:

20
6. Concluzie
Practica are o mare importanta in autocunoasterea fiecarui elev,prin efectuarea sarcinii de la practica
elevul iși încearca puterile și cunoștințele acumulate pe toată perioada studierii obiectului. Astfel el își
creează un spirit de autocunoaștere și se aprofundează în toate informațiile din care învață mai multe
lucruri utile în viitor.
După cum am menționat și în introducere, practica are un rol foarte important în dezvoltarea mea ca
programist. Învăț să elaborez algoritmi de dificultate mare și la fel de complexe. Am avut timp la
dispoziție destul după părerea mea. Dar luînd în considerație faptul că noi nu am avut foarte multe lecții
la acest obiect și nu am învățat toate comenzile necesare am avut destul timp pentru a ne informa de
sinestatator .
La început avusesem neclarități mari în ce prevede enunțul sarcinii, dar cu ajutorul mecesar am
realizat și acele neclarități.
La rezolvarea sarcinii mele am folosit aplicații precum Borland C++ Builder (v. 6.0) dar și
CodeBlocks pentru anumiți algoritmi, ca mai apoi să-i convertesc în C++ Builder.
Sarcina a fost una dificilă, deoarece s-a folosit un limbaj inexplicabil și foarte greu de înțeles. Cu
ajutorul acestei practici am reușit să mă deprind mult în lucrul cu fișierele și în general programele mari.
21
După petrecerea acestor 15 zile de practică mi-am format noi competențe și deprinderi pentru viitor
în domeniul programării orientate pe obiecte. Am aplicat pe deplin cunoștințele despre limbajul de
programare C++, acomulate pe parcursul unui an de studii. Mai exact mi-am aprofundat cunoștințele
asupra structurilor de date bidimensionale, lucrul cu fișierele, citirea datelor din fișier, scrierea lor în
fișier, efectuarea diferitor operații cu datele din acel fișier.
Cu toate dificultățile în cale, totuși am dus la capăt și rezolvarea acestei sarcini, ca la final să scot o
aplicație adevărată, de care să mă simt mîndru.
Pe viitor, aș sugera ca enunțurile programelor să fie mai bine explicate deoarece de data aceasta sa
folosit un limbaj pur și simplu inexplicabil la care am avut nevoie de mult timp și de ajutorul profesoarei
pentru a-l țnțelege.

7. Bibliografie
1. I. Bolun, I. Covalenco. Bazele informaticii aplicate, ediţia a III-a, Chişinău, Editura ASEM,
2005.
2. Gh. Bostan. Culegere de probleme de informatică, Chişinău , Editura "Lumina.
3. A. Braicov. Turbo Pascal. Culegere de probleme, Chişinău, Editura "Prut Internaţional", 2007.
4. S.Corlat, L.Ivanov, V.Bîrsan. Informatica, Ghid de implementare a curriculumului modernizat,
pentru treapta liceală, Chişinău, "Cartier", 2010.
5. G. Damian-Timoşenco, E. Ionaşcu-Cuciuc, Ghid de elaborare a curriculumului profesional,
Chişinău, 2011.
6. A. Gremalschi, Iu. Mocanu, I. Spinei.INFORMATICA. Limbajul Pascal.Chişinău , Editura
Î.E.P. Ştiinţa, 2003.

22

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