Concepte fundamentale ale limbajelor de programare

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

Download "Concepte fundamentale ale limbajelor de programare"

Transcriere

1 Concepte fundamentale ale limbajelor de programare Sisteme de tipuri in limbaje de programare Curs 08 conf. dr. ing. Ciprian-Bogdan Chirila

2 Cuprins Sistemul de tipuri in Pascal tipuri predefinite tipuri scalare predefinite de programator tipuri de date structurate pointeri echivalenta de tipuri

3 Cuprins Sistemul de tipuri in C tipuri predefinite tipul enumerare de constante tipuri de date structurate pointeri structuri recursive echivalenta de tipuri

4 Cuprins Sistemul de tipuri in Ada tipuri predefinite tipuri scalare definite de programator tipuri de date structurate pointeri echivalenta de tipuri subtipuri si tipuri derivate

5 Cuprins Sistemul de tipuri in Lisp tipuri predefinite simple liste vectori si matrici vectori si matrici de biti siruri de caractere echivalenta de tipuri subtipuri Comparatii Limbaje de programare puternic tipizate

6 Sistemul de tipuri in Pascal tipuri predefinite numerice: integer, real ne-numerice: boolean, char tipuri scalare definite de programator tipul enumerare type section=(automation, computer, electronic, electrotechnical, energetic) subdomenii type weak_currents=automation..computer; digits= ; month=1..12;

7 Tipuri scalare definite de programator un subdomeniu este compatibil cu tipul sau de baza atribuirile dintre weak_currents si sections sunt permise domeniul variabilei trebuie verificat verificarea poate fi realizata doar la executie

8 Tipuri structurate. Tablouri tablourile implementeaza in Pascal proiectiile finite type t:=array[ti] of TE; TI tip index; trebuie sa fie specificat la momentul definirii inainte de compilare TE- tip element; tipul indexului inclusiv dimensiunea acestuia face parte din tablou

9 Tablouri type t=array[1..10] of integer; t1=array[1..20] of integer; sunt diferite, sunt tipuri incompatibile proceduri generale ce accepta tablouri ca parametri nu pot fi create o solutie este sa se declare parametri formali la lungimea maxima lungimea efectiva <= lungimea maxima solutia este una rigida si ne-economica

10 Arrays solutia in standardul ISO Pascal tablouri conforme un parametru formal fara limita de indexare va fi conform cu unul actual prin acelasi numar de dimensiuni acelasi tip de element procedure p(var a:array[j..s:integer] of real); var i:integer; begin for i:=j to s do a[i]:= end

11 Inregistrarile implementeaza in Pascal produsul cartezian si reuniunile variabile implica specificarea pentru fiecare camp numele si tipul type person=record name:array[1..30] of char; day,month,year:integer; end;

12 Accesul prin mecanismul de selectie var author:person; author.name:= peter ; author.day:=5; author.month:=4; author.year:=1970;

13 Accesul prin mecanismul with with author do begin name:= peter ; day:=5; month:=4; year:=1970; end

14 Reuniuni variabile type person=record name:array[1..30] of char; day,month,year:integer; case man:boolean of true:(weight,height:real); false:(married:boolean); end; var p:person;

15 Reuniuni variabile fara camp de selectie type person=record name:array[1..30] of char; day,month,year:integer; case boolean of true:(weight,height:real); false:(married:boolean); end;

16 Reuniuni variabile p.name:= Paul ; p.day:=30; p.month:=10; p.year:=1980; p.man:=true; p.weight:=81; p.man:=false; if p.married then sunt mai putin sigure in limbajul Pascal

17 Multimi tipul multime permite descrierea de multimi reuniune, intersectie, diferenta teste de incluziune, teste de apartenenta tipul de baza trebuie sa fie scalar si nu real cardinalitate limitata type t=set of integer; /* este gresit */ type t=set of ; /* este corect */

18 Fisiere secventa de elemente de acelasi tip type ftype = file of t; tipul de baza poate fi orice tip

19 Pointeri in declararea unui pointer trebuie declarat tipul de referinta asigura compatibilitatea de tip in operatiile legate de pointeri pointerul nul este marcat / notat cu cuvantul cheie nil obiecte anonime referite de pointeri sunt create cu operatorul new var p:^t; new(p);

20 Pointeri eliberarea zonelor de memorie se face cu dispose(p); nu pot referi variabile ca in limbajul C pot referi doar obiecte anonime alocate dinamic

21 Echivalenta de tipuri semantica limbajului nu specifica cand doua tipuri sunt echivalente diferite implementari de limbaj au diferite echivalente de tip in standardul Pascal ISO s-a adoptat o definitie care este aproape de echivalenta de nume se cheama echivalenta de declaratie

22 Echivalenta de tipuri type t=record n:array[1..30] of char; i:integer; end; tx=record n:array[1..30] of char; i:integer; end; t1=t; var x:t; y:tx; z:t1;

23 Echivalenta de tipuri x si z sunt compatibile tipul lor este descris de aceeasi inregistrare nu este cazul pentru compatibilitatea de nume y nu este compatibil cu x sau cu z asa cum ar fi in cazul echivalentei structurale tipurile de subdomenii sunt compatibile cu tipurile lor de baza aceasta regula este impotriva echivalentei de nume

