Laborator 04: Apeluri de funcții

Mărimea: px
Porniți afișarea la pagina:

Download "Laborator 04: Apeluri de funcții"

Transcriere

1 2016/09/27 08:03 1/10 Laborator 04: Apeluri de funcții Laborator 04: Apeluri de funcții În acest laborator vom prezenta modul în care se realizează apeluri de funcții. Vom vedea cum putem folosi instrucțiunile call și ret pentru a realiza apeluri de funcții și cum folosim stiva pentru a transmite parametrii unei funcții. Laboratorul este de forma learn by doing partea practică alternând între secțiuni de tip tutorial, cu parcurgere pas cu pas și prezentarea soluției, și exerciții care trebuie să fie rezolvate. Mediul de lucru Pentru acest laborator vom folosi un sistem Microsoft Windows, asamblorul nasm și IDE-ul SASM. Pentru compilarea codului sursă C vom folosi compilatorul din suita Microsoft Visual Studio (cl). Cunoștințe și abilități ce vor fi dobândite Traducerea apelului și implementării unei funcții din limbajul C în limbaj de asamblare Folosirea instrucțiunilor call și ret pentru a realiza un apel de funcție Implementarea unei funcții în limbaj de asamblare Folosirea stivei pentru a transmite parametrii unei funcții Apelarea unei funcții externe (aflată în biblioteca standard C) din limbaj de asamblare Exerciții În cadrul exercițiilor vom folosi arhiva de laborator. Descărcați arhiva, decomprimați-o și accesați directorul aferent. [1p] 1. Recapitulare: Program în limbaj de asamblare În SASM deschideți fișierul NASMHello.asm, fișier din instalarea implicită de NASM și compilați-l și rulați-l. Observați afișarea mesajului Hello, world! Pentru compilare/rulare puteți folosi opțiunea Build din meniu, sau direct tasta F9. Deschideți în SASM fișierul hello-world.asm din arhiva de laborator. Compilați-l și rulați-l și pe acesta și observați comportamentul. Sunt câteva diferențe între cele două programe: Programul hello-world.asm folosește apelul funcției puts (funcție externă modulului curent) pentru a efectua a afișarea. Pentru aceasta pune argumentul pe stivă și apelează funcția. Introducere în organizarea calculatorului și limbaj de asamblare -

2 laboratoare:laborator-04 Variabila msg din programul hello-world.asm conține octeții 13 și 10. Aceștia simbolizează caracterele carriage-return și line-feed, mai cunoscute și sub numele forma \r\n, folosite pentru a adăuga o linie nouă pe Windows. Încheierea cu \r\n este, în general, utilă pentru afișarea șirurilor. Întrucât însă funcția puts pune automat o linie nouă după șirul afișat, prezența acestor caractere este opțională. Este, însă, utilă în cazul folosirii funcției printf. [1p] 2. Dezasamblarea unui program scris în C După cum spuneam, în final, totul ajunge în limbaj de asamblare. Adesea ajungem să avem acces doar la codul obiect al unor programe și vrem să inspectăm modul în care arată. Pentru a observa acest lucru, haideți să compilăm până la codul obiect un program scris în C și apoi să-l dezasamblăm. Este vorba de programul test.c din arhiva de laborator. Pentru a compila un program vom folosi linia de comandă și de acolo comanda cl care reprezintă compilatorul și linker-ul din Visual Studio. Pentru a compila un fișier cod sursă C/C++ în linia de comandă folosind Visual Studio, urmați pașii: Deschideți butonul de start, selectați All apps, apoi mergeți la litera V, selectați directorul Visual Studio 2015 și alegeți opțiunea Visual Studio x86 Native Command Prompt. Accesați directorul în care aveți codul sursă. Folosiți comanda cl <nume-fisier>.cpp unde <nume-fisier> este numele fișierului. În cazul nostru, întrucât dorim doar să compilăm fișierul test.c la modulul obiect, vom accesa din prompt-ul Visual Studio directorul în care se găsește fișierul și apoi vom rula comanda cl /c test.c În urma rulării comenzii de mai sus în directorul curent vom avea fișierul obiect test.obj. Putem obține și forma în limbaj de asamblare a acestuia folosind comanda cl /FAs test.c În urma rulării comenzii de mai sus obținem fișierul test.asm pe care îl putem vizualiza folosind comanda type test.asm Printed on 2016/09/27 08:03

3 2016/09/27 08:03 3/10 Laborator 04: Apeluri de funcții Pentru a dezasambla codul unui modul obiect vom folosi un utilitar frecvent întâlnit în lumea Unix: objdump. Pentru aceasta trebuie ca în prompt-ul Visual Studio sau în alt prompt să accesați directorul de binare al SASM. Este vorba de C:\Program Files (x86)\sasm\mingw64\bin. De acolo, pentru dezasamblare, vom rula comanda.\objdump.exe -d <path-to-obj-file> unde <path-to-obj-file> este calea către fișierul obiect test.obj. Veți obține un output similar celui de mai jos C:\Program Files (x86)\sasm\mingw\bin>.\objdump.exe -d -M intel C:\Users\razvan\test.obj C:\Users\razvan\test.obj: file format pe-i386 Disassembly of section.text: <_main>: 0: 55 push ebp 1: 8b ec mov ebp,esp 3: 6a 0f push 0xf 5: e call a <_main+0xa> a: 83 c4 04 add esp,0x4 d: 50 push eax e: push 0x0 13: e call 18 <_main+0x18> 18: 83 c4 08 add esp,0x8 1b: 33 c0 xor eax,eax 1d: 5d pop ebp 1e: c3 ret 1f: cc int <_first_func>: 20: 55 push ebp 21: 8b ec mov ebp,esp 23: 51 push ecx 24: c7 45 fc mov DWORD PTR [ebp-0x4],0x3 2b: push 0x0 30: e call 35 <_first_func+0x15> 35: 83 c4 04 add esp,0x4 38: 8b 45 fc mov eax,dword PTR [ebp-0x4] 3b: 50 push eax 3c: 8d 4d 08 lea ecx,[ebp+0x8] 3f: 51 push ecx 40: e call 45 <_first_func+0x25> 45: 83 c4 08 add esp,0x8 48: 8b mov eax,dword PTR [ebp+0x8] 4b: 8b e5 mov esp,ebp 4d: 5d pop ebp Introducere în organizarea calculatorului și limbaj de asamblare -

4 laboratoare:laborator e: c3 ret 4f: cc int <_second_func>: 50: 55 push ebp 51: 8b ec mov ebp,esp 53: 8b mov eax,dword PTR [ebp+0x8] 56: 8b 08 mov ecx,dword PTR [eax] 58: 03 4d 0c add ecx,dword PTR [ebp+0xc] 5b: 8b mov edx,dword PTR [ebp+0x8] 5e: 89 0a mov DWORD PTR [edx],ecx 60: 5d pop ebp 61: c3 Există multe alte utilitare care permit dezasamblare de module obiect, majoritatea cu interfața grafică și oferind și suport pentru debugging. objdump este un utilitar simplu care poate fi rapid folosit în linia de comandă. Este interesant de urmărit, atât în fișierul test.asm cât și în dezasamblarea sa, modul în care se face un apel de funcție, lucru despre care vom discuta în continuare. Breviar: Apelul unei funcții Atunci când apelăm o funcție, pașii sunt următorii: Punem argumentele pe stivă, apelul de tip push fiind în ordinea inversă în care sunt trimiși ca argumente funcției. Apelăm call. Restaurăm stiva la sfârșitul apelului. Funcționarea stivei După cum știm, operațiile pe stivă sunt de două tipuri: push val în care valoarea val este plasată pe stivă pop reg/mem în care ce se găsește în vârful stivei se plasează în registru sau într-o zonă de memorie În momentul în care se face push spunem că stiva crește (se adaugă elemente). În mod oarecum paradoxal însă, pointerul de stivă (indicat de registrul esp pe 32 de biți) scade. Acest lucru se întâmplă întrucât stiva crește în jos, de la adresa mari către adrese mici. La fel, în momentul care facem pop spunem că stiva scade (se scot elemente). Acum pointer-ul de stivă (indicat de registrul esp pe 32 de biți) crește. Un sumar al acestui lucru este explicat foarte bine la acest link: Printed on 2016/09/27 08:03

