4.1 structuri de date si algoritmi - ac.upt.ro · 1 4.1 structuri de date si algoritmi 4.1.1....

15
1 4.1 STRUCTURI DE DATE SI ALGORITMI 4.1.1. Explicati notiunea „aritmetica pointerilor” în raport cu conceptul de tip de data. 4.1.2. Explicaţi termenii: tip de data abstract (TDA), tipuri primitive, tipuri structurate, metode de structurare, în contextul definirii tipurilor de date. 4.1.3. Definiti si exemplificati tipurile de date „enumerare” si „ uniune” in limbajul C. 4.1.4. Prezentaţi principiul căutării binare si exemplificaţi (pseudocod, C, C++) aplicarea căutării binare la structura tablou. 4.1.5. Precizaţi caracteristicile tipului structurat articol si exemplificaţi cu o definire (pseudocod, C, C++) 4.1.6. Recunoaşteţi metoda de sortare din secvenţa şi faceţi modificările astfel încât să sorteze în ordine inversă. Apreciaţi performanţele algoritmului. void Sortare ( char *s, int n) { int i, j; char t; for ( i=1;i<n;++i) for (j=n-1;j>=i;--j){ if(s[j-1]>s[j]) { t=s[j-1];s[j-1]=s[j];s[j]=t; } } } 4.1.7. Definiţi tipul structurat lista simplu înlănţuita şi exemplificaţi cu o varianta de implementare. 4.1.8. Precizaţi caracteristicile structurii de date stiva. 4.1.9. Precizaţi caracteristicile structurii de date arbore binar ordonat. 4.1.10. Definiţi tehnicile de traversare a arborilor binari.

Upload: others

Post on 08-Oct-2019

117 views

Category:

Documents


1 download

TRANSCRIPT

1

4.1 STRUCTURI DE DATE SI ALGORITMI

4.1.1. Explicati notiunea „aritmetica pointerilor” în raport cu conceptul de tip de data.

4.1.2. Explicaţi termenii: tip de data abstract (TDA), tipuri primitive, tipuri structurate,

metode de structurare, în contextul definirii tipurilor de date.

4.1.3. Definiti si exemplificati tipurile de date „enumerare” si „ uniune” in limbajul C.

4.1.4. Prezentaţi principiul căutării binare si exemplificaţi (pseudocod, C, C++) aplicarea

căutării binare la structura tablou.

4.1.5. Precizaţi caracteristicile tipului structurat articol si exemplificaţi cu o definire

(pseudocod, C, C++)

4.1.6. Recunoaşteţi metoda de sortare din secvenţa şi faceţi modificările astfel încât să sorteze

în ordine inversă. Apreciaţi performanţele algoritmului.

void Sortare ( char *s, int n)

{

int i, j;

char t;

for ( i=1;i<n;++i)

for (j=n-1;j>=i;--j){

if(s[j-1]>s[j])

{

t=s[j-1];s[j-1]=s[j];s[j]=t;

}

}

}

4.1.7. Definiţi tipul structurat lista simplu înlănţuita şi exemplificaţi cu o varianta de

implementare.

4.1.8. Precizaţi caracteristicile structurii de date stiva.

4.1.9. Precizaţi caracteristicile structurii de date arbore binar ordonat.

4.1.10. Definiţi tehnicile de traversare a arborilor binari.

2

4.2. TEORIA SISTEMELOR I

4.2.1. Definiţi matricea şi funcţia de transfer a unui sistem.

4.2.2. Definiţi şi reprezentaţi grafic semnalele standard: impulsul Dirac (funcţia impuls

unitar), treapta unitară şi rampa unitară.

4.2.3. Definiţi spectrul de amplitudine şi spectrul de fază ale unui semnal în timp continuu

periodic.

4.2.4. Definiţi mărimile de stare ale unui sistem şi precizaţi formele canonice ale modelelor

matematice intrare-stare-ieşire ale sistemelor liniare în timp continuu şi în timp discret.

4.2.5. Un sistem este liniar dacă respectă principiul superpoziţiei. Explicaţi cum înţelegeţi

acest lucru pentru un sistem S cu orientarea u y.

