Sunteți pe pagina 1din 3

TABLOURI BIDIMENSIONALE (rezolvarea problemelor)

Clasa a XI-a, profil real

Fie dat un tablou A[1..10,1..10] de numere întregi.


Enunț Program Observații
1. Determinaţi Program P1;
elementul type Matrice=array [1..10, 1..10] of integer;  declarații de tipuri, variabile
min din linia var a: Matrice; n, m ,i, j, min: integer;
begin  n și m – nr. de linii și coloane în
a 2-a.
{citirea elementelor tabloului} tabloul citit de la tastatură (de ex.: linii
write(‘linii in tablou n=’); readln(n);
n=3, coloane m=4)
write(‘coloane in tablou n=’); readln(m);
for i:=1 to n do
for j:=1 to m do
read(a[i,j]);

{determ. el. min din linia a 2-a}


min:=a[2,1];  fragmentul de program care rezolvă
for j:= 2 to m do problema
if a[i,j]<min then min:=a[i,j];  se consideră minim primul element din
linia a 2-a – a[2,1], apoi se precaută
doar celelalte elementele din linia a 2-
{afisarea rezultatului} a.
writeln(min,’ elementul minin din linia a 2-a’);
end.  min – rezultatul
2. Înlocuiți toate Program P2;
elementele type Matrice=array [1..10, 1..10] of integer;
negative cu var a: Matrice; n, m ,i, j: integer;
begin
10.
{citirea elementelor tabloului}
write(‘linii in tablou n=’); readln(n);
write(‘coloane in tablou n=’); readln(m);
for i:=1 to n do
for j:=1 to m do
read(a[i,j]);

{el. negative se inlocuiesc cu 10}  fragmentul de program care rezolvă


for i:=1 to n do problema
for j:=1 to m do  fiecare element negativ se înlocuiește
if a[i,j]<0 then a[i,j]:=10;
cu 10
{afisarea rezultatului}
for i:=1 to n do  rezultatul problemei este tabloul
begin modificat
for j:=1 to m do  elementele tabloului se afișează în n-
write(a[i,j]:4); linii și m-coloane
writeln  pentru afișarea fiecărui element se
end; rezervă câte 4 poziții
end.
3. Suma Program P3;
elementelor type Matrice=array [1..10, 1..10] of integer;
impare var a: Matrice; n, m ,i, j, s: integer;
divizibile cu begin
{citirea elementelor tabloului}
5.
write(‘linii in tablou n=’); readln(n);
write(‘coloane in tablou n=’); readln(m);
for i:=1 to n do
for j:=1 to m do
read(a[i,j]);
{determ. suma el. impare, divizibile cu 5}  fragmentul de program care rezolvă
s:=0; problema
for i:= 1 to n do  fiecare element este verificat dacă este
for j:= 1 to m do
impar și divizibil cu 5
if (a[i,j] mod 2=1) and (a[i,j] mod 5=0) then
s:=s+a[i,j];

{afisarea rezultatului}
writeln(s,’ suma el. impare divizibile cu 5’);  s– suma elementelor ce corespund
end. condiției
4. Câte elemente Program P4;
nule şi câte type Matrice=array [1..10, 1..10] of integer;
elemente mai var a: Matrice; n, m ,i, j, k1, k2: integer;
mari decât 50 begin
{citirea elementelor tabloului}
sunt în tablou.
write(‘linii in tablou n=’); readln(n);
write(‘coloane in tablou n=’); readln(m);
for i:=1 to n do
for j:=1 to m do
read(a[i,j]);

{câte el. nule și cate mai mari decat 50}  fragmentul de program care rezolvă
k1:=0; k2:=0; problema
for i:= 1 to n do  aici se verifică două condiții pentru a
for j:= 1 to m do
obține două rezultate
begin
if a[i,j]=0 then inc(k1);  obligatoriu ambele instrucțiuni if ... se
if a[i,j] >50 then inc(k2); încadrează între begin ...end
end;

{afisarea rezultatului}
writeln(k1,’ elemente nule’);  rezultate avem două
writeln(k2, ‘elemente mai mari ca 50’);  k1 – elem. nule
end.  k2 – elem. mai mai mari decât 50

5. Produsul Program P5;


elementelor type Matrice=array [1..10, 1..10] of integer;
pozitive mai var a: Matrice; n, m ,i, j, x, p: integer;
mari ca un begin
{citirea elementelor tabloului}
număr dat X.
write(‘linii in tablou n=’); readln(n);
write(‘coloane in tablou n=’); readln(m);
for i:=1 to n do
for j:=1 to m do
read(a[i,j]);
{citirea valorii variabilei x}  x are o valoare oarecare - număr
Write(‘x=’); readln(x); întreg, care trebuie citit de la tastatură
{produsul el. positive mai mari decat X}
p:=1;  fragmentul de program care rezolvă
for i:= 1 to n do
problema
for j:= 1 to m do
if (a[i,j]>0) and (a[i,j] >x) then p:=p*a[i,j];  aici se verifică două condiții și se
calculează produsul elementelor care
{afisarea rezultatului} satisfac ambele condiții concomitent
writeln(p,’ produsul calculat’);
end.  p – produsul elementelor ce corespund
condiției
TEMĂ:

I. Scrieți programe PASCAL care creează tablourile:

a)1 1 1 1 1 b)0 0 0 0 c) 1 1 1 1
00000 1234 0000
11111 0000 0000
00000 1234 1111

II. Fie dat un tablou A[1..10,1..10] de numere întregi. Scrieți programe PASCAL pentru
rezolvarea problemelor
1. Determinaţi elementul minin din prima linie și elementul maxim din coloana a 4-a .
2. Determinaţi elementul minim din coloana a 2-a.
3. Înlocuiți toate elementele pare cu 0.
4. Calculați câte elemente pozitive, divizibile cu 7 sunt în tablou.
5. Calculați suma elementelor negative şi suma elemente mai mari decât 100 (două sume).
6. Produsul elementelor pozitive mai mari ca un număr dat X.
7. Suma elementelor din linia a 2-a;
8. Câte elemente pare sunt în coloana a 3-a.

Ecaterina Adam, 20.11.2020

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