5 2016/09/27 08:03 5/10 Laborator 04: Apeluri de funcții Exemplu de apelare de funcție în assembly După cum spuneam, în momentul în care realizăm un apel de funcție în assembly acesta se traduce în cei trei pași de mai sus. De exemplu, în fișierul hello-world.asm am apelat funcția puts folosind sintaxa: push msg call puts add esp, 4 În primă fază am plasat pe stivă argumentul funcției puts adică adresa șirului msg. Apoi am apelat funcția puts. Apoi am restaurat stiva (care crescuse prin apelul push) adăugând 4 octeți (dimensiunea unui cuvânt pe 32 de biți) la registrul de stivă (esp). Astfel sunt traduse majoritatea apelurilor de funcții. Dacă urmărim dezasamblarea fișierul test.obj putem observa acest șablon de apel și în alte părți. Mai jos sunt secvențele extrase din dezasamblarea de mai sus: d: 50 push %eax e: push $0x0 13: e call 18 <_main+0x18> 18: 83 c4 08 add $0x8,%esp 2b: push $0x0 30: e call 35 <_first_func+0x15> 35: 83 c4 04 add $0x4,%esp 3b: 50 push %eax 3c: 8d 4d 08 lea 0x8(%ebp),%ecx 3f: 51 push %ecx 40: e call 45 <_first_func+0x25> 45: 83 c4 08 add $0x8,%esp Contează mai puțin, pentru înțelegerea noastră din acest moment, de ce unele instrucțiuni arată cum arată, este importantă înțelegerea pașilor urmați pentru apelarea unei funcții: plasarea argumentelor pe stivă, apelul funcției, restaurarea stivei. [1p] 3. Afișarea unui șir Pentru afișarea unui string în SASM putem folosi macro-ul PRINT_STRING. Sau putem folosi o funcție precum puts. În fișierul print-string.asm este implementată afișarea unui string folosind macroul PRINT_STRING. Urmărind fișierul hello-world.asm ca exemplu, implementați afișarea șirului folosind și puts. Urmăriți și indicațiile din secțiunea de mai sus, legate de apelul unei funcții. Introducere în organizarea calculatorului și limbaj de asamblare -

6 laboratoare:laborator-04 [2p] 4. Afișarea lungimii unui șir Programul print-string-len.asm afișează lungimea unui șir folosind macro-ul PRINT_DEC. Calculul lungimii șirului mystring are loc în cadrul programului (este deja implementat). Implementați programul pentru a face afișarea lungimii șirului folosind funcția printf. La sfârșit veți avea afișată de două ori lungimea șirului: o dată cu apelul macro-ului SASM PRINT_DEC și apoi cu apelul funcției externe printf. Gândiți-vă că apelul printf este de forma printf("string length is %u\n", len);. Trebuie să construiți stiva pentru acest apel. Pașii de urmat sunt: Marcarea simbolului printf ca simbol extern. Definirea șirului de formatare "String length is %u", 13, 10, 0. Realizarea apelului funcției printf, adică: 1. Punerea celor două argumente pe stivă: șirul de formatarea și lungimea. 2. Apelul printf folosind call. 3. Restaurarea stivei. Lungimea șirului se găsește în registrul ecx. [3p] 5. Afișarea șirului inversat În soluția de mai sus adăugați funcția reverse_string astfel încât să aveți un listing similar celui de mai jos: [...] section.text global CMAIN reverse_string: push ebp mov ebp, esp mov eax, dword [ebp+8] mov ecx, dword [ebp+12] add eax, ecx dec eax mov edx, dword [ebp+16] copy_one_byte: mov bl, byte [eax] mov byte [edx], bl dec eax inc edx Printed on 2016/09/27 08:03

7 2016/09/27 08:03 7/10 Laborator 04: Apeluri de funcții loopnz copy_one_byte inc edx mov byte [edx], 0 leave ret CMAIN: push ebp mov ebp, esp [...] Funcția reverse_string inversează un șir și are următoarea signatură: void reverse_string(const char *src, size_t len, char *dst);. Astfel ca primele len caractere și șirul src sunt inversate în șirul dst. Realizați inversarea șirului mystring într-un nou șir și afișați acel nou șir. Pentru a defini un nou șir, recomandăm ca, în secțiunea de date să folosiți construcția store_string times 64 db 0 Construcția creează un șir de 64 de octeți de zero, suficient pentru a stoca inversul șirului. Apelul echivalent în C al funcției este reverse_string(mystring, ecx, store_string);. În registrul ecx am presupus că este calculată lungimea șirului. Nu puteți folosi direct valoarea ecx în forma ei curentă. După apelul funcției printf pentru afișare numărului valoarea ecx se pierde. Ca să o păstrați, aveți două opțiuni: 1. Stocați valoarea registrului ecx în prealabil pe stivă (folosind push ecx înaintea apelului printf) și apoi să o restaurați după apelul printf (folosind pop ecx). 2. Stocați valoarea registrului ecx într-o variabilă globală, pe care o definiți în secțiunea.data. Nu puteți folosi un alt registru pentru că sunt șanse foarte mari ca și acel registru să fie modificat de apelul printf pentru afișarea lungimii șirului. Breviar: Apelatul în cadrul unei funcții Atunci când apelăm o funcție spune că funcția care apelează (contextul care apelează) se cheamă apelant (sau caller) iar funcția apelată se cheamă apelat (sau callee). Până acum am discutat despre cum arată lucrurile la nivelul apelantului (cum construim stiva acolo). Haideți să urmărim ce se întâmplă la nivelul apelatului. Până în momentul instrucțiunii call stiva conține parametrii funcției. Apelul call poate fi echivalat grosier următoarei secvențe: push eip Introducere în organizarea calculatorului și limbaj de asamblare -

8 laboratoare:laborator-04 jmp function_name Adică și apelul call folosește în continuare stiva și salvează adresa următoarei instrucțiuni, cea de după call numită și instrucțiunea de retur sau adresa de retur (return value, return address). Aceasta este necesară pentru a ști, în apelat, unde să revenim. Suplimentar, în apelat, la începutul său (numit preambul, preamble) se salvează frame pointer-ul (în arhitectura i386 este vorba de registrul ebp) urmând ca frame pointer-ul să refere adresa curentă de pe stivă (adică tocmai fostul frame pointer). Deși nu este obligatorie, salvarea frame pointer-ului ajută la debugging și este în cele mai multe cazuri folosită. Din aceste motive, orice apel de funcție va avea în general, preambulul: push ebp mov ebp, esp Aceste modificări au loc în apelat. De aceea este responsabilitatea apelatului să restaureze stiva la vechea sa valoare. De aceea este uzuală existența unui epilog care să readucă stiva la starea sa inițială; acest epilog este: leave În acest moment stiva este ca la începutul funcției, adică imediat după call, referind adresa de retur. Urmează apelul ret care este grosier echivalentul instrucțiunii: pop eip Adică ia valoarea din vârful stivei și o plasează în eip urmând continuarea execuției programului de la acea adresă. Un sumar al acestui comportament, plasat pe apelul echivalent reverse_string(mystring, len, store_string); este indicat în diagrama de mai jos, accesibilă în format PDF și original DIA la adresa: De observat că pe parcursul execuției funcției, ceea ce nu se schimbă este poziția frame pointer-ul. Acesta este și motivul denumirii sale: pointează la frame-ul curent de funcției. De aceea este comun ca accesarea parametrilor unei funcții să se realizeze prin intermediul frame pointer-ului. Printed on 2016/09/27 08:03

