curs3

58
Capitolul 1. Noţiuni fundamentale utile în utilizarea şi programarea calculatoarelor

Transcript of curs3

  • Capitolul 1. Noiuni fundamentale utile n utilizarea i programarea calculatoarelor

  • 1.1 Comunicarea

  • Limbaje de programare Dup modul de abordare a rezolvrii problemelor cu calculatorul limbajele pot fi:procedurale - atunci cnd rezolvarea problemei urmeaz anumite etape i utilizeaz nite structuri fundamentale (cum sunt: Pascal, C, etc.)neprocedurale - ele se bazeaz pe reguli i sunt mai apropiate de limbajul i modul de raionare natural (cum sunt limbajele pentru inteligen artificial: Prolog, Lisp).

  • Comunicarea orientate pe obiecte (C++, Java)pentru aplicaii Web (PHP, Pearl)pentru aplicaii distribuite sau mobilepentru aplicaii de conducere a roboilor i mainilor unelte

  • Etape de baz care trebuie urmate pentru rezolvarea unei probleme pe calculatoranaliza problemei - se stabilete exact CE subprobleme trebuie s rezolve programulprogramarea - reprezentarea problemelor ntr-un mod adecvat pentru rezolvarea cu calculatorimplementarea - scrierea programului care rezolv problema ntr-un anumit limbaj de programare

  • Etape de baz care trebuie urmate pentru rezolvarea unei probleme pe calculator

    Problema care trebuie rezolvat

    Reprezentarea problemei

    Rezolvarea problemei folosind un limbaj de programare

    CE

    CUM

    Fig. 1.1. Abordarea rezolvrii unei probleme cu calculatorul

  • InformaticaO disciplin care ncearc s construiasc o baz tiinific pentru un numr mare de domeniiProiectarea i programarea calculatoarelorPrelucrarea informaiilorRezolvarea algoritmic a problemelortiina algoritmilorDomenii: matematic, inginerie, psihologie, management, lingvistic, etc.Programare principii de baz ale instrumentelor de programare utilizate n prezent, evoluie i probleme

  • AlgoritmSet de pai prin care se definete modul n care poate fi dus la ndeplinire o anumit sarcinUn set ordonat de pai executabili, descrii fr echivoc, care definesc un proces finitReprezentarea algoritmilor n calculator -> program -> software

  • Algoritmul lui EuclidA>0A=M-NR=N/MNuR=M/NR=0M=NN=Rcmmdc(M,N)=NDaDaNuStop

  • AlgoritmiCapteaz i transmit informaieRezolv o problemSunt n form conceptual - trebuie s fie reprezentate ntr-o form n care pot s fie comunicate unui calculator prin setul de instruciuni (gramatic i limbaj) limbaj de programare - paradigme de programare

  • AlgoritmiDescoperireReprezentareAnalizExecuieComunicareLimite

  • 1.2 Sisteme de numeraie utilizate n lucrul cu calculatorul

  • Sisteme de numeraie utilizate n lucrul cu calculatorul Un sistem de numeraie este constituit din ansamblul regulilor de reprezentare a numerelor folosind cifre. Cifrele sunt simbolurile utilizate pentru reprezentarea numerelor Sistemele de numeraie pot fi poziionale sau nepoziionale.

  • Sisteme de numeraie utilizate n lucrul cu calculatorul Sistemul de scriere roman este un sistem nepoziional care reprezint numerele prin compunerea cifrelor n mod repetat ncepnd cu cele mari i obinnd valoarea numrului prin nsumarea lor. Sistemele poziionale au asociat o baz care reprezint numrul total de cifre utilizate.

  • Sisteme de numeraie utilizate n lucrul cu calculatorul Spre deosebire de oameni care lucreaz n mod normal n baza 10 de numeraie, calculatorul este construit s lucreze cu numere reprezentate n baza 2. Se pare c explicaia utilizrii bazei 10 este aceea c avem 10 degete i primele calcule s-au fcut pe aceste"instrumente".

    "

  • Sisteme de numeraie utilizate n lucrul cu calculatorulInformaia elementar vehiculat n calculator este bitul (n l. engl. bit = bucic). El poate avea valoarea 0 sau 1. Aceste valori corespund fizic unor anumite nivele de tensiune, n funcie de circuitele electronice cu care este construit calculatorul."Cuvintele" pe care le nelege calculatorul sunt formate din 8 bii i se numesc octei (n engl. bytes).

  • Sisteme de numeraie utilizate n lucrul cu calculatorul1 K sau 1 Kilo octet (1 Kilo byte) = 1024 bytes (210)1 M sau 1 Mega octet (1 Mega byte) = 1024 K (220)1G sau 1 Giga octet (1 Giga byte) = 1024 M(230)Calculatoarele folosesc baza de numeraie 2 sau cele dou derivate din aceasta: octal i hexazecimal. Acestea reprezint cifrele caracteristice n grupri de triade sau tetrade (8=23, 16=24).

  • Sisteme de numeraie utilizate n lucrul cu calculatorul

  • Conversia binar - zecimal

    Un numr poate fi scris din baza 10 n binar descompunnd prin mpriri repetate la doi numrul zecimal i scriindu-l dup puterile lui 2.Exemplu: 77 = 64 + 13 = 64 + 8 + 4 + 1 = 26 + 23 +22 + 1 = 0*27+1*26+0*25+0*24+1*23+1*22+0*21+1*20 Deci, 77 se scrie n binar 0100 1101.

  • Conversia zecimal - binar -hexazecimal

    Pentru numere mari este incomod scrierea unui ir lung de cifre 1 i 0.De aceea s-a trecut la utilizarea sistemului hexazecimal n care numerele snt scrise utiliznd cifre i litere Vezi Tabelul 1. Reprezentarea numerelor, comparativ, n zecimal, binar i hexazecimal

  • Reprezentarea numerelor, comparativ, n zecimal, binar i hexazecimal

    zecimal

    binar

    hexazecimal

    1

    00000001

    01

    2

    00000010

    02

    3

    00000011

    03

    4

    00000100

    04

    5

    00000101

    05

    6

    00000110

    06

    7

    00000111

    07

    8

    00001000

    08

    9

    00001001

    09

    10

    00001010

    0A

    11

    00001011

    0B

    12

    00001100

    0C

    13

    00001101

    0D

    14

    00001110

    0E

    15

    00001111

    0F

    16

    00010000

    10

    17

    00010001

    11

    255

    11111111

    FF

  • Operaii binareOperaiile specifice cu numere reprezentate n binar sunt:SAU (OR),SI (AND), SAU EXCLUSIV (XOR) i deplasri la stnga i dreapta (shift).

  • Operaii binare

    x

    Y

    sau

    si

    sau exclusiv

    0

    0

    0

    0

    0

    0

    1

    1

    0

    1

    1

    0

    1

    0

    1

    1

    1

    1

    1

    0

  • Operaii binareO deplasare la stnga cu o poziie, ntr-un numr reprezentat n binar, este echivalent unei nmuliri cu doi. Deplasrile cu mai multe poziii la stnga sunt echivalente cu nmuliri cu 2 la puterea numrului de deplasri.Exemplu:0000 1011 este reprezentarea binar a numrului zecimal 11. Dac realizm o deplasare cu dou poziii la stnga obinem numrul binar 0010 1100, adic 44 n zecimal (11 x 22).

  • Operaii binareO deplasare la dreapta cu o poziie, ntr-un numr reprezentat n binar, este echivalent unei mpriri cu doi. Deplasrile cu mai multe poziii la dreapta sunt echivalente cu mpriri cu 2 la puterea numrului de deplasri.Exemplu:0011 1100 este reprezentarea binar a numrului zecimal 60. Dac realizm o deplasare cu dou poziii la dreapta obinem numrul binar 0000 1111, adic 15 n zecimal (60/ 22).

  • Coduri de reprezentare a datelor Avnd n vedere c utilizatorii opereaz n sistemul zecimal, iar calculatorul lucreaz n sistem binar, este necesar un sistem de conversie care s fac posibil comunicarea facil ntre utilizator i calculator. Acest lucru se realizeaz prin utilizarea codurilor numerice i alfa numerice.

  • Codurile numerice sunt codurile prin care pot fi reprezentate cele 10 cifre ale sistemului zecimal cu sau fr semnul asociat, utiliznd o tetrad binar. Acestea au fost specifice calculatoarelor care prelucrau date numerice. Dou tipuri de coduri numerice mai cunoscute sunt: DCB - cod zecimal codificat binar i codurile numerice detectoare de erori prin metoda controlului de paritate sau imparitate (n transmisia datelor).

  • Codurile alfanumerice sunt utile pentru reprezentarea caracterelor: cifre, litere, semne de punctuaie, semne speciale. Coduri alfanumerice sunt: ASCII extins, ASCII - American Standard Code for Information Interchange.Unicode folosete modele pe 16 bii pentru reprezentarea fiecrui simbol (65 536 abloane diferite)ISO pe 32 de bii (17 x 106 simboluri)

  • Codurile alfanumerice Codul ASCII extins poate reprezenta 256 caractere. Spre exemplu literele mari sunt cuprinse ntre 65 (Alt 65 pe tastatura calculatorului va determina afiarea literei A) i 90 (codul pentru litera Z). Literele mici au codurile cuprinse ntre 95 i 122. Cifrele de la 0 la 9 au codurile ntre 48 i 57. Dintre semne speciale, de exemplu, & are codul 38.

  • 1.3. Structura i funcionarea unui calculator

  • HardwareTermenul desemneaz componentele mecanice i electronice ale unui calculator (inclusiv echipamentele periferice).Structura hardware a unui calculator conine:microprocesorul dispozitiv de comand;memoria (intern i extern);echipamente periferice (PI periferice de intrare, PE periferice de ieire).

  • PERIFERICEMEMORIEUNITATELOGICA-ARITMETICAUNITATE DE CONTROLP.DE INTRAREP. DE IESIRETRANSFER DE DATECONTROLmagistrale

  • Componente de bazPori logice dispozitive care produc rezultatul unei operaii logice (and, or)Circuite basculante bistabile (flip-flop) circuite care au la ieire una din cele dou valori fizice posibile (0 sau 1). Ieirea rmne stabil pn cnd un impuls de la alt circuit are ca efect comutarea lui la cealalt valoare stocheaz un bitCip conine milioane de cbb

  • TehnologieCbb fiind electronice pot fi acionate mai rapid dect cele pe suport magnetic sau optic. De aceea sunt folosite pentru construcia componentelor interne ale calculatorului.Cele pe suport magnetic sau care folosesc laser sunt folosite pentru componente externe deoarece chiar dac sunt mai lente au avantajul c pstreaz informaia i dup oprirea sursei de curent.

  • Microprocesorul este "creierul" calculatorului.controleaz i comand toate operaiile din calculator: Extrage din memoria intern a calculatorului, rnd pe rnd instruciunile programelor, le decodific i transmite comenzi pentru executarea lor.Microprocesorul are dou componente principale: unitatea de comand (UC) iunitatea aritmetic i logic (UAL).

  • Microprocesorul Unitatea de comand controleaz funcionarea tuturor componentelor calculatorului.Unitatea aritmetic i logic realizeaz operaiile aritmetice i deciziile logice. Parametrii care caracterizeaz unitatea de comand sunt: numrul de instruciuni, lungimea unei instruciuni i viteza de execuie.

  • Microprocesorul Pentru stocarea temporar a datelor cu care lucreaz UC are registre (regitri) necesare pentru realizarea imediat a unor operaiiMemoria intern stocarea datelor necesare pe termen scurtMemoria extern stocare pe termen lung

  • Microprocesorul Instruciunile la nivelul UC i UAL (scriere, citire, operaii logice) sunt instruciuni n cod-main.Un program este o secven de astfel de instruciuni stocate n memoria internInstruciunile n cod main i sistemul de codificare constituie limbajul main care definete modul n care comunicm calculatorului algoritmii pe care va trebui s i execute.

  • Microprocesorul O instruciune cod-main are dou cmpuriCod operaie (ex. shft,or, and,etc.)Operand (valoarea unui operand sau adresa valorii)

  • Execuia unui program ciclul mainExtragere UC solicit memoriei principale s furnizeze urmtoarea instruciune care va fi executat; UC are adresa de memorie a instruciunii care va fi executat n registrul contorului programului. UC plaseaz instruciunea din memorie n registrul de instruciuni i incrementeaz registrul contorului programului pentru a pregti adresa urmtoarei instruciuni.

  • Execuia unui program ciclul mainDecodificare analiza cmpului cod- operaie i operand.Execuie realizarea aciunilor conform instruciunii decodificateReluarea ciclului.

  • Memoria intern cuprinde spaiul de memorare la care are acces procesorul, fr s includ utilizarea canalelor de intrare-ieire ale calculatorului. Programele mpreun cu datele i rezultatele prelucrrilor sunt nregistrate n memoria intern sub form de iruri de cifre binare. Parametrii memoriei interne sunt: capacitatea memoriei i timpul de acces.

  • Memoria intern Conine cuvinte organizate n octei, fiecare avnd asociat o adres prin care locul su este determinat n mod unic x x x x x x x xBitul cel mai semnificativBitul cel mai puin semnificativ

  • Tipuri de memorie internRandom Access Memory (RAM)n aceast memorie se ncarc temporar programele i datele curente care se prelucreaz pe calculator.Ea poate fi scris sau citit. Coninutul su este volatil.(Se poate pierde n urma deconectrii calculatorului de la reea).

  • Tipuri de memorie internRandom Access Memory (RAM)Majoritatea adaptoarelor de tip VGA sau SVGA au ncorporat o memorie RAM suplimentar necesar manipulrii informaiei afiate curent pe ecran i creterii vitezei de remprosptare a ecranului.

  • Tipuri de memorie internRandom Access Memory (RAM)Modulele SIMM sunt plci cu circuite imprimate avnd lipite pe ele cipuri de memorie. Pe un SIMM poate fi montat un numr variabil de cipuri, pe o singur fa a plcii sau pe amndou. Pe una din laturile sale, modulul SIMM are un rnd de contacte cositorite sau aurite. Modulele SIMM sunt montate n socluri speciale, prevzute cu mecanisme de blocare care fixeaz modulul n soclu.

  • Tipuri de memorie internRandom Access Memory (RAM)Sunt disponibile dou tipuri de module SIMM: cu 30 de pini i cu 72 de pini. Memoriile cele mai rspndite sunt EDO si SDRAM. SDRAM sunt mai rapide si au o capacitate mai mare de stocare.

  • Evoluia capacitii memoriei

  • Memorii i plci de baz

  • Memorii i plci de baz

  • 16 Mb EDO

  • 4Mb EDO

  • 32 Mb EDO

  • 64 Mb SDRAM

  • 32 Mb SDRAM

  • Tipuri de memorie internRead Only Memory (ROM) - programele i datele din acest tip de memorie sunt scrise de productor prin tehnici speciale i nu pot fi modificate de utilizator. Ea poate fi doar citit. O parte din acest tip de memorie se declaneaz la pornirea calculatorului i gestioneaz iniializarea i ncrcarea sistemului de operare. La calculatoarele IBM-PC aceste memorii ROM conin programele prin care se realizeaz comunicarea cu perifericele: BASIC INPUT OUPUT SYSTEM, BIOS.

  • Tipuri de memorie internCMOS este o memorie de tip RAM. Spre deosebire de memoria RAM ea are avantajul unui consum mai mic i ca urmare la deconectarea calculatorului ea rmne alimentat printr-un acumulator din calculator i pstreaz informaia nregistrat n ea. Conine informaii pentru BIOS i partea care se modific.

  • Tipuri de memorie internCACHE este o memorie special ataat microprocesorului care contribuie la mrirea vitezei calculatorului prin dou proprieti: are timp de acces mic (similar registrelor microprocesorului) i evit o serie de operaii intermediare care apar n cadrul memoriei RAM n ceea ce privete accesul la microprocesor.