24 Sistemul de tipuri al limbajului C tipuri predefinite contante enumerate tipuri de date structurate tablouri structuri uniuni pointeri structuri recursive echivalente de tipuri

25 Tipuri predefinite char un octet pentru setul de caractere locale int multimea intregilor pe masina gazda short int de regula pe 16 biti long int pe cel putin 32 de biti lungime(short) 16 bits lungime(short)<= lungime(int)<=lungime(long) modificatorii signed si unsigned pot fi aplicati la tipul char si int unsigned char signed char float, double <limits.h> <float.h>

26 Constante enumerate enum boolean {NO,YES}; enum days {MO=1,TU,WE,THU,FRI,SAT,SUN};

27 Tablouri forma generala tip_element nume_tablou[expresie_constanta] dimensiune tablou >0 exemplu v[10] tablou de 10 intregi indicii incep de la zero primul element v[0] ultimul element v[9] initializarea int x[]={1,2,3}; dimensiunea tabloului trebuie sa fie cunoscuta la compilare tablourile in C sunt tablouri statice

28 Tablouri multidimensionale este un tablou de tablouri int mat[10][10] matrice cu 10 linii si 10 coloane elementul de la pozitia (i,j) poate fi accesat prin mat[i][i] si nu prin mat[i,j] ca in alte limbaje de programare array formal parameters can be declared incompletely without specifying the first dimension parametri formali de tip tablou pot fi declarati incomplet far a specifica prima sa dimensiune int f(char l[],int m[][10]);

29 Tablouri multidimensionale dimensiunile efective ale tablourilor poate fi specificata la apelul functiilor functiile pot avea un grad mai mare de generalitate ca cele din Pascal unde dimensiunea parametrului formal si a celui actual trebuie sa fie egale

30 Structuri implementeaza in C produsele Cartesiene struct point { int x; int y; }; poate fi copiat prin atribuire struct point origin={0,0};

31 Structuri accesul la campuri struct point p; p.x or p.y pot fi returnate de functii struct point f(int x, int y) { } pot fi incuibate struct rectangle { struct point p1; struct point p2; }; accesul poate fi incuibat struct rectangle r; r.p1.x

32 Uniuni implementeaza reuniuni variabile union { int i; float f; char c; } u; u poate fi un intreg sau un float sau un char

33 Uniuni selectia u.i, u.f, u.c pot fi incuibate cu ale uniuni, structuri sau tablouri reprezentari in memorie toate au un offset de memorie zero fata de adresa de start la un moment dat doar o reprezentare este disponibila nu se face verificare de tip toata responsabilitatea este lasata pe umerii programatorului selectarea unei variante rele poate cauza erori de programare grave operatiile permise sunt cele de la multimi pot fi initializate cu o valoare corespunzatoare primei variante de tip (intreg pentru u)

34 Pointeri o declaratie de pointer trebuie sa utilizeze un tip referit int x=1, y; int *p; /* p este un pointer la intreg */ void *p1; /* poate stoca orice tip de pointer */ pot stoca adrese ale obiectelor p=&x; pentru a accesa obiectul referit de pointer este numita dereferentiere y=*p; /* y gets value 1*/ *p=0; /* x gets value 0 */ pot fi create sinonime cu consecintele cunoscute

35 Pointeri permite accesul direct la locatia de memorie a unui argument void exchange1(int x, int y) /* gresit */ { int aux; aux=x; x=y; y=aux; } exchange1(a,b); /* interschimba doar copii a lui a si b */

36 Pointeri void exchange2(int *x, int *y) { int aux; aux=*x; *x=*y; *y=aux; } exchange2(&a,&b); /* apel correct */ /* interschimba valorile lui a si b */

37 Pointeri pot fi folositi impreuna cu tablourile int a[10]; int *pa; pa=&a[0]; /*pa will hold the address of a[0]*/ valoarea unui tablou este de asemenea valoarea primului element din tablou a si pa au aceeasi valoare

38 Pointeri *(pa+i) este continutul lui a[i] *(pa+i) este echivalent cu a[i] (pa+i) este echivalent cu &a[i] cand un tablou este transmis la o functie doar adresa primului element este transmisa parametrul formal este de fapt pointer se comporta ca o variabila ce contine o adresa int f(char s[]) { } int f(char *s) { } cele doua forma sunt echivalente

39 Aritmetica pointerilor operatii permise atribuirea de pointeri de acelasi tip adunarea sau scaderea a unui pointer cu un intreg scaderea sau compararea a doi pointeri referind elemente din acelasi tablou atribuirea sau compararea cu NULL (0)

40 Aritmetica pointerilor operatii ilegale adunarea a doi pointeri inmultirea sau impartirea pointerilor deplasarea pe biti sau aplicarea de masti adunarea pointerilor cu valori reale

41 Pointeri la functii permisi in C pot fi atribuiti pot fi atribuiti in tablouri pot fi trimisi ca parametri functiilor pot fi returnati ca valori de functii

42 Alocarea dinamica a memoriei si realocarea alocarea dinamica a obiectelor anonima de dimensiune specificata malloc( ) calloc( ) eliberarea memoriei alocate free() eliberarile de memorie pot crea referinte false

