Sunteți pe pagina 1din 6

Ministerul Educației și Cercetării al Republicii Moldova

Universitatea Tehnică a Moldovei

Departamentul Informatică și Ingineria Sistemelor

RAPORT
Lucrarea de laborator nr.3
la Programarea Calculatoarelor

A efectuat: Andriuță Dragoș


St.gr. CR-221

A verificat: Mititelu Vitali


Chișinău-2022

Lucrarea de laborator nr. 3

Tema: Prelucrarea tablourilor unidimensionale (vectorilor) î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.

Scrieți un program care citește de la tastatură numărul n>1 de elemente ale tabloului, apoi
citește de la tastatură aceste n elemente ale tabloului, efectuează calculele indicate în
variantă și afișează pe ecran rezultatul:

Varianta 2:

Să se determine valoarea minimală dintre elementele tabloului și pozițiile elementelor


cu această valoare, precum și produsul tuturor elementelor pozitive în tablou.

Mersul lucrării:

Noţiuni din teorie şi metodele folosite:

TABLOURI UNIDIMENSIONALE
Tablourile unidimensionale sunt tablouri cu un singur indice (vectori).
Daca tabloul contine dim_1 elemente, indicii elementelor au valori întregi
din intervalul [0, dim_1-1]
La întâlnirea declaratiei unei variabile tablou, compilatorul aloca o zona de
memorie continua (data de produsul dintre dimensiunea maxima si
numarul de octeti corespunzator tipului tabloului) pentru pastrarea
valorilor elementelor sale. Numele tabloului poate fi utilizat în diferite
expresii si valoarea lui este chiar adresa de început a zonei de memorie
care i-a fost alocata. Un element al unui tablou poate fi utilizat ca orice
alta variabila (în exemplul urmator, atribuirea de valori elementelor
tabloului vector). Se pot efectua operatii asupra fiecarui element al
tabloului, nu asupra întregului tablou.
Exemplu:
vector

// Declararea tabloului vector


int vector[6];
// Initializarea elementelor tabloului
vector[0]=100;
vector[1]=101;
vector[2]=102;
vector[3]=103;
vector[4]=104;
vector[5]=105;
Exemplu:
double alpha[5], beta[5], gama[5];
int i=2;
alpha[2*i-1] = 5.78;
alpha[0]=2*beta[i]+3.5;
gama[i]=aplha[i]+beta[i]; //permis
gama=alpha+beta; //nepermis
Variabilele tablou pot fi initializate în momentul declararii:
declaratie_tablou=lista_valori;
Valorile din lista de valori sunt separate prin virgula, iar întreaga lista este
inclusa între acolade:

Schema bloc a algoritmului:

Codul (textul) programului în limbajul C:


#include <stdio.h>
#include <math.h>
int main(){
int t[100],n,p=1,min,k;
printf("Introduceti numarul de elemente a tabloului: ");
scanf(" %i", &n);
for(int i=0;i<n;i++){
printf("t[%i]=",i);
scanf("%i",&t[i]);
}
min=t[0];
for(int i=0;i<n;i++){
if(t[i]<min) min=t[i];
if(t[i]>0) p=p*t[i];
}
printf("Elementul minimal a tabloului este %i",min);
printf("\n Pozitiile elementului minimal in tablou:");
for(int i=0;i<n;i++){
if(t[i]==min)
printf("\n%i",i);
}
printf("\nProdusul elementelor pozitive este %i", p);
return 0;
}

Rezultatele testării și funcţionării programului (screenshot-uri):


Inroduceti datele initiale:

Cazul:Cand toate nr.sunt pozitive;


Introduceti numarul de elemente a tabloului:3
t[0]=1 ;
t[1]=2;
t[2]=3;
Rezultatele obținute:

Cazul:Cand in tablou exista elemente negative;


Introduceti numarul de elemente a tabloului:3
t[0]=-3;
t[1]=-2;
t[2]=2;
t[3]=4;
Rezultatele obținute:

Cazul:Cand toate nr sunt negative.


Introduceti numarul de elemente a tabloului:5
t[0]=-4;
t[1]=-2;
t[2]=-3;
t[3]=-4;

Rezultatele obținute:

Cazul:Cand avem mai multe elemente minimale.


Introduceti numarul de elemente a tabloului:4
t[0]=-5;
t[1]=4;
t[2]=-5;
t[3]=4;

Rezultatele obținute:

Analiza rezultatelor și concluzii:


1.Verificarea rezultatelor obţinute confirmă că programul elaborat lucrează corect.
3.Am reusit sa elaborez un program mai complicat în limbajul de programare C.
4.Am reusit sa inteleg cum pot folosi tablourile unidimensionale.
5.Am analizat rezultatele obținute si obeservam ca programul este reusit.
Bibliografie:
1. Conspectul prelegerilor al cursului Programarea Calculatoarelor pentru studenții gr. CR-
221, CR-222, , RM-221, AI-221 (lector: dr., conf. univ. M. Kulev). Chișinău, UTM,
FCIM, 2022.
2. Schema bloc (https://app.diagrams.net/).
3. Conspectul de la seminar !11!.

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