Ingineria
programarii - Laborator
Obiective:
- Deprinderea cu
mediul de dezvoltare Microsoft Visual Studio 2005
- Dezvoltarea
aplicatiilor de tip consola folosind C#.
- Prezentarea
anumitor facilitati unice limbajului C# (noi tipuri de date, instructiunea
foreach, etc)
- Prelucrarea
argumentelor liniei de comanda
1. Crearea unei aplicatii C#
pentru consola
Se va
lansa in executie mediul de programare Microsoft Visual Studio 2005, din meniul
principal se va alege File->New->Project.
- Din fereastra
"New Project" se va selecta "Visual C#" si "Console Application":
- Pentru editarea codului
sursa putem folosi una din variantele:
- Editarea programului
"Program.cs" din "Solution Explorer"
- Folosirea
browser-ului de clase "Class View":
2. Prima aplicatie C#
using System;
using System.Collections.Generic;
using System.Text;
namespace ConsoleApplication2
}
Implementati si testati aplicatia consola acestui prim program.
3. Noi tipuri de date specifice C#
- Tipul de date byte
reprezentat intern pe 8 biti si valori intre 0 si 255 precum si typul sbyte
reprezentat tot pe 8 biti dar cu valori intre -128 si 127:
EX. 1:
using
System;
class
ObjectName
EX. 2:
using
System;
class
NrRepresentation
- Tipul de date char
este reprezentat intern pe 16 biti.
- Tipul de date decimal
care este utilizat pentru stocarea valorilor foarte mari, reprezentat
intern pe 128 de biti. Aceste valori pot fi din intervalul ±1.0 × 10−28
pana la ±7.9 × 1028 cu o precizie de 28/29 de cifre.
- Tipul de date bool
ce poate avea doar doua valori posibile: true si false.
4. Tablouri in C#
int[] v;
v = new int[3] ; //Initializarea
int[] v =; //Declarare si Initializare
int lv = v.Length; //lungimea unui vector
//Siruri de caractere
string[] sTemp;
sTemp = new string[100];
//Declararea si initializarea unui vector de siruri de caractere
string[] Nume =;
//Declararea unui vector de numere reale
float [] fTemp = new float[3];
fTemp [0] = 1;
fTemp [1] = 2.5; //Eroare de
compilare!!!. C# nu poate converti in mod automat
//un
double la float
//Modalitati de initializare
corecta a datelor de tip float
fTemp [1] = 2.5F;
fTemp [2] = (float)3.2;
//Matrici (tablouri cu mai
multe dimensiuni)
int[,] numere = new int[3, 2] , , };
string[,] numems = new string[2, 2] ,
};
System.Console.WriteLine(numere[1, 0]);//=> Se afiseaza '3'
//Observatie: La declarare si initializare nu este obligatorie specificarea
dimensiunilor
int[,] numbers = new int[,] , , };
string[,] names = new string[,] ,
};
//Observatie: La declarare si initializare se poate omite cuvantul cheie new
int[,] numbers1 = , , };
string[,] siblings = , };
System.Console.WriteLine(numbers1[1, 1]);//=> Se afiseaza '4'
System.Console.WriteLine(siblings[1, 0]); //=> Se afiseaza
'Peter'
//Jagged Arrays - elementele unui astfel de array sunt array-uri
int[][] jnumere = new int[][] , new int[] };
System.Console.WriteLine(jnumere[1][4]);//=> Se afiseaza '10'
Observatii:
- in C# vectorii sunt obiecte
- declararea unui
vector nu aloca si spatiu de memorie
- proprietatea Length furnizeaza numarul de elemente din
vector
- transmiterea vectorilor ca argumente ale unor functii se face
prin referinta (daca metoda modifica valorile
elementelor vectorului, aceste modificari se regasesc si in
codul apelant)
5. Prelucrarea
argumentelor liniei de comanda.
Exemplu de program (urmariti cu atentie
instructiunea switch):
using System;
using System.Collections.Generic;
using System.Text;
namespace CommandLineParameters
}
}
}
}
6. Teme
Realizati o aplicatie C# care sa implementeze cautarea tuturor cuvintelor
date din linia de comanda intr-un sir de caractere de dimensiune considerabila,
initializat in cadrul programului.
- daca linia de comanda nu contine nici un argument se va
afisa urmatorul mesaj "No
words in search."
- Daca primul argument este "?" se va afisa numele autorului.
- Argumentele vor fi adaugate intr-un alt vector, ce va fi ordonat
crescator si apoi afisat.