Sunteți pe pagina 1din 12

Programarea calculatoarelor - Curs 1

Conţinut

 Cu cine
Programarea calculatoarelor  Notare
 Cunoştinţe şi abilităţi dobândite
 Bibliografie
 Scurt istoric
Curs 1 - Introducere  Ştiinţa calculatoarelor
 Exemplu
 Limbaje de programare
 Componente hardware ale calculatorului
Ş.l. dr. Iulia Costin – Departamentul Calculatoare, U.T.C.N.

30.09.2015 1 30.09.2015 Ş.l.dr. Iulia Costin, U.T.C.N. 2

Programarea calculatoarelor - Curs 1 Programarea calculatoarelor - Curs 1

Cu cine Notare
 Iulia Costin: curs + laborator (206)  Colocviu de laborator (L)
◦ Iulia.Costin@cs.utcluj.ro  Examen final (E)

 Adrian Ivanov: laborator (203)  Nota finală: N = 0.3L + 0.7E


◦ Adrian.Ivanov@cs.utcluj.ro ◦ Cerinţă: L, E ≥ 5
◦ În activităţile aferente disciplinei intră obligatoriu şi
studiul individual!
 Robert Varga: laborator (206) ◦ minim 84 ore = 6 ore/săptămână studiu individual
• robert@mail.utcluj.ro
 Disciplina – 5 credite

30.09.2015 Ş.l.dr. Iulia Costin, U.T.C.N. 3 30.09.2015 Ş.l.dr. Iulia Costin, U.T.C.N. 4
Programarea calculatoarelor - Curs 1 Programarea calculatoarelor - Curs 1

Cunoştinţe şi abilităţi dobândite Bibliografie


 Cunoştinţe teoretice:  Slide-uri de curs
◦ Câteva concepte de bază de proiectare a  Cel puţin o carte despre limbajul C
algoritmilor şi de scriere a programelor ◦ I. Ignat, C.L. Ignat, „Programarea calculatoarelor –
◦ Limbajul C Descrierea algoritmilor și fundamentele limbajului
◦ Câţiva algoritmi C/C++”, Ed. Albastră, Cluj-Napoca, 2005
 Abilităţi: ◦ Liviu Negrescu, “Limbajele C şi C++ pentru
◦ Proiectare de algoritmi şi implementare în C începători”, Vol. I partea I şi a II-a, Editura Albastră,
Cluj-Napoca
◦ Utilizarea unui stil de programare conform
conceptelor învăţate  Îndrumător de laborator:
◦ Iosif Ignat, „Programarea calculatoarelor.
Îndrumător de laborator”, UT Press, 2001, on-line:
http://users.utcluj.ro/~somodi/lab/files/indr_lab_PC.zip
 Alte resurse utile:
– http://users.utcluj.ro/~jim/CP -> Links
30.09.2015 Ş.l.dr. Iulia Costin, U.T.C.N. 5 30.09.2015 Ş.l.dr. Iulia Costin, U.T.C.N. 6

Programarea calculatoarelor - Curs 1 Programarea calculatoarelor - Curs 1

Scurt istoric Scurt istoric


 În sec. XIX, Charles Babbage – proiectează:
– primul calculator mecanic programabil - “the difference engine”
 acționat de motor cu aburi, programat manual
 putea calcula diferenţe divizate → permit calcul rapid de valori de polinoame
→ polinoamele aproximează funcţii trigonometrice, logaritmice etc.
 nu l-a şi construit, dar s-a dovedit (în 1991) perfect funcţional
– o imprimantă pentru acest calculator de diferenţe
– nu a construit-o
– maşină analitică (“analytical engine”) (1834-1871), care putea fi
programată cu ajutorul unor cartele perforate (apropiat de
calculatoarele de astăzi)
– putea utiliza ca intrare rezultatul calculului anterior -> cicluri
– avea memorie si o unitate aritmetico-logică
– primul proiect de calculator de scop general
– nu a construit-o
 Tot în acea perioadă, Ada Byron a scris programe pentru