4.2.6. Denumiţi elementele de transfer tipizate cu orientarea u y date prin modelele intrare-

ieşire (1), (2) ;i (3). Precizaţi denumirile coeficienţilor şi calculaţi funcţiile lor de transfer.

Daţi exemple de situaţii practice în care se întâlnesc cele trei elemente de transfer.

uKyyT P (1), uKdtuKuKy DIP (2), )t(u)t(y (3).

4.2.7. Definiţi caracteristicile Bode pentru un sistem S cu orientarea u y.

4.2.8. Ce înţelegeţi prin stabilitatea unui sistem? Enunţaţi criteriul rădăcinilor (teorema

fundamental[ a stabilit[‚ii sistemelor liniare) atât pentru sistemele în timp continuu, cât şi

pentru sistemele în timp discret, pentru cazul când stabilitatea sistemului este caracterizată

complet de polinomul caracteristic al sistemului.

4.2.9. Precizaţi schemele bloc ale conexiunilor serie, paralel (derivaţie) şi cu reacţie

realizabile cu două sisteme S1 cu şi S2 separabile.

4.2.10. Un sistem în timp continuu, cu orientarea u y are funcţia de transfer H(s). Precizaţi

cum puneţi problema şi cum procedaţi pentru a calcula răspunsul sistemului la un semnal de

intrare u(t) dat, în condiţii iniţiale nule, în ipoteza că semnalul de intrare are transformată

Laplace.

3

4.3. PRINCIPII, TEHNICI ŞI DISPOZITIVE DE MĂSURARE

4.3.1. Definiţi valoare medie şi valoarea efectivă ale unui semnal periodic, precizând

semnificaţia notaţiilor pe care le utilizaţi. Cum se calculează valoarea efectivă a unui semnal

atunci când se cunosc valorile efective ale armonicilor sale?

4.3.2. Reprezentaţi grafic următoarelor tipuri de semnale: a) semnal analogic continuu în

timp; b) semnal eşantionat (continuu în amplitudine şi discret în timp); c) semnal discret în

amplitudine şi continuu în timp; d) semnal discret în amplitudine şi în timp, şi explicaţi

aspectele caracteristice.

4.3.3. Ce se înţelege prin filtrarea unui semnal? Daţi exemple de filtre şi descrieţi modul lor

de funcţionare.

4.3.4. Precizaţi ce se înţelege prin multiplexarea semnalelor şi daţi un exemplu de

multiplexor cu opt canale asimetrice.

4.3.5. Definiţi noţiunile de «rezoluţie» şi «prag de sensibilitate» pentru un mijloc de măsurare.

Exemplificaţi în cazul unui aparat numeric de măsurare a tensiunii sau curentului.

4.3.6. Desenaţi schema electrică de măsurare a curentului electric dintr-un circuit electric de

curent continuu cu ajutorul unui ampermetru. Desenaţi schema folosită pentru extinderea

domeniului de măsurare prin utilizarea unui şuntului simplu. Precizaţi semnificaţia tuturor

notaţiilor folosite în schemele reprezentate.

4.3.7. Desenaţi schema electrică de măsurare a tensiuni electrice dintre două puncte ale unui

circuit electric de curent continuu cu ajutorul unui voltmetru. Desenaţi schema folosită pentru

extinderea domeniului de măsurare prin utilizarea unei rezistenţe adiţionale. Precizaţi

semnificaţia tuturor notaţiilor folosite în schemele reprezentate.

4.3.8. Explicaţi diferenţele dintre termorezistenţă, termistor şi precizaţi ce reprezintă un

termocuplu, având în vedere schimbările produse asupra lor de temperatură.

4.3.9. Explicaţi modul de funcţionare al convertorului analog-numeric cu aproximaţii

succesive cu schema de principiu şi diagrama de tensiuni din figură.

+

– E

A R a

R

I

=

Fig. 1. Schema de măsurare a curentului.

I

Ia

Is

A

Rs

Fig. 2 Ampermetru cu şunt.

Ra

4

Generator de tact

Registru de

aproximatii

succesive

CNA

b3

b2

b1

b0

b3=0 b2=1 b1=1 b0=0 t

