Sunteți pe pagina 1din 12

COLEGIUL NAIONAL MIHAIL KOGALNICEANU GALAI

1



Metode de sortare

Lucrare pentru susinerea examenului de
atestat profesional la disciplina Informatic



Profesor Coordonator: Elev
Popescu Mdlina Marin Ionu
Clasa a XII-a E


COLEGIUL NAIONAL MIHAIL KOGALNICEANU GALAI

2



Cuprins

1. Tema ..............3
2. Structura ...4
3. Mediul de dezvoltare.5
4. Limbajul C#.......................................................................6
5. Analiza sistemului informatic..7
5.1. Intrrile sistemului informatic .............................................................................7
5.2. Ieirile sistemului informatic ..............................................................................7
5.3. Funcionalitatile sistemului informatic .................................................................7
6. Proiectarea sistemului informatics8
6.1identificarea entitatilor si a caracteristicilor acestora..............................................8
6.2. identificarea metodelor necesare............................................................................9
6.3. Validarea datelor
7. Prezentarea aplicaiei10-11
8. Bibliografie..12






COLEGIUL NAIONAL MIHAIL KOGALNICEANU GALAI

3

1.Tema proiectului
Am realizat o aplicaie in mediul de programare Microsoft Visual c# 2008 Express Edition,
implementat cu ajutorul limbajului C#. Aplicaia reprezint un soft educational util att
elevilor ct i profesorilor de la profilul mate-info. Fiind o aplicatie de tip Windows form
utilizatorul poate s vizualizeze codul surs pentru fiecare metod de ordonare a tablourilor
unidimensionale si de asemenea prin tratarea evenimentelor asociate butoanelor utilizatorul va
deschide executabilul fiecarei medote de ordonare.
Am ales aceast tem cu scopul de a oferi informaii importante despre sortare , care
este o metod (un algoritm), prin intermediul creia se poate ordona o anumita clasa de
obiecte concrete sau abstracte, dupa unul sau mai multe criterii impuse , iar cutarea este o
metod, prin intermediul creia, se poate cuta, dupa criterii precizate, pentru regsirea unui
anumit obiect concret sau abstract ntr-o mulime ordonat sau nu de obiecte concrete sau
abstracte.
n realitate, domeniul sortrii si cutarii ofer un mijloc ideal pentru analiza unor game largi
de subiecte generale importante ,cum ar fi :
cum se pot descoperi algoritmii buni;
cum se pot optimiza algoritmii si programele;
cum se poate analiza matematic eficiena algoritmilor;
cum se poate alege raional cel mai bun dintre algoritmii necesari
rezolvrii unei clase de probleme;
cum se pot aprecia nite algoritmi ca fiind cei mai buni posibili;
cum interactioneaz teoria calculelor matematice cu diverse
consideraii practice;
cum se pot utiliza eficient resursele calculatoarelor (memoriile interne si externe de
tipul discurilor magnetice sau optice);
Consider , c astfel voi ajuta la o mai bun ntelegere a sortrii ,in
contextul creia fiecare aspect important al programarii i gsete rezolvarea.


COLEGIUL NAIONAL MIHAIL KOGALNICEANU GALAI

4


2.Structura

Proiectul meu se va desfasura pe parcursul a cinci capitole in care se vor prezenta:

3. Mediul de dezvoltare Microsoft Visual C#
n acest capitol se pot regsi informaii i detalii despre mediul n care a fost conceput i
construit aplicaia, i anume produsul de la Microsoft, Microsoft Visual C#.

4. Limbajul C#
n acest capitol a fost descris limbajul de programare C#, limbaj de programare ce este derivat
din C++ i Java i are multiple avantaje precum simplitatea i modernitatea.

5. Analiza sistemului informatic
Pe parcusul acestui capitol vei afla informaii despre datele de intrare, datele de ieire precum i
despre funcionalitatea aplicaiei.

6. Proiectarea sistemului informatic
Liniile de cod, activitile i structurile sunt descrise n acest capitol. n acest capitol vei regsi i
declarri ale datelor utilizate n cadrul proiectului.

7. Prezentarea aplicaiei
Cu ajutorul capturilor de ecran este prezentat fiecare formular i fiecare activitate n parte. Acest
capitol poate fi considerat de asemenea un ghid de utilizare al aplicaiei.




COLEGIUL NAIONAL MIHAIL KOGALNICEANU GALAI

5