9 2016/09/27 08:03 9/10 Laborator 04: Apeluri de funcții Presupunând un sistem pe 32 de biți și parametri de dimensiunea cuvântului procesorului (32 de biți, 4 octeți) vom avea: primul argument se găsește la adresa ebp+8 al doilea argument se găsește la adresa ebp+12 al treilea argument se găsește la adresa ebp+16 etc. Acesta este motivul pentru care, pentru a obține parametrii funcției reverse_string în registrele respectiv eax, ecx, edx, folosim construcțiile: mov eax, dword [ebp+8] ; retrieve first function argument in eax mov ecx, dword [ebp+12] ; retrieve second function argument in ecx mov edx, dword [ebp+16] ; retrieve third function argument in edx [2p] 6. Implementarea funcției toupper Ne propunem implementarea funcției toupper care traduce literele mici în litere mari. Pentru aceasta, porniți de la fișierul toupper.asm din arhiva de exerciții a laboratorului și completați corpul funcției topupper. Șirul folosit este mystring și presupunem că este un șir valid. Acest șir este transmis ca argument funcției toupper în momentul apelului. Faceți înlocuirea in place, nu este nevoie de un alt șir. Ca să traduceți o litera mică în literă mare, trebuie să scădeți 0x20 din valoare. Aceasta este diferența între litere mici și mari; de exemplu a este 0x61 iar A este 0x41. Puteți vedea în pagina de manual ascii. Ca să citiți sau să scrieți octet cu octet folosiți construcția byte [reg] așa cum apare și în implementarea determinării lungimii unui șir în fișierul print-string-len.asm, unde [reg] este registrul de tip pointer în care este stocată adresa șirului în acel punct. Vă opriți atunci când ați ajuns la valoarea (NUL byte). Pentru verificare puteți folosi test așa cum se întâmplă și în implementarea determinării unui șir în fișierul print-string-len.asm. [2p] Bonus: toupper doar pentru litere mici Implementați funcția toupper astfel încât translatarea să aibă loc doar pentru caractare reprezentând litere mici, nu litere mari sau alte tipuri de caractere. [2p] Bonus: rot13 Realizați și folosiți o funcție care face translatarea rot13 a unui șir. Introducere în organizarea calculatorului și limbaj de asamblare -

10 laboratoare:laborator-04 [2p] Bonus: rot13++ Implementați rot13 pe un array de șiruri: șirurile sunt continue în memorie separate prin terminatorul de șirul (NUL-byte, ). De exemplu: ana\0are\0mere\0 este un array de trei șiruri. Va trebui să știți când sa vă opriți din parcurgerea array-ului de șiruri. Cel mai simplu este să definiți o variabilă de lungime în secțiunea.data, de forma len dd 10 în care să rețineți fie lungimea totală a șirului (de la începutul până la ultimul NUL-byte), fie numărul de șiruri din array. Soluții Soluții de referință pentru exercițiile de laborator Alte resurse nasm SASM From: - Introducere în organizarea calculatorului și limbaj de asamblare Permanent link: Printed on 2016/09/27 08:03

Microsoft Word - CarteC.doc

Microsoft Word - CarteC.doc Transmiterea parametrilor unei funcții Parametrii se transmit de la funcţia apelantă la funcţia apelată prin intermediul stivei. La apelul unei funcţii, pe stivă se crează o înregistrare de activare, care

Mai mult

Lab6LCD

Lab6LCD LABORATOR 6 - Interfaţă pentru afişor cu cristale lichide (LCD), partea II-a Scopul lucrării În laboratorul anterior s-au implementat funcţiile rd_lcdreg(char vrs), wr_lcdreg(char vrs, char data), void

Mai mult

Platformăde e-learning și curriculăe-content pentru învățământul superior tehnic Sisteme de operare 13. Planificarea proceselor

Platformăde e-learning și curriculăe-content pentru învățământul superior tehnic Sisteme de operare 13. Planificarea proceselor Platformăde e-learning și curriculăe-content pentru Sisteme de operare 13. Planificarea proceselor Suport curs OSC MOS Capitolul 5 CPU Scheduling Capitolul 2 Processes and Threads Secțiunea 5 Scheduling

Mai mult

Slide 1

Slide 1 STRUCTURI DE DATE Fundamente C/C++ EVALUARE SEMESTRU: 4 puncte Testare cunostinte: 1. Calculator (2 puncte) 2. Scris/Oral (2 puncte) 2 EVALUARE EXAMEN: 6 puncte Test cunostinte (pe calculator): 1 punct.

Mai mult

Limbaje de Programare Curs 6 – Functii de intrare-iesire

Limbaje de Programare   Curs 6 – Functii de intrare-iesire Limbaje de Programare Curs 6 Funcţii de intrare-ieşire Dr. Casandra Holotescu Universitatea Politehnica Timişoara Ce discutăm azi... 1 Citire formatată 2 Citirea şirurilor de caractere 3 Citirea unor linii

Mai mult

Limbaje de Programare Curs 5 – Siruri de caractere

Limbaje de Programare   Curs 5 – Siruri de caractere Limbaje de Programare Curs 5 Şiruri de caractere Dr. Casandra Holotescu Universitatea Politehnica Timişoara Ce discutăm azi... 1 Şiruri de caractere 2 Tipul pointer 3 Funcţii cu şiruri de caractere Şiruri

Mai mult

Laborator 1 suport teoretic Mediul de dezvoltare Eclipse GLOSAR - Aplicaţie: program obţinut în urma aplicării operației BUILD asupra unui proiect (ve

Laborator 1 suport teoretic Mediul de dezvoltare Eclipse GLOSAR - Aplicaţie: program obţinut în urma aplicării operației BUILD asupra unui proiect (ve Laborator 1 suport teoretic Mediul de dezvoltare Eclipse GLOSAR - Aplicaţie: program obţinut în urma aplicării operației BUILD asupra unui proiect (vezi Program C) - BUILD: operație complexă prin care

Mai mult

Limbaje de Programare Curs 8 – Fisiere

Limbaje de Programare   Curs 8 – Fisiere Limbaje de Programare Curs 8 Fişiere Dr. Casandra Holotescu Universitatea Politehnica Timişoara Ce discutăm azi... 1 Lucrul cu fişiere 2 Fişiere de tip text 3 Funcţii pentru cazuri de eroare 4 Fişiere

Mai mult

Microsoft Word - O problema cu bits.doc

Microsoft Word - O problema cu bits.doc O problemă cu bits 1 Tiberiu Socaciu Enunţul Pe pagina Proful de Mate de pe Facebook 2 am primit de la un elev de clasa a IX-a următoarea provocare 3 : Vom oferi două soluţii, una folosind manipulări de

Mai mult

Object Oriented Programming

Object Oriented Programming UNIVERSITATEA BABEŞ-BOLYAI Facultatea de Matematică şi Informatică Programare orientată obiect Curs 02 Laura Dioşan 2 POO Elemente de bază ale limbajului C++ Referinţe şi pointeri Vectori TAD-uri 3 Tipul

Mai mult

Interfețe și Protocoale de Comunicații Arduino-Port Paralel Arduino. Laborator 1- Portul Paralel 1 Caracteristici generale Arduino UNO este o placă de

Interfețe și Protocoale de Comunicații Arduino-Port Paralel Arduino. Laborator 1- Portul Paralel 1 Caracteristici generale Arduino UNO este o placă de Arduino. Laborator 1- Portul Paralel 1 Caracteristici generale Arduino UNO este o placă de dezvoltare bazată pe un microcontroller ATmega 328P pe 8 biți cu 32kB memorie flash. Placa de dezvoltare conține:

Mai mult

Manual de utilizare a Sistemului Informațional al Institutului Național al Justiției (SI INJ) intranet.inj.md Ver.2 Manual de utilizare a Sistemului I

Manual de utilizare a Sistemului Informațional al Institutului Național al Justiției (SI INJ) intranet.inj.md Ver.2 Manual de utilizare a Sistemului I Manual de utilizare a Sistemului Informațional al Institutului Național al Justiției (SI INJ) intranet.inj.md Ver.2 Manual de utilizare a Sistemului Informațional al Institutului Național al Justiției

Mai mult

Paradigme de programare

Paradigme de programare Curs 4 Transparență referențială. Legare statică / dinamică. Modelul contextual de evaluare. Transparență referențială Cuprins Efecte laterale Transparență referențială 2 Efecte laterale Efecte laterale

Mai mult

E_d_Informatica_sp_MI_2015_bar_02_LRO

E_d_Informatica_sp_MI_2015_bar_02_LRO Examenul de bacalaureat naţional 2015 Proba E. d) Informatică Varianta 2 Filiera teoretică, profilul real, specializările: matematică-informatică matematică-informatică intensiv informatică Toate subiectele

Mai mult

1. Operatii cu matrici 1 Cerinte: Sa se realizeze functii pentru operatii cu matrici patratice (de dimensiune maxima 10x10). Operatiile cerute sunt: A

1. Operatii cu matrici 1 Cerinte: Sa se realizeze functii pentru operatii cu matrici patratice (de dimensiune maxima 10x10). Operatiile cerute sunt: A 1. Operatii cu matrici 1 Sa se realizeze functii pentru operatii cu matrici patratice (de dimensiune maxima 10x10). Operatiile cerute sunt: A+B (adunare), aa (inmultire cu scalar), A-B scadere), AT (Transpusa),

