Mediul de programare C/C++ (Versiunea Borland C++ 3.1)

Size: px
Start display at page:

Download "Mediul de programare C/C++ (Versiunea Borland C++ 3.1)"

Transcription

1 Mediul de programare C/C++ (Versiunea Borland C++ 3.1) Fişierul program al mediului de programare Borland C++ este bc.e.xe (format executabil). Pentru SC din laborator calea pentru acest fişier este: C:\Borlandc\Bin\bc.exe. Dacă SC este configurat adecvat, fişierul bc.exe se poate lansa în execuţie indiferent de poziţia indicată de promptul SO. Ex. C:\>bc.exe ( Enter) Execuţia programului conţinut de fişierul bc.exe se caracterizează prin afişarea următoarelor informaţii: - bara de meniuri prin care se activează pachete de comenzi; - fereastra program; - bara comenzilor care pot fi activate direct. Bara de meniuri se activează cu tasta F10. Cele mai importante pachete de comenzi ale barei de meniuri sunt prezentate in Tabelul 1.Închiderea ferestrelor de comenzi se face acţionând tasta Esc. Dacă sistemul dispune de suficientă MO devine posibilă deschiderea simultană a mai multor ferestre program dar numai una singură dintre acestea poate fi însă activă. Activarea ferestrei cu numărul de ordine n se face acţionând tastele Alt + n. Fereastra program are 24 de linii (numerotate 1-24) şi 80 de coloane (1-80). Este admisă modificarea acestor limite. Tabelul 1 Submeniul Comanda Tasta de Efectul interpretării 111 activare Turbo Debugger - - lansarea în execuţie a programului Turbo Debugger File New - - deschide o nouă "fereastră program" Open F3 - deschide o nouă fereastră program si transferă din ME > MO fişierul sursă dorit Save as - - transferă în ME, sub formă de fişier.cpp programul din fereastra program Quit Alt + x - revenirea sub controlul SO 1

2 Run Run Ctrl + F9 - lansează în execuţie programul din fereastra program curentă Trace into F7 - determină execuţia "pas cu pas" a programului sursă Compile Compile F9 sau Alt +F9 - determină operaţia de compilare a programului sursă înscris în fereastra curentă Debug Watches Ctrl+F7 - determină afişarea unei subferestre în care se precizează numele variabilelor afişate la execuţia "pas cu pas" Options Directories - afişează subfereastra de dialog în care se înscriu numele directoarelor unde urmează să se salveze: fişierele sursă (Source Directories) respectiv fişierele executabile (Output Directory). Windows Close - închide fereastra program activă Close all Alt + F3 - închide toate ferestrele program Help Index Shift + F1 - afişează în ordine alfabetică dicţionarul (cuvintele cheie) ale mediului C/C++ Realizarea unui program C/C Etapele rezolvării unei probleme Rezolvarea unei probleme cu ajutorul unui SC presupune parcurgerea următoarelor etape: a) Formularea problemei şi precizarea datelor iniţiale şi a parametrilor care trebuiesc calculati. În aceasta etapa se aleg identificatorii (denumirile) pentru variabile (parametrii) problemei. De asemenea se precizează care sunt datele care pot fi considerate întotdeauna constante şi care sunt elementele variabile. În funcţie de datele variabile se pot alcătui variantele de rezolvare a problemei date. b) Stabilirea modelului matematic - respectiv relaţiile de calcul pentru fiecare parametru (variabilă) a cărei valoare trebuie determinată (calculată). De asemenea, dacă este cazul, se aleg unităţile de măsură în care se vor exprima datele problemei. c) Alcătuirea algoritmului presupune reprezentarea ordonată a operaţiilor care trebuiesc parcurse pentru obţinerea soluţiei problemei. Algoritmul cuprinde modelul matematic completat cu operaţiile de introducere a datelor iniţiale, afişare a rezultatelor, verificare a unor relaţii de condiţie etc. (vezi şi Lucrarea de laborator nr.3-algoritmi). d) Verificarea algoritmului se face prin alegerea unor seturi reprezentative pentru datele de intrare şi parcurgerea etapelor de calcul care îl alcătuiesc. e) întocmirea programului de calcul presupune codificarea algoritmului după regulile unui limbaj de programare (C/C++, Pascal, etc). Programul este constituit dintr-o succesiune ordonată, bine definită de instrucţiuni (comenzi). f) Executarea programului implică: introducerea instrucţiunilor în MO, compilarea, link -editarea şi executarea propriu-zisă. Parcurgerea fiecărei etape este posibilă numai după încheierea cu "succes" a aceleia precedente. g) Verificarea rezultatelor prin: 2

3 - compararea valorilor obţinute cu cele determinate la punctul d; - alegerea convenabilă a mai multor seturi de date iniţiale (de intrare) în aşa fel încât să fie parcurse toate secţiunile programului. Erori în executarea unui program a) Compilarea este etapa în care instrucţiunile programului sunt interpretate sintactic şi semantic. Pentru erorile găsite se precizează locul acestora în program şi un mesaj explicativ privind cauza respectivelor erori. în etapa de compilare fiecare modul (funcţie) a programului este prelucrată distinct. Totodată în această etapă programul este completat, dacă este necesar, cu bibliotecile de programe cerute de utilizator. Compilarea este declanşată prin acţionarea tastei F9 (Compile). Încheierea fără erori a etapei de compilare este anunţată prin afişarea mesajului "Success : Press any key". Totodată fişierul executabil este depus în subdirectorul indicat prin comanda Directories (.Output Directory). Realizarea separată a compilării este avantajoasă în etapa iniţială de alcătuire şi testare a programului, adică atunci când se caută găsirea celei mai adecvate forme de codificare a algoritmului şi eliminarea erorilor de sintaxă. b) Link -editarea nu este ca o operaţie comandată distinct. în această etapă modulele programului sunt asamblate într-un program unitar - programul executabil. Acesta este salvat automat, în directorul indicat prin comanda Directories, sub forma unui fişier executabil. c) Executarea unui program este determinată de comanda Run (Ctrl + F9). Această comandă determină parcurgerea compactă a tuturor etapelor de prelucrare: compilare, link -editare şi executare. În timpul executării SC părăseşte fereastra program şi îşi deschide o "fereastra de lucru". în cuprinsul acesteia se vor afişa toate valorile variabilelor indicate în program în instrucţiunile de afişaj. Dacă toate instrucţiunile s-au putut executa, SC revine automat la fereastra program. Comutarea între ferestrele program şi de lucru se face cu comanda "User screen" (Alt + F5). Erorile de executare determină abandonarea prelucrării şi afişarea unui mesaj explicativ fără a se putea indica instrucţiunea care a declanşat eroarea. Aceasta nu poate fi indicată deoarece, în etapa de executare SC nu mai poate face apel la formatul sursă al programului. Aceste erori sunt o consecinţă a imposibilităţii executării unei instrucţiuni (de ex. încercarea de efectuare a unei operaţii de împărţire pentru care împărţitorul este zero). 3