3. Mediul de dezvoltare
Visual C# 2008 Express Edition (pe scut: VCSE), este un mediu free de dezvoltare a aplicaiilor
produs de
Microsoft. Este un IDE (integrated development environment), care ofer un set de instrumente,
ntre care un editor
de cod pentru scrierea programelor C#, compilator, depanator, instrumente pentru build
automation (automatizarea
procesului de compilare) i altele. Kit-ul de instalare C# Express, include Platforma .NET 3.5, iar
aceasta la rndul
ei include ntre altele Biblioteca de Clase.
Cerine de sistem
Sistemele de operare suportate sunt: Windows Server 2003, Windows Vista; Windows XP.
Pentru Microsoft Windows XP, Service Pack 2:
- minim 192 MB de RAM (preferabil cel puin 384 MB)
- cel puin un procesor de 1 GHz (preferabil > 1.6 GHz)
Pentru Microsoft Windows Vista i Microsoft Windows Server 2003:
- minim 768 MB de RAM (preferabil cel puin 1 GB)
- cel puin un procesor de 1,6 GHz (preferabil > 2.2 GHz)
Visual C# 2008 Express Edition poate fi descrcat de pe site-ul Microsoft, la adresa
http://www.microsoft.com/express/download/. Alternativ, n josul paginii avei opiunea de a
descrca Visual Studio
Express Edition pentru o instalare offline. Visual Studio conine mediile de programare Visual
C#, Visual Basic, Visual C++, precum i serverul de baze de date Microsoft SQL Server 2005.
Instalarea se face simplu, cu ajutorul
unui wizard, ns pentru montarea imaginii DVD-ului (fiier cu extensia ISO) avei nevoie de un
utilitar cum ar fi de
pild Daemon Tools.


COLEGIUL NAIONAL MIHAIL KOGALNICEANU GALAI

6

4.Limbajul C#
Numele limbajului C# a fost inspirat din notaia (diez) din muzic, care indic faptul c nota
muzical urmat de este mai nalt cu un semiton. Este o similitudine cu numele limbajului
C++, unde ++ reprezint att incrementarea unei variabile cu valoarea 1, dar i faptul c C++
este mai mult dect limbajul C.

Limbajul C# a fost dezvoltat n cadrul Microsoft. Principalii creatori ai limbajului sunt Anders
Hejlsberg, Scott Wiltamuth i Peter Golde. Prima implementare C# larg distribuit a fost lansat
de ctre Microsoft ca parte a iniiativei .NET n iulie 2000. Din acel moment, se poate vorbi
despre o evoluie spectaculoas. Mii de programatori de C, C++ i Java, au migrat cu uurin
spre C#, graie asemnrii acestor limbaje, dar mai ales calitilor noului limbaj. La acest
moment, C# i-a ctigat i atrage n continuare numeroi adepi, devenind unul dintre cele mai
utilizate limbaje din lume. Creatorii C# au intenionat s nzestreze limbajul cu mai multe
faciliti. Succesul de care se bucur n prezent, confirm calitile sale:
Este un limbaj de programare simplu, modern, de utilitate general, cu productivitate mare n
programare.
-Este un limbaj orientat pe obiecte.
-Permite dezvoltarea de aplicaii industriale robuste, durabile.
-Ofer suport complet pentru dezvoltarea de componente software, foarte necesare de pild n
medii distribuite. De altfel, se poate caracteriza C# ca fiind nu numai orientat obiect, ci i
orientat spre componente.





COLEGIUL NAIONAL MIHAIL KOGALNICEANU GALAI

7

5. Analiza sistemului informatic




5.1. Intrrile sistemului informatic
(date de intrare, cele pe care utilizatorul
le introduce de la tastatur sau ce vor fi citite din fiier)

Singura dat de intrare, ce va fi introdus de utilizator de la tastatura este numarul de
elemente al vectorului. Toate aceste date vor fi introduse in executabilul ce va fi pornit
tot de utilizator. Toate datele introduse sunt de tip intreg.
5.2.Iesirile sistemului informatic
Datele de iesire vor fi afisate atat intr-un textbox, aceste date de iesire vor fi
codurile sursa ale operatiilor cu matrici, coduri in C++, cat si datele rezultate in urma
efectuarii operatiilor dorite de utilizator.
5.3.Functionalitatile sistemului
Programul nu efectueaza in cadrul sau nici o operatie de calcul, doar operatii de
afisare. Operatiile de calcul se efectueaza cu ajutorul executabilelor, ce sunt pornite din
programul principal.






COLEGIUL NAIONAL MIHAIL KOGALNICEANU GALAI

8

6. Proiectarea sistemului informatic
6.1 Identificarea entitatilor si a caracteristicilor acestora

private void button2_Click(object sender, EventArgs e)
{
Application.Exit(); // IESIRE DIN APLICATIE

}

Process.Start("Sortare.exe"); // se acceseaza executabilul Sortare, executabilul este
copiat in folderul debug al aplicatiei, iar pentru a putea utiliza comanda de deschidere a executabilului, se
adauga using System.Diagnostics;