Mai mult

PowerPoint Presentation

PowerPoint Presentation Utilizarea Office 365 pe telefonul Android Ghid de pornire rapidă Verificarea e-mailului Configurați telefonul Android pentru a trimite și a primi e-mailuri din contul dvs. Office 365. Verificarea calendarului

Mai mult

Managementul Resurselor Umane

Managementul Resurselor Umane Universitatea Politehnica București Catedra de Calculatoare Laborator 4 Cereri SQL Autori Conf. Dr. Ing. Alexandru Boicea Ș.L. Dr. Ing. Ciprian-Octavian Truică Cuprins Cereri SQL Cereri simple 10.03.2019

Mai mult

Ghid de utilizare pentru Platforma E-Admitere intranet.inj.md

Ghid de utilizare pentru Platforma E-Admitere intranet.inj.md Ghid de utilizare pentru Platforma E-Admitere intranet.inj.md Cuprins 1. CREARE DE CONT ȘI AUTENTIFICARE PE PLATFORMĂ... 4 2. INTERFAȚA PLATFORMEI E-ADMITERE... 9 2.1 PRIMA PAGINĂ... 9 2.2 DOSAR CURENT...

Mai mult

Adresarea memoriei Modurile de adresare constituie un instrument principal pentru reprezentarea în memorie a imaginii datelor, aşa cum este ace

Adresarea memoriei Modurile de adresare constituie un instrument principal pentru reprezentarea în memorie a imaginii datelor, aşa cum este ace 174 12 Adresarea memoriei Modurile de adresare constituie un instrument principal pentru reprezentarea în memorie a imaginii datelor, aşa cum este aceasta văzută de programatorul în limbaj de nivel înalt.

Mai mult

Limbaje de programare Pointeri. Alocare dinamică (continuare) 26 noiembrie 2012

Limbaje de programare Pointeri. Alocare dinamică (continuare) 26 noiembrie 2012 Limbaje de programare Pointeri. Alocare dinamică (continuare) 26 noiembrie 2012 EROARE: lipsa iniţializării E o EROARE să folosim o variabilă neiniţializată int sum; for (i=0; i++ < 10; ) sum += a[i];

Mai mult

Microsoft Word _POO_Lab_1_Modificari_v01.htm

Microsoft Word _POO_Lab_1_Modificari_v01.htm Laborator POO - 00 (draft) 00-00 / 0//00 00_POO_Lab Modificari_v0.htm POO Laborator Modificarea programelor Java. Studiu de caz: programul Salut.java. Varianta care utilizeaza un argument al programului

Mai mult

SUBPROGRAME

SUBPROGRAME SUBPROGRAME Un subprogram este un ansamblu ce poate conţine tipuri de date, variabile şi instrucţiuni destinate unei anumite prelucrări (calcule, citiri, scrieri). Subprogramul poate fi executat doar dacă

Mai mult

1. Depistarea setarilor de retea necesare Primul pas pentru introducerea in retea a DVR-ului este determinarea setarilor de retea cu care lucreaza ret

1. Depistarea setarilor de retea necesare Primul pas pentru introducerea in retea a DVR-ului este determinarea setarilor de retea cu care lucreaza ret 1. Depistarea setarilor de retea necesare Primul pas pentru introducerea in retea a DVR-ului este determinarea setarilor de retea cu care lucreaza reteaua dumneavoastra. Trebuie sa aflam ce tipuri de adrese

Mai mult

Logică și structuri discrete Limbaje regulate și automate Marius Minea marius/curs/lsd/ 24 noiembrie 2014

Logică și structuri discrete Limbaje regulate și automate Marius Minea   marius/curs/lsd/ 24 noiembrie 2014 Logică și structuri discrete Limbaje regulate și automate Marius Minea marius@cs.upt.ro http://www.cs.upt.ro/ marius/curs/lsd/ 24 noiembrie 2014 Un exemplu: automatul de cafea acțiuni (utilizator): introdu

Mai mult

REVISAL Versiunea: Data release: 15 martie 2016 IMPORTANT! Distribuţia curentă (v6.0.4) a aplicaţiei Revisal conţine nomenclatorul COR ISCO 08 î

REVISAL Versiunea: Data release: 15 martie 2016 IMPORTANT! Distribuţia curentă (v6.0.4) a aplicaţiei Revisal conţine nomenclatorul COR ISCO 08 î REVISAL Versiunea: 6.0.4 Data release: 15 martie 2016 IMPORTANT! Distribuţia curentă (v6.0.4) a aplicaţiei Revisal conţine nomenclatorul COR ISCO 08 în conformitate cu prevederile OMMFPS de modificare

Mai mult

Laborator - Folosirea Wireshark-ului pentru Examinarea Frameurilor Ethernet Topologie Obiective Partea 1: Examinați Câmpurile Header-ului dintr-un Fra

Laborator - Folosirea Wireshark-ului pentru Examinarea Frameurilor Ethernet Topologie Obiective Partea 1: Examinați Câmpurile Header-ului dintr-un Fra Laborator - Folosirea Wireshark-ului pentru Examinarea Frameurilor Ethernet Topologie Obiective Partea 1: Examinați Câmpurile Header-ului dintr-un Frame Ethernet II Partea 2: Folosiți Wireshark pentru

Mai mult

Slide 1

Slide 1 CURS 4 Structura generală a unui program C Program - ansamblu de instrucţiuni incluse în una sau mai multe funcţii, care specifică operaţiile ce trebuie efectuate asupra unor date pentru a fi prelucrate

Mai mult

Procesarea Imaginilor - Laborator 1: Introducere în utilizarea bibliotecii OpenCV 1 1. Introducere în utilizarea bibliotecii OpenCV 1.1. Introducere S

Procesarea Imaginilor - Laborator 1: Introducere în utilizarea bibliotecii OpenCV 1 1. Introducere în utilizarea bibliotecii OpenCV 1.1. Introducere S Procesarea Imaginilor - Laborator 1: Introducere în utilizarea bibliotecii OpenCV 1 1. Introducere în utilizarea bibliotecii OpenCV 1.1. Introducere Scopul acestei lucrări de laborator este de a familiariza

Mai mult

Paradigme de Programare

Paradigme de Programare Paradigme de Programare Conf. dr. ing. Andrei Olaru andrei.olaru@cs.pub.ro cs@andreiolaru.ro Departamentul de Calculatoare 2019 9 : 1 / 38 Cursul 9 Concluzie Paradigma Funcțională 9 : 2 / 38 Cursul 9:

Mai mult

E_d_Informatica_sp_SN_2014_bar_10_LRO

E_d_Informatica_sp_SN_2014_bar_10_LRO Examenul de bacalaureat naţional 2014 Proba E. d) Informatică Varianta 10 Toate subiectele sunt obligatorii. Se acordă 10 puncte din oficiu. Timpul de lucru efectiv este de 3 ore. În rezolvările cerute,

