Documente Academic
Documente Profesional
Documente Cultură
Opreatorii pe calculatoare sunt aceia care utilizeaza programele create in diverse activitati.Administratorii
de sistem au grija ca programele sa fie corect instalate. Programatorii sunt cei care creaza programe.
Scurt istoric al masinilor de calcul:
Preocuparea oamenilor de a-si automatiza anumite activitati dateaza din Antichitate. Exemplul care se da
de obicei ca prim instrument de calcul a fost socotitoarea/abacul. In sec. al XVI-lea, a inceput sa fie
proiectata si confectionata o serie de masini de calcul ce foloseau principii mecanice. Apare ideea
reprezentarii datelor cu ajutorul rotilor dintate. Valorile de intrare se marcau manual prin pozitionarea
corespunzatoare a rotilor, se declansa angrenajul sau mecanismul de calcul, iar la oprire se citeau
rezultatele/valorile de iesire.
Legat de aceasta tehnologie, cele mai importante nume sunt Blaise Pascal, Leibniz, Jaquard, Babbage.
Blaise Pascal a construit un mecanism cu roti dintate pt tatal sau caruia ii era necesar la serviciu. Jaquard
a construit un razboi de tesut. Modalitatea de impletire a firelor era planificata cu ajutorul unor cartele
perforate. Babbage a introdus ideea ca nu numai configuratia datelor de intrare (melodia) sa fie memorata
pe cartele perforate cat si functiile masinii de calcul. Astfel, aceeasi masina putea realiza mai multe tipuri
de functii. Babbage a introdus si ideea logicii conditionale, adica in functie de indeplinirea sau nu a unei
conditii logice, programul se urmeze doua trasee diferite.
In anul 1890 a luat fiinta in SUA compania IBM (International Business Machine). Computerul joaca un
rol f important in evolutia tehnicii de calcul pe plan mondial. In 1940 se construieste la Harvard
calculatorul Mark 1 care utilizeaza relee electromecanice. Aceste relee sunt componente care inchid sau
deschid circuite electrice folosind comanda electrica. Primul calculator electronic este considerat a fi
ENIAC (Electronic Numerical Integrator And Calculator) construit in 1945. Era bazat pe lampi
electronice. Acest calculator era f mare (160 m), avea 20 000 tuburi catodice, cantarea 30 de tone si putea
executa 5 000 de adunari pe secunda.
Mecanismele ce stau la baza functionarii calculatoarelor depind de tipul acestora.
1. Abacul mutarea manuala a bilelor pe spire
2. Roti dintate inregistrarea nr de rotatii a rotilor dintate
3. Cartele perforate
- Utilizate doar pt introducerea datelor de intrare. In functie de configuratia perforatiilor,
modelele pot reprezenta sau pot avea diverse interpretari: fie configuratie de impletire a
firelor, fie valori numerice
- Cartelele perforate sunt utilizate si pt iregistrarea programelor cand un anumit model poate
insemna operatia ce trebuie realizata
Calculatoarele electronice folosesc proprietatea curentului electric si ale componentelor electrice.
In functie de faptul ca circula sau nu curent electric, se poate realiza o logica de calcul sau stocare a
datelor. Calculatorul foloseste componente electrice care pot fi incarcate cu curent electric (starea 1) sau
pot sa nu fie (starea 0). De aceea spunem ca, calculatorul opereaza in mod nativ cu numere in baza 2.
Dincolo de 0 si 1, valorile ce poti fi memorate de componentele unui calculator (bistabili) sunt
interpretarile pe care omul le da acestor siruri de 0 si 1, iar aceste interpretari se numesc baze de
numeratie.
MSB 27 26 .........................21 20 LSB
1*20 +0*21 +1*22 +0*23 ....+1*27 =149
1 0 0 1 0 1 0 1
7 6 5 4 3 2 1 0
Valoarea de 0 sau 1 a unui circuit poarta denumirea de bit. Matematicianul american de origine germana
Von Neumann a publicat in 1946 proiectul primului calculator cu prelucrare secventiala a instructiunilor
si datelor memorate impreuna intr-o zona numita memoria calculatorului. Pe langa calculatorul serial mai
exista si calculatorul paralel.
Programele de calculator:
Privite dpdv al utilizatorului final, programele de calculator sunt instrumente ce permit interactiunea
utilizatorului cu respectiva aplicatie. Dpdv al programatorului, programele sunt niste suite de instructiuni
necesare pt ca un program sa ofere rezultatele dorite. Succesiunea de instructiuni este redata prin
algoritmi. In limbaj comun, un algoritm e asemanator cu o reteta, in limbaj tehnic, un limbaj e o
succesiune de etape ce specifica modalitatea in care se poate ajunge la un anumit rezultat, converge la
rezultate intr-un nr finit de pasi si are o conditie de terminare ce este la un moment dat indeplinita.
Limbajele de programare sunt programe cu ajutorul carora se pot crea programe. Pentru ca un
programator sa poate instrui un calculator sa realizeze programe trebuie sa cunoasca limbajul pe care
programul il intelege. Forma finala a unui program executata de computer se numeste cod masina.
2
0
0
0
1
1
0
1
1
2
2 =4
1B=8b
Multiplii byte-ului:
1 KB =1024 B 210
1 MB = 1024 KB 220
1 GB = 1024 MB 230
1 TB = 1024 GB 240
Cel mai simplu exemplu de functie logica ce se poate realiza cu ajutorul unei resurse fizice este functia
si. Poarta logica si este un mic circuit electric capabila sa realizeze exploatarea unei resurse fizice iar
tabela de adevar este:
AND
OR
XOR
Pe langa nr in baza 2 si 10 se mai folosesc baza 8 (sistem octal) si baza 16 (sistem hexazecimal)
16: 0,1,2,...,9,A,B,C,D,E,F
Transformarea nr din baza 10 in alta baza:
Pornim de la exprimarea in forma polinomiala a nr in baza 10:
Nr(8)
Se grupeaza nr in baza doi cate 3 cifre, si se transforma fiecare grup in baza 8. Prin inmultirea fiecarei
cifre cu puterea lui doi corespunzatoarea pozitiei in grup (20 , 21 sau 22).
! Analog baza 16, doar ca grupam cate 4 !
Sistemul fizic
(hardware)
Sistem de operare
Restul programelor
(prog. de aplicatie)
Utilizator
Memorie
RAM
CACHE
Registrii
Memoria RAM (Random Access Memory) este memoria curenta de lucru a programelor. In memoria
RAM se incarca un program sau o portiune din acesta inainte de a fi executat. Tot in memoria RAM se
incarca si datele cu care va opera un program. Un alt model de arhitectura in care datele si instructiunile
sunt stocate in zone separate de memorie se numeste arhitectura Harvard.
Date
UAL
Instructiuni
O instructiune este o comanda executata catre procesor UC (unitatea de control) si UAL (unitatea
aritmetico-logica), impreuna fac parte din Unitatea Centrala de Prelucrare (UCP) sau procesorul (CPU).
Memoria CACHE este un tip de memorie organizat pe 3 niveluri (L1, L2, L3), mai rapida decat memoria
RAM, ce se gaseste mai aproape de procesor dar este si mai scumpa. O coordonata a rapiditatii memoriei
este data de tipul de acces definit ca intervalul dintre momentul cand s-a solicitat o data din memorie si
momentul cand aceasta data a fost primita. Datorita distantelor fizice intre procesor si memorie si vitezei
de propagare a semnalului electric, timpii de acces sunt limitati si cu atat mai mici cu cat respectiva
memorie este mai aproape de procesor.
Tipuri de cunostinte
(paradigma declarativ-imperativ)
Cunostintele declarative sunt formate din afirmatii despre realitate. In programare, operatorului = i se
definesc noi sensuri suplimentare celor cunoscute de la aritmetica. Dpdv imperativ, expresia a=a+1 are
sens si poarta numele de atribuire si se citeste astfel: a(nou) ia valoarea a(vechi)+1. In practica, operatia
de adunare de 1 la un nr natural se numeste incrementare iar operatie inversa se numeste decrementare.
LIMBAJUL MATLAB
A fost creat in 1984. Un program corect sintactic ofera premisele unui program corect in ansamblu insa
nu este suficient. Instructiunile scrise in program si celelalte constructii trebuie sa fie si semantic corecte.
Ce se poate intampla cu un program:
1. Poate sa esueze adica sa produca un comportament incorect care va conduce la incheierea fara
rezultat si cu eroare. In sistemele de operare moderne, esecul unui program nu produce esecul
global al sistemului
2. Poate sa nu se termine niciodata, de exemplu, din cauza ca este blocat intr-o bucla infinita sau
asteapta anumite date ce nu devin niciodata disponibile
3. Un program poate sa ruleze dar sa produca un rezultat gresit. Aceasta este eroarea cel mai greu de
depanat.
4. Programele ruleaza si produc raspunsul corect.
Definirea unei variabile
a=1 (defineste variabila a si val 1)
O variabila poate reprezenta un nr, un sir de caractere sau orice valoare de un anumit tip. Practic, variabila
este locul unde se memoreaza acea valoare. O variabila e caracterizata de nume si tip. In MatLab toate
variabilele sunt matrice ce pot avea elemente de tip intreg, real. Prin scalar intelegem o valoare numerica
unica. Prin vector intelegem un sir de valori de obicei de acelasi tip. Prin matrice intelegem un tablou
bidimensional organizat pe linii si coloane de valori. Numele unei variabile poate contine numai caractere
ale alfabetului englez, cifre si caracterul _. Numele unei variabile trebuie sa inceapa cu un caracter
diferit de cifra. Matlab face diferenta intre litere mari si mici (case sensitive).
PROGRAMAREA
CALCULATOARELOR SI LIMBAJE DE PROGRAMARE
Tipuri de cunostinte:
1. Cunostintele declarative sunt formate din afirmatii despre realitate:
Insusirea materiei de catre studenti pe parcusul intregului semestru duce la cresterea
performantelor la examen si in acelasi timp reduce stress-ul din timpul sesiunii.
y este radacina patrata a lui x daca si numai daca y*y=x
2. Cunostintele imperative se refera la modul cum se poate obtine un anumit rezultat. Interpretati-le
ca pe niste retete":
2.1. Incepem cu un numar intuit g ghicit
2.2. Daca g*g este suficient de apropiat de x, atunci g este acceptat ca radacina patrata a lui x
2.3. Altfel, cream o noua presupunere prin medierea lui g si x/g, gnou=(gvechi + x/gvechi) / 2
2.4. Folosind aceasta noua presupunere, treci din nou la pasul 2)
Algoritm:
-
Calculatoare:
-
Calculatoarele:
-
Limbaje de programare:
Abacul
Roti dintate (Blaise Pascal (1623-1662, francez), Gottfried Wilhem Leibniz(1646-1716, german),
Charles Babbage (1792-1871, englez))
1801 Joseph Jacquard (Frana)
Babbage (motorul analitic, motorul diferential); Ada Lovelace
1890 S.U.A., Herman Hollerith (1860-1929)
1924 apare compania IBM (International BusinessMachine Corporation)
1940, George Stibitz construiete la Bell Laboratories o masina de calcul
1944, Howard Aiken de la Universitatea din Harvard construiete calculatorul Mark 1
John Mauchly i J. Presper Eckert, de la Universitatea din Pensylvania, n perioada 1942-1945:
ENIAC - (Electronic Numerical Integrator And Calculator) (John Atanasoff i asistentul su
Clifford Berry n perioada 1937-1941)
1946 John von Neumann
1949 M. Wilkes de la Universitatea Cambridge - EDSAC (Electronic Delay Storage Automatic
Calculator)
Limbajul Matlab:
Programe:
Ce se poate intampla cu un program:
- sa esueze: in sistemele de operare moderne (ex. Windows XP, Windows 7), esecul unui program nu
afecteaza restul sistemului (este local)
- sa nu se termine niciodata bucla infinita
- sa ruleze dar sa produca un raspuns gresit
- sa ruleze si sa produca raspunsul corect
Interpretare :cod sursa - validator interpretor - rezultat
Compilare: cod sursa - validator/compilator - cod obiect interpretor - rezultat
Nu exista limbaje numai interpretate sau numai compilate, de exemplu exista interpretoare de C si
compilatoare de Python