Sunteți pe pagina 1din 17

Utilizarea i programarea calculatoarelor I Introducere n ingineria calculatoarelor i programrii

anul I semestrul I

Cursul 2

SISTEME DE CALCUL

Prof.dr.ing. Bucur LUTREA Facultatea de Electrotehnic i Electroenergetic Timioara

Calculator numeric i sistem de calcul


Calculator numeric (CN): echipament electronic funcionnd pe baza de impulsuri electrice destinat prelucrrii rapide, automate i exacte (precise) a informaiilor proiectat i construit pentru a primi, memora i prelucra date Prelucrarea datelor = producerea rezultatelor n conformitate cu un programul de lucru Programul de lucru = set de instruciuni specifice care se afl n memoria calculatorului. Sistemul de calcul (SC): ansamblu de
resurse fizice (echipamente hardware) resurse logice (programe de calcul software) sistemul de operare (software de baz) programul aplicativ (software aplicativ)

pentru prelucrarea rapid, automat i precis a informaiilor n conformitate cu un algoritm specificat de utilizator

Algoritm
Algoritmul este o: colecie de reguli de calcul (reet de calcul) secven de instruciuni elementare, simple, bine definite pentru obinerea rezultatelor din datele iniiale Se refer la efectuarea unor operaii cu caracter aritmetic, logic sau mixt asupra datelor de intrare n scopul de a produce rezultate = datele de ieire
Abu Abdullah Muhammad ibn Musa al Khwarizmi Bagdad n sec. IX e.n.

La baza conceperii algoritmelor stau: teoremele matematice demonstrate consideraiile euristice

Algoritm definiie, alctuire


cu ajutorul limbajelor: natural formalizate pseudocod prin diagrame (scheme) logice ordinograme instruciunile de pornire de oprire introducere date de calcul (atribuire) de decizie cicluri (secvene repetitive) salvare rezultate (tiprire) blocurile de calcul rutine (proceduri, funcii) subrutine corutine

Algoritmul poate fi descris:

Elementele componente:

Noiuni de baz referitoare la algoritme


Proprietile necesare oricrui algoritm:
caracterul global rezolvarea unei clase de probleme. caracterul discret algoritmul este un proces de calcul pas cu pas, caracterul elementar al pailor de calcul: indicaiile oferite pentru obinerea rezultatelor trebuie s fie precise, elementare, simple, uor de realizat caracterul finit (direcionat): rezultatul stabilit ntr-un numr finit de pai. Efortul de calcul exprim eficiena algoritmului implic optimizarea programului de calcul complexitatea algoritmului caracterul determinist necesitatea generatoarelor de numere (pseudo)aleatoare

Clasificarea algoritmelor:
algoritme numerice: exemplu clasic este algoritmul lui Euclid algoritme logice: pentru exemplue clasice este cutarea a drumului printrun labirint algoritme mixte:

Exemplu de algoritm
Gsirea valorii maxime a unui ir de numere. Limbaj natural
Iniial se consider valoarea maxim (minim) egal cu primul numr din ir. Se parcurge irul de numere ncepnd cu al doilea numr. Dac numrul curent din ir este mai mare (mai mic) ca i valoarea maxim (minim), atunci valoarea maxim (minim) devine egal cu numrul curent. Dup ce i ultimul numr din ir a fost parcurs, valoarea maxim (minim) conine numrul cel mai mare (mic) din irul de numere considerat.

Ordinogram

Pseudocod
Algoritm Valoare_Maxima Intrare: L irul de numere care nu este vid. Ieire: ValMax valoarea celui mai mare numr din lista L de dimensiune n ValMax primete valoarea L1 pentru fiecare Li ncpnd cu i=2 pn la i=n f dac Li > ValMax, atunci ValMax primete valoarea Li stop 1 este indicele primului element al listei L i este indicele numrului curent din list

Maina Turing
Alan Mathison Turing (1912 1954) testul Turing

Unitatea de prelucrare a datelor (UPD)


Rol: blocul logic (BL) prelucreaz informaia conform schemei funcionale a mainii; memoria M1 pstreaz starea mainii pentru urmtorul pas de calcul memoria M2 pstreaz comanda de deplasare a benzii pentru urmtorul pas Mulimea strilor

