Sign in to follow this  
LOZIO03

Tutoriale C#

3 posts in this topic

Buna ziua eGameri, incepand de astazi am sa postez un curs detaliat legat de lumea programarii.
Toate astea datorita faptului ca nu am vazut nicaieri tutoriale, articole de genul acesta sa explice de ce si cum de fac anumite lucruri.
Ni se arata cum sa facem insa nimeni nu ne explica de ce fac in modul ala si nu in altul.
Practic pentru a ajunge la un anumit rezultat nu exista doar un drum, ci multe altele.
Eu prin acest articol o sa va invat, arat cum sa va dezvoltati abilitatea de a gasi singuri drumul ce vi se pare mai scurt.
Prin urmare sa incepem, o sa aleg un limbaj de programare destul de complex, de obicei asi incepe cu PaWno dar in programare trebue sa ai anumite cunostinte (comune)
iar ele se aplicala oricarui limbaj, unica diferenta este ca va trebui sa se invete sintaxa.
Limbajul respectiv este c# (CSharp).
Ce este C#?
C# este un limbaj de programare orientat pe obiecte conceput de Microsoft la sfarsiul anilor 90. A fost conceput ca un concurent pentru Java.
Ca si acesta, C# este un derivat al limbajului C++.
Ce este un programator?
Un programator are ca obiectiv sa construiasca programe (SoftWare). In practca sunt 2 figuri ce se ocupa de dezvoltarea programelor: Analist si Programator.
Analistul se ocupa cu analizarea problemelor propuse de un client si se gandeste cum sa le rezolve.
Programatorul incepand de la solutia gasita de Analist realizeaza un program ce rezolva problema propusa de client.
Un program contine niste instructiuni (cod) scrise intr-un format ce este inteles de computer (limbaj de programare).
Cand un calculator lanseaza un program, nu face nimic alt ceva decat sa urmareasca codul sursa.
Un software este creat pentru a rezolva o problema, defapt el nu rezolva o problema specifica, ci o intreaga categorie.
Exemplu de o problema specifica: Calculeaza area unui patrat cu latul de 10 cm.
Exemplu de o categorie de probleme: Calculeaza area unui patrat primind masura laturilor, masura latului puoate sa varieze, ori de cate ori se foloseste programul.
Cand trebue sa se rezolve o problema se individualizeaza datele, se fac niste calcule intermedi si se obtin niste rezultate.
Fiecare dat, fie el de inceput, intermediar sau final, trebue sa le salvam in memoria RAM a calculatorului, altfel se pierd.
Asa ca programatorii folosesc pentru acest scop variabilele.
Variabile:
O Variabila este un spatiu de memorie, indentificat de un nume, ce puoate contine un dat de un anume tip.
La o variabila se puate stabili o valoare.
Exemplu: A = 3
Pe urma valoarea asta se poate modifica.
Exemplu: A = A + 2
Gandindu-ne la un paragon cu Excel, o variabila poate fi vazuta ca o casuta, numele variabilei poate fii vazut ca riferinta ei.
Numele unei variabile se alege de catre programator de obicei reaminteste datele ce le contine.

Exemplu: SUMA, MEDIE, LUNGI, LAT, AREA, SUP.
Intri-un program trebue sa declari variabilele si tipul lor, de obicei lucrul asta se face la inceputul programului.
Tipuri de variabile:
 
Tip:                  Descriere                                                   Valoare memorizabila
 
bool         Variabila Booleana                                false (fals) true (adevarat)
short       Numere intregi (fara virgula)            Valore de la -32.768 pana la +32.767
int             Numere intregi lungi                            Valore de la -2.147.483.648 pana la +2.147.483.647
float        Numere reale (cu virgula)                  Valore de la -3.402823E+38 pana la +3.402823E+38
double    Numere reale duble                             Valore de la -1.79769313486232E+308 pana la  1.79769313486232E+308
char          Contine un caracter  
string       Contine o fraza                                      Frazele se delimiteaza cu ghilimelele. Exemplu:   " Asta este o fraza"
 
PS: 3.4E+38 semnifica 3,4*10 la puterea 38.
Costante:
 
