subiecte prog calc cig2

6
Capitolul 1. Structura Generală a unui Sistem de Calcul Componentele unui sistem de calcul pot fi grupate în unităţi cu funcţii complexe, dar bine precizate, numite unităţi funcţionale. Calculatorul reprezintă un sistem electronic complex (ansamblu de dispozitive şi circuite diverse) care prelucrează datele introduse într-o formă prestabilită, efectuează diverse operaţii asupra acestora şi furnizează rezultatele obţinute (figura 1.1.). Date de intrare (datele iniţ iale ale problemei) Date de ieşire (rezultatele obţinute) PROGRAM (şir de acţiuni , prelucrări, algoritm) Fi 11 Cl lt l it t td l dtl Figura 1. 1. Software-ul are două componente principale: Sistemul de operare (de exploatare) care coordonează întreaga activitate a echipamentului de calcul. Sistemul de operare intră în funcţiune la pornirea calculatorului şi asigură, în principal, trei funcţii: Gestiunea echitabilă şi eficientă a resurselor din cadrul sistemului de calcul; Realizarea interfeţei cu utilizatorul; Furnizarea suportului pentru dezvoltarea şi execuţia aplicaţiilor. Exemple de sisteme de operare: RSX11, CP/M, MS-DOS, LINUX, WINDOWS NT, UNIX. Sistemul de aplicaţii (de programe): medii de programare, editoare de texte, compilatoare, programe aplicative din diverse domenii (economic, ştiinţific, financiar, divertisment). În cazul în care utilizatorul doreşte să rezolve o problemă cu ajutorul calculatorului, informaţia de intrare (furnizată calculatorului de către utilizator) va consta din datele iniţiale ale problemei de rezolvat şi dintr-un program (numit program sursă). În programul sursă utilizatorul implementează (traduce) într-un limbaj de programare un algoritm (acţiunile executate asupra datelor de intrare pentru a obţine rezultatele). Această informaţie de intrare este prezentată într-o forma externă, accesibilă omului (numere, text, grafică) şi va fi transformată de către calculator într-o formă internă, binară. Unitate de intrare (flux de intrare - istream în C++) Memorie internă Unitate de ieşire (flux de ieşire - ostream în C++) Unitate centrală Memorie externă Figura 1 3 Unităţile funcţionale ale unui sistem de calcul Unitatea de intrare (cu funcţia de citire) realizează această conversie a informaţiei din format extern în cel intern. Din punct de vedere logic, fluxul (informaţia) de intrare este un şir de caractere, din exterior către memoria calculatorului. Din punct de vedere fizic, unitatea de intrare standard este tastatura calculatorului. Tot ca unităţi de intrare, pot fi enumerate: mouse-ul, joystick-ul, scanner-ul (pentru introducerea informaţiilor grafice).

Upload: wonderchild

Post on 16-Dec-2015

226 views

Category:

Documents


1 download

DESCRIPTION

ac