Mai mult

{LINGO} Specificațiile produsului: - Dimensiune: 61 x 18 x 8 mm - greutate: 8,6 g - rază: 10 m -capacitatea și tipul bateriei: 90 mah, baterie polimer

{LINGO} Specificațiile produsului: - Dimensiune: 61 x 18 x 8 mm - greutate: 8,6 g - rază: 10 m -capacitatea și tipul bateriei: 90 mah, baterie polimer {LINGO} Specificațiile produsului: - Dimensiune: 61 x 18 x 8 mm - greutate: 8,6 g - rază: 10 m -capacitatea și tipul bateriei: 90 mah, baterie polimer litiu - timp de încărcare: 2 ore - timp de așteptare:

Mai mult

Ch

Ch Numai pentru uz academic EDK Laborator 4-5 Adăugarea modulelor IP la un proiect hardware Laborator 2: Adăugarea modulelor IP la un proiect hardware Introducere Obiective Acest laborator prezintă procesul

Mai mult

manual_ARACIS_evaluare_experti_v5

manual_ARACIS_evaluare_experti_v5 PLATFORMĂ DE EVALUARE ONLINE PENTRU EXPERȚII ARACIS Page 1 CUPRINS Cap 1. Procesul de evaluare 3 Cap 2. Procedura de înregistrare și evaluare 3 cap 3. Instrucțiuni de completare a formularului de înregistrare

Mai mult

Microsoft Word - CarteC.doc

Microsoft Word - CarteC.doc Introducere în limbajul de programare C - C este un limbaj de programare ale cărui caracteristici sunt economia de expresie, structuri moderne de control al fluxului şi de date, precum şi un set bogat

Mai mult

Laborator 2 Incompatibilităţi/Diferenţe între C şi C++ Completări C++ Supraîncărcarea (redefinirea) numelui de funcţii În C nu este permisă existenţa

Laborator 2 Incompatibilităţi/Diferenţe între C şi C++ Completări C++ Supraîncărcarea (redefinirea) numelui de funcţii În C nu este permisă existenţa Laborator 2 Incompatibilităţi/Diferenţe între C şi C++ Completări C++ Supraîncărcarea (redefinirea) numelui de funcţii În C nu este permisă existenţa a două funcţii care au acelaşi nume În C++ acest lucru

Mai mult

Microsoft PowerPoint - Curs_SDA_9_RO_2019_v2.pptx

Microsoft PowerPoint - Curs_SDA_9_RO_2019_v2.pptx SDA (PC2) Curs 9 Liste / Grafuri / Arbori Iulian Năstac Lista dublu înlănțuită Recapitulare Într-o astfel de listă fiecare nod conţine doi pointeri: unul spre nodul următor şi unul spre nodul precedent.

Mai mult

manual_ARACIS_evaluare_experti_v4

manual_ARACIS_evaluare_experti_v4 PLATFORMĂ DE EVALUARE ONLINE PENTRU EXPERȚII ARACIS Page 1 CUPRINS Cap 1. Procesul de evaluare 3 Cap 2. Procedura de înregistrare și evaluare 3 cap 3. Instrucțiuni de completare a formularului de înregistrare

Mai mult

Astfel funcționează portalul KiTa Dortmund În 3 pași către locația de îngrijire copii Portalul KiTa Dortmund poate fi oper

Astfel funcționează portalul KiTa Dortmund În 3 pași către locația de îngrijire copii   Portalul KiTa Dortmund poate fi oper Astfel funcționează portalul KiTa Dortmund În 3 pași către locația de îngrijire copii www.kita-portal.dortmund.de Portalul KiTa Dortmund poate fi operat în orice moment și extrem de comod de pe calculator,

Mai mult

AcadNet Etapa Naţională Secțiunea calculatoare, clasele Citiți cu atenție toate subiectele înainte de a începe rezolvarea. Aveți 15 minut

AcadNet Etapa Naţională Secțiunea calculatoare, clasele Citiți cu atenție toate subiectele înainte de a începe rezolvarea. Aveți 15 minut Secțiunea calculatoare, clasele 11-12 Citiți cu atenție toate subiectele înainte de a începe rezolvarea. Aveți 15 minute să adresați întrebări pentru clarificări înainte de a contoriza timpul de rezolvare

Mai mult

A

A Platforma 1. 1 Introducere A. Initierea unui nou proiect Microsoft Visual Studio este un mediu de dezvoltare software in care se pot realiza programe pentru platformele Windows (Desktop, Mobile + Embedded).

Mai mult

Slide 1

Slide 1 SCTR -SZOKE ENIKO - Curs 4 continuare curs 3 3. Componentele hard ale unui sistem de calcul in timp real 3.1 Unitatea centrala de calcul 3.1.1 Moduri de adresare 3.1.2 Clase de arhitecturi ale unitatii

Mai mult

Subiectul 1