4 Structura unui program C/C++ Spre deosebire de alte limbaje, în C/C++ programele sunt alcătuite numai din funcţii. Deşi nu există un "program" principal distinct(cum este cazul pentru limbajul Pascal), în C /C++ programele conţin obligatoriu o funcţie principală: maia Cele mai des folosite modulele în alcătuirea programelor C/C++ sunt: - funcţii predefinite în limbaj (dacă sunt necesare); - funcţii definite de utilizator; - funcţia main. Structura principală a instrucţiunilor pentru un program care nu include funcţii definite de utilizator este următoarea : #include <stdio.h>// directive pentru introducerea fişierelor care conţin funcţii #include <conio.h> // referitoare la operaţiile de citire şi afişare void main() // linia de definire a funcţiei principale { // deschiderea corpului funcţiei... // zona de declarare a variabilelor clrscr(); // funcţia de ştergere a ecranului scanf(...); // instrucţiuni de citire a datelor iniţiale printf(.); // instrucţiuni de afişare a datelor citite ECOUL // instrucţiuni de calcul printf(.); // instrucţiuni de afişare a rezultatelor getch(); // funcţia pentru menţinerea "ferestrei de lucru" } // închiderea corpului funcţiei Prin caracterele // se marchează în program comentariile. Acestea nu sunt interpretate de către SC. Declararea constantelor şi a variabilelor În cele ce urmează se vor face referiri la tipurile de date simple, pentru care s-a precizat modul de reprezentare internă.constantele reprezintă date care nu pot fi modificate şi sunt introduse într-un program C/C++ în două moduri: - direct prin valoare sau - prin identificatori. Definirea, directă a constantelor se face chiar in instructiunea in care acestea sunt folosite. Pentru aceste date nu se rezervă locaţii distincte în MO. Ex. x = x + 6; unde; - x este o variabilă; 6 este o constantă numerică. Folosirea unor identificatori pentru constante este recomandată numai în cazul valorilor care sunt des referite în program. Aceste constante se introduc prin instrucţiuni distincte. Ex. const x = 7; const y = 'A'; Evident, în respectivul program nu este admisă modificarea lui x sau y. Deci, conţinutul locaţiilor MO rezervate pentru x sau y, şi care sunt recunoscute după 4

5 respectivul identificator, nu poate fi modificat. Variabilele corespund mărimilor care se modifică în program, deci în locaţiile atribuite variabilelor se pot înscrie succesiv diferite valori. Evident, aceasta implică înlocuirea (pierderea) valorilor anterioare. Utilizarea variabilelor într-un program implică două etape distincte: - rezervarea unei locaţii (declararea) şi - înscrierea/citirea valorilor atribuite respectivelor variabile. După cum s-a menţionat, pentru SC locaţia este definită prin adresa primului ei octet. Există două posibilităţi de rezervare a unei locaţii; - alocarea statică şi - alocarea dinamică. Alocarea statică Se numeşte ''alocare statică" atribuirea directă de către SC a locaţiilor pentru variabile. Locaţiile astfel atribuite nu pot fi folosite în program şi pentru memorarea valorilor altor variabile decât acelea precizate în instrucţiunile de declarare. Pentru ca SC să poată atribui corect o locaţie, în program este necesar să se precizeze: - tipul valorilor care vor fi atribuite variabilelor şi - identificatorul (numele) sub care este recunoscută respectiva locaţie. Aceste informaţii sunt transmise SC de către program prin intermediul instrucţiunilor de declarare a variabilelor. Ex. Să se alcătuiască declaraţiile corespunzătoare unor variabile aparţinând tipurilor definite mai sus. int x; //x din Z; unsigned y; // y din N; float z; // z din R; char t; //t variabila caracter struct complex // prin complex a fost denumită o configuraţie de tip struct { float real, imaginar; }; complex a,b; // a şi b sunt două variabile de tip complex Referirea la partea reală şi partea imaginară a variabilelor a şi b este posibilă numai sub forma: a.real, a.imaginar, b.real, b.imaginar. Deşi în program se reperează locaţiile prin intermediul identificatorilor, este posibilă şi evidenţierea adresei atribuite de SC,prin alocare statică, unei variabile. Pentru aceasta se foloseşte operatorul &. Ex. &x, &y, &a.real, &a.imaginar reprezintă intr-un program adresele atribuite variabilelor sau câmpurilor acestora: x,y,a.real,a.imaginar. Alocarea dinamică Se numeşte "alocare dinamică" procedeul prin care într-un program se cere rezervarea unei zone de MO, în care urmează să se memoreze ulterior valorile unor variabile. Rolul SC în alocarea dinamică este: - precizarea adresei primului octet al zonei respective; - protejarea zonei de locaţii, a cărei dimensiune este indicată explicit în program, faţă 5

