Programare Si Limbaje de Programare 2013-2014

download Programare Si Limbaje de Programare 2013-2014

of 12

Transcript of Programare Si Limbaje de Programare 2013-2014

  • 7/25/2019 Programare Si Limbaje de Programare 2013-2014

    1/12

    Unitatea de nvare 1 PROGRAMARE I LIMBAJE DE PROGRAMARE_________________________________________________________________________________________________________________

    1

    Confereniar universitar dr. Veronica POPESCU

    UNITATEA DE NVARE 1

    PROGRAMARE I LIMBAJE DE PROGRAMARE___________________________________________________________________________

    CuprinsObiectivele unitii de nvare 1

    1.1. Necesitatea programrii, programe informatice.

    Definirea conceptului de program informaticCaracteristicile programelorFazele realizrii unui programStructura clasic a unui programntrebri

    1.2. Algoritmi

    Definirea conceptului de algoritmCaracteristicile unui algoritmTipuri de algoritmiReprezentarea algoritmilorntrebri

    1.3. Limbaje de programare

    Definirea conceptului de limbaj de programareClasificarea limbajelor de programareFazele execuiei unui program scris n limbaj simbolicntrebri

    1.4. Metode de programare

    Definirea conceptului de metod de programareProgramarea structuratProgramarea orientat pe obiecte

    Programarea dirijat de evenimententrebri

    Bibliografie Unitatea de nvare 1

  • 7/25/2019 Programare Si Limbaje de Programare 2013-2014

    2/12

    Unitatea de nvare 1 PROGRAMARE I LIMBAJE DE PROGRAMARE_________________________________________________________________________________________________________________

    2

    Confereniar universitar dr. Veronica POPESCU

    OBIECTIVELE UNITII DE NVARE 1

    nsuirea cunotinelor necesare pentru a nelege noiunile de program

    informatic, algoritm, limbaj de programare i metodologie de programare.

    Cunoaterea caracteristicilor programelor informatice, algoritmilor i

    limbajelor de programare.

    nelegerea mecanismelor de realizare a unui program informatic, asimilarea

    fazelor de execuie a unui program i aplicarea unor metodologii eficiente de

    proiectare a unor programe corecte.

    1.1. Necesitatea programrii, programe informatice

    Programarea este un domeniu esenial al informaticii. Fr programe (soft) calculatoarele

    (hard) ar rmne doar instrumente inutile i anoste (nu ar fi capabile s fac nimic).

    Definirea conceptului de program informatic

    Programele informatice, cu sinonimele - produs program, aplicaie, pachet de programe,

    produs-soft, software - sunt definite n literatura de specialitate n mai multe moduri.

    Astfel, A. Cozgarea1definete programul informatic drept o succesiune logic de

    instruciuni sau expresii destinate executrii lor de ctre calculatorul electronic n

    vederea obinerii unor rezultate.

    Niklaus E. Wirth (printele limbajului Pascal) percepe programul informatic dup

    formula: Structuri de date + Algoritmi = Program.

    Ali specialiti2 , descriu programul sub forma unei funcii matematice: Ieiri =

    Program (Intrri).

    Sau, traducerea ntr-un limbaj de programare a unuia sau mai multor algoritmi.

    Caracteristicile programelor

    Caracteristicile (proprietile) fundamentale ale programelor sunt:

    corectitudine: la date de intrare corecte se obin rezultate scontate;

    robustee: face fa unor evenimente neprevzute;

    reutilizabilitate;

    compatibilitate;

    1A. Cozgarea Programarea calculatoarelor, introducere n VB.NET, Editura ASE Bucureti, 2008.2http://cs.wwc.edu/-aabyan

  • 7/25/2019 Programare Si Limbaje de Programare 2013-2014

    3/12

    Unitatea de nvare 1 PROGRAMARE I LIMBAJE DE PROGRAMARE_________________________________________________________________________________________________________________

    3

    Confereniar universitar dr. Veronica POPESCU

    portabilitate:poate fi executat pe calculatoare (platforme) diverse;

    eficien: utilizeaz optim resursele de calcul;

    claritate;

    Fazele realizrii unui program

    Fazele realizrii unui program sunt:

    n literatura de specialitate mai ntlnim i varianta: analiza, proiectarea, implementarea,

    testarea, exploatarea i ntreinerea.

    Structura clasic a unui program

    Structura clasic a unui program este:

  • 7/25/2019 Programare Si Limbaje de Programare 2013-2014

    4/12

    Unitatea de nvare 1 PROGRAMARE I LIMBAJE DE PROGRAMARE_________________________________________________________________________________________________________________

    4

    Confereniar universitar dr. Veronica POPESCU

    ntrebri

    1.Definii conceptul de program informatic.

    2.Care sunt caracteristicile programelor informatice ?

    3.Ce se nelege prin portabilitatea unui program ?4.Care sunt etapele realizrii unui program ?

    5.Cum se definete o expresie ?

    1.2. Algoritmi

    Definirea conceptului de algoritm

    Algoritmul reprezint o metod prin care sunt descrii paii necesari rezolvrii unei probleme

    - o succesiune de etape aplicate unei probleme specificate cu scopul obinerii unei soluii,

    pornind de la un set de date de intrare.

    Caracteristicile unui algoritm

    Caracteristicile (proprietile) fundamentale ale algoritmului sunt:

    finitudine: pornind de la datele de intrare, un algoritm trebuie s determine datele de

    ieire ntr-un timp finit, cu un efort de calcul ct mai mic;

    claritate: descrierea precis, fr ambiguiti, a procesului de calcul implic stabilireaunei ordini stricte, unice, a transformrilor suferite de datele de intrare;

    generalitate: un algoritm trebuie s fie conceput pentru rezolvarea unei clase de

    probleme de acelai tip, nu numai pentru determinarea soluiei unei probleme

    particulare;

    Clasificarea algoritmilor3

    Algoritmii pot fi clasificai dup mai multe criterii:

    a) dup metoda de proiectare (concepere)

    backtracking (cutare cu revenire);

    divide et impera (metoda divizrii);

    greedy (optimul local);

    genetici (principiile geneticii i ale seleciei naturale);

    b) dup metoda de implementare

    iterativi (cicluri repetitive);

    3R.Andone, I. Grbacea, Algoritmi fundamentali O perspectiv C++, Cluj-Napoca, Editura Libris, 1995.

  • 7/25/2019 Programare Si Limbaje de Programare 2013-2014

    5/12

    Unitatea de nvare 1 PROGRAMARE I LIMBAJE DE PROGRAMARE_________________________________________________________________________________________________________________

    5

    Confereniar universitar dr. Veronica POPESCU

    recursivi (se auto-apeleaz);

    Reprezentarea algoritmilor

    Algoritmii pot fi reprezentai prin mai multe procedee. Cele mai cunoscute fiind

    reprezentarea n pseudocod i cu ajutorul schemei logice.

    Schema logicreprezint o modalitate grafic de reprezentare a algoritmilor. Simbolurile de

    baz utilizate ntr-o schem logic sunt:

    Simbol Semnificaie

    Conectori

    Test condiie (Bloc de control)

    nceput i sfrit prelucrare

    Prelucrri

    Operaiuni de intrare-ieire

    Succesiunea prelucrrilor

    Subrutin (set de prelucrri)

    Pseudocoduleste un mijloc (un limbaj) de exprimare natural i de dezvoltare sistematic a

    algoritmilor. Un algoritm definit prin pseudocod este format din dou tipuri de propoziii:

    standard i nestandard. Enunurile nestandard sunt fraze n limbajul natural, care pot fi

    utilizate de programator n schiarea formelor iniiale ale algoritmilor. n dezvoltarea

    algoritmilor ele sunt nlocuite treptat, cu enunuri standard, care exprim operaii

    corespondente direct n limbajele de programare.

  • 7/25/2019 Programare Si Limbaje de Programare 2013-2014

    6/12

    Unitatea de nvare 1 PROGRAMARE I LIMBAJE DE PROGRAMARE_________________________________________________________________________________________________________________

    6

    Confereniar universitar dr. Veronica POPESCU

    ntrebri

    1.Definii conceptul de algoritm.

    2.Care sunt caracteristicile (proprietile) fundamentale ale algoritmului ?

    3.Ce se nelege prin finitudine ?4.Cum se clasific algoritmii dup metoda de implementare?

    5.Cum pot fi reprezentai algoritmi?

    6.Ce tipuri de propoziii pot fi utilizate n pseudocod?

    1.3. Limbaje de programare

    Definirea conceptului de limbaj de programare

    Limbajul de programare reprezint o tehnic de comunicare dintre om i calculator,caracterizat prin vocabular, sintax i semantic proprii.

    Limbajul de programare se caracterizeaz prin: vocabular - mulimea cuvintelor rezervate;

    sintax - reguli de compunere a propoziiilor (instruciunilor sau expresiilor); regulile de

    punctuaie;semantic - semnificaiile atribuite cuvintelor i instruciunilor.

    Clasificarea limbajelor de programare

    Limbajele de programare pot fi clasificate dup mai multe criterii:a) dup distana fa de limbajul calculatorului

    limbaje de nivel nalt (apropiate de programator);

    limbaje de nivel cobort (apropiate de calculator): cod main, de asamblare i

    macro-asamblare;

    b) dup clasa de probleme pe care le rezolv n mod eficient

    universale (pot rezolva mai multe clase de probleme);

    specializate (pentru: domeniul tiinific, economic, inteligena artificial, etc.);

    c) dup modul de realizare al funciilor de prelucrare automat

    procedurale (trebuie s programm ce s fac i cum s fac);

    neprocedurale (trebuie s definim doar ce s fac);

  • 7/25/2019 Programare Si Limbaje de Programare 2013-2014

    7/12

    Unitatea de nvare 1 PROGRAMARE I LIMBAJE DE PROGRAMARE_________________________________________________________________________________________________________________

    7

    Confereniar universitar dr. Veronica POPESCU

    Fazele execuiei unui program scris n limbaj simbolic

    Fazele execuiei unui program scris n limbaj simbolic sunt:

    Translatarea (traducerea sau compilarea) unui program din programul surs (PS) n

    programul obiect (PO) se poate face:

    Cu ajutorul unui interpretor care translateaz fiecare instruciune i apoi ncearc s

    o execute.

    Avantajele interpretorului sunt:

    lansarea n execuie este rapidla translatarea unei instruciuni;

    portabilitatea este ridicat, se pot executa pe orice platform care dispune de

    interpretor;

    Dezavantajele interpretorului sunt:

    programele sunt mai lente (se compileaz la fiecare execuie);

    memoria utilizat crete (memorie suplimentar pentru translatare i satisfacerea

    referinelor);

  • 7/25/2019 Programare Si Limbaje de Programare 2013-2014

    8/12

    Unitatea de nvare 1 PROGRAMARE I LIMBAJE DE PROGRAMARE_________________________________________________________________________________________________________________

    8

    Confereniar universitar dr. Veronica POPESCU

    codul surs nu poate fi protejat.

    Cu ajutorul unui compilator care traduce un modul (sau ntregul program) i apoi

    ncearc s l lanseze n execuie.

    Avantajele compilatorului sunt:

    programele sunt mai rapide (sunt gata compilate la execuiile urmtoare);

    codul surs poate fi protejat;

    Dezavantajele compilatorului sunt:

    portabilitatea este redus,programele se pot executa doar pe platforme compatibile.

    ntrebri

    1.Definii conceptul de limbaj de programare.2.Prin ce se caracterizeaz un limbaj de programare?

    3.Care sunt criteriile de clasificare a limbajelor de programare?

    4.Ce sunt limbajele neprocedurale?

    5.Care sunt fazele de execuie ale unui program scris n limbaj simbolic?

    6.Care sunt avantajele utilizrii compilatorului?

    1.4. Metode de programare

    Definirea conceptului de metod de programare

    Metoda de programare reprezint un set de concepte, principii i regulile aferente, dup care

    programatorul se poate ghida n scrierea programelor.

    n decursul timpului au fost dezvoltate mai multe metode de programare, dintre care cele mai

    importante sunt: programarea structurat, programarea orientat pe obiecte i programarea

    dirijat de evenimente.

    Programarea structurat

    Programarea structurat sau fr GO TO, este metoda de programare prin care modulele de

    program se execut de sus n jos (fr revenire). Programarea riguros structurat sau din clasa

    D, are la baz teorema fundamental a programrii structurate emis i demonstrat de

    Corrado BOHM i Giuseppe JACOPINI n 1966. Conform acestei teoreme: Orice

    program/algoritm poate fi rezolvat prin trei structuri fundamentale de control: liniar,

    alternativ i repetitiv cu test iniial.

  • 7/25/2019 Programare Si Limbaje de Programare 2013-2014

    9/12

    Unitatea de nvare 1 PROGRAMARE I LIMBAJE DE PROGRAMARE_________________________________________________________________________________________________________________

    9

    Confereniar universitar dr. Veronica POPESCU

    Structura liniar (sau secvenial) se poate simboliza astfel:

    Structura alternativ se poate simboliza astfel:

  • 7/25/2019 Programare Si Limbaje de Programare 2013-2014

    10/12

    Unitatea de nvare 1 PROGRAMARE I LIMBAJE DE PROGRAMARE_________________________________________________________________________________________________________________

    10

    Confereniar universitar dr. Veronica POPESCU

    Structura repetitiv cu test iniial.

    Programarea orientat pe obiecte

    Programarea orientat pe obiecte (OOP Object Oriented Programming) este tehnica prin

    care programul este format dintr-un ansamblu de obiecte care comunic ntre ele prin

    intermediul mesajelor. Conceptele de baz ale programrii orientate obiect sunt: obiectul,

    abstractizarea, ncapsularea, motenirea, polimorfismul i persistena.

    Programarea dirijat de evenimente

    Sub un sistem de operare cu interfa grafic, programele nu sunt executate ntr-o ordine

    stric i previzibil din momentul programrii. Derularea unei aplicaii poate urma o mulimede alternative determinate de opiunile utilizatorului sau de semnalele generate de sistem.

    Practic programul este n ateptare i cnd se declaneaz un eveniment se realizeaz

    prelucrarea specific rezolvrii acestui eveniment.

    n paradigma programrii dirijat de evenimente programul se afl ntr-o stare de ateptare,

    iar n momentul apariiei unui eveniment va executa aciunea definit de programator.

  • 7/25/2019 Programare Si Limbaje de Programare 2013-2014

    11/12

    Unitatea de nvare 1 PROGRAMARE I LIMBAJE DE PROGRAMARE_________________________________________________________________________________________________________________

    11

    Confereniar universitar dr. Veronica POPESCU

    ntrebri

    1.Definii conceptul de metod de programare.

    2.Care sunt cele mai cunoscute metode de programare?

    3.Care sunt structurile fundamentale de control specifice programrii structurate?

    4.Care sunt principalele conceptele de baz ale programrii orientate pe obiecte?

    5.Prin ce se caracterizeaz paradigma programrii dirijat de evenimente?

    Bibliografie Unitatea de nvare 11. A. COZGAREA Programarea calculatoarelor, introducere n VB.NET,

    Editura ASE Bucureti, 2008;

    2. Gh. POPESCU Programarea calculatoarelor n limbajul Visual Basic, Editura

    Gestiunea Bucureti, 2007.

  • 7/25/2019 Programare Si Limbaje de Programare 2013-2014

    12/12

    Unitatea de nvare 1 PROGRAMARE I LIMBAJE DE PROGRAMARE_________________________________________________________________________________________________________________

    12

    Confereniar universitar dr. Veronica POPESCU

    OBIECTIVELE UNITII DE NVARE 1.............................................................................. 2

    1.1. Necesitatea programrii, programe informatice.................................................................. 2

    1.2. Algoritmi.............................................................................................................................. 4

    1.3. Limbaje de programare ........................................................................................................ 6

    1.4. Metode de programare......................................................................................................... 8

    Bibliografie Unitatea de nvare 1........................................................................................... 11