maşina analitică a lui Babbage The Difference Engine, construită în 1991 după planurile lui
– s-a dovedit că ar fi funcţionat dacă motorul analitic ar fi fost construit
Babbage, aflată la Muzeul Științei din Londra (15 tone, 2,4m
înălțime, calcule cu 31 cifre)
– “prima programatoare”
30.09.2015 Ş.l.dr. Iulia Costin, U.T.C.N. 7 30.09.2015 Ş.l.dr. Iulia Costin, U.T.C.N. 8
Programarea calculatoarelor - Curs 1 Programarea calculatoarelor - Curs 1

Scurt istoric Scurt istoric


O parte din mașina analitică, Model de cartelă perforată,
construită în 1910 de Henry utilizată la primele calculatoare
Babbage după planurile tatălui
său, aflată la Muzeul Științei
din Londra

30.09.2015 Ş.l.dr. Iulia Costin, U.T.C.N. 9 30.09.2015 Ş.l.dr. Iulia Costin, U.T.C.N. 10

Programarea calculatoarelor - Curs 1 Programarea calculatoarelor - Curs 1

Scurt istoric Scurt istoric


 Munca lui Babbage n-a fost cunoscută când s-au
construit primele calculatoare, în anii '50-'60
 1945 – ENIAC – calculator electromagnetic (Electronic
Numerical Integrator And Computer)
– primul calculator electronic de scop general
– funcționa cu tuburi electronice cu vid (aprox. 18000)
– era necesar personal care să lege mii de fire pentru a seta sau
schimba programul pe care să-l execute (dura câteva zile)
– era foarte mare (aprox. 30 tone) și foarte scump
– necesita un spațiu foarte mare (aprox. 140 m2), aer condiționat
– datele de intrare şi de ieşire – pe cartele perforate
– 500 adunări/s, 300 înmulţiri/s – permitea efectuarea de calcule
mult mai rapid decât cu un calculator de buzunar (30s în loc de
12h)
 Atât mașinile proiectate de Babbage, cât și ENIAC
funcționau cu numere zecimale (în baza 10)
ENIAC
30.09.2015 Ş.l.dr. Iulia Costin, U.T.C.N. 11 30.09.2015 Ş.l.dr. Iulia Costin, U.T.C.N. 12
Programarea calculatoarelor - Curs 1 Programarea calculatoarelor - Curs 1

Scurt istoric Scurt istoric


 1947 – a apărut tranzistorul (în laboratoarele Bell AT&T)  1945 – John von Neumann
– Un dispozitiv bazat pe materiale semiconductoare, care putea – a descris structura unui calculator în care datele şi programele să
amplifica un semnal și-l putea porni sau opri fie stocate în memorie, execuţia să poată fi repetată fără a
– scopul pentru care a fost creat – să înlocuiască tuburile reintroduce programul
electronice cu vid, care consumau mult prea multă energie, – a descris noţiunile de subrutină (subprogram) şi de biblioteci de
generau multă căldură și se ardeau frecvent subrutine (subprograme)
– genera foarte puțină căldură, era mic și stabil  1951 – EDVAC (Electronic Discrete Variable Automatic
– aceste caracteristici au condus în Computer)
cele din urmă la o miniaturizare
– succesor al lui ENIAC, a fost proiectat încă dinainte de a fi
impresionantă a circuitelor
funcțional ENIAC
complexe, conducând în final
la echipamentele electronice – numere binare, nu zecimale
din prezent – programul era memorat
– creatorii tranzistorului – John – construit pe principiile lui von Neumann
Bardeen, William Shockley,
Walter Brattain – au luat premiul
Nobel pentru fizică în 1956.
 Tranzistorul din 1947 (primul):

30.09.2015 Ş.l.dr. Iulia Costin, U.T.C.N. 13 30.09.2015 Ş.l.dr. Iulia Costin, U.T.C.N. 14

Programarea calculatoarelor - Curs 1 Programarea calculatoarelor - Curs 1

Scurt istoric Scurt istoric


 1965 – CDC 6600 (Control Data Corporation) –
supercomputer construit de Seymour Cray
 bazat pe tranzistori cu siliciu
 mult mai rapid, mai fiabil și mai eficient decât ENIAC, dar tot