Subiectul 1 Subiectul 1 În fişierul Numere.txt pe prima linie este memorat un număr natural n (n

Mai mult

Utilizarea Internetului in Afaceri FSEGA, UBB Lect.univ.dr. Daniel Mican LABORATOR 3. Achizitionarea domeniilor web si a

Utilizarea Internetului in Afaceri FSEGA, UBB Lect.univ.dr. Daniel Mican LABORATOR 3. Achizitionarea domeniilor web si a LABORATOR 3. Achizitionarea domeniilor web si a serviciilor de webhosting, respectiv gestionarea acestora prin intermediul cpanel PREZENTAREA LUCRARII DE LABORATOR Lucrarea de laborator isi propune sa

Mai mult

Preprocesorul C Funcţii cu numǎr variabil de argumente 6 decembrie 2005 Programarea calculatoarelor 2. Curs 10 Marius Minea

Preprocesorul C Funcţii cu numǎr variabil de argumente 6 decembrie 2005 Programarea calculatoarelor 2. Curs 10 Marius Minea Preprocesorul C Funcţii cu numǎr variabil de argumente 6 decembrie 2005 Preprocesorul C. stdarg.h 2 Preprocesorul C extensii (macro-uri) pentru scrierea mai concisǎ a programelor preprocesorul efectueazǎ

Mai mult

Packet Tracer - Configurarea ACL-urilor extinse - Scenariul 1 Topologie Tabela de Adresare R1 Echipament Interfață Adresă IP Masca de subreţea Default

Packet Tracer - Configurarea ACL-urilor extinse - Scenariul 1 Topologie Tabela de Adresare R1 Echipament Interfață Adresă IP Masca de subreţea Default Topologie Tabela de Adresare R1 Echipament Interfață Adresă IP Masca de subreţea Default Gateway G0/0 172.22.34.65 255.255.255.224 N/A G0/1 172.22.34.97 255.255.255.240 N/A G0/2 172.22.34.1 255.255.255.192

Mai mult

Laborator 2: Instrucţiuni Java şi lucru cu şiruri de caractere Întocmit de: Adina Neculai Îndrumător: Asist. Drd. Gabriel Danciu 18 octombrie 2011

Laborator 2: Instrucţiuni Java şi lucru cu şiruri de caractere Întocmit de: Adina Neculai Îndrumător: Asist. Drd. Gabriel Danciu 18 octombrie 2011 Laborator 2: Instrucţiuni Java şi lucru cu şiruri de caractere Întocmit de: Adina Neculai Îndrumător: Asist. Drd. Gabriel Danciu 18 octombrie 2011 I. NOŢIUNI TEORETICE A. Instrucţiuni condiţionale 1. Intrucţiunea

Mai mult

CURS

CURS Capitolul Cuvinte-cheie SOAP, XML, REST, ASP.NET, client web, PHP, NuSOAP IH.12.1. Introducere Ce înseamnă serviciile web? Ele înseamnă invocarea la distanță a metodelor, prin web; limbaje și platforme

Mai mult

GHID PENTRU RESETAREA PAROLEI Informații Generale Din dorința de a facilita procesul de autentificare, chiar dacă nu mai cunoașteti datele necesare, a

GHID PENTRU RESETAREA PAROLEI Informații Generale Din dorința de a facilita procesul de autentificare, chiar dacă nu mai cunoașteti datele necesare, a GHID PENTRU RESETAREA PAROLEI Informații Generale Din dorința de a facilita procesul de autentificare, chiar dacă nu mai cunoașteti datele necesare, au fost implementate 2 opțiuni de resetare automată

Mai mult

Microsoft PowerPoint - 11_USO_curs_08.ppt [Compatibility Mode]

Microsoft PowerPoint - 11_USO_curs_08.ppt [Compatibility Mode] Cursul 8 8 Recapitulare 21 noiembrie 2011 Moto Repetitio mater studiorum est. 21.11.2011 2 Compilare și execuție cod sursă preprocesor (GNU CPP) gcc -E cod preprocesat cod preprocesat compilator (GCC)

Mai mult

Microsoft Word - 2 ES RO.doc

Microsoft Word - 2 ES RO.doc 2 MULTITASKING 2.1. Preliminarii Este deja foarte bine cunoscut faptul că o programare eficientă în domeniul sistemelor în timp real, în mod evident, vizând aici sistemele în timp real încorporate, este

Mai mult

Laborator 4: Continuare Programare Orientată pe Obiecte Întocmit de: Adina Neculai Îndrumător: Asist. Drd. Gabriel Danciu 29 octombrie 2011

Laborator 4: Continuare Programare Orientată pe Obiecte Întocmit de: Adina Neculai Îndrumător: Asist. Drd. Gabriel Danciu 29 octombrie 2011 Laborator 4: Continuare Programare Orientată pe Obiecte Întocmit de: Adina Neculai Îndrumător: Asist. Drd. Gabriel Danciu 29 octombrie 2011 I. NOŢIUNI TEORETICE A. Suprascrierea metodelor O clasă derivată

Mai mult

Laborator 5 - Paradigme de Programare

Laborator 5 - Paradigme de Programare Laborator 5 - Paradigme de Programare Dezvoltarea unui GUI utilizând libsdl Graphics și platforma Kotlin-Native Kotlin ca și Python nu au avut din proiectare o bibliotecă specializată în oferirea de facilități

Mai mult

Minicurs CCS C / Aplicatia1 1.Programul CCS C Compiler. Instalare.Creare proiect. Descarcati ultima versiune a programului de

Minicurs CCS C / Aplicatia1   1.Programul CCS C Compiler. Instalare.Creare proiect. Descarcati ultima versiune a programului de Minicurs CCS C / Aplicatia1 www.roboprog.weebly.com 1.Programul CCS C Compiler. Instalare.Creare proiect. Descarcati ultima versiune a programului de la adresa : http://www.ccsinfo.com/compdemo.php Instalati

Mai mult

Modul Modbus ASCII SISTEME DE COMUNICATIE CURS 5 - Constantinescu Catalin Atunci cand se foloseste modul MODBUS ASCII fiecare octet din mesaj

Modul Modbus ASCII SISTEME DE COMUNICATIE CURS 5 - Constantinescu Catalin Atunci cand se foloseste modul MODBUS ASCII fiecare octet din mesaj 2.3.5.2 Modul Modbus ASCII Atunci cand se foloseste modul MODBUS ASCII fiecare octet din mesaj este trimis ca doua caractere ASCII (de exemplu, octetul 0x7A este transmis ca doua caractere 0x37 = 7, respectiv

Mai mult

Programarea şi utilizarea calculatoarelor

Programarea şi utilizarea calculatoarelor Universitatea Constantin Brâncuşi din Târgu-Jiu Facultatea de Inginerie Departamentul de Automatică, Energie şi Mediu Programarea calculatoarelor Lect.dr. Adrian Runceanu Curs 3 Elemente introductive ale

Mai mult

Microsoft Word - PCLP2_Curs_4_2019.doc

Microsoft Word - PCLP2_Curs_4_2019.doc 12. Tipuri de date derivate direct - Tipul pointer Tipurile de date derivate direct sunt tipuri de date create pe baza unor tipuri de date existente. In limbajul C, un astfel de tip, nestructurat (simplu),

Mai mult

-

- Cursul 6 Expresii în C/C++ (I) https://docs.microsoft.com/en-us/cpp/cpp/expressions-cpp După cum am văzut, într-un program de calcul scris în limbajul C/C++ prelucrarea datelor se realizează printr-o serie

Mai mult

Slide 1

Slide 1 1 PROIECTAREA ALGORITMILOR Lect. univ. dr. Adrian Runceanu 1 Curs Alocarea dinamică de memorie în C++ Conţinutul cursului 1. Tipuri de date. Conceptul de pointer 3. Operatori specifici pointerilor 4. Aritmetica

Mai mult

Proiectarea Sistemelor Software Complexe

Proiectarea Sistemelor Software Complexe Proiectarea Sistemelor Software Complexe Curs 4 Arhitecturi de Sistem Software Bazate pe Tehnologii Middleware. Obiecte Distribuite. Rolul unui arhitect software este foarte asemănător cu cel al unui arhitect

Mai mult

Slide 1

Slide 1 SCTR -SZOKE ENIKO - Curs 3 3. Componentele hard ale unui sistem de calcul in timp real 3.1 Unitatea centrala de calcul 3.1.1 Moduri de adresare 3.1.2 Clase de arhitecturi ale unitatii de calcul 3.2

Mai mult

Declararea variabilelor

Declararea variabilelor Platforma 3. 1 Instructiuni diverse Declararea variabilelor Tipuri de Date Tipul de dată al unui obiect/variabila specifica tipul informaţiei pe care acel obiect îl poate stoca. Exemplu: numere întregi,

Mai mult

Informație și comunicare

Informație și comunicare 3.1. Folosirea unui motor de căutare Alegerea unui motor de căutare Motorul de căutare este un program disponibil pe internet cu ajutorul căruia se pot căuta diferite informații. Această căutare se realizează

Mai mult

CABINET MINISTRU

CABINET MINISTRU MINISTERUL FINANTELOR PUBLICE Agenţia Naţională de Administrare Fiscală Direcţia Generală a Finanţelor Publice a Judetului Iaşi Activitatea metodologie şi administrarea veniturilor statului Str. Anastasie

Mai mult

Creational design patterns

Creational design patterns Unit Testing: CORRECT ALIN ZAMFIROIU Recapitulare Testing Unit testing Junit Test TestCase TestSuite Assertion Right-BICEP Test QUIZ.CSIE.ASE.RO CORRECT C Conformitatea formatului (Conformance); O Ordinea

Mai mult

Microsoft Word - 4-Interfete paralele.doc

Microsoft Word - 4-Interfete paralele.doc 4. Cuprins modul 4.1. neprogramabile 4.2.Interfaţa paralelă programabilă 4.3.Protocoale de transfer 4.4.Programarea circuitului de interfaţă paralelă 4.5.Exemplu de implementare Cuprins Introducere După

Mai mult

SRS-BTS50_QSG_ro

SRS-BTS50_QSG_ro Sistem audio personal Manual de instrucţiuni Ghid de pornire rapidă RO SRS-BTS50 2013 Sony Corporation Fabricat în China Manuale furnizate Ghid de pornire rapidă (acest manual) Prezentul manual vă furnizează

Mai mult

Lanțul de aprovizionare E.ON Ghidul furnizorului Instrucțiuni pas cu pas

Lanțul de aprovizionare E.ON Ghidul furnizorului Instrucțiuni pas cu pas Lanțul de aprovizionare E.ON 15.11.2018 Ghidul furnizorului Instrucțiuni pas cu pas Introducere Stimate furnizor, Pentru a maximiza valoarea interacțiunii cu furnizorii și pentru a asigura transparența

Mai mult

Lucrarea 10

Lucrarea 10 Lucrarea 10. Studierea facilitatilor senzoriale, de calcul si de comunicatie ale unei placi de tip Arduino 1. Obiectivul lucrarii Lucrarea isi propune sa prezinte facilitatile de calcul, senzoriale si

Mai mult

Addendum Syllabus 6 Microsoft Access 2016 REF Syllabus 6.0 Cunoașterea domeniilor în care se utilizează bazele de date Datorită potenţialului ma

Addendum Syllabus 6 Microsoft Access 2016 REF Syllabus 6.0 Cunoașterea domeniilor în care se utilizează bazele de date Datorită potenţialului ma REF 1.1.5 Syllabus 6.0 Cunoașterea domeniilor în care se utilizează bazele de date Datorită potenţialului mare de eficientizare a muncii, bazele de date îşi găsesc aplicaţii în diverse domenii: - transporturi

Mai mult

Laborator 3

Laborator 3 Laborator 3 Programare III săptămâna 8-12.10.2018 OBIECTIVE: - Folosirea modificatorilor unei clase (public, abstract, final) - Folosirea modificatorilor de acces în declaraţiile membrilor unei clase Noţiuni:

Mai mult

în Tabletă convertibilă GHID DE UTILIZARE 8085 LKB001X CJB1FH002AZA

în Tabletă convertibilă GHID DE UTILIZARE 8085 LKB001X CJB1FH002AZA în Tabletă convertibilă GHID DE UTILIZARE 8085 LKB001X CJB1FH002AZA Cuprins 1 Noțiuni introductive... 1 1.1 Aspect... 1 1.2 Încărcarea tabletei și a tastaturii... 3 1.3 Introducerea cartelelor microsd

Mai mult

Platforma 5. 1 Introducere in MSSQL Introducere Pe parcursul ultimilor ani, se poate observa o cuplare a limbajelor de programare majore cu tipuri de

Platforma 5. 1 Introducere in MSSQL Introducere Pe parcursul ultimilor ani, se poate observa o cuplare a limbajelor de programare majore cu tipuri de Platforma 5. 1 Introducere in MSSQL Introducere Pe parcursul ultimilor ani, se poate observa o cuplare a limbajelor de programare majore cu tipuri de baze de date: Microsoft.Net (C# & VB) + Microsoft C++

Mai mult

R E G U L A M E N T U L privind utilizarea Sistemului Informațional Automatizat Acreditare (SIA Acreditare) în cadrul Centrului Național de Acreditare

R E G U L A M E N T U L privind utilizarea Sistemului Informațional Automatizat Acreditare (SIA Acreditare) în cadrul Centrului Național de Acreditare R E G U L A M E N T U L privind utilizarea Sistemului Informațional Automatizat Acreditare (SIA Acreditare) în cadrul Centrului Național de Acreditare din Republica Moldova MOLDAC. CUPRINS 1. Destinaţia

Mai mult

tehnologii web

tehnologii web Universitatea Constantin Brâncuşi din Târgu-Jiu Facultatea de Inginerie Departamentul de Automatică, Energie şi Mediu Tehnologii Web Lector univ. dr. Adrian Runceanu 1 Curs 7 Limbajul PHP (partea II) 2

Mai mult

Laborator Activities În sistemul Android activitățile reprezintă echivalentul ferestrelor din Windows, fiind clase care extind clasa Activity. Spre de

Laborator Activities În sistemul Android activitățile reprezintă echivalentul ferestrelor din Windows, fiind clase care extind clasa Activity. Spre de Laborator Activities În sistemul Android activitățile reprezintă echivalentul ferestrelor din Windows, fiind clase care extind clasa Activity. Spre deosebire de alte sisteme, în Android ecranul este mereu

Mai mult

1. ARHITECTURA MICROPROCESOARELOR 1.1. Microprocesorul. Noțiuni generale Progresele tehnologice și electronice, înregistrate în ultimele decenii, au d

1. ARHITECTURA MICROPROCESOARELOR 1.1. Microprocesorul. Noțiuni generale Progresele tehnologice și electronice, înregistrate în ultimele decenii, au d 1. ARHITECTURA MICROPROCESOARELOR 1.1. Microprocesorul. Noțiuni generale Progresele tehnologice și electronice, înregistrate în ultimele decenii, au determinat apariția microprocesoarelor care a reprezentat

Mai mult

Laborator 7: PROIECTAREA BAZELOR DE DATE SUBPROGRAME in PL/SQL (partea I - proceduri) Un subprogram este un bloc PL/SQL cu nume (spre deosebire de blo

Laborator 7: PROIECTAREA BAZELOR DE DATE SUBPROGRAME in PL/SQL (partea I - proceduri) Un subprogram este un bloc PL/SQL cu nume (spre deosebire de blo Laborator 7: PROIECTAREA BAZELOR DE DATE SUBPROGRAME in PL/SQL (partea I - proceduri) Un subprogram este un bloc PL/SQL cu nume (spre deosebire de blocurile anonime) care poate primi parametri şi poate

Mai mult

Top

Top PROGRAMARE ORIENTATĂ PE OBIECTE Tratarea excepțiilor O excepție este o eroare care poate să apară la rularea unui program. Exemple: încercarea de deschidere a unui fișier ce nu există depășirea limitelor

Mai mult

CUPRINS Secțiune: Cerere... 3 Secțiune: Solicitant... 3 Secțiune: Solicitare... 4 Secțiune: Anexe și Declarații... 5 Anexa Generare PDF pentru

CUPRINS Secțiune: Cerere... 3 Secțiune: Solicitant... 3 Secțiune: Solicitare... 4 Secțiune: Anexe și Declarații... 5 Anexa Generare PDF pentru CUPRINS Secțiune: Cerere... 3 Secțiune: Solicitant... 3 Secțiune: Solicitare... 4 Secțiune: Anexe și Declarații... 5 Anexa 1... 5 Generare PDF pentru Anexa 1... 5 Semnare fișier PDF generat pentru Anexa

Mai mult

Microsoft Word - Laborator 6 - Expresii Regulate IV.doc

Microsoft Word - Laborator 6 - Expresii Regulate IV.doc PERL Laborator 6 Adrian Iftene Martie 26, 2007 1 1 Greşeli Comune când lucrăm cu RegExp... 3 2 Câteva Subiecte mai Avansate... 3 2.1 Comentarii Inline... 4 2.2 Modificatori Inline... 4 2.3 Gruparea fără

Mai mult

Analiză statică Analiza fluxului de date 23 octombrie 2014

Analiză statică Analiza fluxului de date 23 octombrie 2014 Analiză statică Analiza fluxului de date 23 octombrie 2014 Analiză statică: definiție O analiză a codului sursă (fără a executa programul), cu scopul de a determina proprietăți ale programului sursă. (in

Mai mult

Utilizarea îmbinării corespondenței pentru crearea şi imprimarea scrisorilor şi a altor documente Dacă utilizați îmbinarea corespondenței când doriți

Utilizarea îmbinării corespondenței pentru crearea şi imprimarea scrisorilor şi a altor documente Dacă utilizați îmbinarea corespondenței când doriți Utilizarea îmbinării corespondenței pentru crearea şi imprimarea scrisorilor şi a altor documente Dacă utilizați îmbinarea corespondenței când doriți să creați un set de documente, cum ar fi o scrisoare

Mai mult

Modulul 1 M1-2.3 Protocoale şi servicii în reţea În acest capitol ne propunem să abordăm următoarele: Protocoalele şi aplicaţiile folosite în reţelele

Modulul 1 M1-2.3 Protocoale şi servicii în reţea În acest capitol ne propunem să abordăm următoarele: Protocoalele şi aplicaţiile folosite în reţelele M1-2.3 Protocoale şi servicii în reţea În acest capitol ne propunem să abordăm următoarele: Protocoalele şi aplicaţiile folosite în reţelele locale şi în Internet Porturile şi numerele de port M1-2.3.1.

Mai mult

GHID PENTRU EDITAREA VIDEOCLIPURILOR Autor prof. Viorel Coșeraru 1. Cum aranjăm videoclipurile în cronologie utilizând WMM (Windows Movie Maker) Atunc

GHID PENTRU EDITAREA VIDEOCLIPURILOR Autor prof. Viorel Coșeraru 1. Cum aranjăm videoclipurile în cronologie utilizând WMM (Windows Movie Maker) Atunc GHID PENTRU EDITAREA VIDEOCLIPURILOR Autor prof. Viorel Coșeraru 1. Cum aranjăm videoclipurile în cronologie utilizând WMM (Windows Movie Maker) Atunci când importați clipuri video sau fotografii, acestea

Mai mult

Laborator 9: Fire de execuţie Întocmit de: Adina Neculai Îndrumător: Asist. Drd. Gabriel Danciu 20 noiembrie 2011

Laborator 9: Fire de execuţie Întocmit de: Adina Neculai Îndrumător: Asist. Drd. Gabriel Danciu 20 noiembrie 2011 Laborator 9: Fire de execuţie Întocmit de: Adina Neculai Îndrumător: Asist. Drd. Gabriel Danciu 20 noiembrie 2011 I. NOŢIUNI TEORETICE A. Ce este un fir de execuţie? Înainte de a defini conceptul de fir

Mai mult

Platformă de e-learning și curriculă e-content pentru învățământul superior tehnic Programare în limbaj de asamblare 42. Utilizare Debug şi TurboDebug

Platformă de e-learning și curriculă e-content pentru învățământul superior tehnic Programare în limbaj de asamblare 42. Utilizare Debug şi TurboDebug Platformă de e-learning și curriculă e-content pentru învățământul superior tehnic Programare în limbaj de asamblare 42. Utilizare Debug şi TurboDebugger pentru realizare de programe simple şi depanarea

Mai mult

Lucrarea nr

Lucrarea nr Lucrarea nr. 3 Tehnici de programare a aplicaţiilor pe sisteme cu microcontroloare 1. Obiectivul lucrarii Lucrarea urmăreşte studierea tehnicilor de dezvoltare si depanare a programelor scrise pentru sisteme

Mai mult

Laborator 1-Teoria probabilitatilor si statistica matematica Sef lucrari dr.mat. Daniel N.Pop Departamentul de calculatoare si inginerie electrica 1 P

Laborator 1-Teoria probabilitatilor si statistica matematica Sef lucrari dr.mat. Daniel N.Pop Departamentul de calculatoare si inginerie electrica 1 P Laborator 1-Teoria probabilitatilor si statistica matematica Sef lucrari dr.mat. Daniel N.Pop Departamentul de calculatoare si inginerie electrica 1 Prezentare generală Matlab 1.1 Help on-line 1. Limbajul

Mai mult

LUCRAREA NR

LUCRAREA NR LUCRAREA NR. 5 TIPURI DE DATE STRUCTURATE În C există două categorii de tipuri de date structurate: tablourile şi structurile. Un tablou este o colecţie omogenă de valori de acelaşi tip identificate printr-un

Mai mult

EXCEL FĂRĂ SECRETE Grafice şi diagrame

EXCEL FĂRĂ SECRETE Grafice şi diagrame EXCEL FĂRĂ SECRETE Grafice şi diagrame Cuprins 1. Introducere... 3 2. Crearea graficelor în Excel... 3 3. Mutarea şi copierea graficelor... 11 2 EXCEL FĂRĂ SECRETE- Grafice şi diagrame 1. Introducere Informaţiile

Mai mult

Unitatea: Școala Gimnazială Disciplina: Informatică și TIC Programa școlară aprobată cu OMEN nr.3393 din Profesor: prof. Clasa: a V-a A, B

Unitatea: Școala Gimnazială Disciplina: Informatică și TIC Programa școlară aprobată cu OMEN nr.3393 din Profesor: prof. Clasa: a V-a A, B Unitatea: Școala Gimnazială Disciplina: Informatică și TIC Programa școlară aprobată cu OMEN nr.3393 din 28.02.2017 Profesor: prof. Clasa: a V-a A, B Nr. ore= 34 ore Nr. ore/săpt= 1 oră 2017-2018 PLANIFICARE

Mai mult

Microsoft Visual C++ (abreviat MSVC) is a commercial integrated development environment (IDE) product engineered by Microsoft for the C, C++, and C++/

Microsoft Visual C++ (abreviat MSVC) is a commercial integrated development environment (IDE) product engineered by Microsoft for the C, C++, and C++/ Proiect (100 puncte) Pe o platformă online se comercializează produse alimentare și nealimentare. Pentru un produs, pe lângă atributele comune: cod identificare, denumire, descriere, categorie, preț etc.

Mai mult

Lucrarea nr. 2 Aplicaţii de tip client Mihai IVANOVICI 6 martie 2006 Scopul acestei lucrări este de a vă familiariza cu modulul Python socket şi cu mo

Lucrarea nr. 2 Aplicaţii de tip client Mihai IVANOVICI 6 martie 2006 Scopul acestei lucrări este de a vă familiariza cu modulul Python socket şi cu mo Lucrarea nr. 2 Aplicaţii de tip client Mihai IVANOVICI 6 martie 2006 Scopul acestei lucrări este de a vă familiariza cu modulul Python socket şi cu modul de implementare al unei aplicaţii de tip client.

Mai mult

Propunator: Morar Florin Colegiul National Silvania Zalau Discipina: Informatica Nivel liceal, cls. XII 1.Să se scrie în limbajul C/C++ definiţia comp

Propunator: Morar Florin Colegiul National Silvania Zalau Discipina: Informatica Nivel liceal, cls. XII 1.Să se scrie în limbajul C/C++ definiţia comp Propunator: Morar Florin Colegiul National Silvania Zalau Discipina: Informatica Nivel liceal, cls. XII 1.Să se scrie în limbajul C/C++ definiţia completă a subprogramului calcul, care primeşte prin intermediul

Mai mult

GHERCĂ MAGDA CASA CORPULUI DIDACTIC BRĂILA PORTOFOLIU EVALUARE INFORMATICĂ ȘI TIC PENTRU GIMNAZIU CLASA A V-A Neamț SERIA 1 GRUPA 1 CURSANT: GHERCĂ G

GHERCĂ MAGDA CASA CORPULUI DIDACTIC BRĂILA PORTOFOLIU EVALUARE INFORMATICĂ ȘI TIC PENTRU GIMNAZIU CLASA A V-A Neamț SERIA 1 GRUPA 1 CURSANT: GHERCĂ G CASA CORPULUI DIDACTIC BRĂILA PORTOFOLIU EVALUARE INFORMATICĂ ȘI TIC PENTRU GIMNAZIU CLASA A V-A Neamț SERIA 1 GRUPA 1 CURSANT: GHERCĂ G MAGDA COLEGIUL NAŢIONAL ROMAN-VODĂ ROMAN PROIECTUL UNITĂŢII DE ÎNVĂŢARE

Mai mult

PPSD

PPSD Modele paralele SPMD Modelul SPMD Comunicarea prin mesaje Message Passing Interface Modelul SPMD Modelul SPMD (Single Program Multiple Data) Acesta este un model adecvat calculatoarelor MIMD In cele ce

Mai mult

LUMINIŢA SCRIPCARIU

LUMINIŢA SCRIPCARIU ANEXA A PROGRAMAREA SERVICIILOR INTERNET Programarea serviciilor de reţea implică o cunoaştere amănunţită a modului în care circulă datele prin Internet şi, mai precis, a protocoalelor din suita TCP/IP

Mai mult

Chertif Ionuț - Andrei Prietenul meu, calculatorul CLASA a V - a, 1 ora pe săptămână ARGUMENT Transformările societăţii româneşti din ultimii ani, dez

Chertif Ionuț - Andrei Prietenul meu, calculatorul CLASA a V - a, 1 ora pe săptămână ARGUMENT Transformările societăţii româneşti din ultimii ani, dez Prietenul meu, ul CLASA a V - a, ora pe săptămână ARGUMENT Transformările societăţii româneşti din ultimii ani, dezvoltarea şi răspândirea informaticii, impun o pregătire diversificată a tinerilor în acest

Mai mult