Sunteți pe pagina 1din 6

Ministerul Educaţiei, Culturii și Cercetării al Republicii Moldova

Universitatea Tehnică a Moldovei

Departamentul Informatică și Ingineria Sistemelor

RAPORT
Lucrarea de laborator nr. 2la
Programarea Calculatoarelor

A efectuat: st. gr. RM-201


Brumă Mihai

A verificat Ștefan Stratulat

Chişinău ,2020
Lucrarea de laborator nr. 2

Tema: Prelucrarea tablourilor unidimensionale în limbajul C


Scopul lucrării: Studierea posibilităţilor şi mijloacelor limbajului C pentru
programarea algoritmilor cu structură ramificată şi ciclică la prelucrarea
tablourilor unidimensionale.
_________________________________________________________________
Varianta nr.1
Să se determine valoarea maximală dintre elementele tabloului şi poziţiile
elementelor cu această valoare, precum şi suma tuturor elementelor negative în
tablou.
Mersul lucrării:
Noțiuni din teorie și metodele de lucru folosite:

Definiţie : Tabloul unidimensional este o structură de date căreia i se atribuie un


nume. Este format dintr-o colecție de elemente de același tip, dispuse contiguu
într-un bloc de memorie. Elementele pot fi accesate individual prin indici sau ca
un tot unitar. Toate elementele au un predecesor (excepție primul) și un succesor
(excepție ultimul). 

Declarare :
tip nume_tablou [dimensiune_max];
tip - precizează tipul datelor (întregi, real, caracter, etc.)
nume_tablou – identificator, precizează numele dat tabloului
Dimensiune max – numărul maxim de componente (o constantă întreagă)
Dimensiune max = memoria fizică alocată. Dimens. logică ≤ dimens.max

Notă ! Se observă că este obligatorie folosirea parantezelor drepte care să


încadreze dimensiunea maximă pe care o alege utilizatorul pentru acel tablou
unidimensional.

Exemple(utilizând toate tipurile de date):

int a[20];   // declararea unui tablou unidimensional cu maxim 25 de elemente,


fiecare de tip întreg

float x[40];   // declararea unui tablou unidimensional cu maxim 30 de


elemente, fiecare de tip real simplă precizie
char s[70];  // declararea unui tablou unidimensional cu maxim 40 de elemente,
fiecare de tip caracter

int a[97], b[97] ;  // au fost declarați doi vectori a, b

Tablourile, la fel ca si variabilele pot fi initializate in trei moduri:

 Prin introducerea datelor de la tastatura


 Prin declararea acestuia global – toate elementele vor fi zero
 Imediat dupa declararea acestora 

Accesul fiecarui element al tabloului se face prin numele acestuia urmat intre
paranteze drepte [ ] de indicele sau (adica pozitia pe care acesta o ocupa in
tablou) In limbajul C,indicii tablourilor incep numaratoarea de la 0 si se termina
la (N–1) (unde N este numarul total de elemente).

Exemplu de vector,tabel unidimensional:

a=( 1,2,3,4,5,6,7 , … . ,n−2 , n−1 , n ) ;

Descrierea variabilelor:

a) Date de intrare:n,i– variabile utilizate în cadrul acestei lucrări


de laborator,sunt simple de tip decimal(n) și de tip întreg(i), parametrii
formulelor de calcul fiind variabilile au fost introduse de la tastatură.

b) Date de ieşire: suma,max- variabile simple de tip real și integer,fiind


rezultatele programului în urma compilării,executării.

!Rezultatele vor fi afișate pe ecran.

Codul Programului in C :
#include <stdio.h>
void main()
{
int n=0;
printf("Dati n=");
scanf("%d",&n);
float a[n];
for (int i=0;i<n;i++)
{
a[i]=(rand()%100)-rand()%100;
}
float suma=0;
float max=a[0];
for (int i=0;i<n;i++)
{
if (max<a[i])
{
max=a[i];
}
if (a[i]<=0)
{
suma+=a[i];
}
}
printf("max=%f\n",max);
printf("suma=%f\n",suma);
printf("pozitiile pentru maxim sunt:\n");
for (int i=0;i<n;i++)
{
if (a[i]==max)
{
printf("%d",i);
}
}
}

Rezultatele compilării:

Dati n=max=95.000000
suma=-1079.000000
pozitiile pentru maxim sunt:
53
Concluzii:
În urma aceste lucrări de laborator am demonstrat faptul că tipul de date tablou
este un tip structurat de date. Un tablou este deci o multime de date de acelasi tip
aranjate continuu in memorie.Un tablou mai poate fi definit ca o functie de o
variabila, pentru tablouri unidimensionale (vectori sau siruri), respectiv de mai
multe variabile pentru tablouri multidimensionale (matrici) care pune in
corespondenta unei multimi de valori intregi si pozitive, respectiv unui produs
cartezian a mai multor multimi finite si ordonate de valori intregi, o multime de
valori a unui tip de date bine precizate.In utilizarea tablourilor se disting doua
etape: definirea tablourilor si referirea la datele tabloului. La definirea unui tablou
trebuie precizate: numele si dimensiunile tablourilor precum si tipurile
componentelor tablourilor,variabilile aplicate și altele.Anume aceste procedee
explică mersul și comenzile de bază de lucru cu tabelele unidimensionale.

S-ar putea să vă placă și