foarte scump (între 7 și 10 mil. dolari)
 La sfârșitul anilor '60 – a apărut primul circuit integrat,
care a fost primul pas în a introduce calculatoarele în
folosință mai largă
 într-un circuit integrat intrau mai mulți tranzistori, cablaje și alte
componente, pe un singur bloc de siliciu care încăpea pe vârful
unui deget
 cost foarte redus (a scăzut de la 50$ în 1962 la 2.33$ în 1968,
deși numărul de tranzistori per cip a crescut substanțial)
 în 1971 – aprox. 2300 tranzistori/cip

 în 2011 – aprox. 2,6x109 tranzistori/cip

 utilizând astfel de circuite, Eniac putea intra (în 1993) pe un cip


de 8 mm2
30.09.2015 Ş.l.dr. Iulia Costin, U.T.C.N. 15 30.09.2015 Ş.l.dr. Iulia Costin, U.T.C.N. 16
Programarea calculatoarelor - Curs 1 Programarea calculatoarelor - Curs 1

Scurt istoric Ştiinţa calculatoarelor


 Calculatoarele, așa cum le știm astăzi, n-ar fi  Computer science - se referă la rezolvarea de
nimic dacă n-ar fi existat programatorii și probleme prin divizarea lor în părţi mai mici şi
inginerii software care au creat limbajele de apoi descrierea secvenţelor de paşi care pot fi
programare, sistemele de operare și urmaţi pentru rezolvarea fiecărei părţi.
aplicațiile care le fac atât de utile  acei paşi trebuie să poată fi efectuaţi de un calculator.
 Limbajele de programare de nivel înalt de la
începuturi (Fortran, COBOL și BASIC) au pus
bazele programării mai rapide și mult mai
puțin obositoare decât codificarea în limbajul
mașinii, formată doar din 0 și 1

30.09.2015 Ş.l.dr. Iulia Costin, U.T.C.N. 17 30.09.2015 Ş.l.dr. Iulia Costin, U.T.C.N. 18

Programarea calculatoarelor - Curs 1 Programarea calculatoarelor - Curs 1

Ştiinţa calculatoarelor Exemplu: un personaj “animat”


 Un calculator nu poate face nimic fără un program care