6 de o nouă instrucţiune de alocare. Se evită astfel apartenenţa unei locaţii la două sau mai multe zone rezervate; - "eliberarea" respectivei zone şi eventual folosirea locaţiilor pentru memorarea valorilor altor variabile, dacă prin program se solicită aceasta. În alocarea dinamică locaţiile pot fi recunoscute numai prin adresa lor, nemaifiind posibilă atribuirea unor identificatori pentru acestea, unor locaţii introduse prin alocare statică atât prin identificatorul(nume!e)atribuit de către utilizator cât şi prin adresa alocată de către SC este inutilă şi nesemnificativă. Variabila care memorează adresa zonei rezervate (adică a primului octet al acesteia) se numeşte pointer. În fig. de mai jos este reprezentat modul de reperare (găsire) a unei locaţii apelate prin alocare dinamică. locaţia pointerului locaţia reperată Pentru alocarea adresei se foloseşte funcţia alloc. Aceasta este descrisă în fişierul alloc.h. Adresa aleasă de SC este înscrisă în locaţia pointerului. Obs.I. Adresa repartizată de SC si în care este memorată locaţia pointerului poate fi modificată prin program. Există însă riscul ca ulterior această adresă să nu mai poată fi reconstituită, ceea ce determină imposibilitatea regăsirii şi deci folosirii informaţiilor înscrise la respectivele adrese. Obs.2. Operatorii & şi * realizează funcţii inverse ( &(*p)-p). Ex. int *x; unsigned *y; float *z; char *t; struct complex { float real,imaginar; }; complex *a, *b; Pentru variabilele de tip struct *a şi *b referirea la câmpurile care reţin partea reală respectiv imaginară se face sub forma: a > real, a > imaginar,... Obs. Apelarea unor locaţii introduse prin alocare statică atât prin identificatorul (numele) atribuit de către utilizator cât şi prin adresa alocată de către SC este inutilă şi nesemnificativă. Instrucţiuni de Intrare / Ieşire (I / O) Limbajul C/C++ dispune de mai multe funcţii pentru efectuarea operaţiilor de Intrare / Ieşire: - preluarea (citirea) datelor de la tastatură; - afişarea valorilor datelor; 6

7 - preluarea şirurilor de caractere (cuvintelor); - operaţii asupra consolei (tastatură şi monitor). Aceste funcţii sunt anunţate în fişierele header (fişierele cu extensia.h)care descriu conţinutul respectivelor biblioteci. Fişierele header sunt introduse în programele C/C++ prin intermediul directivelor. Cele mai frecvente referiri se fac la funcţiile de I/O prezentate în fişierele: - stdio.h - conio.h - iostream.h Instrucţiuni de "citire" a datelor. Operaţia de '"citire" a datelor se referă numai la variabile. Nu este permisă atribuirea de valori pentru constante prin instrucţiuni de "citire" sau de calcul. Pentru variabile este posibilă atribuirea de valori şi direct prin program. Ex. x = 5; Acest procedeu este dezavantajos întrucât orice modificare a valorilor datelor iniţiale implică intervenţii în program Aceasta reduce caracterul de generalitate al unui program. De aceea, toţi parametrii problemei care pot avea diferite valon iniţiale trebuiesc definiţi în program prin variabile de intrare. Atribuirea de valori efective pentru aceste date trebuie să se facă numai prin instrucţiuni de ''citire" - de intrare. Aceste instrucţiuni realizează următoarele prelucrări: - preiau codurile ASCII corespunzătoare tastelor apăsate. Secvenţa respectivă de coduri ASCII este memorată într-o zonă intermediară denumită buffer de intrare a MO; - converteşte succesiunea de cifre în conformitate cu tipul variabilei a cărei valoare se "citeşte"; - transferă valoarea astfel obţinută la adresa la care se află locaţia rezervată respectivei variabile. Pentru parcurgerea succesiunii de operaţii indicate în instrucţiunile de "citire" trebuiesc incluşi parametrii corespunzători. Cel mai adesea neconcordanţele între: - valorile introduse de la tastatură; - parametrii din instrucţiunea de "citire"; - modul de declarare a variabilelor ale căror valori se "citesc" determină înscrierea unor informaţii eronate în locaţiile variabilelor. în general aceste erori nu sunt semnalate de către SC. De aceea, operaţia de citire a datelor trebuie să fie urmată de o operaţie de afişare a valorilor citite. Acest procedeu este denumit "ecou". Deoarece în majoritatea manualelor de prezentare a limbajului C/C++ operaţiile de "citire" se efectuează cu funcţia scanf, aceasta va fi prezentată în cele ce urmează. Sintaxa funcţiei;parametrii funcţiei. Parametrii folosiţi de funcţia scanf permit efectuarea operaţiilor prezentate anterior. Acestea sunt analizate în continuare. Conversia şirului de caractere este determinată de specificatorii de format: 7

8 Tabelul 2 Tipul variabilei Declararea variabilei Specificator ul de format întreg int %d întreg fără semn unsigned %u real float %f caracter alfanumeric char %c Numărul descriptorilor de format trebuie să coincidă cu numărul variabilelor citite. Separarea între acestea se face prin caracterul "_" (blank). Deşi există şi câteva conversii pe care SC le face automat (de ex. de la întreg la real) totuşi se recomandă să se respecte corelaţiile din Tabelul 1. Obs. In instrucţiunea de apel a funcţiei scanf nu sunt admise alte tipuri de informaţii. Transferul în MO este realizat la adresele variabilelor care sunt "citite". Iniţializarea variabilelor struct se face la nivel de câmp. Ex. Să se memoreze valorile: 10 ;-15; 3500 ; 1576;'x',2 + 3i; folosind alocarea statică. Pentru început se aleg numele si tipul variabilelor care vor fi iniţializată cu valorile precizate(tabelul 3) Tabelul 3 Valoare atribuită Numele variabilei Tip dată Specifica t. de format Observaţii 10 xl int %d -15 x2 int %d x3 unsigned %u - variabila depăşeşte domeniul valorilor cu int semn y float %f 'x' ti char %c - nu există o corelaţie între numele locaţiei şi valoarea memorată 'A' 12 char %c - se poate memora numai primul caracter din şir float %f %f - z.real - z.imaginar *z float Pentru numărul complex z, definit ca o structură de două câmpuri reale, sunt necesari doi specificatori de format. Ex. Să se alcătuiască programul C/C++ care citeşte valorile variabilelor din ex. 10 şi afişează adresele alocate acestora şi valorile înscrise la aceste adrese. #include<stdio.h> #include <conio.h> void main(void) { int xl,x2; unsigned x3; float y; char tl,t2; 8