O costanta e un spatiu din memorie, indentificat de un nume, ce contine date de un anumit tip ce nu puate sa isi schimbe valuarea.
In momentul declarati se declara si valorea ei, ce ramane mereu costant.
Operatori:
 
Asemenea casutelor din Excel si variabilele pot fii incluse in formule, utilizand operatorii. Rezultatul vine memorizat intr-o variabila.
Exemplu: B = A + 2 * C
 
Operatori Aricmetici:
Operator       Descriere
+                       Adunare
-                       Scadere
*                       Inmultire
/                      Inpartire
%                    Reda restul unei inpartiri
++                   Operator de incrementare (unar) +1
--                   Operator de decrement (unar) -1
 
Operatori de confruntare:
 
       Operator                                      Conditie verificata                                                                                                                                                      Exemple
== (egalitate)                      Valoarea primei expresi este egal cu valoarea celei de-a 2-a?                                                                            23 == 33 False
                                                                                                                                                                                                                                                        23 == 23 True
                                                                                                                                                                                                                                                        23 == 12 False
!= (ne egal)                          Valorea primei expresi nu este egal cu valoarea celei de-a 2-a?                                                                         23 != 33 True
                                                                                                                                                                                                                                                        23 != 23 False
                                                                                                                                                                                                                                                        23 != 12 True
< (mai mic)                            Valoarea primei expresi este mai mic de cat valorea celei de-a 2-a?                                                               23 < 33 True
                                                                                                                                                                                                                                                        23 < 23 False
                                                                                                                                                                                                                                                        23 < 12 False
> (mai mare)                          Valoarea primei expresi este mai mare de cat valoarea celei de-a 2-a?                                                        23 > 33 False
                                                                                                                                                                                                                                                        23 > 23 False
                                                                                                                                                                                                                                                        23 > 12 True
<= (mai mic sau egal)         Valoarea primei expresi este mai mica sau egala cu valoarea celei de-a 2-a?                                           23 <= 33 True
                                                                                                                                                                                                                                                       23 <= 23 True
                                                                                                                                                                                                                                                       23 <= 12 False
>= (mai mare sau egal)       Valoarea primei expresi este mai mare sau egala cu valoarea cele de-a 2-a?                                         23 >= 33 False
                                                                                                                                                                                                                                                      23 >= 23 True
                                                                                                                                                                                                                                                      23 >= 12 True
Operatori logici:
 
Operator     Descriere
&&                   AND
||                        OR
!                        NOT
  • Like 3

Share this post


Link to post
Share on other sites

Bine v-am regasit eGameri.
Incepand de astazi o sa postez saptamanal un articol.
Pe viitor o sa las la final un exercitiu iar saptamana urmatoare o sa-l rezolv (sa va dau suficient timp sa il faceti singuri) rezolvarea mea va fii pe scop de control.

Cum se dezvolteaza un software?

 1) Analizarea unei probleme.
2) Scrierea algoritmului.
3) Codifica.
4) Test.

 

Analizarea problemei:

* Date de input: sunt datele problemei ce sunt date de catre utilizator.
* Date de output: solutia problemei.
* Date de munca: sunt datele intermedi, fructul unor calcule intermedi facute de computer. 

 

O data individuate datele de input, output si de munca, se aleg numele variabilelor. In forumlele ce rezolva problema se trec direct variabilele.


Exemplu: Realizeaza un program ce calculeaza area unui dreptunghi primind marimea bazei si inaltimi.

 

1)Analiza:
    *Date de input: BAZ, INA
    *Date de output: AREA
    *Date de munca: /

Exemplu: 
    BAZ = 10 cm
    INA = 5 cm
    AREA = 10*5 = 50 cm^2
Formula: AREA = BAZ * INA

 

2)Scrierea algoritmului

 

 

Ce este un algoritm?:

 

Este ordinea pasilor (instructiunile) necesare pentru a rezolva o problema.

Cand un computer lanseaza un program executa pas cu pas instructiunile algoritmului, aplicand datele primite in input. Executand toti pasii, a obtinut solutia problemei, se comunica la uilizatr datele de output.

 