TRANSCRIPT

  • Capitolul 1. Structura General a unui Sistem de Calcul Componentele unui sistem de calcul pot fi grupate n uniti cu funcii complexe, dar

    bine precizate, numite uniti funcionale. Calculatorul reprezint un sistem electronic complex (ansamblu de dispozitive i

    circuite diverse) care prelucreaz datele introduse ntr-o form prestabilit, efectueaz diverse operaii asupra acestora i furnizeaz rezultatele obinute (figura 1.1.).

    Date de intrare (datele iniiale ale

    problemei)

    Date de ieire (rezultatele obinute)

    PROGRAM (ir de aciuni , prelucrri, algoritm)

    Fi 1 1 C l l t l i t t t d l d t l Figura 1. 1.

    Software-ul are dou componente principale: Sistemul de operare (de exploatare) care coordoneaz ntreaga activitate a

    echipamentului de calcul. Sistemul de operare intr n funciune la pornirea calculatorului i asigur, n principal, trei funcii:

    9 Gestiunea echitabil i eficient a resurselor din cadrul sistemului de calcul; 9 Realizarea interfeei cu utilizatorul; 9 Furnizarea suportului pentru dezvoltarea i execuia aplicaiilor. Exemple de sisteme de operare: RSX11, CP/M, MS-DOS, LINUX, WINDOWS NT, UNIX. Sistemul de aplicaii (de programe): medii de programare, editoare de texte, compilatoare,

    programe aplicative din diverse domenii (economic, tiinific, financiar, divertisment).

    n cazul n care utilizatorul dorete s rezolve o problem cu ajutorul calculatorului, informaia de intrare (furnizat calculatorului de ctre utilizator) va consta din datele iniiale ale problemei de rezolvat i dintr-un program (numit program surs).

    n programul surs utilizatorul implementeaz (traduce) ntr-un limbaj de programare un algoritm (aciunile executate asupra datelor de intrare pentru a obine rezultatele). Aceast informaie de intrare este prezentat ntr-o forma extern, accesibil omului (numere, text, grafic) i va fi transformat de ctre calculator ntr-o form intern, binar.

    Unitate de intrare (flux de intrare - istream n C++)

    Memorie intern Unitate de ieire (flux de ieire - ostream n C++)

    Unitate central

    Memorie extern

    Figura 1 3 Unitile funcionale ale unui sistem de calcul Unitatea de intrare (cu funcia de citire) realizeaz aceast conversie a informaiei din format extern n cel intern. Din punct de vedere logic, fluxul (informaia) de intrare este un ir de caractere, din exterior ctre memoria calculatorului. Din punct de vedere fizic, unitatea de intrare standard este tastatura calculatorului. Tot ca uniti de intrare, pot fi enumerate: mouse-ul, joystick-ul, scanner-ul (pentru introducerea informaiilor grafice).

  • Unitatea de ieire (cu funcia de scriere, afiare) realizeaz conversia invers, din formatul intern n cel extern, accesibil omului. Din punct de vedere fizic, unitatea de ieire standard este monitorul calculatorului. Ca uniti de ieire ntr-un sistem de calcul, mai putem enumera: imprimanta, plotter-ul, etc. Informaia este nregistrat n memorie. Memoria intern (memoria RAM - Random Acces Memory, cu acces aleatoriu) se prezint ca o succesiune de octei (octet sau byte sau locaie de memorie). Un octet are 8 bii. Bit-ul reprezint unitatea elementar de informaie i poate avea una din valorile: 0 sau 1. Capacitatea unei memorii este dat de numrul de locaii pe care aceasta le conine i se msoar n multiplii de 1024 (210 ). De exemplu, 1 Mbyte=1024Kbytes; 1Kbyte=1024bytes. Numrul de ordine al unui octet n memorie se poate specifica printr-un cod, numit adres. Ordinea n care sunt adresate locaiile de memorie nu este impus, memoria fiind un dispozitiv cu acces aleator la informaie. n memorie se nregistreaz dou categorii de informaii: Date - informaii de prelucrat; Programe - conin descrierea (implementarea ntr-un limbaj de programare) a aciunilor

    care vor fi executate asupra datelor, n vederea prelucrrii acestora. n memoria intern este pstrat doar informaia prelucrat la un moment dat. Memoria

    intern are capacitate redus; accesul la informaia pstrat n aceasta este extrem de rapid, iar datele nu sunt pstrate dup terminarea prelucrrii (au un caracter temporar). Unitatea central prelucreaz datele din memoria intern i coordoneaz activitatea tuturor componentelor fizice ale unui sistem de calcul. Unitatea central nglobeaz: Microprocesorul- circuit integrat complex cu urmtoarele componente de baz: 9 Unitatea de execuie, UAL, (realizeaz operaii logice i matematice); 9 Unitatea de interfa a magistralei, UCC, (transfer datele la/de la microprocesor). Coprocesorul matematic circuit integrat destinat realizrii cu vitez sporit a

    operaiilor cu numere reale. n funcie de numrul de bii transferai simultan pe magistrala de date, microprocesoarele pot fi clasificate astfel: microprocesoare pe 8 bii (Z80, 8080); microprocesoare pe 16 bii (8086, 8088, 80286) cu coprocesoarele corespunztoare (8087, 80287); familii de procesoare pe 32 bii (80386DX, 80486, PENTIUM) cu coprocesoarele corespunztoare (ncepnd de la 486, coprocesoare sunt ncorporate microprocesoarelor). Memoria extern este reprezentat, fizic, prin unitile de discuri (discuri dure-hard disk, discuri de pe care informaia poate fi doar citit-CDROM, DVDROM, etc). Spre deosebire de memoria intern, memoria extern are capacitate mult mai mare, datele nregistrate au caracter permanent, n dezavantajul timpului de acces la informaie.

  • Capitolul 2. Organizarea i structurarea intern a datelor Organizarea datelor reprezint procesul de identificare, definire, structurare i memorare a datelor. O bun organizare a datelor impune folosirea unor structuri care s permit o prelucrare cu un cost ct mai redus. Pentru specificul activitilor economice, fiecare nivel de abstractizare implic date elementare i date structurate.

    O dat care apare ca o entitate indivizibil, att n raport cu informaia pe care o reprezint, ct i n raport cu procesorul care o prelucreaz se numete dat elementar. Data elementar poate fi privit ca model de reprezentare a informaiei la nivelul unui procesor uman (nivel logic) sau la nivelul reprezentrii interne, respectiv pe suport (nivel fizic).

    Din punct de vedere logic, data poate fi reprezentat printr-un triplet de forma: d = (i, a, v)

    dat

    valoriatribute

    identificator Identificatorul datei (numele) este un simbol asociat datei pentru a o putea distinge

    de alte date i pentru a se putea face referiri la ea n timpul procesului de prelucrare (de exemplu, codprod, denprod, um)

    Atributele precizeaz proprietile datei i determin modul n care poate fi ea tratat n procesul de prelucrare. Iat cteva exemple de atribute: tipul datei care definete apartenena acesteia la o anumit clas de date, n funcie de

    natura i de domeniul valorilor luate. Se disting astfel date de tip numeric (ntreg, real, complex), logic, ir de caractere.

    precizia reprezentrii interne care definete ct mai fidel reproduce modelul intern de reprezentare obiectul pe care l reprezint. Precizia depinde de zona de memorie afectat datei. Ea poate fi simpl precizie sau dubl precizie.

    valoarea iniial modul de alocare a memoriei pe parcursul prelucrrii (static, dinamic).

    Valorile datei pot fi precizate prin enumerare sau printr-o proprietate comun i pot fi numere, valori logice, iruri de caractere. n funcie de valoare, datele se clasific n : date variabile (variabile) - date care pe tot parcursul procesului de prelucrare pot lua orice

    valori din domeniul de definiie a datei; date constante (constante) - date care pe parcursul procesului de prelucrare i pstreaz

    aceeai valoare din domeniul de definiie al datei.

    Principalele tipuri de date elementare sunt: Tipul numeric care include numerele ntregi, reale i complexe i asupra crora se pot realiza operaii

    de adunare, scdere, etc.; Tipul logic (boolean) utilizat pentru precizarea strilor de adevr (TRUE, YES) sau neadevr

    (FALSE, NO) ale unui enun. Asupra acestor date se pot efectua operaii logice: NOT, AND, OR; Tipul caracter care reprezint o succesiune de caractere alfanumerice asupra creia se pot defini

    operaii de concatenare, ordonare etc.; Tipul pointer, adic date elementare ale cror valori sunt adrese, referine pentru alte date. n majoritatea aplicaiilor, datele se prezint sub forma unor mulimi sau colecii, a cror prelucrare nu poate fi conceput fr o organizare corespunztoare. ntre elementele unei colecii de date pot fi identificate i/sau introduse relaii care s determine pe mulimea respectiv o anumit structur.

  • Structurile de date sunt colecii de date pe care s-a definit o structur i creia i este specific un anumit mecanism de selecie i identificare a componentelor. O structur este o entitate de sine-stttoare, identificabil prin nume, ale crei componente i menin proprietile.

    Structurile de date pot fi clasificate dup mai multe criterii: a. dup modul de selectare a componentelor:

    structuri cu acces direct atunci cnd o component poate fi selectat fr a ine seama de celelalte componente ale structurii

    structuri cu acces secvenial atunci cnd localizarea unui element se face printr-un proces de parcurgere a mai multor componente, conform cu ordinea acestora.

    b. dup suportul de memorie pe care se creeaz structura de date : structuri de date interne (ir, masiv, nregistrare, liste, arbori) structuri de date externe (fiiere, baze de date)

    c. dup variabilitatea structurii: structuri de date dinamice, care i modific pe parcursul prelucrrii structura structuri de date statice, care pe tot parcursul existenei au acelai numr de

    componente i n aceeai ordine

    Principalele tipuri de structuri de date pentru memoria intern sunt irul, masivul, nregistrarea, listele liniare, arborii de date, iar

    pentru memoria extern sunt fiierele i bazele de date.

    Date elementare i date structurate structurilor de date se pot efectua att operaii generale Categorii de operaiuni definite asupra datelor

    operaiuni de atribuire; operaiuni de calcul; operaiuni de decizie; operaiuni de intrare /ieire; operaiuni de transfer a controlului.

    Baze de date, bnci de date i depozite de date ALGORITMI I METODE DE REPREZENTARE

    O variabila simpla desemneaza o zona de memorie in care, la un moment dat, poate fi stocata (pastrata) o singura valoare,

    O variabila structurata desemneaza o zona de memorie in care se pot stoca simultan, sub un nume comun, mai multe valori. Tipuri de operatii in algoritmi Blocurile unei scheme logice Subprograme : funcii i proceduri Metoda programarii structurale pentru limbajul C. structuri Capitolul 4. LIMBAJE DE PROGRAMARE Rezolvarea unei probleme cu calculatorul, etape Un limbaj de programare opereaz cu dou categorii de date Un limbaj de programare caracteristici prin:

    vocabular ce conine mulimea semnelor i cuvintelor din care se pot forma propoziii;

    sintaxa se refer la mulimea regulilor ce descriu modul de alctuire a propoziiilor;

    semantica specific regulile ce definesc nelesul (semnificaia) propoziiilor.

  • Limbajul main, program executabil limbaj de asamblare Limbajele de programare de nivel nalt suport de regul programarea structurat Limbaje i maini virtuale Translatoarele se mpart n dou categorii:

    compilatoarele translateaz un program scris n limbaj de nivel nalt (program surs) ntr-un program n limbaj main; acesta poate fi apoi executat oricnd este necesar; compilatorul nlocuiete fiecare instruciune din programul surs cu secvena echivalent de instruciuni ale limbajului main; compilatorul primete, deci, ca date de intrare programul n limbaj de nivel nalt i furnizeaz ca rezultat un program n limbaj main;

    interpretoarele analizeaz fiecare instruciune din programul scris n limbaj de nivel nalt i execut secvena echivalent de instruciuni n limbaj main, dup care trece la urmtoarea instruciune din programul surs.

    Un program pot fi n trei stri dup cum se poate vedea n figura 4.2. Aceste stri sunt:

    cod surs un program n acest cod poate fi format din mai multe subprograme, fiecare fiind complet separat i avnd propriul su cod surs;

    codul obiect se obine prin compilarea codului surs al programului; prin compilare codul surs este analizat sintactic i semantic dup care este transformat n cod obiect;

    codul executabil se obine prin link-editarea codului obiect sau codurile obiect ale tuturor subprogramelor constituiente ale programului sunt legate i transformate n cod executabil.

    Modelul funcional al unui sistem de calcul cu 6 (ase) nivele: Capitolul 5. ELEMENTE DE BAZA ALE LIMBAJULUI C++ Entitatile sintactice Structura unui program C i functii 1.3 Operatorii limbajului C Operatorul de atribuire Operatori aritmetici Operatori logici si relaionali Operatori la nivel de bit Operatori de atribuire combinaii 2.2 Expresii Instructiuni In sens general o instructiune este o portiune a programului care poate fi executata. Deci o instructiune specifica o actiune. Standardul ANSI C impart instructiunile in urmatoarele grupe:

    Selectie; Iterare; Salt; Eticheta; Expresie; Bloc.

    Instructiunile de selectie (conditionala) cuprind if si switch. Instructiunile iterare (de buclare) sunt while, for si do-while. Instructiunile de salt sunt break, continue, goto si return. Instructiunile eticheta sunt case si default care sunt prezentate impreuna cu instructiunea switch. Instructiunile expresie sunt instructiuni compuse dintr-o expresie valida. Instructiunile bloc sunt simple blocuri de cod. Standardul ANSI C++ mai denumeste instructiunile bloc si instructiuni compuse. Instructiunile de selectie (condiionala) cuprind if si switch.

  • Instructiunile iterare (de buclare) sunt while, for i do-while. Instructiunile de salt sunt break, continue, goto i return. Instructiunile eticheta sunt case si default care sunt prezentate impreuna cu instructiunea switch. Instructiunile expresie sunt instructiuni compuse dintr-o expresie valida. Instructiunile bloc sunt simple blocuri de cod. Standardul ANSI C++ mai denumeste instructiunile bloc si instructiuni compuse. Etape dezvoltare program