UCNA 8

V

4

V

6

V

7

V

Ux

UCNA

COMP

UREF =16 V (=FSR)

Ux =6.5 V, FSR=16 V

5

4.4. PROGRAMAREA ORIENTATĂ PE OBIECTE

4.4.1. Ce este o clasă şi cum este creată în codul-sursă, în limbajul C++?

4.4.2. Ce înţelegeţi prin moştenire ?

4.4.3. Explicaţi care sunt modalităţile de acces ale clasei derivate la atributele şi metodele

clasei de bază şi cum se pot rezolva anumite probleme de acces ce decurg de aici?

4.4.4. Cum se transmit valori de iniţializare către constructorii clasei de bază, în cazul

instanţierii unor obiecte de tip derivat şi de ce?

4.4.5. Ce este o funcţie virtuală ?

4.4.6. Ce probleme implică pasarea obiectelor către funcţii şi cum sunt evitate acestea?

4.4.7. Explicaţi care este principiul de programare orientată pe obiecte care este încălcat în

programul de jos (şi care va genera o eroare de compilare).

class baza{ // 1

int i; // 2

public: // 3

void set_i(int val) {i=val;} // 4

int ret_i() {return i;} // 5

}; // 6

class derivat::public baza { // 7

int j; // 8

public: // 9

void set_j(int val) {j=val;} // 10

int ret_j() {return j;} // 11

}; // 12

int main() // 13

{ // 14

baza *b; // 15

derivat d; // 16

b=&d; // 17

b->set_i(5); // 18

cout<<b->ret_i(); // 19

b->set_j(55); // 20

cout<< b->ret_j(); // 21

return 0; // 22

} // 23

4.4.8. Explicaţi de ce programul de mai jos va afişa rezultatele într-o anumită succesiune.

#include <iostream.h>

class exemplu_static{

static int a; // aici e o variabila membra de tip static

int b; // aceasta nu e de tip static

public:

void seteaza(int i, int j) {a=i; b=j; }

void arata();

};

int exemplu_static::a; // iata si definirea globala

// pentru variabila de tip static

void exemplu_static::arata()

{

cout << “acesta este a static: “ << a;

cout << “\nacesta este b ne-static: “ << b;

cout << “\n”;

}

6

main()

{

exemplu_static ob1, ob2; // doua obiecte de tipul clasei

ob1.seteaza(1,2);

ob1.arata();

ob2.seteaza(3,4);

ob2.arata();

ob1.arata();

return 0;

}

4.4.9. Explicaţi în ce constă supraîncărcarea operatorilor şi care este convenţia folosită de

compilator, în limbajul C++.

4.4.10. În reprezentarea UML ce este o asociere între clase şi cum se reprezintă ?

7

4.5. ARHITECTURA CALCULATOARELOR

4.5.1. Ce este bitul şi prin ce se reprezintă el în calculatoarele electronice, la nivel fizic?

4.5.2. Indicaţi în ce constă, din punct de vedere arhitectural, un calculator şi definiţi entităţile

indicate.

4.5.3. Indicaţi cele mai importante programe de sistem şi care dintre ele sunt integrate în

mediile de dezvoltare a aplicaţiilor.

4.5.4. Definiţi translatoarele de limbaj, compilatoarele, asambloarele, interpretoarele şi

editoarele de legături.

4.5.5. Definiţi memoria RAM şi memoria ROM şi indicaţi şi arătaţi prin ce se caracterizează

tipurile de memorie ROM.

4.5.6. Definiţi termenul de port şi prezentaţi bornele şi cronograma de funcţionare a unui port

de intrare tipic.

4.5.7. Definiţi termenul de port şi prezentaţi bornele şi cronograma de funcţionare a unui port

de ieşire tipic.

4.5.8. Să se definească reprezentarea numerelor în complement de 2.

4.5.9. Ce reprezintă memoria stivă a unui calculator, cum se implementează ea şi la ce

serveşte?

4.5.10. Indicaţi elementele constitutive ale unităţilor de comandă von Neumann şi rolul pe

care ele îl joacă în implementarea principiului computaţiei automate.

4.5.11. Indicaţi şi definiţi modurile de adresare fundamentale.

