utilizarea Şi programarea calculatoarelor 1
DESCRIPTION
.TRANSCRIPT
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ă
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ă
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
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ă
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.
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
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
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
Compilatorul• cod sursă -- > translator de limbaj -- > cod obiect• translator de limbaj: (de)compilator, interpretor
• tratarea erorilor
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
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
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
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
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ă