43 Structuri recursive bazate pe pointeri permit descrierea de liste sau arbori struct node { type info; struct node *left; struct node *right; }; structurile recursive trebuie sa utilizeze pointeri un tip nu poate contine o instantiere a sa

44 Echivalenta de tip bazata pe echivalenta structurala exceptii struct union sunt tipuri diferite chiar daca au aceeasi structura sunt permise conversii de tip prin casting (type) expression

45 Sistemul de tipuri in Ada tipuri predefinite numerice intregi ne-numerice short_integer, long_integer in virgule flotanta character boolean short_float, long_float

46 Tipuri scalare definite de programator numerice type under_hundred is range type real is digits 7; type small_real is digits 7 range ; Type centimes is delta 0.01 range ; 0, 0.01, 0.02, 0.03, 0.04,, 1 tipuri enumerare type sections is (automation, computer, electronics, electrotechnical, energetics)

47 Tipuri de date structurate. Tablouri pot fi declarate static type student_no is array[sections] of integer; type tab is array(1..10) of integer; nu trebuie specificate limite de index doat tipul de baza este obligatoriu nu sunt restrictii la tipul tabloului type st_no is array(sections range<>) of integer; type matrix is array(integer range<>, integer range<>) of real; type bits is array(integer range<>) of boolean;

48 Tablouri weak_currents_stud_no:st_no(automation..electronics) tab:matrix(1..5,1..5); restrictiile pentru indecsi nu trebuiesc specificate static se pot utiliza expresii ce se pot calcula la compilare tabele dinamice cu dimensiune nespecificata la rulare dimensiune specificata la executie

49 Tablouri mask : bits(1..n); mat : matrix(1..n,1..m); tip tablou tip element numarul de dimensiuni tip de baza index pentru fiecare dimensiune

50 Tablouri type vect is array(integer range<>) of real; procedure p(a:in out vect) is temp:vect(a first..a last) i:integer; begin for i in a first..a last loop temp(i):=a(i); end loop; end p;

51 Tablouri procedura p poate fi apelata cu un parametru actual de dimensiune aleatoare first, last atribute ce returneaza limita inferioara si superioara a tabloului

52 Articole implementeaza produsele Carteziene reuniunile variabile type person is record name:string(1..30); day,month,year:integer; end record;

53 Articole type person(man:boolean:=true) is record name:string(1..30); day,month,year:integer; case man is when true=>weight,height:float; when false=>married:boolean; end case; end record;

54 Articole campul de selectie este obligatoriu in timpul executiei este verificata validitatea campului referentiat pe baza valorii selectorului orice obiect de tip person va avea campul man pus pe valoarea true astfel campurile weight si height vor fi accesibile pm:person pf:person(false);

55 Articole instructiuni ilegale pm.man:=false; pf.man:=true; este posibil sa se procedeze asa pm:=(false, john,25,05,1958,true); pm:=pf;

56 Pointeri type ref is access t; reference : ref; reference:=new t; valoarea null este prezenta

57 Pointeri pentru a evita referintele fictive dealocarea memoriei pentru obiectele dinamice se face automat doar cand nu este un pointer care sa il refere unchecked_deallocation realizata manual de programator similara cu instructiunea dispose din Pascal

58 Echivalenta de tipuri echivalenta de nume facilitatea de subtipizare evita un system de tipuri rigid orice declarative de tip creaza un tip nou x si y sunt incompatibile type price is range 0..integer last; type under_hundred is range 0..99; x:price; t:under_hundred; y:=x; --it is ilegal

59 Subtipizarea subtype under_hundred is price range 0..99; t:under_hundred; y:=x; -- este illegal, dar 0<=y<=99

60 Subtipizarea subtype no_of_students is new price; a:price; b:no_of_students; a:=b; -- este ilegal

61 Sistemul de tipuri in Lisp include tipuri de date nu exista variabile in sensul classic variabilele sunt inlocuite cu atomi simbolici sau simboluri simbolurile au nume care este un sir de caractere si nu reprezinta numere Lisp este proiectat pentru calcul simbolic

62 Sistemul de tipuri in Lisp in limbajele imperative la o variabila atribuim o valoare de un anumit tip referinta la valoare se face prin numele variabilei in Lisp un nume de simbol este atasat la o entitate pentru un timp tipul de data nu se refera la simboluri ci la valori legate un simbol poate reprezenta la momente diferite valori diferite de tipuri diferite

63 Sistemul de tipuri in Lisp din punct de vedere al implementarii legarea dinamica a diferitelor tipuri este posibila deoarece variabilele Lisp sunt referinte (pointeri) la entitati ce pot fi de diverse tipuri in limbajele imperative variabila este un nume dat unei locatii de memorie de dimensiune fixa egal cu tipul variabilei

64 Legarea unei valori la un atom inlocuieste operatia de atribuire este implementata prin formele functionale setq si setf setq = set quoted setf = set field > (setq x 10) 10 > (setq x Lisp) LISP > (setq x (a b c)) (A B C)