9 struct complex { float real,.imaginar; }; complex z; clrscr(); printf("\n\n\t\t Adresa atribuita variabilei xl este %u'',&x1); printf("\n\n\t\t Valoarea inscrisa la aceasta adresa este = %d", xl);... //idem pentru celelalte variabile printf("\n\n\t\t Introduceţi datele initiale\n"); printf("\n\n\t\t Introduceţi valorile lui x 1,x2,x3\n"); scanf(" %d %d %u",&xl,&x2,&x3); printf("\n\n\n\t\t Introduceţi valorile lui t1 si t2\t"); scanf(" %c",&tl); scanf(" %c",&t2); printf("\n\n\n\t\t Introduceţi valoarea lui z\n"); scanf(" %f %f",&z. real, &z. imaginar); //ECOUL - afişarea valorilor variabilelor "citite" prinlf("\n xl= %d",xl);... //idem pentru celelalte variabile printf("\n %f %f",z.real,z.imaginar); getch(); } Ex. Să se memoreze valorile 10, -15, 15.76, "A", 2 + 3i folosind alocarea dinamică. Se vor defini patru "zone ale MO''. Vor fi deci necesare patru variabile de tip pointer. Fiecare dintre acestea vor referi câte o zonă de MO (tabelul 4). Există şi posibilitatea declarării unei zone unice în care să fie memorate toate cele patru valori. în acest caz este necesar ca programatorul să cunoască perfect ordinea în care sunt dispuse valorile numerice şi spaţiul folosit de fiecare valoare. Tabelul 4 Valorile variabilelor înscrise Tipul informaţiei din zona referită 10;-15 int pi float pf 'A' char pc 2.; 3. struct complex ps Identificatorul pointerului Programul care citeşte şi afişează aceste date realizează următoarele operaţii: - alocă adresele de început a fiecărei zone de MO; - citeşte datele şi Ie înscrie în locaţiile indicate; - afişează valorile. Linia de definire a funcţiei de alocare a adreselor are următoarea structură: void *malloc(dimensiune); 9

10 Pentru folosirea funcţiei malloc utilizatorul trebuie să specifice: - tipul valorilor care se vor memora; - dimensiunea în octeţi a zonei rezervate. Dacă în zona rezervată se vor memora mai multe valori, atunci numărul maxim de date care se pot memora se determină cu relaţia: dim ensiune zona n = dim ensiune inf ormatie Programul de calcul: #include<stdio.h> #include<conio.h> #include<alloc.h> void main(void) { int *pi; float *pf; char *pc; struct complex { float real,imaginar; }; complex z; complex *ps; int ns; pi=(int *)malloc(2); //se generează adresa de la care se vor memora două variabile //întregi pf=(float *)malloc(4); // se generează adresa de la care se va memora o // variabilă întreagă pc=(char *)malloc(l); // se generează adresa de la care se va memora o // variabilă caracter ns=sizeof(complex); //se determina dimensiunea variabilei struct de tip complex ps=(complex *)malloc(ns); //se generează adresa de la care se va memora a // variabilă de tip struct clrscr(): printf("\n\t\t Introduceţi valorile intregi\n"); scanf(" %d %d",pi,pi+l); printf("\n\n\t\t Introduceţi valoarea reala \n"); scanf(" %f",pf); printf("\n\n\t\t Introduceţi valoarea caracter\n"); *pc=getche(); printf("\n\n\t\t Introduceţi numărul complex\n"); scanf(" %f %f",&(ps->real),&(ps->imaginar)); //ECOUL - afişarea valorilor variabilelor citite printf("\n Variabilele întregi citite sunt %d si %d",*pi, *(pi+l)); printf("\n Numărul real citit este %f",*pf); prijitf("\n Caracterul citit este %c si are codul ASCII %d", *pc,*pc); printf("\n Numărul complex citit este %f+i%f',ps->real,ps->imaginar); getch(); } Afişarea valorii variabilelor Afişarea valorii variabilelor presupune parcurgerea următoarelor operaţii: - preluarea valorii înscrise în locaţia respectivei variabile şi transformarea într-o succesiune de coduri ASCII. Acestea sunt memorate într-o zonă buffer (zonă tampon de ieşire). Conversia este determinată de tipul variabilei memorate; - afişarea caracterelor corespunzătoare şirului ASCII astfel obţinut; printf() este una din funcţiile care permit afişarea pe monitor. Sintaxa funcţiei: printf(" ", ); specificatori de format numele variabilelor 10

11 Parametrii funcţiei: - zona specificatorilor de format poate include pe lângă specificatorii de format şi alte şiruri de caractere destinate realizării unei afişări "prietenoase".de asemenea în această zonă pot fi folosite şi caracterele speciale.două dintre acestea sunt prezentate în continuare: '\n' care determină continuarea afişării de la începutul următorului rând al ecranului.; '\t' care deplasează cursorul pe orizontală cu n caractere. - zona de identificatori cuprinde numele variabilelor ale căror valori se afiseaza Obs. 1. Funcţiile scanf şi printf se deosebesc şi prin aceea că zona de identificatori conţine adresele variabilelor (în cazul funcţiei scanf ) respectiv numele variabilelor (pentru funcţia printf). Obs. 2. Şirul de caractere care poate fi înscris în zona descriptorilor de format are rolul de a afişa explicaţii suplimentare (numele variabilelor, unităţile de măsură considerate, etc). Aceste date nu au nici o influenţă efectivă asupra valorilor şi ordinii în care acestea sunt afişate. Aceste informaţii sunt admise numai la instrucţiunea printf. Obs. 3. Afişarea conţinutului unei locaţii a MO înainte de înscrierea unei valori în respectiva locaţie(iniţializarea variabilei)determină afişarea unei mărimi irelevante. în exemplele de mai jos se exemplifică modul de alcătuire a instrucţiunii printf. Limbajul permite şi alegerea numărului de poziţii ecran alocate afişării unei valori. în acest fel se pot realiza afişări ordonate sub formă de tabele. Pentru aceasta fiecărui specificator de format i se ataşează un descriptor de format. Tabelul 5 Tip Specificat or de Valoare Ex.de alegere a Modul de afişare variabile format variabilă specificatorilor int %nd 15 %4d 15 int %-nd 15 %-4d 15 float %n.mf 15.3 %6.2f _ %6.0f 15. char 15.3 %.4f %4c A unde: - n = numărul total de caractere rezervate pentru afişarea numărului - m - numărul de caractere cu care se afişează partea raţională. Acesta este întotdeauna respectat. Ex. Pentru afişarea numărului complex din exemplul anterior se alcătuieşte instrucţiunea: printf("\n Numărul complex este: %6.2f + i ( %6.2f)", z.real, z.imaginar); Ca urmare a reprezentării şi execuţiei acestei instrucţiuni pe ecranul monitorului se va afişa: Numărul complex este: i( ) în lipsa desctriptorilor de format instrucţiunea devine: printf("\n Numărul complex este: %f+ i (%f)", z.real, z.imaginar); iar pe ecranul monitorului va apărea informaţia: Numărul complex este: i ( ) 11

12 Fişiere de date Operaţiile de colectare a datelor sunt cele mai laborioase în cadrul programelor de' calcul. De aceea, în cazul programelor care prelucrează volume mari de date se foloseşte înscrierea datelor în ME sub formă de fişiere de date. În fişierele de date informaţiile sunt înscrise sub formă de octeţi iar prelucrarea este realizată secvenţial (succesiv). Există şi instrucţiuni care permit utilizatorului să comande plasarea capului de citire la poziţia dorită. Pentru prelucrarea fişierelor de date se folosesc programe de: - organizare (creare) a fişierului; - actualizare a datelor fişierului; - sortare. Informaţiile aliate într-un fişier de date sunt denumite şi înregistrări sau articole. Instrucţiuni folosite în prelucrarea fişierelor de date. 1) Instrucţiunea de creare sau deschidere (dacă acesta există) a unui fişier de date face legătura între program şi fişierul aflat în ME. Parametrii funcţiei - nume fişier precizează numele şi poziţia fişierului în arborele de directoare; - modul de folosire se alege dintre: - "r" citire (read); - "w"' creare (write) în cazul unui nou fişier.deschiderea unui fişier deja existent în modul "w" determină ştergerea acestuia; - "r+" modificare (citire / scriere); Rezultatul efectuării acestei instrucţiuni este un pointer care reprezintă adresa la care se află, in MO, informaţiile curente privind modul în care este folosit fişierul. Funcţia fopen este anunţată în fişierul stdio.h Ex.13 Să se creeze un fişier de date în subdirectorul Dl de pe C: Secvenţa de instrucţiuni este: FILE *nf; nf=fopen("c:\\dl\\fl.dat","w"); Obs. Fişierul este deschis în modul creare. b) închiderea unui fişier. fclose(nf); Operaţia este necesară după ce, în cadrul programului, s-a încheiat prelucrarea datelor dintr-un fişier. Lipsa acestei instrucţiuni poate determina erori în deschiderea 12

