Documente Academic
Documente Profesional
Documente Cultură
Cuprins
Obiectivele unitii de nvare 1
1.1.
Necesitatea programrii, programe informatice. Definirea conceptului de program informatic Caracteristicile programelor Fazele realizrii unui program Structura clasic a unui program ntrebri
1.2. Algoritmi Definirea conceptului de algoritm Caracteristicile unui algoritm Tipuri de algoritmi Reprezentarea algoritmilor ntrebri 1.3. Limbaje de programare Definirea conceptului de limbaj de programare Clasificarea limbajelor de programare Fazele execuiei unui program scris n limbaj simbolic ntrebri 1.4. Metode de programare Definirea conceptului de metod de programare Programarea structurat Programarea orientat pe obiecte Programarea dirijat de evenimente ntrebri
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).
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. Cozgarea1 definete 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
A. Cozgarea Programarea calculatoarelor, introducere n VB.NET, Editura ASE Bucureti, 2008. http://cs.wwc.edu/-aabyan
portabilitate:poate fi executat pe calculatoare (platforme) diverse; eficien: utilizeaz optim resursele de calcul; claritate;
n literatura de specialitate mai ntlnim i varianta: analiza, proiectarea, implementarea, testarea, exploatarea i ntreinerea. Structura clasic a unui program
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
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.
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);
R.Andone, I. Grbacea, Algoritmi fundamentali O perspectiv C++, Cluj-Napoca, Editura Libris, 1995.
Reprezentarea algoritmilor
Algoritmii pot fi reprezentai prin mai multe procedee. Cele mai cunoscute fiind reprezentarea n pseudocod i cu ajutorul schemei logice. Schema logic reprezint o modalitate grafic de reprezentare a algoritmilor. Simbolurile de baz utilizate ntr-o schem logic sunt:
Simbol Conectori Semnificaie
Prelucrri
Operaiuni de intrare-ieire
Succesiunea prelucrrilor
Pseudocodul este 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.
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 cobort (apropiate de calculator): cod main, de asamblare i macro-
asamblare;
limbaje de nivel nalt (apropiate de programator);
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 rapid la translatarea unei instruciuni; portabilitatea este ridicat, se pot executa pe orice platform care dispune de
referinelor);
7 Copyright Catedra Informatic de Gestiune, 2010
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;
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.
8 Copyright Catedra Informatic de Gestiune, 2010
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 mulime de 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.
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?