65 Sistemul de tipuri in Lisp tipul este specific obiectului reprezentat de simbol dar nu de simbolul insusi este cazul limbajelor de programare slab tipizate la compilare este imposibil de stiut care este tipul unei variabile facilitatile de procesare dinamica sunt favorizate in schimbul verificarilor corespondentei de tipuri in timpul compilarii

66 Tipuri predefinite simple numerice intregi Fixnum Bignum rapoarte 10/3 10/2 10/4 (* 5/2 5/3) 25/6

67 Tipuri predefinite simple Numerice (continuare) float short-float single-float double-float long-float complex a+bi -> #c(a b) > (sqrt -1) #c(0 1) > (* #c(01) #c(0 2)) -2 nenumerice character

68 Liste listele sunt expresii compuse si non-atomice (red yellow blue) ( ) ((red yellow blue) ( )) organizarea este linara, secventiala sunt implementate ca si structuri de date dinamice in limbajele imperative alocarea si dezalocarea dinamica a elementelor din liste se face manual de catre programator in Lisp alocarea si dezalocarea este realizata in mod automat

69 Liste Adding an element into a list using cons adaugarea unui element intr-o lista folosind primitiva cons (construct) (cons d (a b c)) (d a b c) alocarea dinamica pentru d legarea lui d la lista sunt invizibile pentru programator doua campuri car pointer spre primul element al listei cdr pointer spre restul de elemente al listei

