Documente Academic
Documente Profesional
Documente Cultură
Informatica Economica
Anul II
FEAA
Octavian Dospinescu - FEAA UAIC
Tipuri de date
Variabile
Constante
Operanzi si operatori
Structuri de control
Tipuri de date
Variabile
Constante
Operanzi si operatori
Structuri de control
Structuri de control
Un program scris n C# se execut de ctre
compilator urmnd o anumit traiectorie
numit flux de execuie. Modul n care se
realizeaz acest flux este asigurat prin intermediul
structurilor de control care pot fi mprite n mai
multe categorii:
structuri alternative;
structuri repetitive;
structuri de salt;
structuri de gestionare a excepiilor.
Octavian Dospinescu - FEAA UAIC
structuri alternative;
structuri repetitive;
structuri de salt;
structuri de gestionare a excepiilor.
Octavian Dospinescu - FEAA UAIC
Structura if-else
Structura de control decizional de tip if-else se
bazeaz pe verificarea unei condiii logice.
Structura if-else
if (conditie_logica)
<secventa_pt_true>;
else
<secventa_pt_false>;
Structura if-else
int notaExamen;
string stare;
notaExamen = 7;
if (notaExamen >= 5)
stare = "promovat";
else
stare = "restantier";
MessageBox.Show(stare);
Structura switch
Structura switch este o structur de control care
ne permite s selectm o seciune care se va
executa dintr-o list de candidaturi.
Fiecare seciune cuprinde una sau mai multe
etichete de selecie i o list de instruciuni
de executat.
Structura switch
switch(<variabila>)
{
case <valoare1>:
<secventa1>;
break;
case <valoare2>:
<secventa2>;
break;
... ... ...
case <valoare_n>:
<secventa_n>;
break;
default:
<secventa_default>;
break;
}
Structuri repetitive
Structurile repetitive se folosesc pentru a realiza
iteraii (aciuni care se desfoar n mod repetat)
i se folosesc n realizarea diverselor calcule
precum i n parcurgerea unor structuri de date
de tip vector, matrice, colecie etc.
Aceste structuri repetitive pot fi:
condiionate anterior primului ciclu de execuie
(while);
condiionate posterior primului ciclu de execuie
(do-while);
cu numr predefinit de pai (for).
Octavian Dospinescu - FEAA UAIC
Structura while
Structura repetitiv while este condiionat
anterior i execut o anumit secven att timp
ct este ndeplinit o condiiei logic. Forma
general poate fi rezumat astfel:
while (conditie_logica)
{
<secventa_iterativa>
}
Octavian Dospinescu - FEAA UAIC
Structura do-while
Structura repetitiv do-while este condiionat
posterior i execut o anumit secven att timp
ct este ndeplinit o condiiei logic. Forma
general poate fi rezumat astfel:
do
{
<secventa_iterativa>
}
while (conditie_logica);
Octavian Dospinescu - FEAA UAIC
int i=1;
int patrat;
do
{
patrat = i * i;
MessageBox.Show("Patratul numarului " + i + "
este " + patrat);
i = i + 1;
} while (i <= 10);
Structura for
Structura for
Forma general a structurii se prezint astfel:
Structura for
Pentru nceput, vom realiza afiarea primelor 10 numere naturale:
int i;
for (i = 1; i <= 10; i++)
{
MessageBox.Show("Numarul " + i);
}
Pentru fiecare iteraie, structura for execut secvena dup cum urmeaz:
Agenda generala
Vectori, matrici, tablouri
Parcurgerea tablourilor uni si
(bi)(multi)dimensionale operatii pe
linii/coloane/matrici
Max/Min dintr-un sir de valori
Cautarea secventiala intr-o multime de valori
Intrebari si raspunsuri
Agenda generala
Vectori, matrici, tablouri
Parcurgerea tablourilor uni si
(bi)(multi)dimensionale operatii pe
linii/coloane/matrici
Max/Min dintr-un sir de valori
Cautarea secventiala intr-o multime de valori
Intrebari si raspunsuri
Vectori
Un vector reprezinta o structura unidimensionala de tip linie, in care sunt
memorate mai multe valori de acelasi tip, una
dupa alta.
8
45
32
11
87
103
28
12
10
Indici de referinta
Octavian Dospinescu - FEAA UAIC
Vectori exemplu
{
string[] studenti;
studenti = new string[5];
studenti[0] = "Ionescu";
studenti[1] = "Popescu";
studenti[2] = "Vasilescu";
studenti[3] = "Irimescu";
studenti[4] = "Nicolaescu";
for (int i = 0; i < 5; i++)
Console.WriteLine("Studentul " + (i + 1) + " se numeste " + studenti[i]);
}
Agenda generala
Vectori, matrici, tablouri
Parcurgerea tablourilor uni si
(bi)(multi)dimensionale operatii pe
linii/coloane/matrici
Max/Min dintr-un sir de valori
Cautarea secventiala intr-o multime de valori
Intrebari si raspunsuri
Tablouri
La modul general, un tablou reprezinta o
structura n-dimensionala de date.
Uzual se folosesc tablouri uni sau bidimensionale, insa sunt si cazuri de 3,4,ndimensional. Se foloseste uneori chiar
conceptul de cub multidimensional.
Tablourile bi-dimensionale se mai numesc
matrici.
Octavian Dospinescu - FEAA UAIC
Tablouri bi-dimensionale
Modeleaza de fapt conceptul de matrice
0
Ionel
Vasile
Maria
Elena
Costel
Georgiana
Bogdan
Ionut
Octav
Mircea
Adrian
Liviu
Tablou[2,0]
Octavian Dospinescu - FEAA UAIC
Particularitati
Datele memorate in celule trebuie sa fie de
tipul declarat la initializarea tabloului
Pentru a afla marimea fiecarei dimensiuni a
tabloului, se foloseste metoda .GetLength(i)
Declararea unei matrici se face astfel:
double[,] matrice;
matrice = new double[2,5];
//matricea are 2 linii si 5 coloane
Octavian Dospinescu - FEAA UAIC
Exemplu practic
Sa se calculeze media ponderata a notelor
unui student, in conditiile in care fiecare nota
poate avea o pondere diferita
Metoda de rezolvare: memorarea notelor si a
ponderilor in aceeasi structura de date
0
.GetLength(1)
Nota1
Nota2
Nota3
Nota n
Pondere1
Pondere2
Pondere3
Pondere n
Dimensiunea 1
Dimensiunea 0
Dimensiunea 0
{
int[,] munca;
munca = new int[2, 5];
munca[0, 0] = 21; munca[0, 1] = 10; munca[0, 2] = 15; munca[0, 3] = 14; munca[0, 4] = 15;
munca[1, 0] = 2000; munca[1, 1] = 1040; munca[1, 2] = 1300; munca[1, 3] = 1100; munca[1, 4] = 1900;
int linie;
int coloana;
for(linie=0;linie<2;linie++)
{
for (coloana = 0; coloana < 5; coloana++)
{
Console.Write(munca[linie, coloana].ToString() + " ");
}
Console.WriteLine();
}
}
Dimensiunea 0
{
int[,] munca;
munca = new int[2, 5];
munca[0, 0] = 21; munca[0, 1] = 10; munca[0, 2] = 15; munca[0, 3] = 14; munca[0, 4] = 15;
munca[1, 0] = 2000; munca[1, 1] = 1040; munca[1, 2] = 1300; munca[1, 3] = 1100; munca[1, 4] = 1900;
int linie;
int coloana;
for(linie=0;linie<munca.GetLength(0);linie++)
{
for (coloana = 0; coloana < munca.GetLength(1); coloana++)
{
Console.Write(munca[linie, coloana].ToString() + " ");
}
Console.WriteLine();
}
}
A doua coloan
... ...
Prima linie
A doua linie
A treia linie
... ...
A cincea coloan
Tema practica
Exemplu:
int[] lista;
lista = new int[5];
lista[0]=1;
lista[1]=2;
lista[2]=3;
lista[3]=4;
lista[4]=5;
for (int i = 0; i < lista.Length; i++)
MessageBox.Show(lista[i].ToString());
Array.Resize(ref lista, 7);
lista[6] = 12;
for (int i = 0; i < lista.Length; i++)
MessageBox.Show(lista[i].ToString());
C# - operatii cu variabile
Matematici avansate
Pentru operaii matematice mai complexe, C# ne ofer clasa Math.