Documente Academic
Documente Profesional
Documente Cultură
Algoritmi și tehnici de
programare
Cursul 1
+
Cuprins
Introducere
Evaluare
Prezentare curs
Bibliografie
Examen 70 de puncte
Metoda backtracking
Recapitulare.
+
Bibliografie
1. C. Uscatu, C. Cocianu, M. Mircea, L. Pocatilu, Algoritmi si tehnici de
programare. Aplicații, Editura ASE București 2015
float
double signed
unsigned
Instrucţiuni :
if
switch
while
do-while
for
+
Pointeri
lucrul cu masive.
+
Pointeri
int* vPtr, v;
v= 10;
Exemplu:
vPtr
int v=10, *vPtr;
vPtr = &v; v
+
Variabile de tip pointer
* - operator de indirectare
#include<stdio.h>
int v = 10;
int *vPtr; %p – specificator de
void main() formatare adresa de memorie
{
printf("%p\n", vPtr); initializare variabila pointer
vPtr = &v;
printf("%d\n", *vPtr);
printf("%p\n", vPtr); *vPtr – valoarea stocata la
printf("%p\n", &v); adresa de memorie spre care
} pointeaza vPtr.
&v – adresa de memorie la
care este stocata valoarea
variabilei v
+
Subprograme
tip_rez rezultat;
rezultat=nume ([lista parametrilor actuali]);
+
Transmiterea parametrilor
Prin parametri
prin valoare
prin adresă
Funcţii importante:
malloc()
tip *p;
p = (tip*) malloc(dimensiune);
free()
free(p);
+
Alocarea dinamică a memoriei
int v[8]; v:
int *p;
p=&v[0]; p:
V[1] *(p+1)
+
Alocarea dinamică a memoriei
Vector alocat dinamic Matrice alocată dinamic
• Declarare • Declarare
tip* p; tip* *a;
• Alocare • Alocare
p = (tip*) malloc( n * sizeof(tip)); a = (tip**) malloc(m*sizeof(tip*));
• Utilizare for(i=0;i<m;i++)
*(p+i) *(a+i)=(tip*) malloc(n*sizeof(tip));
• Eliberare (dezalocare) • Utilizare
free(p); *(*(a+i)+j)
• Eliberare (dezalocare)
for(i=0;i<m;i++)
free(a[i]);
free(a);
+
Alocarea dinamică a memoriei
// funcţia care determină vânzările medii Apel:
pentru m firme de panificaţie (n
produse) float *v;