Sunteți pe pagina 1din 11

Tipuri de date

tablou (Array).
Aplicaţii.
Sintaxa descrierii unui tip
de date tablou:
Type
<Nume_tip>=Array[<Tip_in
dice>] Of <Tip_elemente>;
Citirea elementelor:
For I:=1 To N Do
Begin
Write(‘A[‘,I,’]=‘);
Read(A[I])
End;
Afişarea elementelor:
For I:=1 To N Do
Write(A[I],’ ‘);
Exemplul 1.
Este dat un tablou cu numere întregi A[1..N], N100. Numărul de
elemente şi elementele tabloului se citesc de la tastatură. Calculaţi
suma numerelor divizibile la 5 şi afişaţi rezultatul la ecran.
Program Ex; Uses CRT;
Type T=Array[1..100] Of Integer;
Var A:T; N,I:Byte; S:Integer;
Begin ClrScr;
Write(‘Nr de elem=‘); Read(N);
For I:=1 To N Do Begin
Write(‘A[‘,I,’]=‘); Read(A[I]) End;
S:=0;
For I:=1 To N Do
If A[I] Mod 5=0 Then S:=S+A[I];
WriteLn(‘Suma=’,S); ReadKey End.
Exemplul 2.
Este dat un tablou cu numere reale A[1..N], N200. Numărul de
elemente şi elementele tabloului se citesc de la tastatură. Calculaţi
produsul numerelor pozitive şi afişaţi rezultatul la ecran.
Program Ex; Uses CRT;
Type T=Array[1..200] Of Real;
Var A:T; N,I:Byte; P:Real;
Begin ClrScr;
Write(‘Nr de elem=‘); Read(N);
For I:=1 To N Do Begin
Write(‘A[‘,I,’]=‘); Read(A[I]) End;
P:=1;
For I:=1 To N Do
If A[I] >0 Then P:=P*A[I];
WriteLn(‘Produsul=’,P:7:2); ReadKey End.
Exemplul 3.
Este dat un tablou cu numere reale A[1..N], N200. Numărul de
elemente şi elementele tabloului se citesc de la tastatură. Calculaţi
num[rul alternărilor de semn şi afişaţi rezultatul la ecran.
Program Ex; Uses CRT;
Type T=Array[1..200] Of Real;
Var A:T; N,I,K:Byte;
Begin ClrScr;
Write(‘Nr de elem=‘); Read(N);
For I:=1 To N Do Begin
Write(‘A[‘,I,’]=‘); Read(A[I]) End;
K:=0;
For I:=1 To N-1 Do
If A[I] *A[I+1]<0 Then Inc(K);
WriteLn(‘Numarul alternarilor de semn=’,K);
ReadKey End.
Exemplul 4.
Este dat un tablou cu numere întregi A[1..N], N100. Numărul de
elemente şi elementele tabloului se citesc de la tastatură. Calculaţi
media aritmetica a numerelor pare şi afişaţi rezultatul la ecran.
Program Ex; Uses CRT;
Type T=Array[1..100] Of Integer;
Var A:T; N,I,K:Byte; S:Integer;
Begin ClrScr;
Write(‘Nr de elem=‘); Read(N);
For I:=1 To N Do Begin
Write(‘A[‘,I,’]=‘); Read(A[I]) End;
S:=0; K:=0;
For I:=1 To N Do
If A[I] Mod 2=0 Then Begin S:=S+A[I]; Inc(K) End;
If K>0 Then WriteLn(‘Media aritmetica=’,S/K:7:2)
Else WriteLn(‘nu sunt numere pare’); ReadKey End.
Exemplul 5.
Este dat un tablou cu numere întregi A[1..N], N100. Numărul de
elemente şi elementele tabloului se citesc de la tastatură. Determinaţi
valorea maximă şi numărul de elemente maxime şi afişaţi rezultatele la
ecran.
Program Ex; Uses CRT;
Type T=Array[1..100] Of Integer;
Var A:T; N,I,K:Byte; Max:Integer;
Begin ClrScr;
Write(‘Nr de elem=‘); Read(N);
For I:=1 To N Do Begin
Write(‘A[‘,I,’]=‘); Read(A[I]) End;
Max:=A[1]; K:=1;
For I:=2 To N Do
If A[I] >Max Then Begin Max:=A[I]; K:=1 End
Else If A[I]=Max Then Inc(K);
WriteLn(‘Max=’,Max,’ Nr=‘,K); ReadKey End.
Exemplul 6.
Este dat un tablou cu numere întregi A[1..N], N100. Numărul de
elemente şi elementele tabloului se citesc de la tastatură. Înlocuiţi
numerele negative cu 0 şi afişaţi la ecran tabloul modificat.
Program Ex; Uses CRT;
Type T=Array[1..100] Of Integer;
Var A:T; N,I,K:Byte; Max:Integer;
Begin ClrScr;
Write(‘Nr de elem=‘); Read(N);
For I:=1 To N Do Begin
Write(‘A[‘,I,’]=‘); Read(A[I]) End;
For I:=1 To N Do
If A[I] <0 Then A[I]:=0;
WriteLn(‘Tabloul modificat’);
For I:=1 To N Do Write(A[I],’ ‘);ReadKey End.
Sarcini p/u rezolvare
Este dat un tablou cu numere întregi A[1..N], N200.
Numărul de elemente şi elementele tabloului se citesc
de la tastatură. Calculaţi:

• Suma elementelor [-10,10].


• Produsul elementelor pare.
• Numărul elementelor negative.
• Valorea minimă şi numărul de elemente minime.
• Media aritmetică a numerelor impare.
• Înlocuiţi elementele divizibile la 3 sau la 5 prin pătratul lor.

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