4.5.12. Definiţi capabilitatea de întrerupere a procesoarelor.

8

4.6. BAZE DE DATE

4.6.1. Definiţi o bază de date. Definiţi o bază de date relaţională. Detaliaţi (pe scurt)

elementele constitutive ale unei baze de date relaţionale, precizând limbajul de operare

standard aferent.

4.6.2. Enumeraţi minim 3 dintre cele mai utilizate sisteme de gestiune a unor baze de date

relaţionale (SGBDR) de tip client-server (SQL), respectiv minim două sisteme de gestiune a

unor baze de date relaţionale locale.

4.6.3. Ce înseamnă SQL (ce semnificaţie are acronimul, respectiv ce anume defineşte)?

Menţionaţi cele mai importante operaţii pe care le asigură SQL-ul, pentru implementarea

manipulării datelor dintr-o tabelă, inclusiv primul cuvânt cheie din sintaxa comenzii SQL

aferente operaţiei.

4.6.4. Definiţi o cheie primară în contextul unei tabele a unei baze de date. Care este

deosebirea faţă de o cheie unică?

4.6.5. Definiţi (din punct de vedere al unei baze de date client-server SQL) o procedură

stocată, respectiv un trigger/declanşator (conţinut, parametri, locaţie, mod de execuţie / apel

etc.). Care sunt caracteristicile majore care le diferenţiază?

4.6.6. Ce este o tranzacţie din punct de vedere al operării cu baze de date? Ce asigură o

tranzacţie? Ce comenzi de bază (sintaxa minimală) sunt specifice tranzacţiilor?

4.6.7. În contextul proiectării unei baze de date, ce se înţelege prin normalizarea unei baze de

date? Enumeraţi care sunt obiectivele principale, general valabile, ale procesului de

normalizare a unei baze de date? Câte forme/nivele de normalizare sunt considerate

obligatorii a fi îndeplinite în practica curentă, respectiv sub ce denumire sunt cunoscute?

4.6.8. Se consideră structura de tabele (ale unei baze de date) create prin comenzile

următoare:

CREATE TABLE TAB_A (COL_A1 INT PRIMARY KEY,

COL_A2 CHAR(10) NOT NULL);

CREATE TABLE TAB_B (COL_B1 INT REFERENCES TAB_A(COL_A1),

COL_B2 VARCHAR(10));

Precizaţi toate constrângerile definite pe tabelele considerate, detaliind efectul

permisiv/restrictiv al fiecăreia (în contextul tabelelor anterior menţionate). Sub ce denumire

consacrată sunt referite tabelele anterioare, în contextul legăturii dintre ele?

4.6.9. În cadrul unei baze de date SQL, se consideră tabelele relaţionate: TABELA_A (având

coloanele COD, A1, A2, A3), respectiv TABELA_B (având coloanele COD, B1, B2).

Relaţionarea între ele este asigurată prin intermediul coloanelor COD. Toate coloanele sunt de

tip şir de caractere alfanumerice (dimensionate la alegere), iar tabela TABELA_B se

consideră în regim de subordonare ca tabelă copil, faţă de tabela părinte TABELA_A. Să se

scrie comenzile pentru crearea acestor tabele, ţinând cont de relaţia de subordonare dintre ele

(constrângere de tip cheie străină), respectiv comanda de interogare relaţionată (joncţiune

internă) care permite afişarea conţinutului relaţionat din ambele tabele (coloana comună

apărând o singură dată), ordonat după coloana A1.

4.6.10. Se consideră tabela (unei baze de date) având numele TABELA1 şi coloanele COL1

(cheie primară), COL2, COL3, COL4 (prima coloană de tip întreg, iar celelalte de tip şir de

caractere alfanumerice). Considerând tabela populată cu date (10 lini, COL1 având valori de

la 1 la 10), să se scrie o secvenţă de comenzi SQL care permite succesiv: o interogare pentru

vizualizarea întregului conţinut al tabelei; adăugarea unei noi linii în tabelă (cu orice date

valide); modificarea informaţiei din coloana COL4 aferenta liniei nou adăugate anterior;

ştergerea conţinutului tabelei.

