27
Program de calcul. Programare Program de calcul: - modalitatea prin care omul comunică calculatorului, sub formă de instrucţiuni, de comenzi, clauze, felul în care calculatorul (maşina) trebuie să rezolve problema dorită - o înşiruire ordonată de instrucţiuni în cod maşină, dar posibil şi de comenzi, sau de clauze, care are drept scop rezolvarea unei probleme concrete — aplicaţia în cauză — în conformitate cu un anumit algoritm care stabileşte modul de prelucrare a datelor de intrare pentru a se obţine datele de ieşire, adică rezultatele necesare suportul fizic al unui program de calcul este fişierul executabil programarea calculatoarelor este

Utilizarea Şi Programarea Calculatoarelor 1

Embed Size (px)

DESCRIPTION

.

Citation preview

Page 1: Utilizarea Şi Programarea Calculatoarelor 1

Program de calcul. Programare

• Program de calcul:- modalitatea prin care omul comunică calculatorului, sub

formă de instrucţiuni, de comenzi, clauze, felul în care calculatorul (maşina) trebuie să rezolve problema dorită

- o înşiruire ordonată de instrucţiuni în cod maşină, dar posibil şi de comenzi, sau de clauze, care are drept scop rezolvarea unei probleme concrete — aplicaţia în cauză — în conformitate cu un anumit algoritm care stabileşte modul de prelucrare a datelor de intrare pentru a se obţine datele de ieşire, adică rezultatele necesare

• suportul fizic al unui program de calcul este fişierul executabil• programarea calculatoarelor este activitatea de realizare a

programelor de calcul fiind făcută de programatori sau softişti• piaţa produselor software a cunoscut o dezvoltare explozivă, de

ordinul zecilor de miliarde de $• programele sunt protejate de legile care reglementează

proprietatea intelectuală

Page 2: Utilizarea Şi Programarea Calculatoarelor 1

Paradigme de programare

• programare procedurală (sau imperativă)

• programare declarativă

• programarea funcţională

• programarea orientată pe obiecte

(POO = OOP — Object Oriented Programming)

şi pe evenimente

(EOP = Event Oriented Programming)

• programare vizuală

• programare distribuită

Page 3: Utilizarea Şi Programarea Calculatoarelor 1

Ciclul de viaţă al unui program

• enunţul problemei• elaborarea documentaţiei - specificarea problemei• analiza - consideraţii fizice, economice, conducere• proiectarea: algoritm, proiect de ansamblu şi detaliu• realizarea produsului - program de calcul• verificarea programului• testarea şi depanarea programului• documentarea programului: internă, externă, în timp real• utilizarea (exploatarea) programului - faze• întreţinerea programului: corectivă, perfectivă, adaptivă• faza terminus

Page 4: Utilizarea Şi Programarea Calculatoarelor 1

Calităţile unui

1. de natură internă

- la exploatare

- corectitudinea- uşurin ţa folosirii- eficienţa- integritatea- compatibilitatea- portabilitatea- robusteţea- extensibilitatea- reutilizabilitatea- verificabilitatea

program de calcul

2. de natură externă- la întreţinere

- modularitatea- documentarea completă

Page 5: Utilizarea Şi Programarea Calculatoarelor 1

Elemente componente ale unui program

aplicativ performant

• meniuri: bara (menu bar), caseta (menu box), derulante (pop-up), contextuale etc.

• ferestrele (windows)• casetele de dialog (dialog box)• informaţiile ajutătoare: linia de stare (status line), ferestre

ajutor (help). asistenţi (wizard)• sunetele• animaţia• introducerea informaţiei din: fişiere, tastatură, "şoricel", joy-

stick, track-ball, creion optic (light pen), scanner.

Page 6: Utilizarea Şi Programarea Calculatoarelor 1

Concepte de bază

• Limbajele de programare:sunt limbaje artificiale, destinate implementării algoritmelor în cadrul programelor de calcul

• Caracteristici:- manipulează structuri de date- controlează modul de execuţie a calculelor

• Elemente:- sintaxa - reguli de scriere- semantica - interpretarea structurilor sintactice

Page 7: Utilizarea Şi Programarea Calculatoarelor 1

Tipuri de limbaje de programare

• limbajele pentru prelucrarea matricelor - Matlab• limbajele de asamblare bazate pe mnemonice - MASM (Microsoft ASseMbler),