13 ulterioară a fişierului. c) Operaţii de I/O. Pentru prelucrarea informaţiei dintr-un fişier utilizatorul trebuie să cunoască cu exactitate modul în care sunt organizate informaţiile în ME. De aceea se evită ca într-un fişier să se înscrie informaţii de tipuri diferite. Cel mai adesea informaţiile sunt de tipul struct. Citirea / scrierea se face începând cu informaţia aflată în dreptul capului de citire/scriere. Evident, scrierea unei informaţii în fişier determină înlocuirea aceleia care a fost înscrisă anterior în poziţia respectivă. Citirea datelor, respectiv transferul din informaţiilor din ME > MO, se efectuează cu instrucţiunea: fscanf( nf, " ", ); specificatori adrese Scrierea într-un fişier determină transferul informaţiei din MO > ME şi se face cu instrucţiunea: fprintf( nf, " ", ); specificatori identificatori d) Poziţionarea într-un fişier. Pentru prelucrarea informaţiei aflată într-o altă poziţie decât cea curentă este necesară poziţionarea convenabilă a capului de citire / scriere. Aceasta se face cu ajutorul instrucţiunii: fseek( nf, a, b); unde: - a = deplasamentul în octeţi; - b = sensul deplasării. Acesta se calculează faţă de: - începutul fişierului (b = 0); - poziţia curentă (b = 2); - sfârşitul fişierului (b = 1). Program de creare a unui fişier de date. Să se memoreze sub formă de fişier de date o succesiune de trei numere întregi. Programul implică efectuarea următoarelor operaţii: - preluarea numerelor de la tastatură şi - transferul informaţiilor în ME. Se propune ca fişierul să fie denumit F1.dat şi să fie memorat în directorul rădăcină. În fig. de mai jos este prezentată succesiunea de operaţii: 13

