Sunteți pe pagina 1din 4

Tema: Tablouri Liniare

1. Scopul lucrării:
Studierea şi utilizarea instrucţiunilor de bază ale limbajului pentru prelucrare şi
modificarea masivelor unidimensionale.

2. Descrierea temei:

Numim tablou o colecţie (grup, mulţime ordonată) de date, de acelaşi tip,


situate într-o zona de memorie continuă. Tablourile sunt variabile compuse
(structurate), deoarece grupează mai multe elemente. Variabilele tablou au nume,
iar tipul tabloului este dat de tipul elementelor sale. Elementele tabloului pot fi
referite prin numele tabloului şi indicii (numere intregi) care reprezintă poziţia
elementului în cadrul tabloului.
În funcţie de numărul indicilor utilizaţi pentru a referi elementele tabloului,
putem întîlni tablouri unidimensionale (vectorii) sau multidimensionale (matricile
sunt tablouri bidimensionale).
Ca şi variabilele simple, variabilele tablou trebuie declarate înainte de utilizare.
Modul de declarare:
tip nume_tablou[dim_1][dim_2]…[dim_n];
unde:
tip reprezinta tipul elementelor tabloului(întreg, real sau caracter);
nume_tablou reprezină numele tabloului;
dim_1,dim_2,...,dim_n sunt numere întregi sau expresii constante întregi care
reprezintă limitele superioare ale indicilor tabloului.

SDE 525.1 081 01 ME


Mod Coala Nr. document. Semnat. Data
Elaborat Dascal Daniel Litera Coala Coli
V. Derevlenco 2 Coli 6
Verificat
Tablouri liniare
UTM.FIMET.RST-181
Tablouri unidimensionale
Reprezinta un şir de elemente aranjate uniform într-un rînd. Fiecare element al
unui masiv unidimensional are o coordonată (numărul de ordine în masiv).
Sintxa de declarare a tabloului unidimensional (vector) este urmatoarea:
tip nume_tablou[dimensiunie];

Şiruri de caractere

Numim şir o succesiunie de caractere ale alfabetului, adică o propoziţie. Pentru


a defini o variabilă, valoarea careia va fi un şir de caractere, în limbajul de
programare C/C++ trebuie declarat un masiv de tip char cu o lungime egală cu
cantitatea maximal posibilă de caractere din masiv. Forma generală de declarare a
unui şir de caractere este urmatoarea:

char nume_şir[dimensiunie];

Pentru a introduce un şir de caractere în memoria calculatorului este folosită


funcţia gets(). Această funcţie are următoarea sintaxa:
gets(nume);
Unde nume este parametrul funcţiei şi reprezintă numele variabilei de tip şir,
adică a masivului de tip char. Funcţia dată aşteaptă pînă cînd utilizatorul va culege
un şir de la tastatură. Pentru ca textul cules să fie atribuit ca valoare unei variabile de
tip şir, utilizatorul trebuie să culeagă tasta ENTER. În timpul culegerii tastei date,
compilatorul adaugă la sfîrşitul şirului simbolul nul(“\0”).
Ca să afişăm şirul introdus cu funcţia gets(), vom utiliza funcţia puts(). Această
funcţie are următoarea sintaxă:
puts(nume);
Unde nume este parametrul funcţiei şi poate fi: un literal, o constantă de tip şir
sau o variabilă de tip şir.

Coala
SDE 525.1 081 01 ME
Mod Coala Nr. document Semnat. Data 3
3. Condiţia problemei:
Varianta 3: Este dat masivul unidimensional K[n].Sa se afle elementele divizibile
la 6 mai mari decit 16 de pe pozitii impare, valoarea ridicta la patrat a caror este mai
mica decit 200.

4. Listingul programului:
#include<stdio.h>
#include<conio.h>
#include<math.h>
void main()
{
clrscr();
int n,K[50],i;
printf("Introdu lungimea vectorului:");
scanf("%d",&n);
for(i=0;i<n;i++)
{
printf("K[%d]=",i);
scanf("%d",&K[i]);
}
printf("Afisam vectorul ");
printf("K=");
for(i=0;i<n;i++)
{
printf("%3d",K[i]);
}
for(i=1;i<n;i+=2)
if((fmod(K[i],6)==0)&&(K[i]>16)&&(pow(K[i],2))<200);
{
printf("\nK[i]=%d",K[i]);
}
getch();
}

Coala
SDE 525.1 081 01 ME
Mod Coala Nr. document Semnat. Data 3
Rezultatul executiei:

Concluzie:
Dupa efectuarea lucrării de laborator nr. 4 am obţinut deprinderi practice in
modificarea masivelor unidimensionale [tablourilor liniare] în C/C++, şi anume am
aplicat cunoştiinţele teoretice pentru crearea masivelor, parcurgerea lor şi
modificarea lor. Deasemenea am aprofundat cunoştintele despre lucrul programelor
ciclice, studiat anterior. Am observat ca pentru şirurile de caractere e mult mai
convenabil de folosit funcţiile puts si gets. La fel am observat faptul că limbajul de
programare C/C++ pune la dispoziţie o bibliotecă (string.h) ce face posibilă lucrul
rapid şi eficient cu şirurile de caractere.
Pe lîngă toate am mai folosit încă odată funcţia switch. În fine, în urma acestei
lucrări de laborator am îmbinat toate cunoştintele acumulate anterior şi am elaborat
un program ciclic ce conţine: ramificări, tablouri unidimensionale şi siruri de
caractere, iar rezultatul execuţiei ne-a arătat că scopul nostru iniţial a fost atins.
Astfel, învăţăm aprofundat limbajul de programare C/C++ şi devenim cunoscuţi cu
metodele de rezolvare a programelor.

Coala
SDE 525.1 081 01 ME
Mod Coala Nr. document Semnat. Data 3