S = {s1 , s2 ,, sk ,, sn }
sk ( )

Starea mainii la un pas de calcul

Schema funcional a mainii Turing (MT).

Memoriile UPD

au rolul de a stoca informaiile necesare desfurrii unui pas de calcul: memoria M1 pstreaz starea mainii pentru pasul urmtor de calcul memoria M2 pstreaz comanda rolei de acionare a benzii magnetice pentru pasul urmtor de calcul

Banda magnetic acionat de rol i capul de citire-scriere


stocheaz datele iniiale i rezultatele are lungime infinit mprit n celule o celul conine un singur simbol ai mulimea simbolurilor formeaz alfabetul extern

A = {a1 , a2 ,, ai ,, am }

antrenat de o rol motoare care o poate deplasa spre stnga sau spre dreapta comenzile rolei formeaz mulimea comenzilor C = {S , D, N } alfabetul intern al MT este S C capul de citire-scriere transfer informaia ntre o celul a benzii magnetice aflat n dreptul lui i UPD

Ceasul de timp (orologiul)


genereaz o secven de impulsuri cu frecvena f i perioada

T =1 f
un pas de calcul se desfoar pe durata dintre 2 impulsuri = perioada secvenei de impulsuri funcionarea automat a MT pornete la apariia secvenei de impulsuri fiind marcat de conectarea comutatorului K oprirea MT este marcat de deconectarea comutatorului K fiind reprezentat n program de simbolul ! (echivalent cu comanda STOP)

Funcionarea mainii
iniializarea MT:
scrierea simbolurilor de prelucrat pe banda magnetic stocarea informaiilor iniiale n memoriile M1 i M2

pornirea mainii prin conectarea lui K funcionarea propriu-zis a mainii este format din secvena pailor de calcul care stabilesc n final rezultatul dorit, nscris pe banda mainii oprirea automat a mainii la ncheierea calculelor

Pasul de calcul
rola deplaseaz banda magnetic n dreptul capului de citire-scriere n conformitate cu comanda memorat n M2 simbolul existent n celula aflat n dreptul capului de citire / scriere este transferat blocului logic n conformitate cu starea mainii memorat n M1 i cu simbolul deja transferat blocului logic, din tabelul reprezentnd schema funcional a MT se stabilesc urmtoarele elemente ce permit executarea operaiei corespunztoare: rezultatul prelucrrii care se nscrie pe band n celula din dreptul capului de citire-scriere comanda de deplasare a rolei (benzii magnetice) se memoreaz n M2 starea mainii la momentul urmtor este memorat n M1

Probleme ale mainii Turing


1) Problema de exploatare a mainii: presupune cunoaterea:
datelor mainii specifice pentru un algoritm dat:

alfabetul intern alfabetul extern tabelul schemei funcionale


valorile iniiale ale memoriilor M1 i M2 datele nscrise pe banda magnetic

se cere stabilirea rezultatelor finale obinute de main dup terminarea calculelor. 2) Problema de proiectare: folosete ca dat iniial descrierea algoritmului clasei de probleme ce trebuie rezolvate cere gsirea tabelului schemei funcionale capabile s rezolve probleme din clasa de probleme luat n considerare. Este necesar:
definirea simbolurilor utilizate de main, stabilirea mulimii strilor mainii (foarte dificil) construirea tabelului schemei funcionale

Exemplu de rezolvare a problemei de exploatare a MT


mulimea strilor: S = {s1 , s2 , s3 } alfabetul extern: A = {, 1, +} schema funcional a mainii corespunztoare tabelului deja prezentat. datele iniiale: cele nscrise pe band sunt conforme figurii deja prezentate starea mainii la primul pas de calcul este s2 comanda de deplasare a benzii la primul pas de calcul este N banda se poziioneaz n faa capului de citire scriere aa cum se vede n figur

Concluzii
fiecrui algoritm i corespunde cte o main Turing specific lui maina Turing universal (MTU) poate rezolva orice tip de algoritm
i modific schema funcional n conformitate cu algoritmul dorit este necesar citirea cu ajutorul ncrctorului (loader) a schemei funcionale de pe banda MT Pe band se realizeaz un fiier de lucrri

CN este o MTU CN trebuie s aib o structur similar i s funcioneze asemntor cu MTU

Urmeaz cursul 3 !

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