Flowchart: Mai este numit si diagrama de flux, este util pentru a reprezenta grafic un algoritm si se construesc de catre programatori folosindu-se de niste simboli standart, reprezinta operatiunil comune prezente intr-un algoritm ce rezolva o problema.
Un flowchart este format de:


    *Simbloi: Reprezinta operatile (instructiunile) pe care computerul trebue sa le faca.
    *SAgeti: Leaga simboli si indica ordinea de executare.
Simboli:
    *Simbol oval pentru inceput si sfarsit de program, fiecare flowchart incepe cu cel de inceput si termina cu cel de final.

Click!

Click!
    *Operatiune de I/O (Input sau Output) se foloseste pentru a indica operatiuni de intrarea a datelor sau de iesirea lor.

Click!
    *Operatiune de elaboraleindica spre exemplu calcuelele ce computerul trebue sa le faca.

Click!
    *Selectie se foloseste pentru a indica alegerea intre 2 drumuri diferite.

Click!


Exemplu de un flowchart ce reprezinta algoritmul problemei noastre "calculeaza area unui dreptunghi danduti-se inaltimea si baza":

Click!


O data ce flowchart-ul s-a desenat, programatorul trebue sa testeze acest algoritm pentru a verifica daca daca este corect. Aceasta operatiune se numeste: Proba logica a algoritmului.


Proba logica a algoritmului:


Proba respectiva consta in a testa algoritmul pas cu pas, registrand intr-un tabel la fiecare pas fiecare schimbare a variabilelor. Algoritmul se executa ca si date de input niste valori pentru care programatorul cunoaste deja rezultatul final. Prin urmare la fiecare pas programatorul controleaza daca rezultatele sunt cele asteptate. Prin acest mod, daca exista erori prezente in algoritm se trece la rezolvarea lor.
Pentru a efectua proba logica este nevoie de un tabel ce va avea ca si prima coloana numarul pasului pe urma cate-o coloana pentru fiecare variabila. Prin urmare programul nostru la final ne comunica rezultatul la utilizator e oportun sa mai adaugam o conloana ce ne va arata "OUTPUT-UL VIDEO".


Exemplu:

 

PAS    BAZ    INA    AREA    OUTPUT VIDEO
1            10        5
2                                  50    
3                                                           50

  • Like 4

Share this post


Link to post
Share on other sites

Bine v-am regasit eGameri. Imi cer scuze pentru perioada in care nu am postat. 

 

Codificarea:

 