70 Vectori si matrici > (setq mat (make-array (2 3 2):initial-contents (((1 2)(3 4)(5 6)) ((7 8)(9 10)(11 12)))) #3A(((1 2)(3 4)(5 6)((7 8)(9 10)(11 12)))

71 Vectori si matrici > (setq vect (vector )) #( ) > (aref mat 0 0 0) 1 > (aref mat 1 2 0) 11

72 Vectori de biti si matrici de biti > (setq matbits (make-array (2 3 2) :initial-element 0:element-type bit)) #3A ((#*00 #*00 #*00) (#*00 #*00 #*00)) > (setq (aref matbiti 1 2 0) 1)) 1

73 Vectori de biti si matrici de biti > (setq vbiti #* ) #* > (bit-not vbiti) #* bit-not bit-and bit-ior, bit-xor bit-eqv - equivalence bit-orcl - implication

74 Siruri de caractere subtip al vectorilor >(length abcd ) 4 >(aref abcd 2) #\c comparatii de siruri de caractere > (string = abcd abcd ) T > (string < abcd abdd ) 2

75 Siruri de caractere transformarea unui atom in sir de caractere > (string abcd) ABCD cautarea unui subsir intr-un sir > (search cd abcd ) 2

76 Echivalente de tip. Subtipuri programatorul nu trebuie sa fie atent la tipurile de date in Lisp in versiunile vechi tipurile nici nu existau legarea dinamica a tipurilor evita verificarea statica singura verificare este facuta atunci cand un operator isi executa operanzii >(+ 1 5 )

77 Subtipuri tipuri numerice numere rationale float integer fixnum bignum ratio short-float single-float double-float long-float complexe

78 Subtipuri tipuri vector vector string bit-vector operatori type-of 1 arg type-p() 2 args subtype-p() 2 args

79 Exemple de tipuri > (type-of 1) FIXNUM > (type-of #* ) (SIMPLE-BIT-VECTOR 8) > (type-of #\a) CHARACTER > (type-of abcd ) SIMPLE-STRING

80 Exemple de subtipuri > (typep 1 number) T > (typep 1 integer) T > (typep 1 fixnum) T > (typep 1 bignum) NIL

81 Exemple de subtipuri > (typep (a b c) sequence) T > (typep (a b c) list) T > (subtypep integer number) T > (subtypep array sequence) NIL

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

Microsoft PowerPoint - ImplementareLimbaj [Read-Only] [Compatibility Mode]

Microsoft PowerPoint - ImplementareLimbaj [Read-Only] [Compatibility Mode] Detalii de implementare. Declararea variabilelor, transmiterea parametrilor catre subprograme. Declararea variabilelor variabile globale -declarate in afara oricarei functii variabile locale -declarate

Mai mult

proiectarea bazelor de date

proiectarea 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

Mai mult

L7

L7 Lucrarea de laborator nr. 7 POINTERI 1. Conţinutul lucrării În lucrare se prezintă tipul pointer, operaţiile permise asupra pointerilor, modul de alocare şi eliberare dinamică a memoriei. 2. Consideraţii

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

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

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

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

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

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

Matrici și vectori în VBA În VBA, o matrice este un grup de variabile de același tip. De ce ar trebui să utilizați o matrice? Presupunem că ați vrut s

Matrici și vectori în VBA În VBA, o matrice este un grup de variabile de același tip. De ce ar trebui să utilizați o matrice? Presupunem că ați vrut s Matrici și vectori în VBA În VBA, o matrice este un grup de variabile de același tip. De ce ar trebui să utilizați o matrice? Presupunem că ați vrut să stocați douăzeci de nume de angajați în variabile

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

Microsoft PowerPoint - Curs_SDA_4_RO_2019_v2.pptx

Microsoft PowerPoint - Curs_SDA_4_RO_2019_v2.pptx Curs SDA (PC2) Curs 4 Structuri de date (continuare) Iulian Năstac 10. Funcţii pentru alocarea dinamică a memoriei (Recapitulare) Alocarea dinamică este caracteristica prin care un program poate obţine

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

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

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

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

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

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

PowerPoint Presentation

PowerPoint Presentation Circuite Integrate Digitale Conf. Monica Dascălu Curs Seminar Laborator notă separată Notare: 40% seminar 20% teme // + TEMA SUPLIMENTARA 40% examen 2014 CID - curs 1 2 Bibliografie Note de curs Cursul

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

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

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

ALGORITMII ŞI REPREZENTAREA LOR Noţiunea de algoritm Noţiunea de algoritm este foarte veche. Ea a fost introdusă în secolele VIII-IX de către Abu Ja f

ALGORITMII ŞI REPREZENTAREA LOR Noţiunea de algoritm Noţiunea de algoritm este foarte veche. Ea a fost introdusă în secolele VIII-IX de către Abu Ja f ALGORITMII ŞI REPREZENTAREA LOR Noţiunea de algoritm Noţiunea de algoritm este foarte veche. Ea a fost introdusă în secolele VIII-IX de către Abu Ja far Mohammed ibn Musâ al- Khowârizmî în cartea sa intitulată

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

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

-

- 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

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

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

Diapositive 1

Diapositive 1 Tablouri Operatii pe tablouri bidimensionale Lectii de pregatire pentru Admitere 09 / 03 / 2019 1 Cuprins Operatii pe tablouri bidimensionale 0. Tablouri unidimensionale scurta recapitulare 1.Tablouri

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

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

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

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

Tipuri de date abstracte 30 noiembrie 2005 Programarea calculatoarelor 2. Curs 9 Marius Minea

Tipuri de date abstracte 30 noiembrie 2005 Programarea calculatoarelor 2. Curs 9 Marius Minea Tipuri de date abstracte 30 noiembrie 2005 Tipuri de date abstracte 2 Programe compuse din mai multe fişiere Implicit, obiectele declarate la nivel de fişier sunt unice într-un program (douǎ declaraţii

Mai mult

Ingineria Sistemelor de Programare

Ingineria Sistemelor de Programare Ingineria Sistemelor de Programare Agregarea si Mostenirea mihai.hulea@aut.utcluj.ro 2019 Compozitia si agregarea Relatia dintre obiecte raspunde afirmativ la intrebarea are un/are o Exemple: Telefonul

Mai mult

Programarea şi utilizarea calculatoarelor

Programarea şi utilizarea calculatoarelor Programare orientată pe obiecte # 10 JAVA Limbajul JAVA. Clasa String 2018 Adrian Runceanu www.runceanu.ro/adrian copyright@www.adrian.runceanu.ro Curs 10 Clasa String in Java 03.12.2018 Curs - Programare

Mai mult

1

1 Contents 1 Automate finite... 2 1.1 Probleme cu AF... 2 1.2 Structuri de date pentru automate finite... 4 2 Gramatici si limbaje; gram. indep. de context... 5 2.1 Limbaje... 5 2.2 Gramatici si limbaje...

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

1 Lucrarea nr. 8 - Structuri de date de tip liste sortate O listă sortată reprezintă un aranjament al înregistrărilor din cadrul listei în funcţie de

1 Lucrarea nr. 8 - Structuri de date de tip liste sortate O listă sortată reprezintă un aranjament al înregistrărilor din cadrul listei în funcţie de 1 Lucrarea nr. 8 - Structuri de date de tip liste sortate O listă sortată reprezintă un aranjament al înregistrărilor din cadrul listei în funcţie de o anumită valoare a unei chei. Pentru operaţiile asupra

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

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

Microsoft PowerPoint - Curs_SDA_10_RO_2019_v1.pptx

Microsoft PowerPoint - Curs_SDA_10_RO_2019_v1.pptx SDA (PC2) Curs 10 Arbori Iulian Năstac Definiția 1: Arbori Recapitulare Arborele este un graf orientat, aciclic și simplu conex. Definiția 2: Un arbore este un ansamblu de structuri de date de natură recursivă

Mai mult

Analiză de flux de date 29 octombrie 2012

Analiză de flux de date 29 octombrie 2012 Analiză de flux de date 29 octombrie 2012 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 principal corectitudinea,

Mai mult

Microsoft PowerPoint - Curs_SDA_3_RO_2019_v2.pptx

Microsoft PowerPoint - Curs_SDA_3_RO_2019_v2.pptx Curs SDA (PC2) Curs 3 Pointeri (continuare) Structuri de date Iulian Năstac Pointeri (Recapitulare) Un pointer este o variabilă care conţine o adresă din memorie, unde se află valoarea altei variabile.

Mai mult

ALGORITHMICS

ALGORITHMICS CURS 2: Descrierea algoritmilor în pseudocod =Exemple= 1 Structura Descrierea unor algoritmi simpli Specificarea și utilizarea subalgoritmilor 2 Exemplu 1 Considerăm un tabel cu informații despre studenți

Mai mult

PROGRAMARE ORIENTATA PE OBIECTE

PROGRAMARE ORIENTATA PE OBIECTE Curs 2 Principiile Programării Orientate pe Obiecte Programare Orientată pe Obiecte Tehnici de programare Programarea procedurală Modul în care este abordată programarea, din punct de vedere al descompunerii

Mai mult

ALGORITMICĂ. Seminar 3: Analiza eficienţei algoritmilor - estimarea timpului de execuţie şi notaţii asimptotice. Problema 1 (L) Să se determine număru

ALGORITMICĂ. Seminar 3: Analiza eficienţei algoritmilor - estimarea timpului de execuţie şi notaţii asimptotice. Problema 1 (L) Să se determine număru ALGORITMICĂ. Seminar 3: Analiza eficienţei algoritmilor - estimarea timpului de execuţie şi notaţii asimptotice. Problema 1 (L) Să se determine numărul de operaţii efectuate de către un algoritm care determină

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

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

Operatorii in C Expresii Operatori aritmetici Operatori de asignare Operatori de incrementare si decrementare Operatori relationali Operatori logici O

Operatorii in C Expresii Operatori aritmetici Operatori de asignare Operatori de incrementare si decrementare Operatori relationali Operatori logici O Operatorii in C Expresii Operatori aritmetici Operatori de asignare Operatori de incrementare si decrementare Operatori relationali Operatori logici Operatii pe biti Operatorul conditional Operatori Logici

Mai mult

Slide 1

Slide 1 STRUCTURI DE DATE Lista simpla Lista dubla LISTA LINIARA Lista liniara: Colectie de elemente denumite noduri; Relatie de ordine rezultata din pozitia nodurilor; Elemente de acelasi tip structura omogena;

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

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

Tablouri (continuare)

Tablouri (continuare) Vector Dinamic DYNAMIC ARRAY Observații 1. Un tablou este static: nu pot fi inserate sau şterse celule. 2. Vector - tablou unidimensional 3. Reprezentarea vectorilor este secvenţială, adică elementele

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

PHP (II)

PHP (II) PHP şi MySQL Bazele de date sunt colecţii de date, aranjate într-o anumită formă Operaţii : - Crearea bazei de date; - Conectarea la baza de date; - Inserarea datelor in baza de date; - Ștergerea datelor

Mai mult

Logică și structuri discrete Mulțimi Casandra Holotescu

Logică și structuri discrete Mulțimi Casandra Holotescu Logică și structuri discrete Mulțimi Casandra Holotescu casandra@cs.upt.ro https://tinyurl.com/lectureslsd Mulțimi aspecte teoretice Ce sunt mulțimile? Mulțimea e un concept matematic fundamental. Definiție

Mai mult

Lucrarea nr. 4 - Algoritmi de sortare şi ordonare Breviar teoretic Un algoritm de sortare este o metoda prin care se aranjează elementele unui tablou

Lucrarea nr. 4 - Algoritmi de sortare şi ordonare Breviar teoretic Un algoritm de sortare este o metoda prin care se aranjează elementele unui tablou Lucrarea nr. 4 - Algoritmi de sortare şi ordonare Breviar teoretic Un algoritm de sortare este o metoda prin care se aranjează elementele unui tablou într-o ordine precisă. Cele mai folosite tipuri de

Mai mult

Microsoft Word - Curs 7 - JavaScript.doc

Microsoft Word - Curs 7 - JavaScript.doc Cursul 7 JavaScript - partea a II-a 1. Instrucţiunile trycatch şi throw 1.1. Instrucţiunea trycatch Este utilizată pentru a detecta eventualele erori dintr-o secvenţă de cod Blocul try conţine secvenţa

Mai mult

Microsoft PowerPoint - Fp_2.ppt

Microsoft PowerPoint - Fp_2.ppt C_2 / 12.10.2012 Fundamentele programării rii 2. Codificarea algoritmilor în limbajul Pascal Limbajul Pascal : elementele limbajului, structura programelor, tipuri simple de date. 1/17/17 Vocabularul şi

Mai mult

Scrieţi pe foaia de examen răspunsul pentru fiecare dintre cerinţele următoare

Scrieţi pe foaia de examen răspunsul pentru fiecare dintre cerinţele următoare Scrieţi pe foaia de examen răspunsul pentru fiecare dintre cerinţele următoare. 1. În declararea alăturată, câmpurile x şi y ale înregistrării pot memora coordonatele carteziene ale unui punct din planul

Mai mult

Microsoft Word - Curs_07.doc

Microsoft Word - Curs_07.doc 5.3 Modificarea datelor în SQL Pentru modificarea conţinutului unei baze de date SQL pune la dispoziţie instrucţiunile insert, delete şi update. 5.3.1 Inserări în baza de date Sintaxa instrucţiunii insert

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

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

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

Curs 3 Permutari cu repetitie. Combinari. Algoritmi de ordonare si generare

Curs 3  Permutari cu repetitie. Combinari.  Algoritmi de ordonare si generare Curs 3 Permutări cu repetiţie. Combinări. Algoritmi de ordonare şi generare Octombrie 2015 Cuprins Algoritmi de ordonare şi generare pentru permutări cu repetiţie Reprezentarea binară a submulţimilor Algoritmi

Mai mult

Poo Laboratoare 1 Contents Laborator7 2 1 Colecţii de obiecte în Java Interfaţa Iterator Interfaţa C

Poo Laboratoare 1 Contents Laborator7 2 1 Colecţii de obiecte în Java Interfaţa Iterator Interfaţa C Poo Laboratoare 1 Contents Laborator7 2 1 Colecţii de obiecte în Java 2 1.1 Interfaţa Iterator...................................... 2 1.2 Interfaţa Collection.................................... 2 1.3

Mai mult

Capitole Speciale de Informatică Curs 4: Calculul scorurilor în un sistem complet de extragere a informaţiilor 18 octombrie 2018 Reamintim că în cursu

Capitole Speciale de Informatică Curs 4: Calculul scorurilor în un sistem complet de extragere a informaţiilor 18 octombrie 2018 Reamintim că în cursu Capitole Speciale de Informatică Curs 4: Calculul scorurilor în un sistem complet de extragere a informaţiilor 18 octombrie 2018 Reamintim că în cursul precedent am prezentat modelul de spaţiu vectorial

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

Slide 1

Slide 1 - Curs 2 - Verilog HDL reprezintă un limbaj utilizat pentru descrierea sistemelor numerice. Sistemele numerice pot fi calculatoare, componenete ale acestora sau alte structure care manipulează informaţie

Mai mult

Limbaje Formale, Automate si Compilatoare

Limbaje Formale, Automate si Compilatoare Limbaje Formale, Automate şi Compilatoare Curs 1 2018-19 LFAC (2018-19) Curs 1 1 / 45 Prezentare curs Limbaje Formale, Automate şi Compilatoare - Curs 1 1 Prezentare curs 2 Limbaje formale 3 Mecanisme

Mai mult

Algoritmi elementari Metode de căutare secvenţială binară Metode de ordonare metoda bulelor metoda inserţiei metoda selecţiei metoda numărării Intercl

Algoritmi elementari Metode de căutare secvenţială binară Metode de ordonare metoda bulelor metoda inserţiei metoda selecţiei metoda numărării Intercl Algoritmi elementari Metode de căutare secvenţială binară Metode de ordonare metoda bulelor metoda inserţiei metoda selecţiei metoda numărării Interclasare Analiza complexităţii unui algoritm Metode de

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

Metode de sortare - pregătire admitere - Conf.dr. Alexandru Popa Lect. dr. Andrei Pătraşcu Universitatea din Bucureşti 1

Metode de sortare - pregătire admitere - Conf.dr. Alexandru Popa Lect. dr. Andrei Pătraşcu Universitatea din Bucureşti 1 Metode de sortare - pregătire admitere - Conf.dr. Alexandru Popa Lect. dr. Andrei Pătraşcu Universitatea din Bucureşti 1 Cuprins Problema sortării Algoritmul de sortare prin interschimbare (Bubble sort)

Mai mult

Laborator 8: PROIECTAREA BAZELOR DE DATE SUBPROGRAME in PL/SQL (partea II - functii) Un subprogram este un bloc PL/SQL cu nume (spre deosebire de bloc

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

Mai mult

PowerPoint-Präsentation

PowerPoint-Präsentation Universitatea Transilvania din Braşov Laboratorul de Vedere Artificială Robustă şi Control Metode Numerice Curs 01 Introducere Gigel Măceșanu 1 Cuprins Obiectivele cursului Organizare: Structura cursului

Mai mult

Logică și structuri discrete Logică propozițională Marius Minea marius/curs/lsd/ 3 noiembrie 2014

Logică și structuri discrete Logică propozițională Marius Minea   marius/curs/lsd/ 3 noiembrie 2014 Logică și structuri discrete Logică propozițională Marius Minea marius@cs.upt.ro http://www.cs.upt.ro/ marius/curs/lsd/ 3 noiembrie 2014 Unde aplicăm verificarea realizabilității? probleme de căutare și

Mai mult

Cursul 1 1. Introducere Corpul numerelor complexe Dezvoltarea istorică a gândirii matematice a urmărit îndeaproape evoluţia ideii de număr. Această ev

Cursul 1 1. Introducere Corpul numerelor complexe Dezvoltarea istorică a gândirii matematice a urmărit îndeaproape evoluţia ideii de număr. Această ev Cursul 1 1. Introducere Corpul numerelor complexe Dezvoltarea istorică a gândirii matematice a urmărit îndeaproape evoluţia ideii de număr. Această evoluţie, exprimată succint prin şirul de incluziuni

Mai mult

Slide 1

Slide 1 Şiruri de caractere String, StringBuffer, StringTokenizer Clase, metode şi exemple Clasa String Crearea unui şir Constructorul implicit crează un şir vid: String s = new String(); String str = "abc"; este

Mai mult

III. Tablouri (Arrays) și Clustere

III. Tablouri (Arrays) și Clustere III. Tablouri (Arrays) și Clustere Sometimes it is beneficial to group data related to one another. Use arrays and clusters to group related data in LabVIEW. Arrays combine data of the same data type into

Mai mult

Proceduri stocate Syntax: CREATE PROCEDURE <Name> type1,...] AS -- secventa de comenzi SQL GO O procedura stocata se ruleaza cu EXEC: EXEC <N

Proceduri stocate Syntax: CREATE PROCEDURE <Name> type1,...] AS -- secventa de comenzi SQL GO O procedura stocata se ruleaza cu EXEC: EXEC <N Proceduri stocate Syntax: CREATE PROCEDURE [@param1 type1,...] -- secventa de comenzi SQL O procedura stocata se ruleaza cu EXEC: EXEC Modificarea unei proceduri: ALTER PROCEDURE [@param1

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

Declaraţii. Instrucţiuni 19 octombrie 2005 Programarea calculatoarelor 2. Curs 3b Marius Minea

Declaraţii. Instrucţiuni 19 octombrie 2005 Programarea calculatoarelor 2. Curs 3b Marius Minea Declaraţii. Instrucţiuni 19 octombrie 2005 Declaraţii. Instrucţiuni 2 Domeniul de vizibilitate al identificatorilor Pt. orice identificator, compilatorul trebuie sǎ-i decidǎ semnificaţia Identificatorii

Mai mult

Logică și structuri discrete Relații. Funcții parțiale Marius Minea marius/curs/lsd/ 20 octombrie 2014

Logică și structuri discrete Relații. Funcții parțiale Marius Minea   marius/curs/lsd/ 20 octombrie 2014 Logică și structuri discrete Relații. Funcții parțiale Marius Minea marius@cs.upt.ro http://www.cs.upt.ro/ marius/curs/lsd/ 20 octombrie 2014 Relații în lumea reală și informatică Noțiunea matematică de

Mai mult

PowerPoint Presentation

PowerPoint Presentation Interogări distribuite SELECT AVG(E.age) FROM Employees E WHERE E.salary > 3000 AND E.salary < 7000 Fragmentare orizontală: Înregistrările cu salary < 5000 la Shanghai şi salary >= 5000 la Tokyo. Se calculează

Mai mult

Introducere în limbajul JavaScript

Introducere în limbajul JavaScript Introducere în limbajul JavaScript (III) HTML DOM (Document Object Model) DOM este un standard W3C (World Wide Web Consortium) care permite programelor și scripturilor accesarea dinamică a documentelor

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 1 : 1 / 38 Cursul 1 Introducere 1 : 2 / 38 Cursul 1: Introducere 1 Exemplu

Mai mult

C++ Probleme

C++ Probleme Enunturi probleme 1. Se consideră un program care descrie organizarea personalului unei instituţii folosid claselor derivate. O clasă numită Angajat deţine date şi funcţii referitoare la un angajat al

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

Programarea calculatoarelor. Note de curs Marius Minea 1 Introducere în programarea în C 1.1 Funcţii în limbajul C Calcule şi funcţii La origine, rolu

Programarea calculatoarelor. Note de curs Marius Minea 1 Introducere în programarea în C 1.1 Funcţii în limbajul C Calcule şi funcţii La origine, rolu 1 Introducere în programarea în C 1.1 Funcţii în limbajul C Calcule şi funcţii La origine, rolul programelor e de a efectua în principal calcule matematice. Discutăm de aceea structura programelor făcând

Mai mult

aplicatii java

aplicatii java 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

Mai mult

Probleme rezolvate de fizică traducere de Nicolae Coman după lucrarea

Probleme rezolvate de fizică traducere de Nicolae Coman după lucrarea Probleme rezolvate de fizică traducere de Nicolae Coman după lucrarea Contents Vectori... 4 Modul de rezolvare a problemelor... 5 despre vectori... 6 Vector deplasare... 12 Vector viteza... 12 Statica...

Mai mult

Microsoft Word - Tema 06 - Convertoare analog-numerice.doc

Microsoft Word - Tema 06 - Convertoare analog-numerice.doc Convertoare analog-numerice (ADC) Convertoarele analog-numerice sunt circuite electronice (în variantă integrată sau hibridă) care, printr-un algoritm intrinsec de funcţionare, asociază valorilor tensiunii

Mai mult

Capitole Speciale de Informatică Curs 1: Extragerea informaţiilor. Modelul boolean şi modelul boolean extins 27 septembrie 2018 Extragerea informaţiil

Capitole Speciale de Informatică Curs 1: Extragerea informaţiilor. Modelul boolean şi modelul boolean extins 27 septembrie 2018 Extragerea informaţiil Capitole Speciale de Informatică Curs 1: Extragerea informaţiilor. Modelul boolean şi modelul boolean extins 27 septembrie 2018 Extragerea informaţiilor (engl. Information Retrieval, IR) constă în găsirea

Mai mult

7. Alinierea robustă a densităţilor de puncte 3D Măsurarea distanţei dintre diferite forme geometrice 3D Estimarea rotaţiei şi a translaţiei optime în

7. Alinierea robustă a densităţilor de puncte 3D Măsurarea distanţei dintre diferite forme geometrice 3D Estimarea rotaţiei şi a translaţiei optime în 7. Alinierea robustă a densităţilor de puncte 3D Măsurarea distanţei dintre diferite forme geometrice 3D Estimarea rotaţiei şi a translaţiei optime între nori de puncte Prezentarea generală a algoritmului

Mai mult