14 Program de creare a fişierului #include<stdio.h> #include<conio.h> void main() { int a,b,c; FILE *m; clrscr(); // Citirea datelor de la tastatura printf("\n Introduceţi variabilele a b c"); scanf(" %d %d %d",&a, &b, &c); // Deschiderea fişierului in modul creare m = fopen("c:\\fl.dat","w"); // ECOUL printf("\n a = %d",a); printf("\n b = %d",b); printf("\n c = %d",c); // înscrierea datelor in fişier fprintf( m," %d ",a); fprintf( m," %d ",b); fprintf( m," %d ",c); //închiderea fişierului getch(): fclose(m); } Program de citire a fişierului Programul preia informaţiile din fişierul F1.dat şi apelează suma numerelor care îl alcătuiesc. In program se vor efectua următoarele operaţii: - citirea informaţiilor din fişier; - însumarea varabilelor; - afişarea rezultatelor. Pentru alcătuirea corectă a programului trebuie să se cunoască tipul informaţiilor existente în fişier. Programul de citire din fişier #include<stdio.h> #include<conio.h> void main() { int a,s; FILE *pf; clrscro; //Deschiderea fişierului in modul citire pf=fopen("c:\\fl.dat","r"); s=0; //Citirea primei înregistrări fscanf(pf," %d",&a); s=s+a; //Citirea următoarei înregistrări fscanf(pf," %d",&a); s=s+a; //Citirea ultimei înregistrări fscanf(pf,"%d",&a)f s=s+a; //Afişarea rezultatelor printf("\n suma calculata este = %d",s); getch(); //închiderea fişierului fclose(pf); } Pentru a exemplifica necesitatea cunoaşterii de către programator a structurii informaţiilor care alcătuiesc fişierul se propune alcătuirea unui program de citire în care se consideră că fişierul conţine numere reale. Pentru programul utilizator fişierul apare ca o înşiruire de octeţi care sunt interpretaţi de către program numai în conformitate cu specificatorii de format cu care se efectuează operaţia de citire. #include<stdio.h> #include<conio.h> void main() { float a; FILE *u; clrscr(); //Deschiderea fişierului in modul citire u=fopen("c:\\fl.dat","r"); fscanf(u, %f,&a); //Afişarea valorii citite printf("\n valoarea preluata din fişier este %f",a); getch(); // Inchiderea fisierului: fclose(u); } Să se compare valorile tipărite de cele două programe după efectuarea operaţiilor de citire. 14

15 Modul de reprezentare şi memorare a programelor şi datelor astfel: Pentru exemplificarea şi vizualizarea datelor unui program C se procedează 1. Se scrie programul C. În exemplul de mai jos s-a folosit un program simplu, care memorează în variabila x valoarea 7. Acesta este: void main() { int x; x=7; } 2. Se salvează programul. În cazul nostru programul se numeşte u.cpp. 3. Se execută programul (CTRL+F9). În urma executării acestuia are loc transformarea lui din program sursă în program executabil. Astfel se crează fişierul u.exe. 4. Din meniul editorului BorlandC Se alege opţiunea (este poziţionată înaintea meniului File). 5. Din meniul derulant de la această opţiune se alege Turbo Debugger. 6. Va apare un nou mediu de lucru. De la meniul View se alege opţiunea CPU. Se rulează programul pas cu pas(f8). Când prompterul se va poziţiona pe sfârşitul de fişier (acolada închisă) putem privi informaţiile din fereastra CPU. Imagine cu Turbo Debugger: 15

16 În fereastra CPU se observă mai multe subferestre: - Zona de program. Este zona în care se află programul sursă (cel în limbajul C) - Zona de program assembler. Este zona în care sunt scrise în limbajul de asamblare(cel mai apropiat de limbajul maşină) instrucţiunile ce trebuie executate pentru rularea programului. Se remarcă între altele instrucţiunile: push bp -care salvează baza stivei mov word ptr [bp-02],0007 -care scrie în stivă valoarea 7 pe 2 octeţi([bp-2], tipul întreg fiind reprezentat pe 2 octeţi). - Zona regiştrilor. Se remarcă conţinutul regiştrilor, importanţi pentru exemplul nostru fiind regiştrii bp şi sp. Registrul bp -02 reţine poziţia octetului celui mai semnificativ din tipul întreg, în timp ce bp-01 va retine celălalt octet. - Zona registrului flag. - Zona cu informaţia memorată. Aceasta se află în dreapta jos. Se observă mai întâi adresa de memorie, apoi valoarea de la acea adresă(fff4 0007) - Zona cu informaţia din memoria RAM(în stânga jos).se observă rândul: ds:fff0 D FFF0 reprezintă segmentul de memorie(reamintim că adresele de memorie sunt reţinute în format segment : offset), deci informaţia D3 este scrisă la această adresa (mai exact FFF0:0000) apoi urmează 65 la adresa FFF1(sau FFF0:0001)... Se observă la adresa FFF4 valoarea 07, iar la FFF5 valoarea 00, în memorie ordinea reprezentării fiind inversă (adică întâi byte-ul nesemnificativ apoi cel semnificativ). Pentru a părăsi Turbo Debugger-ul se apasă combinaţia de taste CTRL+X. Dacă dorim să modificăm valoarea sau tipul datelor, trebuie să părăsim Turbo Debugger-ul, să facem modificările de rigoare şi apoi reluăm paşii

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

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

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

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

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

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

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

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

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

Figura x.1 Ecranul de pornire al mediului de dezvoltare

Figura x.1 Ecranul de pornire al mediului de dezvoltare x. Mediul de dezvoltare MICROSOFT VISUAL C++ În cadrul acestui capitol vom prezenta Microsoft Visual C++, din cadrul suitei Microsoft Visual Studio 2012, care este un mediu de programare care suportă dezvoltarea

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

2. Setări configurare acces la o cameră web conectată într-un echipament HG8121H cu funcție activă de router

2. Setări configurare acces la o cameră web conectată într-un echipament HG8121H cu funcție activă de router Pentru a putea vizualiza imaginile unei camere web IP conectată într-un echipament Huawei HG8121H, este necesară activarea serviciului Dinamic DNS oferit de RCS&RDS, precum și efectuarea unor setări pe

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

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

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

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

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

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

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

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

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

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

INTERPRETOARE DE COMENZI

INTERPRETOARE DE COMENZI Rularea lui determin afişarea mesajului hello world la consola 3.2. Facilităţi ale interpretoarelor de comenzi 3.1. Introducere Capitolul 3 INTERPRETOARE DE COMENZI Interpretorul de comenzi este un program

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