O data ce s-a construit algoitmului unei probleme este nevoie sa-l traducem intr-un limbaj ce poate fi inteles de un computer, in baza regulilor unui limbaj de programare. Aceasta faza se numeste, faza de codificare a algoritmului. Consta tocmai prin traducerea fiecarei operati ale algoritmului intr-o instructiune scrisa conform regulilor de programare al unui limbaj (Visual Basic, C++, Java, C#, ...).
Cea ce se obtine la sfarsitul acestei traduceri vine numita program sau cod. Pentru a ajuta programatorul in cea ce face se folosesc niste software numite "Mediu de dezvoltare" sau IDE (Integrated Development Environment). Sunt niste editoare de text gandite pentru programare. Coloreaza automat anumite parti ale unui program pentru a fi mai evidente, ne pun la dispozitie niste instrumente pentru a testa programul, pentru a usura construirea interfetei cu userul, etc.


Un program trebue sa interactioneze cu utilizatorul, prin urmare inainte sa traducem algoritmul trebue sa realizam interfata utilizator al programului. Ea trebue sa arate mesaje de informare a utilizatorului, ale locurilor unde trebue sa se introduca datele (date de input) si vizualizarea rezultatului (date de output) si de niste butoane, spre exemplu sa porneasca calcului sau sa inchida programul. Mediul de dezvoltare realizat de Microsoft se numeste Visual Studio. Permite realizarea programelor in mai mule limbaje de programare, printre ele si C#. Visual Studio ne ofera posibilitatea de a realiza inerfata cu utilizatorul, scrierea codului si testarea.  Eu recomand pentru inceput, nu necesita nici-o instalare, sharpDevelop.

Link:  Click!


Fiecare program Windows are o interfata grafica formata dintr-o fereastra. Asadar primul element de realizate este fereastra programului. Ferestrele in C# se numesc Windows Form. Cand se deschide un nou proiect in Visual Studio/sharpDevelop  este deja prezenta o Windows Form guala. Pe langa Windows Form mai apar instrumentele, cu ajuorul lor putem sa introducem niste elemente in proiect. Pe acea fereastra, intradevar, se vizualizeaza informatii pentru utilizator. Pentru asta trebue sa adaugam din instrumente, niste etichete (numite Label) pentru vizualizarea mesajelor. Predispunem niste spati unde utilizatorul poate introduce datele, se realizeaza cu niste casute de text (numite Text Box). Pe urma adaugarea butoanelor (numite Button). Pentru fiecare element din interfata grafica (numita in C# control) sunt asociate niste propietati ce le poate seta programatorul, ne permit sa schimbam numele cu care elementul este recunoscut in cod, culoarea, forma textului etc.
Pentru a schimba numele cu care obiectul este indentificat in cod trebue sa umblam in propietatea "Name". In Visual Studio/sharpDevelop exista conventia ca numele trebue sa contina un prefix ce ne aminteste tipul.


* Numele unei Windows Form trebue sa contina prefixul frm (frmFereastra).
* Numele etichietei (label) trebue sa contina prefixul lbl (lblMesaj1).
* Numele unei casute de text (text box) trebue sa contina prefixul txt (txtBaza).
* Numele butonului (button) trebue sa contina prefixul btn (btnExecuta).


In poza urmatoare este posibil sa vedeti interfata utilizator pentru programulm ce calculeaza area unui dreptunghi primind marimea bazei si inaltimi.

Linck: Click!


Fiecare buton are asociat un subprogram (subrutine) ce contine instructiunile ce se executa cand utilizatorul da click pe el. Asadar programul nostru trebue sa fie scris in interiorul unei subrutine asociata unui buton, in cazul nostru cel cu propietatea text "executa".  Pentru a scrie codul unui buton anume trebue sa deschidem fereastra codului apasand dublu click pe buton. In imaginea urmatoare este codul butonului Inchide (btnInchide), Executa (btnExecuta) si a butonului Curata (btnCurata) a programului ce calculeaza area unui dreptunghi primind marimea bazei si inaltimi.

Linck: Click!   Click!

 

Din imagine putem intelege ca:


 *Un program trebue sa inceapa cu declaratia variabilelor pe care le foloseste si tipul lor. Instructiunea pentru a declara o variabila este tipul variabielei si numele ei. Dupa declararea variabilelor se traduce fiecare rand al flowchart-ului.
 *Fiecare instructiune in C# termina cu punct si virgula.
 *Opertiunile de input si de output trebue sa faca referinta la o casuta de text (eventual intr-o etichieta (label) pentru un output). Casutele de text se folosesc ca si variabilele. Insa este nevoie sa convertim datele dobandite dintr-o string (fraza) in tipul ce trebue memorizat (daca este diferit de o string), cu instructiunea tip.Parse(). In cazul unei operatiuni de output al unei valori numerice, este nevoie sa convertim intr-o string cu ajutorul metodei ToString().
 *Este util sa se comenteze un program, pentru asta este nevoie sa introducem niste fraze explicand ceea ce face programul in punctul unde este introdus comentariul. Comentarile sunt precedute de "//" doar daca sunt pe o singura linie, sau incepand cu "/*" si terminand cu "*/" daca sunt pe mai multe lini.

Testarea:

 

In aceasta faza se testeaza programul realizate. Se executa programul introducand ca date de input niste numere pentru care se stie deja rezultatul. Daca programul ne furnizeaza ca si output rezultatul asteptat atunci functioneaza, altfel este nevoie sa recontrolam si sa corectam erorile. Cand se cauta si se rezolva erorile intr-un program se spune ca facem debug-ul programului. De obicei majoritatea medilor de dezvoltare ofera programatorilor niste instrumente ce ii ajuta sa faca debug-ul unui program. 

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.