Documente Academic
Documente Profesional
Documente Cultură
RAPORT
Lucrarea de laborator nr.3
la Programarea Calculatoarelor
A efectuat:
st. gr. SI-181
A verificat: Buzurniuс Ștefan
Chişinău -2018
Condiţia problemei:
Se consideră un tablou de 55 de numere întregi. Să se calculeze suma elementor care se afla
înaintea primului element divizibil cu 5. Dacă un așa element nu va fi găsit, să se determine
produsul elementelor care se află pe pozitia i din șir, divizibil cu 5.
Varianta 13
Mersul lucrarii:
1. Familiarizarea cu notiunile principale din teorie și metodele pe care le vom utiliza.
2. Analiza datelor.
3. Efectuarea codului (programului).
4. Rezultat și Concluzii.
5. Bibliografie.
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).
Tablouri sunt de mai multe tipuri:
-Unidimensionale.
-Multidimensionale.
La declararea unui vector se pot atribui valori iniţiale elementelor sale astfel:
Exemplu: int a[5]={10, 20, 2, 4, 9 }; În cazul declarării unui vector iniţializat se poate omite
numărul elementelor sale, dacă se iniţializează toate elementele.
Referirea la un element al vectorului se face prin construcţia: nume[indice]; unde nume este
numele tabloului, iar indice este numărul de ordine al elementului în vector.
2. Analiza datelor:
1
date de intrare:
i, j, n elemente pentru primul tabel și m elemente pentru al doilea tabel - variabile simple de
tip întreg, variabile de intrare de la tastatură.
date de ieşire:
suma - variabila simplă de tip întreg, care vor afişa: suma elementelor care nu sunt
divizibile cu 5, pînă la apariția elementului divizibil cu 5.
#include <stdio.h>
#include <conio.h>
int main(){
int caz1=0, rezultat = 0;
int marime;
int N[56];
clrscr();
printf("Introdu marimea tabloului ");
scanf("%d",&marime);
}
//printf("\n\n\n\%d",caz1);
if (caz1==1)
for (int i = 1 ; i<= marime; i++)
if (N[i]%5==0)
for (int j = 1; j<i; j++)
rezultat += N[j];
if(caz1==0){
rezultat = 1;
for(int i = 5;i<=marime; i+=5)
rezultat *= N[i];
}
printf ("R = %d",rezultat);
getch();
return 0;
4. Analiza rezultatelor si concluzii:
2
1. Am obţinut deprinderi practice de lucru cu tablouri unidimensionale, cunoaşterea
particularitaţilor de declarare, de introducere şi de prelucrare a tablourilor
unidimensionale în limbajul C.
2. Avantaj este că avem posibilitatea de a stoca și prelucra o mulțime de date accesînd o
singură variabilă de mai multe ori.
3. Dezavantaj este că poziția elementului în reprezentarea naturală nu coincide cu
poziția elementului în tabel deoarece în C numerotarea se începe de la 0.
3
5. Bibliografie:
1. ”Inițiere în limbajul C” , Buzurniuc Ștefan , Chișinău, editura ”Evrica” 2004
2. Programare Indicații de laborator Partea I , Chișinău, editura “Tehnica-UTM” 2014
3. https://sites.google.com/site/elearningalinabonto/tablouri-unidimensionale---vectori/1-
tablouri-unidimensionale---vectori
4. https://profs.info.uaic.ro/~infogim/2015/lectii/5/59.pdf
5. https://www.slideshare.net/SergheiUrban/limbajul-c