TASM (Turbo ASM Borland) etc.• limbaje pentru interfeţe gen linie de comandă - BASH (Bourne Again SHell -GNU

Linux)• limbaje cu compilator - C, FORTRAN, Pascal, ALGOL, BASIC etc.• limbaje concurente - Java, ADA etc.• limbaje de prelucrare a datelor: -– dBase, SQL, FoxPro etc.• limbaje declarative: - Prolog, Analytica etc.• limbaje pentru extensii -AutoLISP folosit în AutoCAD• limbaje interactive (interpretoare) -: BASIC, Lisp, Maple, Matlab, Forth etc.• limbaje cu macrouri - PHP• limbaje orientate pe obiecte - CPP, Java, PHP, Perl5, limbajele vizuale (Delphi,

Visual studio, Visual Prolog, Visual Basic etc.) etc.• limbaje procedurale - C, Pascal, FORTRAN etc.• limbaje bazate pe reguli: - P rolog, Clisp etc.• limbaje vizuale -: Delpi, C++Builder, JavaBuilder, Visual C++, Visual Prolog

Page 8: Utilizarea Şi Programarea Calculatoarelor 1

Evoluţia limbajelor de programare

• codul maşină• limbaj de asamblare• limbaje de nivel înalt: compilatoarele, interpretoarele• programare modulară - biblioteci de funcţii, proceduri, link-editorul• programarea structurată• era multimedia• programarea vizuală• programarea imperativă (procedurală) versus declarativă• programarea orientată pe obiecte şi pe evenimente - scheletul

programului• limbaje pentru baze de date, pentru simulare, conducere în timp real,

concurente• paradigma client - server

Page 9: Utilizarea Şi Programarea Calculatoarelor 1

Compilatorul• cod sursă -- > translator de limbaj -- > cod obiect• translator de limbaj: (de)compilator, interpretor

Page 10: Utilizarea Şi Programarea Calculatoarelor 1

• tratarea erorilor

Page 11: Utilizarea Şi Programarea Calculatoarelor 1

Editarea legăturilor, încărcarea, execuţia

• rolul editorului de legături -> generează programul executabil(modul încărcabil):- alocă memoria pentru întregul program- calculează adresele de salt între module

• încărcătorul programului (loader):- calculează adresele absolute ale segmentelor de program- transferă programul în memoria internă la adresa de început a

programului- Încarcă în contorul program adresa primei instrucţiuni

executabile

• segmentarea programelor mari: tehnica overlay

Page 12: Utilizarea Şi Programarea Calculatoarelor 1

Programare imperativă - concepte

• tipuri de instrucţiuni:- declarative

- imperative

- comentarii

• secţiunile unui modul program:- antetul pentru identificarea modulului

- partea declarativă

- partea procedurală

• comentariile sunt prezente în toate secţiunile programului,acolo unde este necesar

Page 13: Utilizarea Şi Programarea Calculatoarelor 1

Identificatori

Identificatorii sunt nume folosite pentru a identifica datele din memorie, zone de memorie, blocuri din program:

• suferă modificări pe parcursul calculelor - variabile

• rămân neschimbaţi pe parcursul calculelor:

- literali

- constante

• variabile iniţializate - constante cu tip

Page 14: Utilizarea Şi Programarea Calculatoarelor 1

Tipuri de date• sunt descrise în secţiunea de declaraţii a modulului• tipul datei stabileşte:

- modul de interpretare a şirului de biţi asociat datei- operaţiile pe care le suportă data

• tipuri de date predefinite (principale) recunoscute automat:- tipul întreg

• fără semn: byte, word, dword• cu semn: shortint, integer, longint

- tipul real: real, double, extended etc.- tipul caracter: char- tipul şir de caractere: string- tipul logic: boolean, longbool etc.- tipul reper (vizor): pointer

• compatibilitatea tipurilor:- identice- echivalente- incompatibile

Page 15: Utilizarea Şi Programarea Calculatoarelor 1

Structuri de date

Zonă continuă de memorie în care datele sunt grupate unitar din punct de vedere logic, în conformitate cu necesităţile programului

• tipuri de structuri de date:

- vectorul - indice

- matricea sau tabloul (array) - indici multipli

- înregistrarea (articolul): record - câmpul (field)

- obiectul (object) - date & cod

• forma structurilor poate fi:- fixă

- variabilă