Tablouri unidimensionale
1. De alcatuit un program care va afisa suma elementelor unui vector.
Program P1;{P1- numele programului}
uses crt;{Directiva ce permite utilizarea bibliotecii CRT, adica pot fi executate astfel de functii, precum: curatarea ecranului dupa executare, adaugarea culorilor, sunetelor in program etc.}
type Tablou=array[1..100]of integer;{Declaram tipul Tablou cu elemente din tipul integer(de la 1 la 100)}
var n,s,i:integer;{Declaram variabilele n,s,i de tip integer - numere intregi}
t:Tablou;{Declaram variabila t de tip Tablou}
begin{Inceputul programului}
clrscr;{Comanda ce va curata automat ecranul dupa executie}
textcolor(3);{Coloreaza textul programului in culoarea cu nr.4}
textbackground(7);{Coloreaza fundalul programului in culoarea cu nr. 7}
write(' Introdu nr.de elemente: ');{Afiseaza pe ecran "Introdu nr. de elemente: "}
readln(n);{Citeste numarul introdus de la tastatura, trece in rand nou}
write(' Introdu elementele in tablou: ');{Afiseaza pe ecran "Introdu elementele in tablou: "}
for i:=1 to n do{Parcurge toate elementele , se repeta pana cand i=n si efectueaza urmatoarele sarcini}
readln(t[i]);{Citeste valoarea introdusa de la tastatura si o atribuie pozitiei corespunzatoare, trece in rand nou}
writeln('Ati introdus: ');{Afiseaza pe ecran "Ati introdus ", trece in rand nou}
for i:=1 to n do{Parcurge toate elementele , se repeta pana cand i=n si efectueaza urmatoarele sarcini}
write(t[i]:3); {Afiseaza pe ecran valoarea fiecarui element, cu 3 spatii intre ele}
writeln;{Trece in rand nou}
s:=0;{Ii atribuim variabilei s, care va calcula suma elementelor din vector, valoarea initiala 0}
for i:=1 to n do{Parcurge toate elementele din vector, se repeta pana cand i=n si efectueaza urmatoarea sarcina}
s:=s+t[i];{Adaugam la valoarea variabilei s valoarea elementului situat pe pozitia i}
writeln('Suma elementelor vectorului= ',s);{Afiseaza pe ecran "Suma elementelor vectorului= ", afiseaza valoarea lui s, trece in rand nou}
readkey;{la apasarea unei taste, trece din ecranul negru in ecranul albastru}
end.{Sfarsitul programului}
2. De alcatuit un program care va afisa elementul maxim si minim al unui vector.
Program P2;{P2- numele programului}
uses crt;{Directiva ce permite utilizarea bibliotecii CRT, adica pot fi executate astfel de functii, precum: curatarea ecranului dupa executare, adaugarea culorilor, sunetelor in program etc.}
type Tablou=array[1..100]of integer;{Declaram tipul Tablou cu elemente din tipul integer(de la 1 la 100)}
var max, min, n,i:integer;{Declaram variabilele n,s,i de tip integer - numere intregi}
A:Tablou;{Declaram variabila A de tip Tablou}
begin{Inceputul programului}
clrscr;{Comanda ce va curata automat ecranul dupa executie}
textcolor(2);{Coloreaza textul programului in culoarea cu nr.2}
textbackground(10);{Coloreaza fundalul programului in culoarea cu nr. 10}
write(' Introdu nr.de elemente: ');{Afiseaza pe ecran "Introdu nr. de elemente: "}
readln(n);{Citeste numarul introdus de la tastatura, trece in rand nou}
write(' Introdu elementele in tablou: ');{Afiseaza pe ecran "Introdu elementele in tablou: "}
for i:=1 to n do{Parcurge toate elementele , se repeta pana cand i=n si efectueaza urmatoarele sarcini}
readln(A[i]);{Citeste valoarea introdusa de la tastatura si o atribuie pozitiei corespunzatoare, trece in rand nou}
writeln('Ati introdus: ');{Afiseaza pe ecran "Ati introdus ", trece in rand nou}
for i:=1 to n do{Parcurge toate elementele , se repeta pana cand i=n si efectueaza urmatoarele sarcini}
write(A[i]:3);{Afiseaza pe ecran valoarea fiecarui element, cu 3 spatii intre ele}
writeln;{Trece in rand nou}
max:=A[1];{Ii atribuim variabilei max, care va determina elementul cu valoarea maxima din vector, valoarea initiala a elementului de pe pozitia 1 in vector}
min:=A[1];{Ii atribuim variabilei min, care va determina elementul cu valoarea minima din vector, valoarea initiala a elementului de pe pozitia 1 in vector}
for i:=1 to n do{Parcurge toate elementele din vector, se repeta pana cand i=n si efectueaza urmatoarele sarcine}
begin{Inceputul ciclului}
if A[i]>max then { Daca elementul de pe pozitia i are valoarea mai mare decat valoarea primului element}
max:=A[i];{Variabilei max i se atribuie valoarea elementului de pe pozitia i}
if A[i]<min then{ Daca elementul de pe pozitia i are valoarea mai mica decat valoarea primului element}
min:=A[i];{Variabilei min i se atribuie valoarea elementului de pe pozitia i}
end;{Sfarsitul ciclului; intoarcere la sintaxa for}
writeln('Max: ',max);{Afiseaza pe ecran "Max: ", afiseaza valoarea lui max, trece in rand nou}
writeln('Min: ',min);{Afiseaza pe ecran "Min: ", afiseaza valoarea lui min, trece in rand nou}
readkey;{la apasarea unei taste, trece din ecranul negru in ecranul albastru}
end.{Sfarsitul programului}
3. De alcatuit un program care va calcula suma componentelor cu indicele par.
Program P3;
uses crt;
type Tablou=array[1..100]of integer;
var s, n,i:integer;
A:Tablou;
begin
clrscr;
textcolor(5);
textbackground(1);
write(' Introdu nr.de elemente: ');
readln(n);
write(' Introdu elementele in tablou: ');
for i:=1 to n do
readln(A[i]);
writeln('Ati introdus: ');
for i:=1 to n do
write(A[i]:3);
writeln;
for i:=1 to n do
if not odd(i) then s:=s+A[i];
if s<>0 then writeln('Suma elementelor de pe pozitii pare este ',s);
readkey;
end.