9

4.7. PROGRAMARE CONCURENTA

4.7.1. Definiţi noţiunile de sistem informatic în timp real şi executiv de timp real.

4.7.2. Definiţi noţiunile de task, thread (fir de execuţie), proces, multitasking, multithreading,

multiprocessing, multiprocessing cu multithreading.

4.7.3. Indicaţi şi definiţi stările clasice ale taskurilor şi tranziţiile aferente.

4.7.4. Definiţi noţiunile de context, comutare a taskurilor şi dispecer.

4.7.5. Definiţi noţiunea de eficacitate de utilizare a procesorului şi indicaţi valorile timpilor de

comutare specifice domeniului informaticii de proces.

4.7.6. Definiţi termenii de resursă critică, resursă partajabilă cu "n" puncte de acces, resursă

reentrantă, secţiune critică, secţiune de partaj.

4.7.7. Definiţi termenii de excludere mutuală şi semafor.

4.7.8. Definiţi conceptul de bloc rendez-vous.

4.7.9. Definiţi conceptul de cutie poştală.

4.7.10. Definiţi conceptul de conductă.

10

4.8. MODELARE, SIMULARE ŞI ELEMENTE DE IDENTIFICARE

4.8.1. Daţi o definiţie a noţiunii de “model“.

4.8.2. Specificaţi forma generală a modelului parametric, determinist, monovariabil,

caracterizarea intrare-ieşire, în cazul continuu şi discret (cu explicitarea timpului mort şi a

semnificaţiilor mărimilor care intervin)

4.8.3. Definiţi noţiunea de “zgomot alb”.

4.8.4. Ce se întelege prin semnal pseudoaleator binar (SPAB). Formulaţi două proprietăţi ale

SPAB.

4.8.5. Ce se întelege printr-un proces (semnal) stochastic (aleator). Cum poate fi reprezentat

din punct de vedere matematic?

4.8.6. Scrieţi expresia de calcul a dispersiei (varianţei) pentru un proces stochastic staţionar,

cazul continuu respectiv discret (ca şi caracteristică temporală). Precizaţi semnificaţia

notaţiilor folosite.

4.8.7. Scrieţi expresia de calcul a funcţiei de intercorelaţie pentru un proces stochastic

staţionar în cazul continuu şi discret. Precizaţi semnificaţia notaţiilor folosite.

4.8.8. Ce se întelege printr-un proces stochastic ergodic?

4.8.9. Formulaţi teorema Wiener-Hincin.

4.8.10. Reprezentaţi schema de modelare analogică (cu amplificatoare operaţionale) a sumării

ponderate. Specificaţi relaţia de calcul şi reprezentarea simbolică.

11

4.9. SISTEME BAZATE PE MICROPROCESOARE ŞI MICROCONTROLERE

4.9.1. Se consideră, structura unui sistem cu microprocesor conectat cu un periferic

reprezentată în figură.

1.a. Care este rolul blocului “Interfaţă I/E”?

1.b. La ce tipuri de magistrală se referă simbolul marcat cu “Magistrale” din figură?

4.9.2. În ce condiţii circuitul de interfaţă Timer-Counter funcţionează în regim de TIMER şi

în ce condiţii funcţionează în regim de COUNTER?

4.9.3. Care este diferenţa dintre un microprocesor si un microcontroler? Care sunt avantajele

generale ale utilizării unui microcontroler?

4.9.4. Cum se calculează cuanta q unui convertor analog-numeric (CAN)? Ce mărimi

caracteristice statice ale CAN se utilizează pentru calculul cuantei?

4.9.5. Care este diferenţa dintre semnalele analogice de tensiune şi semnalele logice? Cu ce

interfeţe de intrare-ieşire sunt preluate de către un sistem cu microprocesor semnalele

analogice, respectiv logice?

4.9.6. Ce este semnalul PWM? Care sunt elementele caracteristice ale acestuia? Desenaţi un

semnal PWM în care să puneţi în evidenţă elementele sale caracteristice.

4.9.7. Explicaţi în detaliu metodologia de calcul a numărului de linii de adresă pentru o

memorie externă de M cuvinte. Apoi determinaţi numărul de linii de adresă necesar pentru a