Proceduri stocate. Crearea procedurilor stocate. Varianta 1 În Management Studio se dă clic pe New Query ca în imaginea de mai jos: Fig.

Proceduri stocate. Crearea procedurilor stocate. Varianta 1 În Management Studio se dă clic pe New Query ca în imaginea de mai jos: Fig. Proceduri stocate Crearea procedurilor stocate. Varianta 1 În Management Studio se dă clic pe New Query ca în imaginea de mai jos: Fig. 1 Odată cu deschiderea editorului SQL, apare și bara de instrumente

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

Mai bine. Pentru c putem.

Mai bine. Pentru c putem. 1 CUPRINS: 1. SUMAR APLICAŢIE...... 3 1.1 Introducere... 3 1.2 Tipul de aplicaţie... 3 2. SPECIFICAŢII FUNCŢIONALE... 3 3. INSTALARE... 3 3.1 Introducere... 3 3.2 Ce trebuie să verificaţi înainte de a

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

Lucrarea 1 Introducere în Linux

Lucrarea 1 Introducere în Linux Lucrarea 1 Introducere în Linux Un calculator pe care rulează un sistem de operare Linux poate fi utilizat de mai mulţi utilizatori simultan, fiind un sistem multi-utilizator. De asemenea, un utilizator

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

1. Creaţi un nou proiect de tip Windows Forms Application, cu numele MdiExample.

1. Creaţi un nou proiect de tip Windows Forms Application, cu numele MdiExample. Aplicaţia MdiExample Aplicaţia implementează: Deschiderea şi închiderea ferestrelor child. Minimizarea şi maximizarea ferestrelor. Aranjarea ferestrelor. Tratarea mesajului de atenţionare la ieşirea din

More information

APLICAŢIE INFORMATICĂ PENTRU PREGĂTIREA MISIUNILOR DE NIVEL TACTIC

APLICAŢIE INFORMATICĂ PENTRU PREGĂTIREA MISIUNILOR DE NIVEL TACTIC APLICAŢIE INFORMATICĂ PENTRU PREGĂTIREA MISIUNILOR DE NIVEL TACTIC Asist.univ.drd. Romana OANCEA Conf.univ.dr.ing. Ghiţă BÂRSAN Academia Forţelor Terestre Nicolae Bălcescu Sibiu Abstract The paper describes

More information

UTILIZAREA FOILOR DE CALCUL TABELAR - EXCEL

UTILIZAREA FOILOR DE CALCUL TABELAR - EXCEL UTILIZAREA FOILOR DE CALCUL TABELAR - EXCEL 1. Deschiderea aplicaţiei Excel - Start Programs Microsoft Excel; - Dublu clic pe pictograma de pe ecran sub care scrie Microsoft Excel; Pe ecranul monitorului

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

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

Actualizarea firmware-ului pentru aparatul foto digital SLR

Actualizarea firmware-ului pentru aparatul foto digital SLR Actualizarea firmware-ului pentru aparatul foto digital SLR Vă mulţumim că aţi ales un produs Nikon. Acest ghid descrie cum să realizaţi actualizarea firmwareului. Dacă nu sunteţi sigur că puteţi realiza

More information

9. CURSOARE. Obiective. În acest Capitol, vom învăţa despre: Manipularea cursoarelor. Folosirea Cursor FOR Loops şi Nesting Cursors.

9. CURSOARE. Obiective. În acest Capitol, vom învăţa despre: Manipularea cursoarelor. Folosirea Cursor FOR Loops şi Nesting Cursors. 9. CURSOARE Obiective. În acest Capitol, vom învăţa despre: Manipularea cursoarelor. Folosirea Cursor FOR Loops şi Nesting Cursors. Cursoare sunt zone de memorie care ne permit să alocam o zonă de memorie

More information

Creare baza de data Deschidem aplicaţia Microsoft Access. Lansarea în execuţie a programului se face urmând calea:

Creare baza de data Deschidem aplicaţia Microsoft Access. Lansarea în execuţie a programului se face urmând calea: Baze de date Pentru început este bine să înţelegem noţiunile de bază din Access: modul de organizare a unei baze de date, a noţiunilor de tabel, înregistrare, câmp, tip de dată al câmpului, proprietăţi

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

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

NEC. Ghid de rezervări

NEC. Ghid de rezervări NEC Ghid de rezervări Action codes B efectuează rezervare finală (booking) B? afișează un model de rezervare (booking sample) BA disponibilitatea unei rezervări ( booking enquiry) BC disponibilitatea unei

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

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

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

:= 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

Noţiuni introductive privind pachetul software OrCAD

Noţiuni introductive privind pachetul software OrCAD TEHNICI CAD PENTRU MODULE ELECTRONICE LUCRAREA DE LABORATOR nr. 2 Noţiuni introductive privind pachetul software OrCAD I. Scopul lucrării: Scopul lucrării de laborator nr. 1 este de a realiza o introducere

More information

Laboratorul 1 1. Introducere

Laboratorul 1 1. Introducere Laboratorul 1 1. Introducere Mediul LabWindows/CVI (C for Virtual Instruments) este un mediu de dezvoltare integrat utilizat în crearea de produse software bazate pe o interfaţă grafică Windows, toate

More information

.. REGISTRE Registrele sunt circuite logice secvenţiale care primesc, stochează şi transferă informaţii sub formă binară. Un registru este format din mai multe celule bistabile de tip RS, JK sau D şi permite

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

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

După efectuarea operaţiilor dorite, calculatorul trebuie închis. Pentru oprirea corectă a sistemului de operare va trebui să folosim butonul

După efectuarea operaţiilor dorite, calculatorul trebuie închis. Pentru oprirea corectă a sistemului de operare va trebui să folosim butonul Pagina 1 1. SISTEMUL DE OPERARE WINDOWS 1.1. Pornirea calculatorului Orice calculator are pe cutie cel puţin un buton (de pornire) şi, eventual, unul de restartare în caz de blocare a calculatorului. Pentru

More information

