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
Lucrare de laborator nr.3
la Programarea Calculatoarelor

A efectuat
sr. gr. SI-191

A verificat Buzurniuc Șt.


prof. univ.

Chișinău 2020
Lucrare de laborator nr.3

Tema: Programarea tablourilor unidimensionale și bidimensionale.


Scopul lucrării: Obținerea deprinderilor practice de lucru cu tablouri unidimensionale,
particularităților de declarare, introducere și prelucrare a tablourilor unidimensionale.

Sarcina de lucru: Fie dat tabloul unidimensional a[n], n≤50 de numere întregi.
Scrieți un program care calculează:
Varianta 11: Numărul de elemente valoarea cărora nu coincide cu numărul de ordine.

1. Mersul lucrării
Un tablou cu o singură dimensiune este o succesiune de variabile având toate de acelaşi tip (tipul
de bază al tabloului), care ocupă o zonă contiguă de memorie.
Un tablou are:

 un nume (care identifică tabloul static)

 dimensiune (egală cu numărul de elemente al tabloului)

 un tip comun tuturor elementelor tabloului Dimensiunea tabloului precizează numărul de


elemente printr-o constantă întreagă sau printr-o expresie constantă.

La declararea unui tablou se specifică: tipul de bază, numele şi dimensiunea.

tip nume[dimensiune];

Exemple:

int x[10]; /* tablou de 10 intregi */


char litere[2*26]; /* tablou de 52 caractere */

Tipul elementelor tabloului poate fi un tip predefinit (sau derivat) în limbajul de programare sau
un tip definit de utilizator.
Numele tabloului este adresa primului element din tablou (de exemplu x este adresa primului
element, adică &x[0] ). Aceasta explică de ce nu este permisă o atribuire între două tablouri.
Accesul la un element din tablou se face printr-o variabilă indexată, formată din numele
tabloului şi un index - o expresie cuprinsă între 0 şi dimensiune-1.
Primul element va fi desemnat aşadar prin x[0], al doilea element prin x[1],al N-lea prin x[N-1]

La declararea unui tablou, acesta poate fi şi iniţializat, dacă declaraţia este urmată de semnul
= şi de o listă de valori iniţiale, separate prin virgule şi incluse între acolade.

Exemple:
int prime[5]={2,3,5,7,11};
char vocale[5]={‘a’,’e’,’i’,’o’,’u’};

La declararea unui tablou iniţializat se poate omite dimensionarea, situaţie în care se ia ca


dimensiune numărul de valori iniţiale:

char op[]={‘+’,’-‘,’*’,’/’};
long x[]={1,10,100,1000,10000,100000};

Tablourile vor avea 4, respectiv 6 elemente.

Prelucrările pe tablouri se implementează cu cicluri (de obicei cu numărul stabilit de


repetări).

2. Schema logică:
3. Textul programului în limbajul C:

#include<stdio.h>
int main()
{
int a[50];
int n;
int s;
s = 0;
printf("Da-ti valorile tabloului");
scanf("%d", &n);
for (int i = 0; i < n; i++)
{
printf("a[%d] =", i);
scanf("%d", &a[i]);
}
printf("Elementele care nu coincid cu numarul de ordine sunt:\n");
for (int i = 0; i<n; i++)
{
if (a[i] != i)
{
printf("a[%d]=%d\n", i, a[i]);
s++;
}
}
printf("Numarul de elemente ale caror valoare nu coincid cu numarul de ordine este: %d", s);
return 0;
}

3. Rezultatele testării și funcționării programului (screenshot-uri):


4. Analiza rezultatelor și concluzii:

• În această lucrare de laborator a fost elaborat un program bazat pe aplicațiile tablourilor


unidimensionale.Avănd un tablou unidimensional a[n], n≤50 de numere întregi în care
era necesar de aflat numărul de elemente valoarea cărora nu coincide cu numărul de lui
de ordine.

• Au fost obținute deprinderi de elaborare, compilare, rulare şi testare a unui program cu


ciclu în limbajul de programare C.

• Verificarea şi validarea rezultatelor obținute confirmă că programul elaborat lucrează


corect.

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