accesa o memorie RAM externă de 8 kB.

4.9.8. Ce tipuri de interfeţe I/E cunoaşteţi?

4.9.9. Cum comunică unitatea centrală cu interfeţele de intrare-ieşire într-un microcontroler?

Explicaţi rolul cuvintelor de date şi control. Detaliaţi modurile de comunicare prin interogare

şi întreruperi.

12

4.9.10. In figura este prezentata structura unui sistem cu microprocesor din punctul de vedere

al celor 5 funcţii ale acestuia. Descrieţi circulaţia informaţiei pe magistrale (nespecificate din

figură).

Structura unui sistem cu microprocesor din punctul de vedere al celor 5 funcţii ale sale

13

4.10. STRUCTURI SI ALGORITMI PENTRU CONDUCEREA AUTOMATA A

PROCESELOR

4.10.1. Enumeraţi 5 dintre problemele de bază care trebuie rezolvate la dezvoltarea şi

implementarea unui sistem de conducere automată.

4.10.2. Precizaţi denumirile blocurilor şi mărimilor din figură. Scrieţi relaţiile de bază (în

operaţional) care caracterizează structura de sistem de reglare automată din figură în ipoteza

că sistemul este liniar şi se cunosc funcţiile de transfer ale blocurilor componente.

4.10.3. Ce sunt modele matematice de tip Intrare-Ieşire (MM-II) de ordin redus, modelele de

aproximare şi modelele matematice de tip “benchmark” utilizate in caracterizarea proceselor

(cazul stirct linear)?

4.10.4. Ce este un algoritm de reglare ? Exemplificaţi conceptul în cazul timp continuu. Ce

metode de implementare cunoaşteţi?

4.10.5. Să se scrie în pseudocod programul de implementare pentru algoritmul de reglare

redat prin schema bloc din figură. *

11 kkx şi *

2 kkx .

4.10.6. Să se precizeze funcţiile de transfer ale structurilor serie şi paralel aferente

regulatorului proporţional-integrator şi să se precizeze principalele recomandări privind

utilizarea regulatorului.

4.10.7. Definiţi regimului staţionar constant şi valorilor de regim staţionar constant.

4.10.8. Explicaţi esenţa principalilor indicatori de calitate definiţi în răspunsul unui sistem de

reglare automată la variaţia în treaptă a mărimii de referinţă. Care sunt cerinţele uzuale care se

impun la proiectare valorilor acestor indicatori ?

14

4.10.9. Explicaţi pe baza tabelului şi figurilor date esenţa proiectării regulatoarelor pe baza

criteriului modulului în varianta Kessler. Cu referire la graficele din figură comentaţi

performantele realizabile şi justificaţi alegerea metodei în aplicaţiile practice de proiectare.

4.10.10. Explicaţi modul de funcţionare al structurilor de sisteme de reglare automată cu

compensarea perturbaţiei din figurile (a) si (b).

(a)

(b)

Proces

)(sH P

Regulator

Tip )(sH R

sT1

k p I

s

k r

111 sTsT

k p

PI

( )1rr

rTT,sT1

s

k=+

TTT

sTsTsT

k p

21

21 111

PID

21 ';

'11

TTTT

sTsTs

k

rr

rrr

15

4.11. RETELE DE CALCULATOARE

4.11.1. Care sunt diferenţele între noţiunile “server” şi “client” la comunicaţiile de date prin

reţele?

4.11.2. Ce inţelegeţi prin “firewall”?

4.11.3. La ce folosesc comenzile “ftp” şi “telnet”?

4.11.4. Ce întelegeţi prin adresa fizică (MAC) a unui echipament de reţea ?

4.11.5. Care sunt clasele de adrese IP v4 ?

4.11.6. Ce este un switch de reţea de calculatoare ?

4.11.7. Ce este un punct de acces în cadrul reţelelor 802.11 ?

4.11.8. Definiţia şi utilitatea sistemului de nume de domenii (DNS)

4.11.9. Ce este un VPN ?

4.11.10. Care sunt principalele 3 standarde de acces la mediu de comunicaţie implementate in

Local Area Networks?