Proiectarea bazelor de date # 11. PL/SQL Funcții în PL/SQL (partea a II-a) Adrian Runceanu

Proiectarea bazelor de date # 11. PL/SQL Funcții în PL/SQL (partea a II-a) Adrian Runceanu Proiectarea bazelor de date # 11 PL/SQL Funcții în PL/SQL (partea a II-a) 2018 Adrian Runceanu www.runceanu.ro/adrian Curs 11 Funcţii în PL/SQL (partea II) Proiectarea bazelor de date 2 Cuprins Funcţii

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

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

5.1 Definirea datelor în SQL

5.1 Definirea datelor în SQL SQL Acronim pentru Structured Query Language Dezvoltat pentru sistemul de gestiune a bazelor de date System R, creat de IBM Research Laboratory, San Jose, California, la sfârşitul anilor 70. SQL a fost

More information

MICROSOFT ACCESS 2007 (DE CĂUTAT???)

MICROSOFT ACCESS 2007 (DE CĂUTAT???) Access 2007 Modul A Pagina 1 MICROSOFT ACCESS 2007 (DE CĂUTAT???) 1. CONCEPTE GENERALE PRIVIND BAZELE DE DATE Evoluţia diferitelor metode şi tehnici de organizare a datelor pe suporturi de memorie externă

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

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

Documentaţie Tehnică

Documentaţie Tehnică Documentaţie Tehnică Verificare TVA API Ultima actualizare: 27 Aprilie 2018 www.verificaretva.ro 021-310.67.91 / 92 info@verificaretva.ro Cuprins 1. Cum funcţionează?... 3 2. Fluxul de date... 3 3. Metoda

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

Curs PowerPoint Lectia 3 Lectia 3 Formatare text si imagini

Curs PowerPoint Lectia 3 Lectia 3 Formatare text si imagini Lectia 3 Formatare text si imagini 3.1 Formatarea si introducerea textului Adaugarea textului intr-un diapozitiv Textul este introdus prin actionarea tastaturii: in momentul in care se ajunge la capatul

More information

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

I. Instrucţiuni PRELEGERE IX PROGRAMAREA CALCULATOARELOR ŞI LIMBAJE DE PROGRAMARE 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

More information

Baza de date: tabele, date. Componentele unei B.D.: tabele, constrangeri, relatii. Entitati ale unei B.D.: formulare, interogari, rapoarte

Baza de date: tabele, date. Componentele unei B.D.: tabele, constrangeri, relatii. Entitati ale unei B.D.: formulare, interogari, rapoarte 1. Introducere ~ Microsoft Access ~ Baze de Date Baza de date: tabele, date. Componentele unei B.D.: tabele, constrangeri, relatii. Entitati ale unei B.D.: formulare, interogari, rapoarte 2. Crearea unei

More information

Lucrarea nr.1. Crearea unui document Word

Lucrarea nr.1. Crearea unui document Word Lucrarea nr.1 Crearea unui document Word Scopul lucrării Lucrarea are drept scop inițiere și familiarizarea studenților cu interfața editorului de text Microsoft Word 2007. Modul de lucru Word este un

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

TEHNOLOGII INFORMAŢIONALE PENTRU AFACERI

TEHNOLOGII INFORMAŢIONALE PENTRU AFACERI TEHNOLOGII INFORMAŢIONALE PENTRU AFACERI Laboratorul 5 Procesorul de texte Microsoft Word 2007, partea I După cum am fost deja obişnuiţi, Microsoft oferă o serie de îmbunătăţiri noilor versiuni ale aplicaţiilor

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

Capitolul IV Utilizarea bazelor de date în Internet

Capitolul IV Utilizarea bazelor de date în Internet Capitolul IV Utilizarea bazelor de date în Internet 4.1 Pagini Web dinamice 4.1.1. Pagini dinamice vs. Pagini statice Paginile Web dinamice sunt folosite atunci când se doreşte modificarea dinamică, a

More information

SISTEME DE OPERARE WINDOWS

SISTEME DE OPERARE WINDOWS CAPITOLUL 4 SISTEME DE OPERARE WINDOWS 4.1. De la MS-DOS la Windows 4.2. Interfata grafica WINDOWS 4.3. Sesiunea de lucru Windows 4.4. Sistemul de operare Windows XP 4.5. Sistemul de operare Windows 7

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

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

SGBD Access 2010: Query

SGBD Access 2010: Query SGBD Access 2010: Query Interogarea (Query) este un obiect ce permite vizualizarea informaţiilor obţinute prin selectarea şi prelucrarea datelor din unul sau mai multe tabele (sau interogări) Rezultatul

More information

1 Vasile Violeta Ion Popescu Avram Maria Câmpuri în tabel

1 Vasile Violeta Ion Popescu Avram Maria Câmpuri în tabel ECDL MODULUL 5 Baze de date 1.1. Concepte generale privind bazele de date 1. Utilizarea aplicaţiei Access De ce foloisim bazele de date: Atunci când avem mai multe informaţii despre un anumit lucru si

More information

NOȚIUNI TEORETICE ȘI PROBLEME ȘIRURI DE CARACTERE C++

NOȚIUNI TEORETICE ȘI PROBLEME ȘIRURI DE CARACTERE C++ NOȚIUNI TEORETICE ȘI PROBLEME ȘIRURI DE CARACTERE C++ Clasa a XI a, specializarea matematică - informatică Prof. Țopa Robert Noțiuni teoretice prezentare generală Un șir de caractere este o structură de

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

Î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

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

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

COBRA SISTEM DE OPERARE PE DISC FLEXIBIL

COBRA SISTEM DE OPERARE PE DISC FLEXIBIL INSTITUTUL DE CERCETARE ŞTIINŢIFICĂ ŞI INGINERIE TEHNOLOGICĂ PENTRU TEHNICA DE CALCUL ŞI INFORMATICĂ SECTOR TEHNIC Ă DE CALCUL COBRA SISTEM DE OPERARE PE DISC FLEXIBIL PREZENTARE BRAŞOV 1988 1 COORDONATORII

More information