private void button1_Click(object sender, EventArgs e)
{
f = new Form2(); // se creaza Forma a doua (Form2)
f.Show(); //se deschide Form2 nemodal
this.Visible = false; //se ascunde Form1
}
textBox1.Text = "Bubble sort" + Environment.NewLine;
//se afiseaza in texbox, Bubble sort, iar apoi se trece la o noua linie de text, tot ce este afisata
pana atunci se sterge din textbox.

textBox1.Text += "Bubble sort" + Environment.NewLine;
// se afiseaza in text box fara a se sterge ceea ce era afisat pana in acel moment, si se trece la o
noua linie de text


COLEGIUL NAIONAL MIHAIL KOGALNICEANU GALAI

9


6.2. Identificarea metodelor necesare


this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen; // aceast
linie de cod isnerat fiecarui formular centreaz formularul de fiecare dat pe centrul
spaiului de lucru

Instruciunile urmatoare sunt atribuite butonului START respective butonul NCHIDE din
primul formular ce ascunde acest formular i l lanseaz n execuie pe cel de-al doilea n cazul
primului buton i nchide aplicaia n cazul celui de-al doilea buton.

private void button1_Click(object sender, EventArgs e)
{
this.Hide(); //Se ascunde Form1
Form2 frm2 = new Form2();
frm2.Show(); // Se deschide Form2
}

private void button2_Click(object sender, EventArgs e)
{ this.Close();

private void Bubble_Click(object sender, EventArgs e)
{
textBox1.Text = " Bubble sort " + Environment.NewLine;
textBox1.Text += " " + Environment.NewLine;
textBox1.Text += "#include<iostream.h> " + Environment.NewLine;
textBox1.Text += " int v[100],i,n,gasit,aux;" + Environment.NewLine;
textBox1.Text += "int main() { " + Environment.NewLine;
textBox1.Text += "cout<<''n= ''; cin>>n; " + Environment.NewLine;
textBox1.Text += "for(i=1;i<=n;i++) " + Environment.NewLine;
textBox1.Text += " {cout<<"v["<<i<<"]= ";" + Environment.NewLine;
textBox1.Text += " cin>>v[i]; }" + Environment.NewLine;
textBox1.Text += "do{" + Environment.NewLine;
textBox1.Text += " gasit=0;" + Environment.NewLine;
textBox1.Text += " for(i=1;i<=n;i++)" + Environment.NewLine;
textBox1.Text += " if(v[i]>v[i+1])}" + Environment.NewLine;
textBox1.Text += " { aux=v[i];]; " + Environment.NewLine;
textBox1.Text += " v[i]=v[i+1];" + Environment.NewLine;
textBox1.Text += " v[i+1]=aux;" + Environment.NewLine;
textBox1.Text += " gasit=1;}}" + Environment.NewLine;
textBox1.Text += " while(gasit==1);" + Environment.NewLine;
textBox1.Text += " cout<<"Vectorul sortat este:; " + Environment.NewLine;
textBox1.Text += " for(i=1;i<=n;i++) " + Environment.NewLine;
textBox1.Text += " cout<<v[i]<<" "; " + Environment.NewLine;
textBox1.Text += " return 0;} " + Environment.NewLine;

}
In aceste de linii de cod s-au scris fiecare linie a programului de
sortare Bubble sort.
+ Environment.NewLine;// se trece la urmatoarea linie de cod

COLEGIUL NAIONAL MIHAIL KOGALNICEANU GALAI

10

7. Prezentarea aplicaiei




Dupa pornirea softului, se va deschide fereastra alaturata, care contine detalii informative,
legate de softul creat.
Daca utilizatorul apasa butonul INCHIDE, softul se va inchide.
Daca se va apasa butonul START, se va deschide al doilea formular.





COLEGIUL NAIONAL MIHAIL KOGALNICEANU GALAI

11


Imediat dupa apasarea butonului START din primul formular, se va deshide al doilea formular.

Dupa apsarea butonului Bubble sort, se va afia codul sursa din C++ ce va afia metoda de
ordonare a bulelor.
Corespondent butonului Bubble sort este butonul EXECUTA, care deschide executabilul ce
utilizeaz codul surs prezentat si arat ordonarea a unui vector, dupa ce am introdus lungimea
acestuia.




COLEGIUL NAIONAL MIHAIL KOGALNICEANU GALAI

12

8.Bibliografie




Manualul de informatic clasa a XI-a ,
autori: Vlad Huanu i Tudor Sorin
www.wikipedia.ro
www.software.ucv.ro
www.apaal.wordpress.com
www.sortari.weebly.com
www.cforbeginners.com
www.info.mcip.ro
Manualul de informatic intensiv XI
,Autor: Mariana Milosescu
www.algorex.3x.ro
Introducere in algoritmi de Thomas
H.Corme,Charles Leiserson, Ronald
R.Rivest