Capitolul 8 Funcţii în limbajul C
|
|
- Anis Terry
- 6 years ago
- Views:
Transcription
1 Obiectiv: stabilirea avantajelor pe care le aduce în programarea structurată folosirea funcţiilor. Activităţi: - Prezentarea funcţiilor definite de utilizator - Descrierea parametrilor formali şi a parametrilor actuali - Transmiterea parametrilor prin valoare şi transmiterea prin adresă (referinţă) 8.1 Prezentarea funcţiilor definite de utilizator O funcţie reprezintă o secvenţă de instrucţiuni care poate fi identificată şi apelată prin intermediul unui nume. Funcţiile sunt un element foarte important în orice limbaj de programare, deoarece uşurează foarte mult munca programatorului, eliminând necesitatea scrierii aceluiaşi cod de mai multe ori. De asemenea, prin folosirea funcţiilor programele pot fi structurate în blocuri, implicând o mai bună depanare şi modularizare a programelor respective. Utilizarea unei funcţii presupune două elemente distincte: - definirea funcţiei; - apelul funcţiei; Definirea unei funcţii reprezintă precizarea tipului returnat de funcţia respectivă, a argumentelor funcţiei şi a tipurilor acestora şi scrierea corpului funcţiei (instrucţiunile care vor fi executate când va fi apelată funcţia). Forma generală a unei funcţii este următoarea: tip_returnat nume_functie (tip_date1 arg1, tip_date2 arg2,..., tip_daten argn );... corpul_functiei;... Exemplu de definire de funcţie care returnează o valoare de tip întreg: int calcul (int a, int b) int c; c = a + b; // valoarea returnată de funcţie Exemplu de funcţie care nu primeşte nici un (argument) şi nu returnează nimic: void afisare (void) // sau void afisare () printf ( Functie care nu returnează nici o valoare... ; Apelarea unei funcţii constă în folosirea propriu-zisă a funcţiei, într-o altă funcţie. Apelarea se poate face atât în funcţia principală (main), cât şi într-o altă funcţie.
2 Returnarea unei valori de către o funcţie se face folosind instrucţiunea return înainte de încheierea funcţiei respective. De asemenea, instrucţiunea return se poate folosi şi pentru încheierea forţată a execuţiei unei funcţii. O funcţie poate returna orice valoare dintr-un tip de bază, cu excepţia unui tablou. Dacă funcţia nu returnează nici o valoare, atunci se consideră că returnează void (tipul vid). Atenţie! dacă nu se specifică nimic la tipul returnat de funcţie, compilatorul C consideră că funcţia respectivă returnează o valoare de tip întreg (va fi semnalat un avertisment (warning) Function should return a value) Exemplu: definirea şi apelarea unei funcţii care returnează o valoare întreagă: int calcul (int a, int b) int c; c = a + b; void main (void) int x, y, z; x = calcul (y, z); // apelarea funcţiei printf ( Rezultatul este %d, x); Exemplu: definirea şi apelarea unei funcţii care nu retunează nici o valoare: void afisare (void) printf ( Functie care nu returnează nici o valoare... ); int x, y, z; afisare (); // apelarea funcţiei Înainte de a fi folosită, o funcţie poate fi declarată. Declararea (precizarea prototiplui) unei funcţii este necesară doar dacă funcţia respectivă este declarată (în program) după ce a fost declarată funcţia main (), sau dacă se foloseşte o funcţie într-o altă funcţie, înainte ca prima să fie declarată. Declararea (prototipul) funcţiei afisare () definită anterior este următorul: void afisare (void); 8.2 Parametrii locali, parametrii formali şi parametrii actuali În utilizarea funcţiilor se pot deosebi două tipuri de parametri, în funcţie de specificul lor: - parametrii formali; - parametrii actuali; Variabilele care sunt declarate în interiorul unei funcţii se numesc variabile locale şi sunt accesibile doar în interiorul funcţiei respective. Valorile reţinute în aceşti parametrii se pierd odată cu ieşirea din blocul respectiv. Exemplu: funcţie pentru calculul minimului dintr-un şir de numere: 2
3 int getmin (int n, int a[]) int min, i; // min, i - variabile locale min = a[0]; for (i = 1; i < n; i++) if (min > a[i]) min = a[i]; return min; Exemplu: funcţie pentru căutarea poziţiei unui număr într-un şir de numere întregi: int poz (int n, int a[], int nr_cautat) int poz, i; for (i = 0; i < n; i++) if (nr_cautat == a[i]) poz = i; return poz; Argumentele (parametrii) cu care este definită o funcţie sunt numiţi parametrii formali. După ce a fost definită funcţia, parametrii formali pot fi folosiţi în funcţia respectivă ca şi variabile locale obişnuite. Ei sunt numiţi formali deoarece funcţia nu va fi apelată cu parametrii respectivi, ci cu parametrii de tipurile respective (ei sunt precizaţi pentru a se cunoaşte prototipul funcţiei respective). Parametrii actuali sunt parametrii cu care se apelează propriu-zis o funcţie. În exemplul următor se pot observa cele două tipuri de parametrii: float medie (int a, int b) // a, b - parametrii formali float c; // c variabilă locală c = (a + b) / 2; int y, z; float x; // x, y, z - variabile locale x = calcul (y, z);// y, z - parametrii actuali printf ( Rezultatul este %f, x); 8.3 Transmiterea parametrilor prin valoare, transmiterea prin adresă În general, este necesară transmiterea valorilor calculate într-o funcţie, pentru a putea fi folosite într-o altă funcţie. Transmiterea valorilor se poate face în două moduri: - prin valoare; - prin adresă; 3
4 8.3.1 Transmiterea parametrilor prin valoare Transmiterea parametrilor prin valoare constă în copierea valorii unui argument într-un parametru formal al unei funcţii. În cazul transmiterii prin valoare, modificările efectuate asupra parametrului formal NU au efect asupra argumentului funcţiei. Transmiterea parametrilor prin valoare este cea mai folosită metodă de transfer din limbajul C. Exemplu: float medie (int a, int b) float c; c = (a + b) / 2; int y, z; float x; x = calcul (y, z); printf ( Rezultatul este %f, x); Transmiterea matricelor ca argumente pentru o funcţie reprezintă o excepţie de la regula de transmitere prin valoare a parametrilor. Dacă se foloseşte o matrice ca şi argument al unei funcţii, atunci funcţiei respective i se transmite adresa matricei respective (adresa primului element al matricei), iar funcţia respectivă poate acţiona asupra conţinutului matricei respective. Exemplu de transformare a unui şir de caractere în majuscule: void majuscule (char *sir) int i; for (i = 0; sir[i]; i++) sir[i] = toupper (sir[i]); printf ( %c, sir[i]); char sir1[50]; gets(sir1); majuscule (sir1); // apelarea funcţiei Exemplu de program care realizează citirea unei matrice de numere întregi: int citire (int tablou[]) /* funcţia are ca parametru tabloul de numere întregi care este iniţial gol 4
5 - elementele tabloului se păstrează şi la părăsirea funcţiei - funcţia returnează numărul de numere întregi introduse în tablou */ int i, nr; printf ("Numarul de elemente al tabloului:"); scanf("%d", &nr); for (i=0;i<nr;i++) printf("dati elementul %d >",i); scanf ("%d", &tablou[i]); return nr; int main(void) int n; int tab[20]; n=citire(tab); /* apelarea funcţiei de citire a tabloului de numere întregi */ Transmiterea parametrilor prin adresă În limbajul C există şi instrumente prin care se poate simula un transfer prin referinţă. Pentru a transfera un obiect V ca parametru prin referinţă, se transferă un pointer către V; parametrul formal va fi un pointer către valoarea obiectului V. Transmiterea parametrilor prin referinţă constă în copierea adresei unui argument într-un parametru. În funcţia în care se face apelarea, este folosită adresa respectivă pentru accesarea argumentului folosit efectiv la apelare. În transmiterea prin adresă, modificările efectuate asupra unui parametru formal afectează argumentul cu care se face apelarea funcţiei (parametrul actual). Pentru a folosi transmiterea prin referinţă, argumentele funcţiei trebuie declarate ca pointeri. Exemplu interschimbarea a două numere: void interschimba (int *a, int *b) //transmit prin adresă int c; c = *a; *a = *b; *b = c; int *x, *y; int z, w; x = &z; y = &w; // parametrii locali - pointeri // parametrii locali // z şi w sunt folosite pentru // iniţializarea celor doi pointeri printf ("Introd. valoarea primului numar: "); scanf ("%d", x); 5
6 printf ("Introd. valoarea pentru al doilea numar: "); scanf ("%d", y); interschimba (x, y); // apelarea funcţiei interschimba (&z, &w); // apel recomandat al funcţiei printf ("Nr. interschimbate sunt %d si %d", *x, *y); getch (); 8.4 Probleme rezolvate Exemplu 1 - modificarea unui număr întreg, transmis prin adresă, într-o funcţie: void incrementare_număr (int *nr) (*nr)++; int n=0; incrementare_număr (&n); printf ( Numarul este: %d, n); Exemplu 2 - definirea şi folosirea unei funcţii care citeşte un şir de caractere şi îl returnează: void citire_sir (char *sir) gets (sir); char sir1[50]; citire_sir (sir1); printf ( Sirul introdus este: %s, sir1); Exemplu 3 - declararea şi folosirea unei funcţii care citeşte şi returnează o dată calendaristică. #include <string.h> void citire_data (int *zi, int *luna, int *an) printf ( Introduceti ziua: ); scanf ( %d, zi); printf ( Introduceti luna: ); 6
7 scanf ( %d, luna); printf ( Introduceti anul: ); scanf ( %d, an); int *a, *b, *c; int x, y, z; a = &x; b = &y; c = &z; //iniţializarea pointerilor citire_data (a, b, c); printf ( Data citita este: %d %d %d, *a, *b, *c); 8.5 Probleme propuse 1. Să se realizeze un program care, folosind un meniu, să calculeze ariile mai multor figuri geometrice, fiecare arie fiind calculată folosind câte o funcţie. 2. Să se realizeze un program care să rezolve o ecuaţie de gradul 2 cu coeficienţii citiţi de la tastatură, folosind o funcţie care să returneze două valori - rădăcinile, şi să precizeze dacă are sau nu rădăcini reale). 3. Să se realizeze un program care să determine dacă un număr citit de la tastatură este prim, utilizând o funcţie definită de utilizator. 4. Să se scrie un program care determină toate numerele prime mai mici sau egale cu un număr N dat de la tastatură. 5. Să se scrie un program în C care să permită prin intermediul unui meniu interactiv următoarele acţiuni: - Introducere număr în tabloul de numere (toate numerele din tablou trebuie să fie diferite) - Afişare numere - Şterge un număr din tablou - Ieşire 6. Să se scrie un program în C care să permită prin intermediul unui meniu interactiv următoarele acţiuni: - Adăugare elev (elevul este identificat prin nume) - Afişare elevi - Căutare după nume - Sortare alfabetică după nume - Ieşire 7
Laborator 5 Instrucțiunile repetitive
Laborator 5 Instrucțiunile repetitive Instrucțiunea for Instrucțiunea for permite repetarea unei secvențe de instrucțiuni atâta timp cât o condiție este îndeplinita. În plus, oferă posibilitatea execuției
More informationAlocarea memoriei în C sub Linux
Costel Aldea Alocarea memoriei în C sub Linux Sunt trei funcţii C standard care se pot folosi pentru a aloca memorie: malloc(), calloc(), si realloc(). Prototipurile lor, după cum sunt definite în stdlib.h:
More information1. Să se determine de câte ori apare cifra c în scrierea în baza p a numărului n.
Observatii: Codul de mai jos a fost realizat si testat pe pagina online: https://www.tutorialspoint.com/compile_pascal_online.php 1. Să se determine de câte ori apare cifra c în scrierea în baza p a numărului
More informationFişiere in C++ Un fişier este o colecţie de date indicat printr-un nume şi o extensie. Numele este desparţit de extensie prin punct.
Fişiere in C++ Un fişier este o colecţie de date indicat printr-un nume şi o extensie. Numele este desparţit de extensie prin punct. Avantajul lucrului cu fisiere este evident, datele rezultate în urma
More informationLaborator 8 Java Crearea claselor de obiecte. Variabilele (campurile) clasei de obiecte
Laborator 8 Java Crearea claselor de obiecte. Variabilele (campurile) clasei de obiecte Probleme rezolvate: Scrieti, compilati si rulati toate exemplele din acest laborator: 1. Programul urmator (LotoConstante.java)
More informationRezolvare fişă de laborator Java Iniţiere în limbajul Java
Rezolvare fişă de laborator Java Iniţiere în limbajul Java Ex 1: Scrie următorul program Java folosind JCreator apoi încercă să-l înţelegi. public class primulprg System.out.println("Acesta este primul
More information8. Tablouri. 8.1 Tipuri de dată simple şi tipuri de dată structurate
8. Tablouri Tablourile (arrays) reprezintă un tip important de structură de date şi sunt colecţii de obiecte de acelaşi tip reunite sub un singur nume. Uneori este necesar să referim anumite variabile
More informationUtilizarea formularelor in HTML
Utilizarea formularelor in HTML Formulare Un formular este constituit din elemente speciale, denumite elemente de control (controls), cum ar fi butoane radio, butoane de validare, câmpuri text, butoane
More informationLucrarea nr. 2. Funcţii şi structuri în C++
Lucrarea nr. 2 Funcţii şi structuri în C++ Pe măsură ce programele cresc in complexitate şi dimensiune, ele trebuiesc împărţite în fragmente mai mici şi mai uşor de gestionat numite funcţii. Funcţiile
More informationProiectarea bazelor de date. PL/SQL Proceduri în PL/SQL(partea II-a) # 9. Adrian Runceanu
Proiectarea bazelor de date # 9 PL/SQL Proceduri în PL/SQL(partea II-a) 2016 Adrian Runceanu www.runceanu.ro/adrian Curs 9 Proceduri în PL/SQL Proiectarea bazelor de date 2 Cuprins Proceduri în PL/SQL
More informationProbleme propuse pentru Testul de Laborator Semestrul I
Probleme propuse pentru Testul de Laborator Semestrul I Problema 1: Scrieti un program in C pentru rezolvarea ecuatiei de gradul 1 cu coeficienti reali. Valorile coeficientilor se citesc de la tastatura.
More informationSe cer 2 variante: una cu implementarea statica si a doua cu implementarea dinamica a structurilor de date necesare. Comentati variantele.
Lucrarea 1 SDA 03.04.2017 Sa se realizeze urmatoarele programe, in limbaj C: 1. Se primesc de la intrarea standard: un numar k si un sir infinit de numere naturale a i. Se afiseaza la iesirea standard,
More informationÎmbunătăţiri aduse în limbajul C++ facilităţilor standard ale limbajului C (cele care nu ţin de conceptele programării orientate obiect).
Îmbunătăţiri aduse în limbajul C++ facilităţilor standard ale limbajului C (cele care nu ţin de conceptele programării orientate obiect). Supraîncărcarea numelui de funcţii (overloading) In C nu este permisa
More informationTablouri de date. Tablouri unidimensionale(siruri de date sau vectori)
Tablouri de date Tablouri unidimensionale(siruri de date sau vectori) I. Operaţii asupra şirurilor de date monodimensionale Definiţie Tablou = succesiune de locaţii de memorie recunoscute prin acelaşi
More informationNivelul inferior de prelucrare a fişierelor
INTRĂRI ŞI IEŞIRI Operaţiile de I/E în limbajul C se realizează prin intermediul unor funcţii din biblioteca standard a limbajului. Majoritatea operaţiilor de I/E se realizează în ipoteza că datele sunt
More informationPROGRAMARE ORIENTATĂ PE OBIECTE
Universitatea Constantin Brâncuşi din Târgu-Jiu Facultatea de Inginerie Departamentul de Automatică, Energie şi Mediu PROGRAMARE ORIENTATĂ PE OBIECTE Lector dr. Adrian Runceanu 03.01.2014 1 Curs 15 Limbajul
More informationLaborator 3 Java. Introducere in programarea vizuala
Laborator 3 Java Introducere in programarea vizuala 1. Pachetele AWT si Swing. 2. Ferestre 3.1. Introduceti urmatorul program JAVA: public class Pv public static void main(string args[ ]) JFrame fer=new
More informationTipuri de date structurate
Tipuri de date structurate Problema 1 Să se citească un șir A de la tastatură, citirea șirului se termina la introducerea valorii 0. Să se construiască și să se tipărească șirul B de perechi (element,
More informationLaborator 10. SGBD-ul MySQL (partea I)
Laborator 10 SGBD-ul MySQL (partea I) 1. Introduceţi următoarea secvenţă PHP: $dbh = mysql_connect("localhost", "Costica", "mypass") or die("unable to connect to MySQL"); $selectdb = mysql_select_db('lucrudb');
More informationSiruri de caractere. 1.1 Folosirea şirurilor
Informatica clasa a X-a 1 Siruri de caractere 1.1 Folosirea şirurilor Cea mai comună utilizare a tabloului unidimensional în limbajul C/C++ este şirul (de caractere). Spre deosebire de multe alte limbaje
More informationCURS 7. Pointeri. - specifice limbajelor de asamblare
CURS 7 Pointeri - tipuri speciale de variabile sau constante care au ca valori adrese ale unor alte variabile sau constante (adrese ale unor locaţii de memorie) - permit calcule cu adrese - specifice limbajelor
More informationMemorator funcţii predefinite C++ Funcţii matematice
Funcţii matematice Funcţia Prototipul funcţiei Fişierul pow(x,y) double pow (double x,double y); long double pow ( long double x, long double y); float pow (float x,float y); double pow (double x, int
More informationOperatori. Comentarii. Curs 1
Operatori atribuirea: = operatori matematici: +, -, *, /, % Este permisa notatia prescurtata de forma lval op= rval (ex: n += 2) Exista operatorii pentru autoincrementare si autodecrementare (post si pre)
More informationLUCRAREA NR. 6 POINTERI
LUCRAREA NR. 6 POINTERI Un pointer este o variabilă care păstrează adresa unui obiect de tip corespunzător. Forma generală pentru declararea unei variabile pointer este: tip * nume_variabila; unde tip
More informationFisiere text in Java.
Fisiere text in Java. Doru Anastasiu Popescu Prelucrarea fisierelor text in Java Aspecte teoretice: http://cursuri.cs.pub.ro/~poo/wiki/index.php/input/output http://upm.ro/intranet/ecalin/cd_educational/cd/javac/cap3.htm
More informationRezolvarea exceptiilor
PL/SQL SECTIUNE 6 Rezolvarea exceptiilor Entering an incorrect username and/or password Forgetting to include the @ in an email address Entering a credit card number incorrectly Entering an expiration
More informationProgramarea 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 10 13.11.2013 Programarea
More informationSintaxa definińiei unei funcńii este: tip_rez nume_funcńie (<lista_parametri>) { <declarańii locale> secvenńă de instrucńiuni }
Laboratorul 10. FUNCłII ÎN C/C++ Introducere În limbajul C++ (similar cu limbajul C standard) programul este o colecńie de module distincte numite funcńii, structura generală a programului fiind:
More information1.Pentru definiţia de mai jos a subprogramului f, ce se afişează ca urmare apeluluif(121,1)? void f(long n, int i) { if(n!=0) if(n%3>0) { cout<<i;
1.Pentru definiţia de mai jos a subprogramului f, ce se afişează ca urmare apeluluif(121,1)? void f(long n, int i) { if(n!=0) if(n%3>0) { cout
More informationIngineria Sistemelor de Programare. UML Diagrama Cazurilor de Utilizare 2016
Ingineria Sistemelor de Programare UML Diagrama Cazurilor de Utilizare mihai.hulea@aut.utcluj.ro 2016 Introducere UML UML UML = Unified Modeling Language Dezvoltat in cadrul Object Management Group In
More informationLaborator 4 Java Colectii
Laborator 4 Java Colectii Scrieti, compilati si rulati toate exemplele din acest laborator: 1. Urmatorul exemplu foloseste diferite clase de colectii si adauga cate un element in aceste colectii import
More informationProbleme consultații 20 ianuarie 2018
Algoritmi elementari Probleme consultații 20 ianuarie 2018 Problema 1: zerouri factorial Enunt Fiind dat un numar natural n, sa se determine numarul de cifre 0 cu care se termină factorialul numărului
More informationProgramarea calculatoarelor
Limbajul C CURS 3 Instrucţiuni C continuare curs 2 Alte instrucţiuni C Instrucţiunea break >ieşire forţată din ciclu sau switch Salt după instrucţiunea din care a ieşit Instrucţiunea continue ->continuă
More informationVariabile predefinite
Php(2) Variabile predefinite Variabile predefinite $GLOBALS = pot fi accesate toate variabilele globale care sunt accesibile scriptului PHP curent $_SERVER = contine o serie de variabile ale caror valori
More informationCapitolul IB.03. Funcţii de intrare/ieşire în limbajul C
Capitolul Cuvinte-cheie Funcţii de intrare/ieşire caractere, funcţii de intrare/ieşire şiruri de caractere, citire/scriere cu format IB.03.1 Funcţii de intrare/ieşire în C În limbajul C, nu există instrucţiuni
More information1. Funcţii referitoare la o singură înregistrare (single-row functions)
Laborator 4 Limbajul SQL 1. Funcţii referitoare la o singură înregistrare (single-row functions) 2. Funcţii referitoare la mai multe înregistrări (multiple-row functions) 1. Funcţii referitoare la o singură
More informationProiectarea Rețelelor 32. Controlul modelelor de trafic in retea prin alterarea atributelor BGP
Platformă de e-learning și curriculă e-content pentru învățământul superior tehnic Proiectarea Rețelelor 32. Controlul modelelor de trafic in retea prin alterarea atributelor BGP De ce ebgp? De ce ibgp?
More informationLaborator 1 Recursivitate
Recursivitate 1. Fie ecuaţia x - Sx + P = 0 cu S, P R si x1, x rădăcinile ecuaţiei. Să se calculeze Sn=, n N. n n x 1 x Căutăm relaţia de recurenţă pentru Sn, ştiind că x1, respectiv x sunt rădăcinile
More informationIntroducere în C B. Kernighan, D. Richie-Limbajul C 1. Despre C. Primul program
B. Kernighan, D. Richie-Limbajul C 1. Despre C. Primul program 2. Variabile şi expresii aritmetice 3. Instrucțiunea for 4. Constante simbolice 5. Citirea şi scrierea caracterelor 6. Tablouri 7. Funcții
More informationProgramarea 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 10 05.05.2014 Programarea
More informationGestionarea memoriei dinamice. Tablouri şi şiruri de caractere. Conversii de date. Operaţii de intrare / ieşire
Lucrarea 3 Gestionarea memoriei dinamice. Tablouri şi şiruri de caractere. Conversii de date. Operaţii de intrare / ieşire Cuprins Simbolul this...1 Colectorul de reziduuri (Garbage Collector)...4 Transmiterea
More informationCurs 5. Programare Paralela si Distribuita. Forme de sincronizare - Java. Curs 5 - PPD 1
Curs 5 Programare Paralela si Distribuita Forme de sincronizare - Java Curs 5 - PPD 1 Monitor in Java Fiecare obiect din Java are un mutex care poate fi blocat sau deblocat in blocurile sincronizate: Bloc
More informationBirotică Profesională. Cursul 12
Birotică Profesională Cursul 12 Sumar Visual Basic for Applications (VBA) Tipuri de date Structuri de control Funcţii si proceduri Obiecte si colecţii VBA Mediu de programare destinat in special realizării
More informationTehnici avansate de programare
Tehnici avansate de programare Curs - Cristian Frăsinaru acf@infoiasi.ro Facultatea de Informatică Universitatea Al. I. Cuza Iaşi Adnotarea elementelor Tehnici avansate de programare p.1/1 Cuprins Ce sunt
More informationLaborator 9. Programare orientată pe obiecte Laborator 9. 1) Să se realizeze o aplicaţie care să rezolve ecuaţii de gradul al doilea.
Laborator 9 1) Să se realizeze o aplicaţie care să rezolve ecuaţii de gradul al doilea. Interfaţa aplicaţiei va fi următoarea Casetelor text li se vor da denumirile: camp_a, camp_b, camp_c, rez. Evenimentului
More informationInstructiuni de control
Instructiuni de control Introducerea caracterelor de la tastatura Instructiuni de selectie (if, switch) Instructiuni repetitive (for, while, dowhile, foreach) Instructiuni de salt (break, continue, goto,
More informationJavaScript - Intorducere. Și nu numai...
JavaScript - Intorducere Și nu numai... Ce facem azi Nu o sa va vină să credeți. Pe foaia albă vă scrieți numele și prenumele ȘI Povestim despre JavaScript Exemple de aplicare discutii și surprize mici
More informationProgramarea calculatoarelor. C++ Siruri de caractere # 10. Adrian Runceanu
Programarea calculatoarelor # 10 C++ Siruri de caractere 2016 Adrian Runceanu www.runceanu.ro/adrian Curs 10 21.11.2016 Programarea calculatoarelor 2 Capitolul 8. Şiruri de caractere 8.1. Formă generală.
More informationProiectarea bazelor de date
Universitatea Constantin Brâncuşi din Târgu-Jiu Facultatea de Inginerie şi Dezvoltare Durabilă Departamentul de Automatică, Energie, Mediu şi Dezvoltare Durabilă Proiectarea bazelor de date Lect.dr. Adrian
More informationProgramare orientată obiect
UNIVERSITATEA BABEŞ-BOLYAI Facultatea de Matematică şi Informatică Programare orientată obiect Curs 01 Laura Dioşan 2 Conţinut Introducere Programare structurată la nivel inferior Programare structurată
More information1. Citirea datelor de la tastatura si afisarea datelor pe ecran
Laborator 6 Java 1. Citirea datelor de la tastatura si afisarea datelor pe ecran In limbajul Java nu exista instructiuni specializate pentru citirea/scrierea datelor. Aceste operatii se realizeaza prin
More informationCunoașterea și înțelegerea conceptelor specifice programării orientate obiect. Abilități de programare în limbajele de programare C și C++
Programare orientată obiect Obiective Cunoașterea și înțelegerea conceptelor specifice programării orientate obiect Abilități de programare în limbajele de programare C și C++ Obiectivele specifice: Scrierea
More informationProgramarea calculatoarelor
Programarea calculatoarelor #3 C++ Elemente introductive ale limbajului C++ 2016 Adrian Runceanu www.runceanu.ro/adrian Curs 3 Elemente introductive ale limbajului C++ 02.11.2016 Curs - Programarea calculatoarelor
More informationLenuta Alboaie Reţele de calculatoare
Programarea in retea - OOB- Lenuta Alboaie adria@info.uaic.ro 1 Cuprins Trimiterea si receptarea datelor in regim 2 Ideea: in timpul unei conexiuni cind sunt transmise date ( inband data ), si daca la
More informationUtilizarea AG pentru rezolvarea problemelor de optimizare cu un singur obiectiv
Utilizarea AG pentru rezolvarea problemelor de optimizare cu un singur obiectiv Enuntarea problemei de optimizare Problema de optimizare cu un singur obiectiv, cu constrangeri: Gaseste vectorul x 1 2 supusa
More informationProgramarea Calculatoarelor. Cursul 1: Concepte introductive. Tipuri de date. Funcții de intrare/ieșire
Programarea Calculatoarelor Cursul 1: Concepte introductive. Tipuri de date. Funcții de intrare/ieșire Ion Giosan Universitatea Tehnică din Cluj-Napoca Departamentul Calculatoare Cadre didactice Curs Ion
More informationProgramarea Aplicațiilor Windows curs 1
Programarea Aplicațiilor Windows curs 1 Lect. dr. Cristian CIUREA Departamentul de Informatică și Cibernetică Economică Academia de Studii Economice București cristian.ciurea@ie.ase.ro 1 Agenda 1. Structură
More informationAppOBP > PrOBPT > class Timp import java.text.decimalformat;
AppOBP > PrOBPT > class Timp import java.text.decimalformat; public class Timp { private int hour; // 0-23 private int minute; // 0-59 private int second; // 0-59 // constructorul Timp initializeaza fiecare
More informationLaborator 1 Java. Citirea datelor de la tastatura si afisarea datelor pe ecran
Laborator 1 Java Citirea datelor de la tastatura si afisarea datelor pe ecran In limbajul Java nu exista instructiuni specializate pentru citirea/scrierea datelor. Aceste operatii se realizeaza prin intermediul
More informationŞirurile de caractere sunt de fapt succesiuni de caractere. Am învăţat deja să memorăm succesiuni de caractere cu ajutorul tablourilor.
3. Şiruri de caractere 3.1. Declararea şi memorarea vectorilor de caractere Şirurile de caractere sunt de fapt succesiuni de caractere. Am învăţat deja să memorăm succesiuni de caractere cu ajutorul tablourilor.
More informationFișiere de comenzi (BAT) sub DOS
L3 Fișiere de comenzi (BAT) sub DOS Un fișier de comenzi este un fisier text care conține una sau mai multe comenzi si / sau directive care se execută succesiv, fară intervenția directă a utilizatorului.
More information1. C şi C++ un tur de orizont.
1. C şi C++ un tur de orizont. 1.1. Structura unui program C foarte simplu Un limbaj de programare reprezintă o interfaţă între problema de rezolvat şi programul de rezolvare. Limbajul de programare, prin
More informationCursul 12. Shell scripting. 13, 19 decembrie 2011
Cursul 12 12 Shell scripting 13, 19 decembrie 2011 Moto Back off, or I'll replace you with a small shell script. 19.12.2011 2 Securitate defense in depth privilegii weakest link resurse riscuri parole
More informationCONFIGURAREA UNUI SERVER IRC IN LINUX. Bica Bogdan *
CONFIGURAREA UNUI SERVER IRC IN LINUX Bica Bogdan * In this exemple i show how to configure an irc server based on ircd dameon named ircu.this is the main file name ircd.conf and the most important.configure
More informationSTRUCTURI DE DATE SI ALGORITMI LABORATOR 2 STIVA I. ASPECTE TEORETICE
STIVA I. ASPECTE TEORETICE O stiva este o lista simplu inlantuita gestionata conform principiului LIFO (Last In First Out). Conform acestui principiu, ultimul nod pus in stiva este primul nod care este
More informationLaborator 3 Aplicatii Java
Laborator 3 Aplicatii Java 1. Programarea vizuala Scrieti, compilati si rulati toate exemplele din acest laborator: 1. Fisierul se numeste testschimbareculori.java: import java.awt.*; import java.awt.event.*;
More informationGDB. Rulare gdb. Comenzi de bază GDB GDB. GDB poate fi folosit în două moduri pentru a depana programul:
GDB GDB Rulare gdb GDB poate fi folosit în două moduri pentru a depana programul: rulându-l folosind comanda gdb folosind fişierul core generat în urma unei erori grave (de obicei segmentation fault) Cea
More informationSECTION 5 L1 - Group By and Having Clauses
SECTION 5 L1 - Group By and Having Clauses Clauza Group By 1. SELECT department_id, AVG(salary),MAX(salary) 2. SELECT job_id, last_name, AVG(salary) GROUP BY job_id; ORA-00979: not a GROUP BY expression
More informationProgramare orientată pe obiecte. 1. Clase şi obiecte (continuare) 2. Tablouri
Programare orientată pe obiecte 1. Clase şi obiecte (continuare) 2. Tablouri // Autor : Fred Swartz import javax.swing.*; public class KmToMiles { Metode: cum funcţionează un apel private static double
More informationPOINTERI (III) 1. Alocarea dinamică a memoriei
Cursul 13 POINTERI (III) 1. Alocarea dinamică a memoriei 1.1. Necesitatea alocării dinamice. Ne punem problema utilizării într-un program C a unui număr foarte mare de date de tip double, de exemplu, date
More informationTema 2 PL/SQL. 3. a. Creati o tabela numita emp_dup care să fie duplicata tabelei employees. Create table emp_dup as select * from employees
Tema 2 PL/SQL 1. Ce va afişa acest bloc? fname varchar2(20); lname varchar2(15) default fernandez ; DBMS_OUTPUT.PUT_LINE(fname lname); a. Va printa fernandez. b. Va returna o eroare deoarece variabila
More informationŞiruri de caractere System.String string Verbatim verbatim verbatim Exemplu
Şiruri de caractere Pentru reprezentarea şirurilor de caractere, în limbajul C#, tipul de date utilizat este clasa System.String (sau aliasul string). Se definesc două tipuri de şiruri: regulate de tip
More informationThread-uri. Continut. Thread-uri 1
Thread-uri Continut 1 Prezentare teoretică 1.1 Introducere 1.1.1 Diferente dintre thread-uri şi procese 1.2 Avantajele thread-urilor 1.3 Tipuri de thread-uri 1.3.1 Kernel Level Threads 1.3.2 User Level
More informationProgramare Orientată pe Obiecte în limbajul Java
Curs 4 Programare Orientată pe Obiecte în limbajul Java Programare Orientată pe Obiecte Cuprins Tipul enumerare Clase imbricate Clase şi metode abstracte Excepţii Tipuri de date enumerare enum public class
More informationProblema apropiat de problema. Limbaj de programare. masina. Program de rezolvare. Calculator. Rezultate
1. Un tur de orizont în limbajul C. 1.1. Structura unui program C foarte simplu Un limbaj de programare reprezintă o interfaţă între problema de rezolvat şi programul de rezolvare. Limbajul de programare,
More informationProiectarea bazelor de date
Proiectarea bazelor de date #3 PL/SQL Funcţii SQL, operatori şi vizibilitatea variabilelor 2016 Adrian Runceanu www.runceanu.ro/adrian Curs 3 Funcţii SQL, operatori şi vizibilitatea variabilelor în PL/SQL
More informationJ. Introducere in limbajul Java
Curs POO-2006 (draft) 2006-2007 1/34 10/22/2006 2006_Intro_Java_v01.htm J. Introducere in limbajul Java J.1. Etapele dezvoltarii programelor Java si instrumentele folosite Programele sunt dezvoltate (concepute,
More information1. Clase. Abstractizarea datelor
1. Clase. Abstractizarea datelor Vom face în cursul de Programarea calculatoarelor şi limbaje de programare II o introducere în programarea orientată pe obiecte, cu aplicaţii în limbajul de programare
More informationProiectarea bazelor de date
Universitatea Constantin Brâncuşi din Târgu-Jiu Facultatea de Inginerie Departamentul de Automatică, Energie şi Mediu Proiectarea bazelor de date Lect.univ.dr. Adrian Runceanu 03.03.2013 Proiectarea bazelor
More information13. Java si XML Fisiere XML în aplicatii Java... XML si orientarea pe obiecte... Utilizarea unui parser SAX... Utilizarea unui parser DOM...
CUPRINS 1. Java ca limbaj de programare cu obiecte Diferente între limbajele Java si C................................... Tipuri clasã si tipuri referintã....................................... Structura
More informationCurs 3 Clase și obiecte. Limbajul de programare C++ Programare orientată obiect
Curs 3 Clase și obiecte Limbajul de programare C++ Programare orientată obiect Limbajul de programare C++ Urmașul limbajului C apărut în anii 80, dezvoltat de Bjarne Stroustrup Bibliografie: B. Stroustup,
More informationProiectarea bazelor de date
Universitatea Constantin Brâncuşi din Târgu-Jiu Facultatea de Inginerie Departamentul de Automatică, Energie şi Mediu Proiectarea bazelor de date Lect.univ.dr. Adrian Runceanu 19.03.2013 Proiectarea bazelor
More informationProgramare orientată obiect Limbajul C++
Programare orientată obiect Limbajul C++ Evoluția limbajelor de programare Cod mașină programul în format binar, executat direct de processor Limbaj de asamblare instrucțiuni in format binar înlocuit cu
More informationProiectarea bazelor de date
Universitatea Constantin Brâncuşi din Târgu-Jiu Facultatea de Inginerie Departamentul de Automatică, Energie şi Mediu Proiectarea bazelor de date Lect.univ.dr. Adrian Runceanu 11-Mar-13 Proiectarea bazelor
More informationDynamic binding vs static binding. Programare Orientată pe Obiecte
Dynamic binding vs static binding Programare Orientată pe Obiecte Ce va afişa următorul program? class TestEgal{ public boolean equals ( TestEgal other ) { System.out.println( "In equals din TestEgal"
More informationAplicații JAVA. Lect.dr. Adrian Runceanu
Universitatea Constantin Brâncuşi din Târgu-Jiu Facultatea de Inginerie Departamentul de Automatică, Energie şi Mediu Aplicații JAVA Lect.dr. Adrian Runceanu Curs 6 Colecții în Java 01.04.2015 Curs - Aplicatii
More informationAvantaje. 2. permite o foarte bună portabilitate a programelor. 3. permite programarea structurată (modulară)
CURS 3 Limbajul C - dezvoltat între anii 1969-1973 (D.M.Ritchie), o dată cu dezvoltarea sistemului de operare Unix. (Ken Thompson & D.M.Ritchie); - 1972 - anul "naşterii" limbajului C. - 1973 - elementele
More informationElemente de bază ale limbajului C++
Elemente de bază ale limbajului C++ 1. Vocabularul limbajului Elementele de bază ale limbajului, numite şi entităţi sintactice sau atomi lexicali, fac parte din următoarele categorii : cuvinte rezervate
More informationProiectarea Rețelelor 1. Componentele hardware ale unui sistem de calcul
Platformă de e-learning și curriculă e-content pentru învățământul superior tehnic Proiectarea Rețelelor 1. Componentele hardware ale unui sistem de calcul Integrated IS-IS 25 Noiembrie 2010 Proiectarea
More informationUniversitatea Constantin Brâncuşi din Târgu-Jiu. Aplicații JAVA. Lect.dr. Adrian Runceanu
Universitatea Constantin Brâncuşi din Târgu-Jiu Aplicații JAVA Lect.dr. Adrian Runceanu Curs 4 Applet-uri în Java 10.03.2016 Curs - Aplicatii Java 2 Applet-uri în Java 1. Ce este un applet? 2. Crearea
More informationLucrarea 5 Fire de Execuţie în Java. Mecanisme de Sincronizare.
Lucrarea 5 Fire de Execuţie în Java. Mecanisme de Sincronizare. În această lucrare vor fi prezentate mecanismele Java pentru programarea concurentă. Fire de Execuţie Există două moduri în care pot fi create
More informationIntroducere in AutoCAD 3D
Introducere in AutoCAD 3D Eu obisnuiesc sa spun ca diferenta dintre AutoCAD 2D si AutoCAD 3D este doar de 15 minute deoarece totul se reduce doar la a intelege cum functioneaza acest 3D si sistemul de
More informationLucrarea nr.9 SUPRAÎNCĂRCAREA OPERATORILOR
Lucrarea nr.9 SUPRAÎNCĂRCAREA OPERATORILOR Ca şi în C, limbajul C++ are posibilitatea supraîncărcării funcţiilor şi operatorilor. Mai exact, unei funcţii (metode) i se conferă posibilitatea de a înţelege
More informationLaborator 5 Sisteme Lindenmayer. Temă
Laborator 5 Sisteme Lindenmayer. Temă 1. Parcurgerea unui pătrat. Următorul L-sistem Alfabet=F,+,-; Producţii= F -> F-F+F+F+F-F-F-F+F, + -> +, - -> - Axioma= F generează, cu interpretările standard (F
More informationLucrarea nr.8 CLASE IMBRICATE
Lucrarea nr.8 CLASE IMBRICATE În C++ se poate include declaraţia unei clase în interiorul altei clase. Clasa declarată în interiorul alteia se numeşte clasă imbricată (nested class) şi permite evitarea
More informationOperații de intrare/ieșire în C++
Operații I/O în limbajul C++ Operații de intrare/ieșire în C++ Mihai Gabroveanu Limbajul C++ moștenește de la C funcțiile de I/O Dezavantaj: permit manipularea doar a tipurilor de bază Limbajul C++ introduce
More informationLimbaje de tipul 3. Gramatici regulate Automate finite. Expresii regulate. Deterministe Nedeterministe. a, a, ε, E 1.E 2, E 1 E 2, E 1*, (E 1 )
Curs 7 1 Limbaje de tipul 3 Gramatici regulate Automate finite Deterministe Nedeterministe Expresii regulate a, a, ε, E 1.E 2, E 1 E 2, E 1*, (E 1 ) 2 Istoric Paşii compilării Analiza lexicală Descriere
More informationVulnerabilitati Web si securizarea acestora v1.0
Vulnerabilitati Web si securizarea acestora v1.0
More informationIngineria Sistemelor de Programare
Ingineria Sistemelor de Programare Interfete grafice (Swing) mihai.hulea@aut.utcluj.ro 2017 Scurt istoric AWT: Abstract Windowing Toolkit import java.awt.* Swing Java FX Swing Demo Libraria Swing Swing
More informationla Microsoft Office Communicator pentru ca modificarea selecţiei dispozitivului telefonic să se actualizeze.
QUICK START GUIDE Plug-in de selec ie a telefonului pentru caracteristica de control al apelurilor din Microsoft Office Communicator pentru Cisco Unified Presence versiunea 7.0(3) Prezentare generală 2
More information