Documente Academic
Documente Profesional
Documente Cultură
Curs 2
• Primul calculator numeric poate fi considerat ABACUL, apărut în urmă cu 3000 de ani şi era principalul
instrument de calcul.
• Primele maşini de calculat capabile să efectueze cele 4 operaţii şi extragerea radicalului de ordinul 2 au
fost concepute de Pascal şi Leibnitz.
• Primul calculator electronic a fost construit la Universitatea din Pennsylvania în 1946 şi a fost botezat
ENIAC.
• În 1946, la Universitatea Princeton, John von Neumann a introdus pentru prima dată conceptul de
program memorat, care conţine instrucţiuni în cod-maşină, eliminându-se astfel comutatoarele şi alte
componente cu care se programau diferite operaţii (EDVAC – primul calculator cu program memorat,
1950).
• Programul propus de Neumann permite introducerea o singură dată în memoria calculatorului a unui tip
de operaţie care apoi poate fi executat ori de câte ori este nevoie, pe baza acestui program. Această
filozofie a calculatorului este utilizată la 4 generaţii de calculatoare şi poartă denumirea de filozofia von
Neumann.
GENERAȚII DE CALCULATOARE
MICROCALCULATOR = orice echipament care foloseşte unul sau mai multe microprocesoare incluzând şi
alte circuite
• Memoria internă (M.I.) este componenta de bază a calculatorului, ce serveşte la păstrarea temporară a
informaţiilor (programul şi datele aferente problemei respective).
• La memoria internă au acces unitatea de comandă (U.C.), pentru a executa instrucţiunile prevăzute în programul
utilizatorului, şi echipamentele periferice (E.P.), pentru a putea introduce/extrage informaţiile în/din memoria
internă.
• Memoria internă are o anumită structură organizatorică. Unitatea elementară a informaţiei este bit-ul (b), sau
poziţia binară, adică elementul capabil să memoreze o cifră binară, 0 sau 1, în funcţie de intensitatea curentului
electric ce străbate elementul respectiv: + i sau - i.
• Unitatea adresabilă a memoriei interne este locaţia de memorie, adică o succesiune de biţi, definită prin două
elemente:
a) lungimea locaţiei (numărul de biţi pe care îi conţine succesiunea respectivă);
b) adresa locaţiei respective (care este un număr ataşat locaţiei respective).
MEMORIA INTERNĂ
• Împărţirea memoriei interne în locaţii se face din punct de vedere logic pentru a avea acces direct la o anumită informaţie
stocată.
• Gestiunea fizică a memoriei interne nu o face utilizatorul, acesta având acces la anumite valori stocate prin intermediul
variabilelor prevăzute în cadrul programului.
• Locaţiile cu 8 biţi poartă numele de octet sau byte (B), cele cu 16 biţi se numesc semicuvânt, cele cu 32 biţi se numesc cuvânt,
iar cele cu 64 biţi se numesc dublu cuvânt.
• Capacitatea de memorare se determină prin numărul de octeţi pe care îi conţine memoria respectivă.
• Unitatea de măsură pentru M.I. este KB (kilobyte sau kilooctet). Multiplul de KB este MB (megabyte). Multiplul de MB este
GB (gigabyte) iar multiplul de GB este TB (terabyte).
Astfel:
• 1 KB = 1024 Byte = 210 byte
• 1 MB = 1024 KB = 210 KB = 220 byte
• 1 GB = 1024 MB = 210 MB = 230 byte
• 1 TB = 1024 GB = 210 GB = 240 byte
MEMORIA INTERNĂ
Din punct de vedere funcţional, structura unităţii de comandă variază de la un tip la altul. În general, vom găsi următoarele
componente sau subansamble:
a. subansamblul de control, care coordonează toate celelalte componente;
b. subansamblul aritmetico-logic, ce conţine circuitele necesare executării instrucţiunilor;
c. subansamblul de adresare a memoriei interne;
d. subansamblul de control al interfeţelor cu echipamente periferice;
e. subansamblul de control al întreruperilor şi derutelor;
f. subansamblul orologiului intern etc.
• Întreprinderile constructoare de calculatoare livrează odată cu calculatorul brut un suport de memorie externă
pe care este înregistrat un ansamblu de programe speciale, numit sistem de operare, care permite accesul
utilizatorului la calculator.
• Sistemul de operare este un ansamblu de programe care are rol de a realiza utilizarea optimă a resurselor
fizice şi logice ale sistemului de calcul, şi de a concura la pregătirea, punerea în lucru şi coordonarea
execuţiei programului utilizator.
• În general, sistemele de operare presupun, din punct de vedere constructiv, două nivele: un nivel logic şi unul
fizic. Nivelul logic este apropiat utilizatorului, cu care interferează prin comenzi ale limbajului de comandă
specific sistemului de operare respectiv şi prin mesaje. Nivelul fizic este apropiat calculatorului, cu care
interferează printr-un sistem de întreruperi şi derute.
• Utilizatorul lucrează cu calculatorul prin intermediar (GUI-interfaţă) care se constituie cu ajutorul sistemului
de operare. Sistemul de operare este o interfaţă pentru că se găseşte între calculator şi utilizator
FUNCȚIILE SISTEMELOR DE OPERARE
1) Utilitate – interfaţa cu programele utilizator trebuie să aibă în vedere toate necesităţile acestuia.
2) Eficienţă – să permită realizarea unei utilizări a resurselor cât mai aproape de optim.
3) Generalitate – sistemul de operare trebuie să răspundă exact la toate cerinţele formulate de utilizator.
4) Transparenţă – să permită însuşirea simplă a facilităţilor oferite de sistemul de operare.
5) Securitate – sistemul de operare trebuie să fie protejat împotriva unor încercări voluntare sau involuntare de
distrugere din partea programului utilizator.
UTILIZAREA CALCULATORULUI
• Rezolvarea unei probleme prin elaborarea unui program
• Programul este o mulţime finită de instrucţiuni dintr-un anumit limbaj de programare.
• Limbajul de programare este un suport comun de conversaţie utilizator-calculator.
• În orice limbaj de programare vom găsi instrucţiuni ce reprezintă de fapt nişte coduri pentru diverse
tipuri de operaţii de prelucrare.
• Pentru elaborarea programului, utilizatorul stabileşte algoritmul pentru rezolvarea problemei
respective.
• Algoritmul este o succesiune finită de operaţii care, efectuate într-o anumită ordine logică, rezolvă
problema respectivă.
• O dată întocmit algoritmul pentru problema supusă prelucrării cu calculatorul, utilizatorul poate elabora
programul corespunzător. El se realizează codificând fiecare operaţie prevăzută în algoritm, cu una sau
mai multe instrucţiuni dintr-un limbaj de programare.
• Acest program, spre a putea fi executat de către calculator, trebuie introdus în memoria internă prin
intermediul echipamentului periferic de intrare.
LIMBAJE DE PROGRAMARE
• În sensul cel mai larg, orice limbaj utilizat pentru descrierea algoritmilor şi a datelor pentru o anumită problemă
este un limbaj de programare. Această noţiune este legată întotdeauna de implementarea pentru un tip de
calculator, în sensul că reprezintă suportul comun de conversaţie om – maşină, suport care trebuie cunoscut de
ambii. Pentru fiecare limbaj de programare, există unul sau mai multe programe translatoare care realizează
transformarea programului elaborat, într-un limbaj de programare oarecare în cod maşină, singurul format în care
poate fi executat un program.
• Primele calculatoare se programau în limbaj cod maşină care utilizează coduri binare, operaţiunea de programare
în sine fiind foarte anevoioasă. Un salt evident se realizează odată cu trecerea la limbajul de asamblare, care
utilizează coduri simbolice şi adresare simbolică. Aceste limbaje în raport cu evoluţiile lor ulterioare sunt
considerate limbaje de programare de nivel inferior, datorită dependenţei lor de particularităţile calculatorului
pentru care au fost realizate.
• Primul limbaj de programare de nivel înalt a fost limbajul FORTRAN, specificaţiile căruia au apărut în anul 1954.
Exemplu
LIMBAJE DE PROGRAMARE
Limbajele de programare de nivel înalt utilizează cuvinte pentru diverse operaţii de prelucrare a datelor. În
majoritatea cazurilor, cuvinte dintr-o anumită limbă, cu o tendinţă clară de apropiere de limbajul curent.
Specificarea completă a unui limbaj de programare presupune definirea a trei elemente:
1. Sintaxa limbajului, care defineşte structura limbajului respectiv, cu reguli gramaticale bine stabilite.
2. Semantica limbajului, defineşte semnificaţia limbajului respectiv.
3. Pragmatica, ce defineşte toate celelalte aspecte:
- eficienţa limbajului;
- relaţia cu utilizatorul etc.
CLASIFICAREA LIMBAJELOR DE PROGRAMARE
• Limbaje procedurale (de nivel înalt) – sunt destinate descrierii algoritmului sub forma unor succesiuni finite de
instrucţiuni, ce se vor executa în ordinea stabilită de programator. Exemple de limbaje procedurale: ALGOL,
COBOL, FORTRAN, PASCAL etc.
• Limbaje neprocedurale (de nivel foarte înalt) – se caracterizează prin faptul că succesiunea instrucţiunilor
influenţează doar puţin ordinea în care vor fi executate. Exemple de limbaje neprocedurale: FOXPRO, ACCESS,
GPSS etc.
• Limbaje de programare concurentă este un limbaj ce oferă posibilitatea definirii mai multor procese şi cu facilităţi
deosebite de comunicare între acestea. Exemplu: limbajul PASCAL CONCURRENT.
• Limbaje conversaţionale, folosite pentru dialogul utilizator – calculator chiar în timpul execuţiei programului
(limbajul BASIC).
• Limbaje de programare ale inteligenţei artificiale, ce oferă posibilitatea de reprezentare a cunoştinţelor. Exemplu:
LISP, PROLOG etc.
MEDII DE PROGRAMARE.
• Mediul de programare reprezintă un sistem complex de instrumente software interconectate conform fluxului
tehnologic de realizare a unui program. Exemplu: Turbo Pascal, QuickBasic etc.
• O importanţă deosebită o reprezintă alegerea limbajului de programare în funcţie de specificul problemei
supuse prelucrării cu calculatorul.
• Teoretic, orice limbaj de programare poate fi utilizat pentru codificarea oricărei probleme. Trebuie ţinut însă
cont de faptul că unele operaţii de prelucrare se pot realiza mai uşor într-un limbaj de programare sau în altul.
De exemplu: limbajul COBOL este specific problemelor economice, cu date multe şi calcule simple.
Limbajul FORTRAN este specific problemelor ştiinţifice, cu date relativ puţine şi operaţii matematice
complexe. Limbajul BASIC este destinat problemelor cu facilităţi pentru grafică, calcule matematice
complexe, dar şi date multe.