I. Instrucţiuni PRELEGERE IX PROGRAMAREA CALCULATOARELOR ŞI LIMBAJE DE PROGRAMARE

Size: px
Start display at page:

Download "I. Instrucţiuni PRELEGERE IX PROGRAMAREA CALCULATOARELOR ŞI LIMBAJE DE PROGRAMARE"

Transcription

1 PRELEGERE IX PROGRAMAREA CALCULATOARELOR ŞI LIMBAJE DE PROGRAMARE I. Instrucţiuni Contextul de condiţii în care se realizează diverse prelucrări se descrie prin instrucţiuni. Acestea permit înscrierea sau modificarea valorii unei variabile ca rezultat al unei expresii, alegerea unei alternative dintre două sau mai multe pe baza unei condiţii, execuţia repetată a unei instrucţiuni sau a unui grup de instrucţiuni cu valori diferite pentru variabilele cu care se lucrează şi rezolvarea secvenţială a unui grup de instrucţiuni care sînt tratate ca o instrucţiune de sine stătătoare. Instrucţiunile care formează modulul unui program se parcurg secvenţial adică, în ordinea scrierii lor. Separarea lor se face prin simbolul ;. În limbajul C++ se pot utiliza următoarele categorii de instrucţiuni: vidă, de atribuire, compusă, de selectare (if, switch), de repetare (for, while, do - while) şi de oprire (continue, break, return). 1. Instrucţiunea vidă Instrucţiunea care nu descrie nici o prelucrare poartă denumirea de instrucţiune vidă. Apariţia ei este marcată de separatorul de instrucţiuni ;. Utilizarea ei este impusă de situaţia în care sintaxa limbajului prevede o instrucţiune fără ca să fie necesară executarea unei operaţii. Blocul de instrucţiuni al primului program din secţiunea Cîteva exemple de programe C++ este format doar din instrucţiunea vidă. Programul determină valorile variabilelor f şi g în situaţia cînd z este diferit de zero. Dacă z este zero atunci, programul nu execută nici o operaţie, pe ramura negativă a condiţiei fiind prevăzută instrucţiunea vidă. În asemenea situaţii de obicei se indică un mesaj, cum ar fi de exemplu f şi g nu au sens sau pur şi simplu argumentul else din instrucţiunea if se omite. /* Instructiunea vida */ { float x, y, z, f, g; clrscr(); printf("\n Introduceti x, y, z :"); scanf("%f %f %f", &x, &y, &z); if (z!= 0) { f = (x*x + y*y)/z; g = (x*x - y*y)/z; printf("\n f= %f g=%f", f, g); else ; ; getch( ); Introduceti x y z : F= g= Introduceti x y z : Programul

2 2 Instrucţiunea expresie Majoritatea funcţiilor şi instrucţiunilor dintr-un modul de program pregătesc condiţiile în care se execută instrucţiunile expresie din componenţa acestuia. Astfel, acestea furnizează datele asupra cărora operează instrucţiunea expresie, tipăresc rezultatele furnizate de instrucţiunea expresie sau pregătesc condiţiile de reluare în contexte de rezolvare diferite a instrucţiunei expresie. Sintaxa generală a instrucţiunii expresie este: expresie;. Expresia poate fi un apel de funcţie sau o expresie de atribuire validă cu efect lateral. Programul cuprinde două instrucţiuni expresie simple prin care se iniţializează variabilele i şi j, o instrucţiune expresie, cu efect lateral pentru k, prin care se determină valorile lui bşi c şi două apeluri ale funcţiei printf. Pentru a accentua diferenţa între instrucţiunea expresie şi expresia de atribuire, lista de ieşire a ultimei funcţii de scriere cuprinde pe lîngă variabilele a, b, c şi o expresie de atribuire aritmetică prin care se află valoarea variabilei d. /* Instructiuni expresie */ { int i, j; long k; float a = 3.75; double b, c, d; clrscr(); i =170; j = 15; b = c = 3*a*(k = i*i+j*j); printf("\n i = %d j = %d k = %d", i, j, k); printf("\n a = %f b = %lf \n c = %lf\ \n d = b/(3*a) = %lf", a, b, c, d = b/(3*a)); getch( ); i=170 j=15 k=29125 a=3.75 b= c= d=b/(3*a)= Programul Instrucţiunea compusă Instrucţiunea compusă este utilizată ori de cîte ori sînt necesare mai multe instrucţiuni în locul în care sintaxa unei instrucţiuni permite utilizarea uneia singure. Instrucţiunea compusă poartă denumirea şi de bloc. Aceasta cuprinde în componenţă o secvenţă de instrucţiuni încadrată între acolade. Separatorul de instrucţiuni este simbolul ;. Opţional, secvenţa de instrucţiuni poate să conţină diverse declaraţii de tip şi de definiţii de funcţii. 2

3 Secvenţa de instrucţiuni se execută secvenţial, adică în ordinea scrierii lor. Formatul general al unei instrucţiuni compuse este: { [listă_declaraţii şi definiţii;] instrucţiuni_1;. instrucţiuni_n; Se recomandă ca acoladele să se alinieze către stînga faţă de grupul de declaraţii şi de instrucţiuni şi să se scrie dacă este posibil din aceeaşi coloană. Dacă lista instrucţiunilor componente este scurtă sau textul lor este restrîns atunci, se poate folosi o singură linie de program. Liniile de declarare a tipului şi definiţiile de funcţii, deşi preced în sintaxa de descriere lista instrucţiunilor componente, acestea pot să apară oriunde în structura instrucţiunii compuse. Domeniul de vizibilitate al identificatorilor vizaţi este limitat la durata de execuţie a instrucţiunii compuse. Cu condiţia n>1, instrucţiunea compusă poate să constituie partea de instrucţiuni a modulului principal de program, corpul unei funcţii sau să intervină în structura instrucţiunilor de salt şi de repetere. Instrucţiunea compusă apare în două ipostaze în programul care urmează, delimitează partea de declaraţii şi de instrucţiuni a modulului principal şi respectiv fixează în instrucţiunea if declaraţiile şi acţiunile care se execută pe fiecare ramură în parte. Dacă a este mai mare sau egal decît b atunci, se calculează x, în caz contrar se calculează y. Ultima parte a programului rezolvă problema prin intermediul operatorului condiţional. Desigur, pentru aceeaşi pereche de date de test, rezultatele sînt egale, după cum se observă în ultimele două linii ale fiecărei execuţii în tabelul dat. /* Instructiunea compusa */ { float a, b; printf("\n Introduceti a="); scanf("%f", &a); printf(" Introduceti b="); scanf("%f", &b); if (a>=b) { float x; x = 3*a-b*b/5-7; printf("\n Valoarea lui x este : %f",x); else { double y; y = a*a*a/3+5*b+10; printf("\n Valoarea lui y este : %lf",y); /* Rezolvarea cu ajutorul operatorului conditional */ (a>=b)? { float x; x = 3*a-b*b/5-7; printf("\n x = %f", 3*a-b*b/5-7); : { float y; y = a*a*a/3+5*b+10; 3

4 printf("\n y = %f", a*a*a/3+5*b+10); getch( ); Introduceti a = 6 Introduceti b = 5 Valoarea lui x este : X = Introduceti a = 3 Introduceti b = 7 Valoarea lui y este : Y = Programul Instrucţiuni de selectare Alegerea unei alternative dintre două sau mai multe alternative, pe baza unei decizii, se realizează prin intermediul instrucţiunilor if sau switch. a) Instrucţiunea if Ca urmare a evaluării unei condiţii, instrucţiunea if permite selectarea unei variante de rezolvare dintre două variante. Dacă una din variante nu conţine nici o operaţie atunci sintaxa instrucţiunii if este: if (expresie_logică) instrucţiune_1; sau if (expresie_logică) instrucţiune_1; else ;; altfel if (expresie_logică) instrucţiune_1; else instrucţiune_2;. Rezolvarea instrucţiunii if se realizează astfel: - se evaluează expresi logică. Valoarea ei este 0 sau 1; - dacă valoare expresiei logice este 1, atunci se execută instrucţiune_1; - dacă valoare expresiei logice este 0, atunci se transferă controlul execuţiei programului la linia de program care îi succede lui if în prima situaţie sau se execută instrucţiune_2 în cea de-a doua situaţie; se continuă execuţia programului cu următoarea linie de program. In cazurile în care variantele se descriu prin secvenţe de instrucţiuni atunci acestea se transformă în instrucţiuni compuse prin utilizarea acoladelor. Instrucţiunile componente pot fi la rîndul lor alte if-uri, existînd astfel posibilitatea descrierii unor structuri alternative complexe şi imbricate, conform cerinţelor de prelucrare ale utilizatorului. În situaţia unor decizii complexe, cu selectarea unei variante la ultima decizie, se poate folosi o construcţie sintactică de genul : if (expresie_logică_1) if (expresie_logică_2) if (expresie_logică_n) instrucţiune_1; else instrucţiune_2; unde, argumentul else se asociază implicit cu ultima expresie logică. Pentru a schimaba modul de asociere se pot folosi acoladele. De exemplu, dacă în decizia a doua se selectează varianta instrucţiune_1 pe ramura pozitivă atunci, structura de mai sus se schimbă, după cum urmează: if (expresie_logică_1) { if (expresie_logică_2) instrucţiune_1; 4

5 if (expresie_logică_n) else instrucţiune_2;. Dacă selectarea unei variante dintre două are loc după fiecare decizie atunci, construcţia sintactică prin care se codifică structurile de decizie imbricate poate fi următoarea: if (expresie_logică_1) instrucţiune_1_1; else if (expresie_logică_2) instrucţiune_2_1; else if (expresie_logică_n) instrucţiune_n_1; else instrucţiune_n_2; sau if (expresie_logică_1); else instrucţiune_1_1; if (expresie_logică_2); else instrucţiune_2_1 if (expresie_logică_n) instrucţiune_n_1; else instrucţiune_n_2; Astfel de situaţii intervin în probleme de clasificare. Cu programul se calculează, în trei moduri, valoarea maximă dintre trei numere reale a, b şi c. Numerele se compară, două cîte două şi se reţine de fiecare dată valoarea cea mai mare, prin intermediul instrucţiunii if, prin intermediul operatorului condiţional sau printr-o combinaţie a lor. O linie comentariu precizează modul de lucru adoptat iar, afişarea rezultatului este însoţită de un text lămuritor adecvat. /* Instructiunea if */ { float a, b, c, maxim; clrscr(); /* Rezolvarea cu instructiunea if */ printf("\n Introduceti a, b, c :"); scanf("%f %f %f", &a, &b, &c); if (a>b) if (a>c) maxim = a; else maxim = c; else if (b>c) maxim = b; else maxim = c; printf("\n Valoarea maxima : %f este determinata cu if", maxim); /* Rezolvarea cu if combinata cu operatorul conditional */ if (a>b) maxim = (a>c)? a : c; else maxim = (b>c)? b : c; printf("\n Valoarea maxima: %f este determinata cu\ if combinata cu operatorul conditional", maxim); getch( ); Introduceti a, ab, c : Valoarea maxima : este determinata cu if Valoarea maxima : este determinata cu if combinata cu operatorul conditional Programul

6 b) Instrucţiunea switch Instrucţiunea switch permite alegerea unei variante dintre mai multe variante pe baza unui selector de tip întreg sau enumerare pentru care, altfel, ar trebui să se utilizeze un şir nedeterminat de instrucţiuni if. Echivalent, această instrucţiune permite înlocuirea unei construcţii cu if-uri în cascadă. Sintaxa generală a instrucţiunii switch este: switch (expresie) { case constantă_1 : { instrucţiune_1_1;. instrucţiune_1_n 1 ; [break;]. case constantă_k : { instrucţiune_k_1;. instrucţiune_k_n k ; [break;] [default : { instrucţiune_m_1;. instrucţiune_m_n m ; [break;] Argumentele case şi default definesc variante posibile în prelucrările care urmează să le facă utilizatorul. Instrucţiunea break; este opţională şi are ca efect terminarea forţată, în acel punct, a instrucţiunii switch. Ultima variantă este, de asemenea, opţională şi se execută în situaţia cînd valoarea selectorului nu se găseşte printre constantele specificate în structura instrucţiunii switch. Poziţia ei este arbitrară în lista de selectori case. Constantele situate după cuvîntul rezervat case fac parte din domeniul de valori al selectorului. Ordinea lor este arbitrară, dar fiecare nu poate să apară decît o singură dată în prefixul unei variante chiar în cazul variantelor identice. Structura unei alternative este determinată de expresii, instrucţiuni vide, compuse, de selectare de tip if şi de repetare. Acoladele care le încadrează pot fi omise. Instrucţiunea switch se execută în mai multe etape, după cum urmează: - se evaluează expresia situată după cuvîntul rezervat switch. Valoarea ei defineşte selectorul; - dacă valoarea selectorului coincide cu o constantă care prefixează una din variante, atunci se execută varianta respectivă. Dacă instrucţiunea break absentează, atunci se continuă execuţia programului cu lista de instrucţiuni a următoarei etichete case pînă la întîlnirea unei instrucţiuni break sau terminarea blocului instrucţiunii switch; - dacă valoarea selectorului diferă de constantele care etichetează variantele şi există argumentul default în sintaxa lui switch, atunci se execută varianta plasată după default şi apoi controlul execuţiei programului se transferă la instrucţiunea care îi succede lui switch; 6

7 - dacă valoarea selectorului diferă de constantele care prefixează variantele şi nu există argumentul default în sintaxa lui switch, atunci se continuă execuţia programului cu instrucţiunea care îi urmează lui switch. În această situaţie, instrucţiunea switch este inefectivă. Pentru variante egale, se specifică etichetele şi doar la ultima etichetă se precizează componenţa variantei. De exemplu, în programul variantele egale sînt prefixate cu 2, 3 şi 4. Textul de răspuns este în funcţie de valoarea lui x. /* Instructiunea switch */ { int x; clrscr(); printf("\n Introduceti x = "); scanf("%d", &x); switch (x) { case 0 : printf("\n x este zero"); break; case 1 : printf("\n x este unu"); break; case 2 : case 3 : case 4 : printf("\n x este putin"); break; default : printf("\n x este mult"); getch(); Introduceti x = 2 x este putin Introduceti x = 4 x este putin Introduceti x = 45 x este mult Programul Utilizarea instrucţiunii switch este des întîlnită în probleme de clasificare. O astfel de problemă se rezolvă în programul , care determină pentru fiecare cifră zecimală numărul de apariţii într-un număr oarecare n. După ultima cifră se tastează Ctrl+Z. Cele 10 componente ale tabloului unidimensional cifra se iniţializează cu zero prin intermediul primului for. La întîlnirea unei cifre se incrementează componenta situată pe poziţia dată de cifra respectivă prin cifra[n-'0']++;. Deoarece 0 semnifică valoarea codului ASCII în zecimal al lui zero, operaţia n - 0 este validă şi are ca rezultat chiar cifra corespunzătoare caracterului n. Apariţiile pe clase de cifre sînt tipărite, în ordine, cu ajutorul celui de al doilea for. /* Instructiunea switch - problema clasificarii */ { int i, n, cifra[10]; clrscr(); for (i=0;i<10;++i) 7

8 cifra[i]=0; printf("\n Introduceti un numar n = "); while((n=getchar())!=eof) switch (n) { case '0' : case '1' : case '2' : case '3' : case '4' : case '5' : case '6' : case '7' : case '8' : case '9' : cifra[n-'0']++; break; for (i=0; i<10; i++) printf("\n Cifra %d apare in numar de %d ori", i, cifra[i]); getchar( ); Introduceti un numar n = Cifra 0 apare in numar de 1 ori Cifra 1 apare in numar de 1 ori Cifra 2 apare in numar de 0 ori Cifra 3 apare in numar de 0 ori Cifra 4 apare in numar de 0 ori Cifra 5 apare in numar de 2 ori Cifra 6 apare in numar de 1 ori Cifra 7 apare in numar de 0 ori Cifra 8 apare in numar de 0 ori Cifra 9 apare in numar de 1 ori Programul Alte exemple tipice referitoare la utilizarea instrucţiunii switch vor fi prezentate după trecerea în revistă a instrucţiunii do while şi a conceptului de funcţie. Acestea se referă, mai ales, la alegerea unei opţiuni dintr-un meniu oarecare. În programul sînt descrise două meniuri, primul prezintă trei opţiuni pentru scrierea unei matrici, iar al doilea două opţiuni cu privire la reluarea sau oprirea programului. 5 Instrucţiuni de repetare Reluarea execuţiei unui grup de operaţii, de un numar finit de ori, cu valori diferite pentru variabilele cu care se lucrează este, de fapt, structura de bază în componenţa diverşilor algoritmi, calculatorul fiind instrumentul ideal pentru acest tip de lucrare. Am văzut în primul capitol că trebuie să se prevadă obligatoriu o condiţie de ieşire din repetare pentru siguranţa opririi procesului de iterare. Aceasta poate să preceadă sau să succeadă grupul de operaţii în cazul structurilor repetitive cu un număr cunoscut de paşi (ciclurilor). Nu are importanţă poziţia condiţiei de ieşire în situaţia structurilor repetitive cu un număr variabil (necunoscut) de paşi. Structurile repetitive cu un număr variabil de paşi, prevăzute cu o condiţie internă, se pot transforma, fie în structuri repetitive cu precondiţie, fie cu postcondiţie. În structura repetitivă cu un număr cunoscut (fix) de paşi, condiţia de ieşire este o expresia relaţională, care exprimă verificarea atingerii limitei superioare de către variabila care contorizează numărul de paşi executaţi în procesul de repetare, iar în 8

9 celelalte situaţii condiţia de ieşire este o expresie logică. Ambele tipuri de expresii sînt cu rezultat întreg (0 sau 1). Pentru simbolizarea procesării unei structuri repetitive se utililizează instrucţiunile for, while sau do while. Instrucţiunea for se recomandă în situaţia unei structuri repetitive cu un număr cunoscut de paşi, deoarece permite, pe de o parte evidenţierea imediată a elementelor care caracterizează contorul, a modului în care acestea se modifică precum şi a blocului de instrucţiuni, iar pe de alta este mult mai succintă. Modul particular de utilizare a ultimilor două instrucţiuni îl constituie problemele de meniu, astfel nefiind necesară o relansare a programului pentru studierea diverselor variante de aflare, de citire sau de scriere a unor informaţii. Structura repetitivă cu un număr variabil de paşi poate relua afişarea opţiunilor din meniu şi efectuarea operaţiilor dorite pînă la selectarea opţiunii de încheiere. Bineînţeles, că nu există o demarcaţie netă în utilizarea instrucţiunilor de repetare. Aceasta rămîne la latitudinea programatorului. În următoarele trei secţiuni problema produsului a două matrice se tratează, fie numai cu acelaşi tip de instrucţiune de repetare, fie combinînd, aleatoriu, cele trei instrucţiuni de repetare. Soluţiile date nu sînt unice. Modalităţi diverse de scriere a unor programe sînt precizate la fiecare secţiune în parte, în funcţie de specificul instrucţiunii de repetare avută în vedere. a) Instrucţiunea for Instrucţiunea for controlează execuţia repetată de un număr nedeterminat (fix, variabil, finit sau infinit) de ori a unei instrucţiuni sau a unui bloc de instrucţiuni. În cele mai multe cazuri, numărul de repetări se contorizează prin intermediul unei variabile de control cu tipul întreg. După cum se observă limbajul C extinde aria de reprezentare a instrucţiunei for. De exemplu, în limbajul Pascal, şi nu numai, instrucţiunea for se utilizează doar în codificarea structurilor de ciclare în care contorul variază crescător cu raţia 1 sau descrescător cu raţia 1. Altfel, trebuie să se recurgă la instrucţiunile repeat şi while. Prin ridicarea acestor restricţii, instrucţiunea for devine, aici, un mijloc eficace în programarea oricărui tip de structură repetitivă. În plus în limbajul C++, instrucţiunea for permite, cu ajutorul operatorului virgulă, realizarea unor iniţializări diferite de cele necesare pentru controlul corect al procesului de repetare. Formatul general al instrucţiunii for acceptat de limbajul C este următorul: for (iniţializare_contor; condiţie_ieşire; actualizare_contor) { instrucţiune_1;. instrucţiune_n; Dacă n = 1, atunci acoladele se pot omite. Cele trei argumente din prima linia pot absenta, dar nu şi separatorii punct şi virgulă (;). Părţile de iniţializare şi de actualizare sînt formate din expresii de atribuire separate, opţional, de operatorul de secvenţiere. Orice instrucţiune validă poate să intervină în blocul asociat structurii for. Nu se semnalează mesaj de avertisment atunci cînd prima linie din structura for se termină cu ;. Pur şi simplu, aceasta devine inefectivă, iar blocul de instrucţiuni corespunzător este scos de sub acţiunea instrucţiunii for. 9

10 Etapele care se parcurg în rezolvarea instucţiunii for sînt următoarele: - se execută atribuirile din partea de iniţializare. Valorile obţinute trebuie să fie compatibile din punct de vedere al atribuirii cu cele ale contorului sau ale altor parametri; - se evaluează condiţia de ieşire. Dacă rezultatul ei este 1, atunci se execută blocul de instrucţiuni într-un context precizat de valorile variabilelor cu care se lucrează şi de atribuirile din partea de actualizare. Dacă rezultatul este 0, atunci se trece controlul execuţiei programului la linia de program care îi succede instrucţiunii for; - se continuă cu etapa a doua. În concluzie, partea de iniţializare se rezolvă o singură dată la începutul procesului de repetare, iar condiţia de ieşire şi atriburile din partea de actualizare îşi modifică valorile la fiecare pas de repetare. Astfel, o serie de iniţializări impuse de algoritmul de rezolvare al unei probleme pot fi făcute în partea de iniţializare prin introducerea operatorului de secvenţiere (virgula). Condiţia de ieşire poate fi una legată de variabila de control (de numărătorul de paşi, de contor), situaţie în care aceasta poate avea, în plus, fără să i se modifice valoarea, rolul de a fixa o serie de date care intervin în prelucrările vizate în blocul de instrucţiuni sau poate fi o expresie logică, care asigură încheierea procesului de repetare. În primul caz după terminarea normală a instrucţiunii for valoarea contorului se consideră a fi nedefinită. Absenţa condiţiei de ieşire presupune verificarea implicită a acesteia şi intrarea instrucţiunii for într-o buclă, adică într-un ciclu cu un număr infinit de iteraţii. De exemplu, mesajul Absenţă condiţie de ieşire va fi tipărit la nesfîrşit printr-o instrucţiune for cu următoarea structură: for ( i = 0; ; ++i) printf( \n Absenta conditie de iesire );. De asemenea, acelaşi efect se obţine cu următoarea sintaxă pentru instrucţiunea de repetare for: for ( ; ; ) printf( \n Absenta conditie de iesire );. Observaţie. Ieşirea forţată din blocul lui for se realizează prin instrucţiunile goto şi break, iar oprirea unui pas de iterare, cu derularea completă a procesului de repetare, se obţine prin instrucţiunea continue. O intrare din afară în instrucţiunea for se poate realiza cu goto prin linia de început a structurii for sau prin intermediul unei instrucţiuni componente. În ultima situaţie, rezultatele pot fi afectate atunci cînd linia lui for conţine o serie de iniţializări referitoare la acestea. Precizările care au însoţit programele anterioare ce conţineau instrucţiunea for erau sumare şi de suprafaţă. De aceea, în continuare se adaugă alte exemple în care interpretările vor fi legate în mod special de modul de funcţionare al instrucţiunii for. Programul următor calculează suma pătratelor şi produsul elementelor unui tablou unidimensional de numere reale şi diferite de zero. Dimensiunea tabloului se introduce de la tastatură şi trebuie să fie cel mult 30. În prima linie din structura for se prevăd următoarele: - valoarea cu care se iniţializează i este 0, adică se marchează primul pas în procesul de iteraţie şi se fixează poziţia primului element din şirul x care se prelucrează la acest moment; - iniţializările s = 0 şi p = 1 prin utilizarea operatorului de secvenţiere; 10

11 - condiţia de ieşire i<n, care îşi poate modifica valoarea la oricare pas de repetare. Dacă valoarea obţinută este 1, atunci se trece la următorul pas de iterare. În caz contrar, instrucţiunea for îşi încetează activitatea; - ultima expresie este una de incrementare. Valoarea lui i creşte cu raţia 1 după fiecare pas de repetare. Blocul de instrucţiuni gestionat deinstrucţiunea for cuprinde citirea în clar a unui element din tabloul x şi atribuirile prin care se află suma s şi produsul p. Efectiv, acest bloc va fi reluat de n ori. Datele de test şi rezultatele corespunzătoare se pot urmări în tabelul care succede programul /* Instructiunea for */ { int i, n; float s, p, x[30]; clrscr(); printf("\n Introduceti numarul elem. din sir : "); scanf("%d", &n); printf("\n Introduceti numerele din sir :\n "); for (i = 0, s = 0, p = 1; i < n; ++i) { printf(" x[%d]= ", i); scanf("%f", &x[i]); s += x[i] * x[i]; p *= x[i]; printf("\n \n s= %f p= %f", s, p); Introduceti numarul elem. din sir : 7 Introduceti numerele din sir : x[0]= 7.5 x[3]= 5. x[1]= -13. x[4]= 2 x[2]= x[5]= 33.3 x[6]= 4.1 s = p = Programul Numai în limbajul C++ linia lui for poate fi înlocuită cu una de genul: for (nume_tip diverse_iniţializari; condiţie_ieşire; actualizare_contor), unde partea de iniţializări va cuprinde şi pe cele privitoare la contorul cu care se controlează blocul lui for. De asemenea, declaraţii de tip combinate cu diverse iniţializări pot fi incluse atît în modulul main(), cît şi în blocurile instrucţiunilor de repetare şi, în particular, în blocul instrucţiunii for. De exemplu în programul , i1 se declară cu iniţializare în mod obişnuit, linia de declarare a lui i2 cuprinde atribuirea unei expresii de tip corespunzător, iar i3 se declară în linia instrucţiunii for. { int i1 = 3; int i2 = 7*i1 15; for (int i3 = 0; i3 < 5; ++i3) i1 += i3; printf(" i1 = %d ", i1); /* i3 a fost definit in for-ul anterior */ 11

12 for ( i3 = 0; i3 < 5; ++i3) i1 *= i3; printf(" i1 = %d ", i1); Programul Atunci cînd se doreşte optimizarea procesului de execuţie a structurii for se recomandă memorarea variabilei de control într-un registru de memorie. În următoarea secvenţă de instrucţiuni se include specificatorul register în linia de declaraţie a lui i: { register int i; for (i = 0; i < 10; ++i) printf(" i = %d ", i); Programul În situaţia cînd blocul instrucţiunii for conţine alte for-uri este obligatoriu ca identificatorii variabililor de control să fie diferiţi. Tratarea tablourilor uni şi multidimensionale în operaţii de intrare/ieşire sau în diverse prelucrări se face, de obicei, prin for-uri imbricate, care permit o codificare mult mai compactă decît while sau do - while. Un exemplu, în acest sens, este prezentat în programul În aflarea produsului a două matrice se parcurg următoarele etape: - citirea matricei a; - citirea matricei b; - calcularea produsului c = a. b; - afişarea matricei c. Fiecare etapă se codifică cu ajutorul a două sau trei instrucţiuni for imbricate, în care se folosesc contorii i, j şi k. Pasul de variaţie al contorilor este 1. Acoladele pentru delimitarea blocului unei instrucţiuni for se recomandă numai în situaţiile strict necesare. /* Instructiunea for - produsul a doua matrice */ #define M 2 #define N 2 #define P 3 { int i, j, k; float a[m][n],b[n][p],c[m][p]; printf("\n Introduceti matricea a : \n"); for (i = 0; i < M; ++i) for (j = 0; j < N; ++j) { printf("a( %d,%d)=", i, j); scanf("%f", &a[i][j]); printf("\n\n Introduceti matricea b : \n"); for (i = 0; i < N; ++i) for (j = 0; j < P; ++j) { printf("b( %d,%d)=", i, j); scanf("%f", &b[i][j]); /* Se calculeaza matricea c */ printf("\n\n "); for (i = 0; i < M; ++i) 12

13 for (j = 0; j < P; ++j) { c[i][j] = 0; for (k = 0; k < N; ++k) c[i][j] += a[i][k] * b[k][j]; printf("\n\n Matricea c : "); for (i = 0; i < M; ++i) for (j = 0;j < P; ++j) printf("\nc( %d,%d)=%6.2f", i, j, c[i][j]); getch(); Introduceti matricea a : Introduceti matricea b : a(0,0) = 3. b(0,0) = 1.4 a(0,1) = 4.5 b(0,1) = 17.5 a(1,0) = 7.2 b(0,2) = -2 a(1,1) =7.2 b(1,0) = b(1,1) =.3 b(1,2) = 4. Matricea c : c(0,0) = c(1,0) = c(0,1) = c(1,1) = 2.16 c(0,2) =12.00 c(1,2) = Programul O variantă parametrizată şi mai scurtă se obţine prin introducerea dimensiunilor matricilor factor de la tastatura calculatorului, prin citirea în mod alternativ a acestora, poziţie cu poziţie şi prin scrierea unui element din matricea c imediat ce a fost calculat. /* Instructiunea for - produsul a doua matrice */ #define M 10 #define N 20 #define P 30 { int i, j, k; float a[m][n],b[n][p],c[m][p]; clrscr(); printf("\n Introduceti dimensiunile (m, n si p) : "); scanf("%d%d%d ", &m, &n, &p); printf("\n Introduceti matricele a si b : "); for (i = 0; i < M; ++i) for (j = 0; j < N; ++j) { printf("a( %d,%d) si b( %d,%d ) : ", i, j, i, j); scanf("%f%f ", &a[i][j], &b[i][j]); /* Se calculeaza si se scrie in clar matricea c */ printf("\n\n "); for (i = 0; i < M; ++i) for (j = 0; j < P; ++j) { c[i][j] = 0; for (k = 0; k < N; ++k) c[i][j] += a[i][k] * b[k][j]; printf("\nc( %d,%d)=%6.2f", i, j, c[i][j]); 13

14 getch(); Programul Desigur, pentru rezolvarea acestei probleme se pot scrie şi alte programe, astfel: citirea elementelor matricilor a şi b să se facă în clar şi pe linii de ecran distincte, iniţializarea cu zero a elementelor lui c să preceadă aflarea acesteia sau să se schimbe forma de afişarea a rezultatului. Nu putem încheia instrucţiunea for, fără să accentuăm faptul că aceasta este una dintre cele mai des utilizate din lista instrucţunile de repetare de către creatorii de software în scrierea unor programe scurte, modularizate, structurate, cu enunţuri compacte şi imbricate. 14

Lucrarea de laborator nr. 4

Lucrarea de laborator nr. 4 Metode merice - Lucrarea de laborator 4 Lucrarea de laborator nr. 4 I. Scopul lucrării Elemente de programare în MAPLE II. III. Conţinutul lucrării 1. Atribuirea. Decizia. Structuri repetitive. 2. Proceduri

More information

Titlul lucrării propuse pentru participarea la concursul pe tema securității informatice

Titlul lucrării propuse pentru participarea la concursul pe tema securității informatice Titlul lucrării propuse pentru participarea la concursul pe tema securității informatice "Îmbunătăţirea proceselor şi activităţilor educaţionale în cadrul programelor de licenţă şi masterat în domeniul

More information

Structura și Organizarea Calculatoarelor. Titular: BĂRBULESCU Lucian-Florentin

Structura și Organizarea Calculatoarelor. Titular: BĂRBULESCU Lucian-Florentin Structura și Organizarea Calculatoarelor Titular: BĂRBULESCU Lucian-Florentin Chapter 3 ADUNAREA ȘI SCĂDEREA NUMERELOR BINARE CU SEMN CONȚINUT Adunarea FXP în cod direct Sumator FXP în cod direct Scăderea

More information

Metrici LPR interfatare cu Barix Barionet 50 -

Metrici LPR interfatare cu Barix Barionet 50 - Metrici LPR interfatare cu Barix Barionet 50 - Barionet 50 este un lan controller produs de Barix, care poate fi folosit in combinatie cu Metrici LPR, pentru a deschide bariera atunci cand un numar de

More information

Reflexia şi refracţia luminii. Aplicaţii. Valerica Baban

Reflexia şi refracţia luminii. Aplicaţii. Valerica Baban Reflexia şi refracţia luminii. Aplicaţii. Sumar 1. Indicele de refracţie al unui mediu 2. Reflexia şi refracţia luminii. Legi. 3. Reflexia totală 4. Oglinda plană 5. Reflexia şi refracţia luminii în natură

More information

6. Bucle. 6.1 Instrucţiunea while

6. Bucle. 6.1 Instrucţiunea while 6. Bucle În capitolul trecut am văzut cum putem selecta diferite instrucţiuni pentru execuţie folosind instrucţiunea if. O buclă este o structură de control care provoacă executarea unei instrucţiuni sau

More information

Subiecte Clasa a VI-a

Subiecte Clasa a VI-a (40 de intrebari) Puteti folosi spatiile goale ca ciorna. Nu este de ajuns sa alegeti raspunsul corect pe brosura de subiecte, ele trebuie completate pe foaia de raspuns in dreptul numarului intrebarii

More information

2. Setări configurare acces la o cameră web conectată într-un router ZTE H218N sau H298N

2. Setări configurare acces la o cameră web conectată într-un router ZTE H218N sau H298N Pentru a putea vizualiza imaginile unei camere web IP conectată într-un router ZTE H218N sau H298N, este necesară activarea serviciului Dinamic DNS oferit de RCS&RDS, precum și efectuarea unor setări pe

More information

REVISTA NAŢIONALĂ DE INFORMATICĂ APLICATĂ INFO-PRACTIC

REVISTA NAŢIONALĂ DE INFORMATICĂ APLICATĂ INFO-PRACTIC REVISTA NAŢIONALĂ DE INFORMATICĂ APLICATĂ INFO-PRACTIC Anul II Nr. 7 aprilie 2013 ISSN 2285 6560 Referent ştiinţific Lector univ. dr. Claudiu Ionuţ Popîrlan Facultatea de Ştiinţe Exacte Universitatea din

More information

Versionare - GIT ALIN ZAMFIROIU

Versionare - GIT ALIN ZAMFIROIU Versionare - GIT ALIN ZAMFIROIU Controlul versiunilor - necesitate Caracterul colaborativ al proiectelor; Backup pentru codul scris Istoricul modificarilor Terminologie și concepte VCS Version Control

More information

Procesarea Imaginilor

Procesarea Imaginilor Procesarea Imaginilor Curs 11 Extragerea informańiei 3D prin stereoviziune Principiile Stereoviziunii Pentru observarea lumii reale avem nevoie de informańie 3D Într-o imagine avem doar două dimensiuni

More information

CERERI SELECT PE O TABELA

CERERI SELECT PE O TABELA SQL - 1 CERERI SELECT PE O TABELA 1 STUD MATR NUME AN GRUPA DATAN LOC TUTOR PUNCTAJ CODS ---- ------- -- ------ --------- ---------- ----- ------- ---- 1456 GEORGE 4 1141A 12-MAR-82 BUCURESTI 2890 11 1325

More information

Modalitǎţi de clasificare a datelor cantitative

Modalitǎţi de clasificare a datelor cantitative Modalitǎţi de clasificare a datelor cantitative Modul de stabilire a claselor determinarea pragurilor minime şi maxime ale fiecǎrei clase - determinǎ modul în care sunt atribuite valorile fiecǎrei clase

More information

Studiul elementelor de bază din limbajul C++

Studiul elementelor de bază din limbajul C++ PRELEGERE IV PROGRAMAREA CALCULATOARELOR ŞI LIMBAJE DE PROGRAMARE Studiul elementelor de bază din limbajul C++ I. Tipuri de programare. Structura unui program C++ Pe piaţa mondială a programării, limbajul

More information

MS POWER POINT. s.l.dr.ing.ciprian-bogdan Chirila

MS POWER POINT. s.l.dr.ing.ciprian-bogdan Chirila MS POWER POINT s.l.dr.ing.ciprian-bogdan Chirila chirila@cs.upt.ro http://www.cs.upt.ro/~chirila Pornire PowerPoint Pentru accesarea programului PowerPoint se parcurg următorii paşi: Clic pe butonul de

More information

Dispozitive Electronice şi Electronică Analogică Suport curs 02 Metode de analiză a circuitelor electrice. Divizoare rezistive.

Dispozitive Electronice şi Electronică Analogică Suport curs 02 Metode de analiză a circuitelor electrice. Divizoare rezistive. . egimul de curent continuu de funcţionare al sistemelor electronice În acest regim de funcţionare, valorile mărimilor electrice ale sistemului electronic sunt constante în timp. Aşadar, funcţionarea sistemului

More information

PROGRAMAREA CALCULATOARELOR ŞI LIMBAJE DE PROGRAMARE (IV)

PROGRAMAREA CALCULATOARELOR ŞI LIMBAJE DE PROGRAMARE (IV) PROGRAMAREA CALCULATOARELOR ŞI LIMBAJE DE PROGRAMARE (IV) Instrucţiuni condiţionale Instrucţiunea reprezintă o formă de ramificare a ordinii de execuţie a instrucţiunilor programului. Ramificarea se face

More information

Reţele Neuronale Artificiale în MATLAB

Reţele Neuronale Artificiale în MATLAB Reţele Neuronale Artificiale în MATLAB Programul MATLAB dispune de o colecţie de funcţii şi interfeţe grafice, destinate lucrului cu Reţele Neuronale Artificiale, grupate sub numele de Neural Network Toolbox.

More information

Olimpiad«Estonia, 2003

Olimpiad«Estonia, 2003 Problema s«pt«m nii 128 a) Dintr-o tabl«p«trat«(2n + 1) (2n + 1) se ndep«rteaz«p«tr«telul din centru. Pentru ce valori ale lui n se poate pava suprafata r«mas«cu dale L precum cele din figura de mai jos?

More information

Mulțumim anticipat tuturor acelora care vor transmite critici/observații/sugestii

Mulțumim anticipat tuturor acelora care vor transmite critici/observații/sugestii Mulțumim anticipat tuturor acelora care vor transmite critici/observații/sugestii ilincamircea@yahoo.com TEMA III.1 v1 : ORGANIZAREA DATELOR UNUI PROGRAM C/C++ ÎN MO postat 02.11.2016 (sinteză) Coținutul

More information

Arbori. Figura 1. struct ANOD { int val; ANOD* st; ANOD* dr; }; #include <stdio.h> #include <conio.h> struct ANOD { int val; ANOD* st; ANOD* dr; }

Arbori. Figura 1. struct ANOD { int val; ANOD* st; ANOD* dr; }; #include <stdio.h> #include <conio.h> struct ANOD { int val; ANOD* st; ANOD* dr; } Arbori Arborii, ca şi listele, sunt structuri dinamice. Elementele structurale ale unui arbore sunt noduri şi arce orientate care unesc nodurile. Deci, în fond, un arbore este un graf orientat degenerat.

More information

Semnale şi sisteme. Facultatea de Electronică şi Telecomunicaţii Departamentul de Comunicaţii (TC)

Semnale şi sisteme. Facultatea de Electronică şi Telecomunicaţii Departamentul de Comunicaţii (TC) Semnale şi sisteme Facultatea de Electronică şi Telecomunicaţii Departamentul de Comunicaţii (TC) http://shannon.etc.upt.ro/teaching/ssist/ 1 OBIECTIVELE CURSULUI Disciplina îşi propune să familiarizeze

More information

Metoda BACKTRACKING. prof. Jiduc Gabriel

Metoda BACKTRACKING. prof. Jiduc Gabriel Metoda BACKTRACKING prof. Jiduc Gabriel Un algoritm backtracking este un algoritm de căutare sistematică și exhausivă a tuturor soluțiilor posibile, dintre care se poate alege apoi soluția optimă. Problemele

More information

La fereastra de autentificare trebuie executati urmatorii pasi: 1. Introduceti urmatoarele date: Utilizator: - <numarul dvs de carnet> (ex: "9",

La fereastra de autentificare trebuie executati urmatorii pasi: 1. Introduceti urmatoarele date: Utilizator: - <numarul dvs de carnet> (ex: 9, La fereastra de autentificare trebuie executati urmatorii pasi: 1. Introduceti urmatoarele date: Utilizator: - (ex: "9", "125", 1573" - se va scrie fara ghilimele) Parola: -

More information

Laborator 1. Programare declarativă. Programare logică. Prolog. SWI-Prolog

Laborator 1. Programare declarativă. Programare logică. Prolog. SWI-Prolog Laborator 1 Programare declarativă O paradigmă de programare în care controlul fluxului de execuție este lăsat la latitudinea implementării limbajului, spre deosebire de programarea imperativă în care

More information

GHID DE TERMENI MEDIA

GHID DE TERMENI MEDIA GHID DE TERMENI MEDIA Definitii si explicatii 1. Target Group si Universe Target Group - grupul demografic care a fost identificat ca fiind grupul cheie de consumatori ai unui brand. Toate activitatile

More information

PROIECTAREA ALGORITMILOR

PROIECTAREA ALGORITMILOR Universitatea Constantin Brâncuşi Târgu-Jiu Facultatea de Inginerie Departamentul de Automatică, Energie şi Mediu 3 PROIECTAREA ALGORITMILOR Lect. univ. dr. Adrian Runceanu 1 Curs 3 Alocarea dinamică de

More information

INTEROGĂRI ÎN SQL SERVER

INTEROGĂRI ÎN SQL SERVER INTEROGĂRI ÎN SQL SERVER Principala operaţie efectuată într-o bază de date este operaţia de extragere a datelor, care se realizează cu ajutorul unei clauze SELECT. SELECT Clauza SELECT are o sintaxă foarte

More information

9. Memoria. Procesorul are o memorie cu o arhitectură pe două niveluri pentru memoria de program și de date.

9. Memoria. Procesorul are o memorie cu o arhitectură pe două niveluri pentru memoria de program și de date. 9. Memoria Procesorul are o memorie cu o arhitectură pe două niveluri pentru memoria de program și de date. Primul nivel conține memorie de program cache (L1P) și memorie de date cache (L1D). Al doilea

More information

ARBORI AVL. (denumiti dupa Adelson-Velskii si Landis, 1962)

ARBORI AVL. (denumiti dupa Adelson-Velskii si Landis, 1962) ARBORI AVL (denumiti dupa Adelson-Velskii si Landis, 1962) Georgy Maximovich Adelson-Velsky (Russian: Гео ргий Макси мович Адельсо н- Ве льский; name is sometimes transliterated as Georgii Adelson-Velskii)

More information

Textul si imaginile din acest document sunt licentiate. Codul sursa din acest document este licentiat. Attribution-NonCommercial-NoDerivs CC BY-NC-ND

Textul si imaginile din acest document sunt licentiate. Codul sursa din acest document este licentiat. Attribution-NonCommercial-NoDerivs CC BY-NC-ND Textul si imaginile din acest document sunt licentiate Attribution-NonCommercial-NoDerivs CC BY-NC-ND Codul sursa din acest document este licentiat Public-Domain Esti liber sa distribui acest document

More information

Proiectarea bazelor de date. PL/SQL Înregistrări și Colecții # 13. Adrian Runceanu

Proiectarea bazelor de date. PL/SQL Înregistrări și Colecții # 13. Adrian Runceanu Proiectarea bazelor de date # 13 PL/SQL Înregistrări și Colecții 2016 Adrian Runceanu www.runceanu.ro/adrian Curs 13 Înregistrări și Colecții Proiectarea bazelor de date 2 Înregistrări și Colecții în PL/SQL

More information

D în această ordine a.î. AB 4 cm, AC 10 cm, BD 15cm

D în această ordine a.î. AB 4 cm, AC 10 cm, BD 15cm Preparatory Problems 1Se dau punctele coliniare A, B, C, D în această ordine aî AB 4 cm, AC cm, BD 15cm a) calculați lungimile segmentelor BC, CD, AD b) determinați distanța dintre mijloacele segmentelor

More information

Algoritmi si structuri de date ( ) Informatica Ramnicu Valcea, anul 1

Algoritmi si structuri de date ( ) Informatica Ramnicu Valcea, anul 1 EVALUARE: - lucrare scrisă din partea de Algoritmi (~ în săptămâna a 8-a) => nota1 - lucrare scrisă din partea de Structuri de date (în sesiunea de iarnă) => nota2 - teme pentru acasă Nota finală (calculată

More information

Mecanismul de decontare a cererilor de plata

Mecanismul de decontare a cererilor de plata Mecanismul de decontare a cererilor de plata Autoritatea de Management pentru Programul Operaţional Sectorial Creşterea Competitivităţii Economice (POS CCE) Ministerul Fondurilor Europene - Iunie - iulie

More information

Nume şi Apelativ prenume Adresa Număr telefon Tip cont Dobânda Monetar iniţial final

Nume şi Apelativ prenume Adresa Număr telefon  Tip cont Dobânda Monetar iniţial final Enunt si descriere aplicatie. Se presupune ca o organizatie (firma, banca, etc.) trebuie sa trimita scrisori prin posta unui numar (n=500, 900,...) foarte mare de clienti pe care sa -i informeze cu diverse

More information

Aspecte controversate în Procedura Insolvenţei şi posibile soluţii

Aspecte controversate în Procedura Insolvenţei şi posibile soluţii www.pwc.com/ro Aspecte controversate în Procedura Insolvenţei şi posibile soluţii 1 Perioada de observaţie - Vânzarea de stocuri aduse în garanţie, în cursul normal al activității - Tratamentul leasingului

More information

Auditul financiar la IMM-uri: de la limitare la oportunitate

Auditul financiar la IMM-uri: de la limitare la oportunitate Auditul financiar la IMM-uri: de la limitare la oportunitate 3 noiembrie 2017 Clemente Kiss KPMG in Romania Agenda Ce este un audit la un IMM? Comparatie: audit/revizuire/compilare Diferente: audit/revizuire/compilare

More information

INFORMAȚII DESPRE PRODUS. FLEXIMARK Stainless steel FCC. Informații Included in FLEXIMARK sample bag (article no. M )

INFORMAȚII DESPRE PRODUS. FLEXIMARK Stainless steel FCC. Informații Included in FLEXIMARK sample bag (article no. M ) FLEXIMARK FCC din oțel inoxidabil este un sistem de marcare personalizată în relief pentru cabluri și componente, pentru medii dure, fiind rezistent la acizi și la coroziune. Informații Included in FLEXIMARK

More information

Updating the Nomographical Diagrams for Dimensioning the Concrete Slabs

Updating the Nomographical Diagrams for Dimensioning the Concrete Slabs Acta Technica Napocensis: Civil Engineering & Architecture Vol. 57, No. 1 (2014) Journal homepage: http://constructii.utcluj.ro/actacivileng Updating the Nomographical Diagrams for Dimensioning the Concrete

More information

6. Excepţii şi aserţiuni. 6. Excepţii şi aserţiuni

6. Excepţii şi aserţiuni. 6. Excepţii şi aserţiuni 6. Excepţii şi aserţiuni 1 6. Excepţii şi aserţiuni Tipuri excepţii Clauza throws Generarea excepţiilor Clauzele try, catch şi finally Recomandări pentru utilizarea excepţiilor Aserţiuni 2 Introducere

More information

The First TST for the JBMO Satu Mare, April 6, 2018

The First TST for the JBMO Satu Mare, April 6, 2018 The First TST for the JBMO Satu Mare, April 6, 08 Problem. Prove that the equation x +y +z = x+y +z + has no rational solutions. Solution. The equation can be written equivalently (x ) + (y ) + (z ) =

More information

3.2 Arhitectura setului de instrucţiuni ISA. Copyright Paul GASNER

3.2 Arhitectura setului de instrucţiuni ISA. Copyright Paul GASNER 3.2 Arhitectura setului de instrucţiuni ISA Copyright Paul GASNER Programarea CPU Programele scrise în limbaje de nivel înalt trebuie compilate pentru a obţine un program executabil Din punctul de vedere

More information

CERERI SELECT PE MAI MULTE TABELE

CERERI SELECT PE MAI MULTE TABELE SQL - 2 CERERI SELECT PE MAI MULTE TABELE 1 STUD MATR NUME AN GRUPA DATAN LOC TUTOR PUNCTAJ CODS ---- ------- -- ------ --------- ---------- ----- ------- ---- 1456 GEORGE 4 1141A 12-MAR-82 BUCURESTI 2890

More information

Ghid identificare versiune AWP, instalare AWP şi verificare importare certificat în Store-ul de Windows

Ghid identificare versiune AWP, instalare AWP şi verificare importare certificat în Store-ul de Windows Ghid identificare versiune AWP, instalare AWP 4.5.4 şi verificare importare certificat în Store-ul de Windows Data: 28.11.14 Versiune: V1.1 Nume fişiser: Ghid identificare versiune AWP, instalare AWP 4-5-4

More information

Tratarea excepţiilor

Tratarea excepţiilor Lucrarea 6 Tratarea excepţiilor Cuprins Tratarea clasică a excepţiilor...1 Mecanismul de emitere-captare a excepţiilor...3 Instrucţiunea throw...5 Clauza throws...5 Care tipuri de excepţie vor apărea într-o

More information

Programare în limbaj de asamblare 16. Formatul instrucţiunilor (codificare, moduri de adresare).

Programare în limbaj de asamblare 16. Formatul instrucţiunilor (codificare, moduri de adresare). Platformă de e-learning și curriculă e-content pentru învățământul superior tehnic Programare în limbaj de asamblare 16. Formatul instrucţiunilor (codificare, moduri de adresare). Formatul instrucţiunilor

More information

Curs 5. Programare Delphi

Curs 5. Programare Delphi Programare Delphi Curs 5 Elementele de bază ale limbajului Delphi (III). A. Declaraţii şi instrucţiuni http://docwiki.embarcadero.com/radstudio/en/declarations_and_statements Un program Pascal constă dintr-o

More information

CAIETUL DE SARCINI Organizare evenimente. VS/2014/0442 Euro network supporting innovation for green jobs GREENET

CAIETUL DE SARCINI Organizare evenimente. VS/2014/0442 Euro network supporting innovation for green jobs GREENET CAIETUL DE SARCINI Organizare evenimente VS/2014/0442 Euro network supporting innovation for green jobs GREENET Str. Dem. I. Dobrescu, nr. 2-4, Sector 1, CAIET DE SARCINI Obiectul licitaţiei: Kick off,

More information

Metoda de programare BACKTRACKING

Metoda de programare BACKTRACKING Metoda de programare BACKTRACKING Sumar 1. Competenţe............................................ 3 2. Descrierea generală a metodei............................. 4 3......................... 7 4. Probleme..............................................

More information

R O M Â N I A CURTEA CONSTITUŢIONALĂ

R O M Â N I A CURTEA CONSTITUŢIONALĂ R O M Â N I A CURTEA CONSTITUŢIONALĂ Palatul Parlamentului Calea 13 Septembrie nr. 2, Intrarea B1, Sectorul 5, 050725 Bucureşti, România Telefon: (+40-21) 312 34 84; 335 62 09 Fax: (+40-21) 312 43 59;

More information

Baze de date distribuite și mobile

Baze de date distribuite și mobile Universitatea Constantin Brâncuşi din Târgu-Jiu Facultatea de Inginerie Departamentul de Automatică, Energie şi Mediu Baze de date distribuite și mobile Lect.dr. Adrian Runceanu Curs 3 Model fizic şi model

More information

Propuneri pentru teme de licență

Propuneri pentru teme de licență Propuneri pentru teme de licență Departament Automatizări Eaton România Instalație de pompare cu rotire în funcție de timpul de funcționare Tablou electric cu 1 pompă pilot + 3 pompe mari, cu rotirea lor

More information

Macrocomenzi. Figura 1. Personalizarea barei de meniuri. Se va afișa fereastra din figura 2. Figura 2. Includerea tab ului Developer.

Macrocomenzi. Figura 1. Personalizarea barei de meniuri. Se va afișa fereastra din figura 2. Figura 2. Includerea tab ului Developer. Macrocomenzi Macrocomenzile (sau, prescurtat macrou rile) sunt colecții de comenzi înregistrate pentru a putea fi lansate în execuție, în bloc, ori de câte ori va fi nevoie. Avantajul lucrului cu macro

More information

Platformă de e-learning și curriculă e-content pentru învățământul superior tehnic

Platformă de e-learning și curriculă e-content pentru învățământul superior tehnic Platformă de e-learning și curriculă e-content pentru învățământul superior tehnic Proiect nr. 154/323 cod SMIS 4428 cofinanțat de prin Fondul European de Dezvoltare Regională Investiții pentru viitorul

More information

Colegiul Național Calistrat Hogaș Piatra-Neamț LIMBAJUL SQL

Colegiul Național Calistrat Hogaș Piatra-Neamț LIMBAJUL SQL LIMBAJUL SQL Prezentare generală SQL (Structured Query Language) este în prezent, unul din cele mai puternice limbaje structurate pentru interogarea bazelor de date relaţionale. Este un limbaj neprocedural

More information

X-Fit S Manual de utilizare

X-Fit S Manual de utilizare X-Fit S Manual de utilizare Compatibilitate Acest produs este compatibil doar cu dispozitivele ce au următoarele specificații: ios: Versiune 7.0 sau mai nouă, Bluetooth 4.0 Android: Versiune 4.3 sau mai

More information

Interogarea (query), este operaţia prin care se obţin datele

Interogarea (query), este operaţia prin care se obţin datele CAPITOLUL 3 INTEROGAREA BAZELOR DE DATE Interogarea (query), este operaţia prin care se obţin datele dorite dintr-o bază de date, selectate conform unui anumit criteriu (condiţie). Întrucât operaţia de

More information

Constructii sintetizabile in verilog

Constructii sintetizabile in verilog Constructii sintetizabile in verilog Introducere Programele verilog se împart în două categorii: cod pentru simulare și cod sintetizabil. Codul scris pentru simulare (testul) nu este sintetizabil. Codul

More information

Managementul referinţelor cu

Managementul referinţelor cu TUTORIALE DE CULTURA INFORMAŢIEI Citarea surselor de informare cu instrumente software Managementul referinţelor cu Bibliotecar Lenuţa Ursachi PE SCURT Este gratuit Poţi adăuga fişiere PDF Poţi organiza,

More information

KAJOT V.RO BLACK PLANET JOC DE NOROC CU RISC LIMITAT

KAJOT V.RO BLACK PLANET JOC DE NOROC CU RISC LIMITAT KAJOT V.RO BLACK PLANET JOC DE NOROC CU RISC LIMITAT România CONTINE URMATOARELE JOCURI: AFRICAN WILD DIAMONDS CHERRY KISS WILD LADY JOKER BAR REELS OF RA RETRO WHEELS ROUTE 81 SIMPLY GOLD XXL SIMPLY 6

More information

Capitolul 4 SUBCERERI. F. Radulescu. Curs: Baze de date - Limbajul SQL

Capitolul 4 SUBCERERI. F. Radulescu. Curs: Baze de date - Limbajul SQL Capitolul 4 SUBCERERI 1 STUD MATR NUME AN GRUPA DATAN LOC TUTOR PUNCTAJ CODS ---- ------- -- ------ --------- ---------- ----- ------- ---- 1456 GEORGE 4 1141A 12-MAR-82 BUCURESTI 2890 11 1325 VASILE 2

More information

2. SCHEME LOGICE ŞI PSEUDOCOD

2. SCHEME LOGICE ŞI PSEUDOCOD REPREZENTRE LGORITMILOR PRIN PSEUDOCOD 2. SCHEME LOGICE ŞI PSEUDOCOD 2.1 Reprezentarea algoritmilor prin scheme logice Primitivele utilizate în schemele logice sunt simboluri grafice, cu funcţiuni (reprezentând

More information

Candlesticks. 14 Martie Lector : Alexandru Preda, CFTe

Candlesticks. 14 Martie Lector : Alexandru Preda, CFTe Candlesticks 14 Martie 2013 Lector : Alexandru Preda, CFTe Istorie Munehisa Homma - (1724-1803) Ojima Rice Market in Osaka 1710 devine si piata futures Parintele candlesticks Samurai In 1755 a scris The

More information

:= 950; BEGIN DELETE FROM

:= 950; BEGIN DELETE FROM Cursori în PLSQL La fiecare execuţie a unei instrucţiuni SQL serverul Oracle deschide o zonă de memorie în care este analizată şi executată instrucţiunea. Această zonă de memorie se numeşte cursor. Există

More information

Platformă de e-learning și curriculă e-content pentru învățământul superior tehnic

Platformă de e-learning și curriculă e-content pentru învățământul superior tehnic Platformă de e-learning și curriculă e-content pentru învățământul superior tehnic Proiect nr. 154/323 cod SMIS 4428 cofinanțat de prin Fondul European de Dezvoltare Regională Investiții pentru viitorul

More information

În continuare vom prezenta unele dintre problemele de calcul ale numerelor Fibonacci.

În continuare vom prezenta unele dintre problemele de calcul ale numerelor Fibonacci. O condiţie necesară şi suficientă ca un număr să fie număr Fibonacci Autor: prof. Staicu Ovidiu Ninel Colegiul Economic Petre S. Aurelian Slatina, jud. Olt 1. Introducere Propuse de Leonardo Pisa în 1202,

More information

MODELUL UNUI COMUTATOR STATIC DE SURSE DE ENERGIE ELECTRICĂ FĂRĂ ÎNTRERUPEREA ALIMENTĂRII SARCINII

MODELUL UNUI COMUTATOR STATIC DE SURSE DE ENERGIE ELECTRICĂ FĂRĂ ÎNTRERUPEREA ALIMENTĂRII SARCINII MODELUL UNUI COMUTATOR STATIC DE SURSE DE ENERGIE ELECTRICĂ FĂRĂ ÎNTRERUPEREA ALIMENTĂRII SARCINII Adrian Mugur SIMIONESCU MODEL OF A STATIC SWITCH FOR ELECTRICAL SOURCES WITHOUT INTERRUPTIONS IN LOAD

More information

TIPURI DE DATE SIMPLE

TIPURI DE DATE SIMPLE TIPURI DE DATE SIMPLE 1.Care va fi valoarea variabilelor x şi y după executarea secvenţei de atribuiri care urmează? X:= 1 ; y:= 2 ; x:=x+x; y:=x+y; y:=y+x; 2.Selectaţi expresiile scrise corect si indicaţi-le

More information

Update firmware aparat foto

Update firmware aparat foto Update firmware aparat foto Mulţumim că aţi ales un produs Nikon. Acest ghid descrie cum să efectuaţi acest update de firmware. Dacă nu aveţi încredere că puteţi realiza acest update cu succes, acesta

More information

Laborator 2. Definirea tablourilor şi a funcţiilor (în linia de comandă) în Matlab 7.0

Laborator 2. Definirea tablourilor şi a funcţiilor (în linia de comandă) în Matlab 7.0 Laborator Definirea tablourilor şi a funcţiilor (în linia de comandă) în Matlab 70 Bibliografie 1 NH Bingham, John M Fry, Regression Linear Models in Statistics, Springer, New York, 010 M Ghinea, V Fireţeanu,

More information

Lucrare de laborator nr. 6 Modelarea structurală ordonată şi modelarea comportamentală în VHDL

Lucrare de laborator nr. 6 Modelarea structurală ordonată şi modelarea comportamentală în VHDL Lucrare de laborator nr. 6 Modelarea structurală ordonată şi modelarea comportamentală în VHDL 1. Scopul lucrării Însuşirea principiilor pentru descrierea circuitelor cu structură ordonată de componente

More information

Funcţii grup şi clauzele GROUP BY, HAVING. Operatorii ROLLUP şi CUBE.

Funcţii grup şi clauzele GROUP BY, HAVING. Operatorii ROLLUP şi CUBE. Baze de date-anul 2 Laborator 4 SQL Funcţii grup şi clauzele GROUP BY, HAVING. Operatorii ROLLUP şi CUBE. I. [Funcţii grup şi clauza GROUP BY] Clauza GROUP BY este utilizată pentru a diviza liniile unui

More information

Laborator 07. Procesorul MIPS versiune pe 16 biți, cu un ciclu de ceas pe instrucțiune

Laborator 07. Procesorul MIPS versiune pe 16 biți, cu un ciclu de ceas pe instrucțiune Laborator 07 Procesorul MIPS versiune pe 16 biți, cu un ciclu de ceas pe instrucțiune Unitatea de Instruction Execute EX / Unitatea de Memorie MEM / Unitatea Write-Back WB 0. Resurse minimale necesare!

More information

Excel Advanced. Curriculum. Școala Informală de IT. Educație Informală S.A.

Excel Advanced. Curriculum. Școala Informală de IT. Educație Informală S.A. Excel Advanced Curriculum Școala Informală de IT Tel: +4.0744.679.530 Web: www.scoalainformala.ro / www.informalschool.com E-mail: info@scoalainformala.ro Cuprins 1. Funcții Excel pentru avansați 2. Alte

More information

Vizualizarea documentelor xml

Vizualizarea documentelor xml Vizualizarea documentelor xml Fără un fişier de stil asociat: browserul vizualizează conținutul documentului xml, cu posibilitatea de a vedea/ascunde descendenții unui nod din structura arborescentă Exemplu:

More information

Managementul Proiectelor Software Metode de dezvoltare

Managementul Proiectelor Software Metode de dezvoltare Platformă de e-learning și curriculă e-content pentru învățământul superior tehnic Managementul Proiectelor Software Metode de dezvoltare 2 Metode structurate (inclusiv metodele OO) O mulțime de pași și

More information

Capitolul IV. Programarea în limbajul C

Capitolul IV. Programarea în limbajul C Capitolul IV. Programarea în limbajul C 1. Scurt istoric Părintele limbajului C este Dennis Ritchie (Bell Laboratories) Limbajul a fost proiectat în 1972 pentru implementarea unui sistem de operare pentru

More information

3. Limbajul Pascal : elementele limbajului, structura programelor, tipuri simple de date.

3. Limbajul Pascal : elementele limbajului, structura programelor, tipuri simple de date. 3. Limbajul Pascal : elementele limbajului, structura programelor, tipuri simple de date. Cu toate c limbajul Pascal a fost conceput pentru înv area program rii, el este folosit ast zi la rezolvarea celor

More information

Ghid de utilizare Modul CI+

Ghid de utilizare Modul CI+ Ghid de utilizare Modul CI+ www.orange.md Introducere Vă mulțumim că aţi ales modulul CI+. Acesta funcționează împreună cu televizorul Dvs. și vă ajută să vedeți conținutul oferit în cadrul pachetului

More information

Mods euro truck simulator 2 harta romaniei by elyxir. Mods euro truck simulator 2 harta romaniei by elyxir.zip

Mods euro truck simulator 2 harta romaniei by elyxir. Mods euro truck simulator 2 harta romaniei by elyxir.zip Mods euro truck simulator 2 harta romaniei by elyxir Mods euro truck simulator 2 harta romaniei by elyxir.zip 26/07/2015 Download mods euro truck simulator 2 harta Harta Romaniei pentru Euro Truck Simulator

More information

Itemi Sisteme de Operare

Itemi Sisteme de Operare Itemi Sisteme de Operare 1. Pentru a muta un dosar (folder) de pe partiţia C: pe partiţia D: folosim: a. New Folder b. Ctrl + C din bara de instrumente şi Copy; c. Ctrl + X şi Ctrl + V; d. Edit Paste;

More information

ISBN-13:

ISBN-13: Regresii liniare 2.Liniarizarea expresiilor neliniare (Steven C. Chapra, Applied Numerical Methods with MATLAB for Engineers and Scientists, 3rd ed, ISBN-13:978-0-07-340110-2 ) Există cazuri în care aproximarea

More information

SISTEME DE CALCUL. LIMBAJ DE ASAMBLARE. SIMULATORUL QTSPIM UAL DPE. Fig.1. Structura unui sistem de calcul

SISTEME DE CALCUL. LIMBAJ DE ASAMBLARE. SIMULATORUL QTSPIM UAL DPE. Fig.1. Structura unui sistem de calcul SISTEME DE CALCUL. LIMBAJ DE ASAMBLARE. SIMULATORUL QTSPIM I. Sisteme de calcul 1. Arhitectura generală a unui sistem de calcul DPI UCC MEM Canale I/E DPI/E, MEM externe UAL DPE UCP UC Fig.1. Structura

More information

SISTEME DE CALCUL. LIMBAJ DE ASAMBLARE. SIMULATORUL PCSPIM UAL DPE. Fig.1. Structura unui sistem de calcul

SISTEME DE CALCUL. LIMBAJ DE ASAMBLARE. SIMULATORUL PCSPIM UAL DPE. Fig.1. Structura unui sistem de calcul SISTEME DE CALCUL. LIMBAJ DE ASAMBLARE. SIMULATORUL PCSPIM I. Sisteme de calcul 1. Arhitectura generală a unui sistem de calcul DPI UCC MEM Canale I/E DPI/E, MEM externe UAL DPE UCP UC Fig.1. Structura

More information

Seminar 3 ASC MIR Operatii pe biti Operatii cu siruri

Seminar 3 ASC MIR Operatii pe biti Operatii cu siruri Seminar 3 ASC MIR Operatii pe biti Operatii cu siruri 1. Operatii logice pe biti Sintaxa Efect AND dest, sursă dest = dest AND sursă - operanzii sursă şi destinaţie trebuie să aibă ambii aceeaşi dimensiune

More information

Știinţa, Ministerul Educaţiei al Republicii Moldova

Știinţa, Ministerul Educaţiei al Republicii Moldova Știinţa, 2014 Ministerul Educaţiei al Republicii Moldova CZU 004(075.3) G 80 Elaborat conform curriculumului disciplinar în vigoare și aprobat prin Ordinul ministrului educaţiei al Republicii Moldova (nr.

More information

Ierarhia memoriilor Tipuri de memorii Memorii semiconductoare Memoria cu unități multiple. Memoria cache Memoria virtuală

Ierarhia memoriilor Tipuri de memorii Memorii semiconductoare Memoria cu unități multiple. Memoria cache Memoria virtuală Ierarhia memoriilor Tipuri de memorii Memorii semiconductoare Memoria cu unități multiple Memoria cache Memoria virtuală 1 Memorii RAM: datele sunt identificate cu ajutorul unor adrese unice Memorii asociative:

More information

Grafuri bipartite. Lecție de probă, informatică clasa a XI-a. Mihai Bărbulescu Facultatea de Automatică și Calculatoare, UPB

Grafuri bipartite. Lecție de probă, informatică clasa a XI-a. Mihai Bărbulescu Facultatea de Automatică și Calculatoare, UPB Grafuri bipartite Lecție de probă, informatică clasa a XI-a Mihai Bărbulescu b12mihai@gmail.com Facultatea de Automatică și Calculatoare, UPB Colegiul Național de Informatică Tudor Vianu București 27 februarie

More information

Ghid de utilizare a Calculatorului valorii U

Ghid de utilizare a Calculatorului valorii U Ghid de utilizare a Calculatorului valorii U la Apelul de Propuneri de Proiecte Nr.3 pentru Instituțiile din Sectorul Public pentru investiții în Eficiență Energetică și Surse de Energie Regenerabilă Versiunea

More information

ARHITECTURA SISTEMELOR DE CALCUL ŞI SISTEME DE OPERARE. LUCRĂRILE DE LABORATOR Nr. 6, 7 şi 8 REPREZENTAREA INFORMAŢIILOR NUMERICE ÎNTREGI ŞI REALE.

ARHITECTURA SISTEMELOR DE CALCUL ŞI SISTEME DE OPERARE. LUCRĂRILE DE LABORATOR Nr. 6, 7 şi 8 REPREZENTAREA INFORMAŢIILOR NUMERICE ÎNTREGI ŞI REALE. ARHITECTURA SISTEMELOR DE CALCUL ŞI SISTEME DE OPERARE LUCRĂRILE DE LABORATOR Nr. 6, 7 şi 8 REPREZENTAREA INFORMAŢIILOR NUMERICE ÎNTREGI ŞI REALE. I. SCOPUL LUCRĂRILOR Lucrările prezintă reprezentarea

More information

Ce pot face pe hi5? Organizare si facilitati. Pagina de Home

Ce pot face pe hi5? Organizare si facilitati. Pagina de Home Ce este Hi5!? hi5 este un website social care, în decursul anului 2007, a fost unul din cele 25 cele mai vizitate site-uri de pe Internet. Compania a fost fondată în 2003 iar pana in anul 2007 a ajuns

More information

Ghid pentru configurarea şi utilizarea aplicaţiei clicksign Demo

Ghid pentru configurarea şi utilizarea aplicaţiei clicksign Demo Ghid pentru configurarea şi utilizarea aplicaţiei clicksign Demo 2.6.9.223 Cuprins 1 Cadru general...2 2 Obţinerea unui certificat digital...3 3 Configurarea aplicaţiei clicksign...5 4 Utilizarea aplicaţiei

More information

5.3 OSCILATOARE SINUSOIDALE

5.3 OSCILATOARE SINUSOIDALE 5.3 OSCILATOARE SINUSOIDALE 5.3.1. GENERALITĂŢI Oscilatoarele sunt circuite electronice care generează la ieşire o formă de undă repetitivă, cu frecvenţă proprie, fără a fi necesar un semnal de intrare

More information

EN teava vopsita cu capete canelate tip VICTAULIC

EN teava vopsita cu capete canelate tip VICTAULIC ArcelorMittal Tubular Products Iasi SA EN 10217-1 teava vopsita cu capete canelate tip VICTAULIC Page 1 ( 4 ) 1. Scop Documentul specifica cerintele tehnice de livrare pentru tevi EN 10217-1 cu capete

More information

Lucrarea Nr.1. Sisteme de operare. Generalitati

Lucrarea Nr.1. Sisteme de operare. Generalitati Lucrarea Nr.1 Sisteme de operare. Generalitati Scopul lucrarii Lucrarea îsi propune familiarizarea studentilor cu sistemele de operare disponibile în laborator, respectiv acele sisteme de operare cu ajutorul

More information

Platformă de e-learning și curriculă e-content pentru învățământul superior tehnic

Platformă de e-learning și curriculă e-content pentru învățământul superior tehnic Platformă de e-learning și curriculă e-content pentru învățământul superior tehnic Proiect nr. 154/323 cod SMIS 4428 cofinanțat de prin Fondul European de Dezvoltare Regională Investiții pentru viitorul

More information

Tema 1 - Transferuri de date DMA intr-o arhitectura de tip Cell

Tema 1 - Transferuri de date DMA intr-o arhitectura de tip Cell Tema 1 - Transferuri de date DMA intr-o arhitectura de tip Cell Termen de trimitere a temei: Luni, 31 martie 2008, ora 23:55 1. Specificatii functionale O arhitectura de tip Cell consta din urmatoarele

More information

Capitolul 10. Şiruri de caractere *)

Capitolul 10. Şiruri de caractere *) Şiruri de caractere *)! Operaţii cu variabile de tip string! Subprograme predefinite pentru string-uri! Implementări sugerate! Probleme propuse! Soluţiile problemelor Capitolul 10 Tipul şir de caractere

More information

Limbajul VHDL. Circuite integrate numerice. Limbajul VHDL

Limbajul VHDL. Circuite integrate numerice. Limbajul VHDL Limbajul VHDL VHDL este unul dintre limbajele standard folosite în industrie la ora actuală, pentru a descrie sistemele numerice. VHDL înseamnă VHSIC (Very High Speed Integrated Circuits) Hardware Description

More information