să-i spună ce să facă.
 Un calculator de scop general ("general-purpose
computer") poate să facă orice ne-am imagina, dacă
reuşim să scriem un program pentru asta.
zid
 programul trebuie să fie o secvenţă de paşi foarte precişi, care pot fi
efectuaţi mecanic (fără a gândi)
 Calculatorul nu ştie să facă nimic de unul singur.
 procesorul calculatorului cunoaşte doar un set de instrucţiuni personaj spațiu
simple (instrucţiuni-maşină) pe care le ştie executa. liber
 pentru a-l determina să facă ceva, trebuie să "punem la un loc"
acele instrucţiuni simple într-un program care să facă exact ceea ce
dorim, transformând calculatorul într-un browser web, server,
maşină de jocuri etc.
 puterea calculatorului stă în aceea că poate executa instrucţiunile piatră
respective foarte rapid (miliarde de instrucţiuni-maşină/secundă).

30.09.2015 Ş.l.dr. Iulia Costin, U.T.C.N. 19 30.09.2015 Ş.l.dr. Iulia Costin, U.T.C.N. 20
Programarea calculatoarelor - Curs 1 Programarea calculatoarelor - Curs 1

Exemplu: un personaj “animat” Exemplu: un personaj “animat”

 Se află într-o lume bidimensională  Cerinţă: pornind din configuraţia iniţială, să ia


◦ mărginită prin ziduri piatra, s-o ducă pe poziţia precizată şi să
◦ de o dimensiune oarecare ajungă în poziţia finală cu orientarea
◦ în interior pot exista alte ziduri precizată
◦ pot fi zero sau mai multe pietre în acea lume ◦ Care sunt comenzile?
 Ştie să execute comenzi
◦ misca – se mişcă înainte un pas
◦ intoarceStanga – se întoarce cu 90º spre stânga
◦ punePiatra – aşază o piatră pe poziţia pe care se află
◦ iaPiatra – ia piatra de pe poziţia pe care se află

30.09.2015 Ş.l.dr. Iulia Costin, U.T.C.N. 21 30.09.2015 Ş.l.dr. Iulia Costin, U.T.C.N. 22

Programarea calculatoarelor - Curs 1 Programarea calculatoarelor - Curs 1

Exemplu: un personaj “animat” Limbaje de programare


 Calculatorul
 NU rezultă un program pe care să-l pornim şi – viteză foarte mare de calcul, comparativ cu creierul
să funcţioneze uman
– nu gândeşte singur → trebuie să i se spună foarte
 Rezultă un algoritm = o succesiune de paşi, o
exact ce să facă, în cel mai mic detaliu
reţetă pentru a face ceva
– pentru a-i putea spune ce să facă → într-o limbă
 Un program – trebuie să fie valid din punct de pe care o cunoaşte procesorul (“creierul”) → e cel
vedere sintactic, conform regulilor limbajului care execută operaţiile
◦ cum arată programul pentru comenzile anterioare?  Procesorul
– ştie efectua câteva operaţii simple, exprimate într-
un cod înţeles de el → cod-maşină

30.09.2015 Ş.l.dr. Iulia Costin, U.T.C.N. 23 30.09.2015 Ş.l.dr. Iulia Costin, U.T.C.N. 24
Programarea calculatoarelor - Curs 1 Programarea calculatoarelor - Curs 1

Limbaje de programare Limbaje de programare


 La început programarea calculatoarelor se făcea  Un pas înainte – limbaj de asamblare
chiar în cod-maşină  mai uşor de reţinut
• Iniţial – exista un set de comutatoare on-off (on – 1, off – 0)  corespondenţă unu-la-unu cu instrucţiunile maşină
cu care se introducea programul ⇒ de asemenea specific tipului de calculator
• operaţia de introducere a programului – f. lentă  tot pentru specialişti
• dacă se greşea chiar un singur bit → trebuia reluată  nu e înțeles direct de calculator
introducerea
 e nevoie de un program specializat – asamblor
• ulterior – alte metode de introducere (cartele perforate,
consolă); programul era stocat în memorie  traduce din asamblare în cod maşină
• în orice caz, programele în cod-mașină se puteau scrie doar
de persoane foarte specializate, care ştiau foarte exact cum
funcţionează calculatorul
• fiecare tip de calculator → limbaj propriu
◦ ⇒pentru a efectua aceleaşi operaţii, pe alt calculator
trebuia alt program
30.09.2015 Ş.l.dr. Iulia Costin, U.T.C.N. 25 30.09.2015 Ş.l.dr. Iulia Costin, U.T.C.N. 26

Programarea calculatoarelor - Curs 1 Programarea calculatoarelor - Curs 1

Limbaje de programare Limbaje de programare


 Un mare salt înainte → limbaje de programare de nivel  De ce a trebuit concepute limbaje noi pe care să le
înalt învăţăm (C, Java, Python etc.), ca să programăm un
◦ utilizează notaţii asemănătoare limbajului matematic sau calculator? De ce nu putem folosi un limbaj natural, de
limbajului natural ex. engleză, română etc.?
◦ Ex. a = b + c;  cel mai important motiv - limbajele naturale sunt ambigue
◦ Ex. if (i > 0) printf(“i este pozitiv.”);  o aceeaşi frază poate fi interpretată în diverse moduri.
◦ nu necesită cunoştinţe extrem de detaliate privind funcţionarea  pentru a programa un calculator
calculatorului şi a procesorului care va executa programul  e important să se ştie exact semnificaţia programului scris

◦ FORTRAN, Algol, COBOL, ADA, Pascal, C, C++, Java, Python,  calculatorul să poată executa programul în modul în care

Lisp, Prolog etc. am dorit.


◦ sunt mult mai independente de calculator ⇒ pe un alt  Limbajele de programare au o structură gramaticală
calculator – nu e neapărat nevoie de alt limbaj sau alt foarte strictă.
program  în limbaj natural, chiar dacă o frază e scrisă sau spusă
◦ nu sunt înţelese de calculator ⇒ e nevoie de alte programe incorect, ea poate fi înţeleasă din context sau folosind alte
(compilator+linkeditor / interpretor) indicii.
◦ transformă cod sursă (= cod în limbaj de nivel înalt) în  într-un limbaj de programare, codul (programul) trebuie să
cod executabil (= cod maşină) respecte în totalitate gramatica limbajului.
30.09.2015 Ş.l.dr. Iulia Costin, U.T.C.N. 27 30.09.2015 Ş.l.dr. Iulia Costin, U.T.C.N. 28
Programarea calculatoarelor - Curs 1 Programarea calculatoarelor - Curs 1

Limbaje de programare Exemplu - continuare


 Cel care vrea să scrie programe trebuie să cunoască un limbaj  Repetarea unei operaţii de un
(preferabil de nivel înalt) număr de ori
 Nu e suficient o întoarcere la dreapta = de 3 ori
◦ aşa cum nu e suficient să cunoşti o limbă ca să poţi compune întoarcere la stânga
poezii frumoase sau să scrii cărţi bune
◦ trebuie cunoscute diferite reguli de a utiliza acea limbă pentru a  Ciclu for cu repetare de n
produce texte de valoare literară ori:
 Similar, cunoaşterea tuturor regulilor de sintaxă şi semantică for (i=0; i<n; i++)
ale unui limbaj de programare nu e suficientă pentru a scrie instructiune;
programe bune
◦ sunt necesare cunoştinţe suplimentare:
 structuri de date  întoarcere la dreapta:
 studiul şi proiectarea algoritmilor for (i=0; i<3; i++)
 metode şi tehnici de programare (programare modulară, obiectuală, intoarceStanga();
funcțională, logică etc.)
 modele de design (design patterns)
 etape de dezvoltare a unei aplicaţii etc.
30.09.2015 Ş.l.dr. Iulia Costin, U.T.C.N. 29 30.09.2015 Ş.l.dr. Iulia Costin, U.T.C.N. 30

Programarea calculatoarelor - Curs 1 Programarea calculatoarelor - Curs 1

Exemplu - continuare Exemplu - continuare


 Repetarea fără a şti de la început de câte ori:  Efectuarea unei acţiuni (o singură dată), dar
while (conditie) numai dacă este îndeplinită o anumită
instructiune; condiţie:
 Mişcă-te înainte cât poţi: if (conditie)
while (fataELibera()) instructiune;
misca();  Dacă există piatră atunci ia-o:
if (ePiatra())
iaPiatra();

30.09.2015 Ş.l.dr. Iulia Costin, U.T.C.N. 31 30.09.2015 Ş.l.dr. Iulia Costin, U.T.C.N. 32
Programarea calculatoarelor - Curs 1 Programarea calculatoarelor - Curs 1

Principiu important Sistem de calcul


 Un sistem de calcul e format din două părţi:
◦ “Programming is not just about writing a ◦ fizică (hardware) – componentele mecanice şi
program that the computer understands. electronice
informaţională (software) – ansamblu de programe
Programming is also about writing ◦
şi datele cu care operează acestea
programs that people understand. This is
 Ambele părţi sunt necesare
what programming style is all about.”
 Un sistem de calcul primește un set de date
de intrare, le prelucrează și produce un set de
date de ieșire.

30.09.2015 Ş.l.dr. Iulia Costin, U.T.C.N. 33 30.09.2015 Ş.l.dr. Iulia Costin, U.T.C.N. 34

Programarea calculatoarelor - Curs 1 Programarea calculatoarelor - Curs 1

Hardware Componentele hardware


 Componentele hardware de bază:
◦ microprocesor (unitatea centrală de procesare, CPU) -  Conform modelului von Newmann
realizează manipularea şi controlul informaţiei în interiorul
sistemului de calcul
◦ memorie internă (RAM) - permite memorarea temporară a
informaţiei (doar pe timpul funcţionării calculatorului)
◦ memorie externă (hard-disc, CD, flash memory etc.), care
permite memorarea permanentă a informaţiilor şi ştergerea
lor la cerere
◦ dispozitive periferice - permit interacţiunea dintre
calculator şi mediul extern (utilizator):
 de intrare: tastatură, mouse, joystick, scanner, microfon, touch-
screen, senzori etc. → transfer de informaţie de la utilizator/
mediul extern în sistemul de calcul
 de ieşire: monitor, imprimantă, plotter etc. → transfer de
informaţie din sistem către utilizator/mediul extern

30.09.2015 Ş.l.dr. Iulia Costin, U.T.C.N. 35 30.09.2015 Ş.l.dr. Iulia Costin, U.T.C.N. 36
Programarea calculatoarelor - Curs 1 Programarea calculatoarelor - Curs 1

Interacţiunea între Interacţiunea între


componentele hardware componentele hardware
Micro- Dispozitivele de Micro-
procesor memorie secundară procesor
Informaţiile sunt
(externă) mutate,
Execută comenzile permit memorarea
programului la nevoie, între
informaţiilor memoria
(ex. Intel (i5, i7, pe termen lung
Pentium), Sun principală şi cea
Zona principală UltraSPARC T2 etc.) Hard-disc secundară
de memorare a Memory stick
programelor care CD
sunt executate şi a DVD
datelor acestora Hard Disc
etc.
(RAM) Memoria Memoria
principală principală
CD etc.

30.09.2015 Ş.l.dr. Iulia Costin, U.T.C.N. 37 30.09.2015 Ş.l.dr. Iulia Costin, U.T.C.N. 38

Programarea calculatoarelor - Curs 1 Programarea calculatoarelor - Curs 1

Interacţiunea între Hardware - procesorul


componentele hardware
Monitor
 Unitatea centrală de procesare (Central
Micro-
procesor
Echipamentele de Processing Unit, CPU)
intrare/ieşire (I/O)
Tastatură permit  Rolul CPU:
interacţiunea Citeşte o instrucţiune din memoria principală
cu utilizatorul
Monitor preia
Tastatură
Mouse
Joystick
execută decodifică
Scanner Hard Disc
etc. Memoria
principală
Execută Examinează
instrucţiunea instrucţiunea
CD etc.

30.09.2015 Ş.l.dr. Iulia Costin, U.T.C.N. 39 30.09.2015 Ş.l.dr. Iulia Costin, U.T.C.N. 40
Programarea calculatoarelor - Curs 1 Programarea calculatoarelor - Curs 1

Hardware - procesorul Hardware - procesorul

 CPU conţine:  Este caracterizat în principal de:


◦ viteză (proporțională cu frecvența de tact)
Efectuează calcule  controlată de ceasul sistem
Unitatea Aritmetico - şi ia decizii
Logică  se măsoară de regulă în GHz
◦ setul de instrucţiuni pe care le cunoaşte şi le poate executa
 sunt specifice procesorului
Unitatea de Coordonează paşii  instrucţiuni-maşină
Control de prelucrare

Zone de memorie
Regiştri mici, scumpe, cu
viteză de acces
foarte mare

30.09.2015 Ş.l.dr. Iulia Costin, U.T.C.N. 41 30.09.2015 Ş.l.dr. Iulia Costin, U.T.C.N. 42

Programarea calculatoarelor - Curs 1 Programarea calculatoarelor - Curs 1

Memorarea informaţiei în calculator Memorarea informaţiei în calculator


 Toate informaţiile din calculator: numere, text, imagini, audio,  După codificarea informaţiei → e stocată în memorie
instrucţiuni etc., sunt memorate la fel, adică sub formă
◦ sistemul de numeraţie binar (baza 2)
numerică.
 Calculatorul ”înțelege” doar 0 și 1  Sistemul zecimal – 10 cifre zecimale (0 ÷ 9)
 O aceeași secvență de 0 și 1 poate fi interpretată diferit în ◦ ex. 324710=3x103+2x102+4x101+7x100
funcție de context  Sistemul binar – 2 cifre binare (0 şi 1)
◦ e nevoie de o codificare (conversie) ◦ ex. 11012=1x23+1x22+0x21+1x20 ( =1310)
◦ textele sunt memorate prin codul caracterelor conţinute:  Sistemul hexazecimal – 16 cifre hexa (0÷9, A÷F)
 ASCII (litere, cifre, semne de punctuaţie, caractere speciale, ◦ ex. 7A316=7x162+10x161+3x160 ( =195510=111101000112)
spaţiu, simboluri grafice etc.) – 256 caractere
 UNICODE (care permite şi codificarea caracterelor altor limbi) –  O cifră binară = bit (binary digit) (b)
65536 caractere  Valorile binare sunt reprezentate fizic prin diverse
 în aceste sisteme de codificare: mijloace:
sunt consecutive codurile:
circuite având 2 stări (deschis (0) -închis (1))


 pentru cifre (‘0’, ‘1’, …, ‘9’)
 cele pentru literele mari (‘A’ … ‘Z’) ◦ tensiuni de valori diferite (0V-0.4V (0), 2.V-5V (1), sau 0V-
 cele pentru literele mici (‘a’ … ‘z’) 1.5V (0), 3.5V-5V (1))
 codurile literelor mari au valori mai mici decât cele ale literelor mici
30.09.2015 Ş.l.dr. Iulia Costin, U.T.C.N. 43 30.09.2015 Ş.l.dr. Iulia Costin, U.T.C.N. 44
Programarea calculatoarelor - Curs 1 Programarea calculatoarelor - Curs 1

Memorarea informaţiei în calculator Structura memoriei


 Valorile cu mai mult de 2 stări necesită mai mulţi biţi
◦ o colecţie de doi biţi are patru stări posibile:
00, 01, 10, 11
9278
◦ o colecţie de trei biţi are opt stări posibile: 9279 Memoria este împărţită
în locaţii de memorie
000, 001, 010, 011, 100, 101, 110, 111 9280 (celule)
◦ o colecţie de n biţi are 2 n stări posibile 9281
9282
 Sunt 256=28 coduri ASCII => 8 biţi=1 octet (byte) (B)
9283 Fiecare celulă are o
 Sunt 65536=216 coduri UNICODE => 16 biţi = 2B adresă numerică, ce o
 Multipli: 9284 identifică în mod unic
◦ 1kB=1024 B = 210 octeţi (kilo) 9285
◦ 1MB=1024 kB = 220 octeţi (mega) 9286
◦ 1GB=1024 MB = 230 octeţi (giga)
◦ 1TB=1024 GB = 240 octeţi (tera)
30.09.2015 Ş.l.dr. Iulia Costin, U.T.C.N. 45 30.09.2015 Ş.l.dr. Iulia Costin, U.T.C.N. 46

Programarea calculatoarelor - Curs 1 Programarea calculatoarelor - Curs 1

Structura memoriei Memoria


 Capacitatea memoriei = nr. de octeţi conţinuţi
◦ se exprimă în MB sau GB
 Memoria principală (internă, RAM):
9278 Fiecare celulă memorează ◦ volatilă - informaţia memorată se pierde la închiderea
9279 un număr de biţi (de regulă calculatorului (întreruperea curentului)
9280 8 biţi (1 octet)) ◦ cu acces direct (aleator) - în orice moment se poate accesa
orice locaţie de memorie (nu trebuie accesate într-o
9281 anumită ordine)

}
9282 Valorile mai mari sunt ◦ viteza de acces - mare
memorate în celule consecutive
9283 (la adresă multiplu de nr. de  Memoria secundară (externă):
9284 celule) ◦ permanentă - informaţia memorată nu se pierde la
închiderea calculatorului (întreruperea curentului)
9285 ◦ cu acces direct (disc magnetic, memory stick, CD etc.) sau
9286 secvențial (benzi magnetice)
◦ viteza de acces - mai mică

30.09.2015 Ş.l.dr. Iulia Costin, U.T.C.N. 47 30.09.2015 Ş.l.dr. Iulia Costin, U.T.C.N. 48

S-ar putea să vă placă și