Sunteți pe pagina 1din 3

Şcoala cu clasele I-VIII „Nicolae Iorga” Bacău / Prof. ing.

Bostan Mihaela

FIŞĂ DE LUCRU
ALGORITMI CARE FOLOSESC TABLOURI UNIDIMESIONALE

1. Un tablou unidimensional (vector) este o structură de date indexată, în care toate componentele
au acelaşi tip.

2. Declararea unei variabile de tip tablou unidimensional:


var nume_tablou: array[vi..vf] of tip_componente;
sau
type vector=array[vi..vf] of tip_componente;
var nume_tablou: vector;

Exemplu: pentru declaraţia:


var x: array[1..5] of integer;
componentele vectorului x sunt: x[1], x[2], x[3], x[4], x[5], toate de tip întreg.

3. Citirea unui vector - se realizează în două etape:


a. se citeşte numărul de componente;
b. se citesc pe rand toate componentele.
Exemplu:
var x: array[1..5] of integer;
N, I: integer;
write(’Numarul de componente’); readln(N);
for I := 1 to N do
begin
write(’Componenta a’, I, ’ a=’); readln(x[I]);
end;

2. Afişarea unui vector - se face componentă cu componentă.


Pentru exemplul anterior afişarea se realizează prin:
For I:= 1 to N do
Write(x[I], ’ ’);

3. Aplicaţii (Editaţi, compilaţi, salvaţi şi lansaţi în execuţie programele Pascal corespunzătoare


problemelor 1, 2 şi 3)

Pb.1 Să se construiască un vector cu primele n (1<=n<=30) numere cuburi perfecte nenule, apoi
să se afişeze componentele cu un spaţiu între ele.

Exemplu:
Pentru n=6, se va afişa:
1 8 27 64 125 216

Soluţie:
Vom lua toate numerele consecutive 1, 2, …, n, folosind o structură repetitivă şi vom construi cu
cuburile lor vectorul x, după care îl vom afişa.

program vector1;
var x: array[1..25] of longint; {Declararea componentelor vectorului}
i, n: byte;
begin

FIŞĂ DE LUCRU – clasele a V-a şi a VI-a – Opţional: „Informatica” 1


Şcoala cu clasele I-VIII „Nicolae Iorga” Bacău / Prof. ing. Bostan Mihaela

write('n='); readln(n); {Citirea nr. de componente}


for i:=1 to n do {Se citesc pe rand toate componentele}
x[i]:=i*i*i;
for i:=1 to n do {Afisarea unui vector componenta cu componenta}
write(x[i],' ');
readln;
end.

Pb. 2 Să se determine maximul şi minimul componentelor (de tip real) unui vector de
dimensiune n (1<=n<=100). Afişarea va respecta formatul din exemplu.

Exemplu:
Pentru n=6 şi vectorul cu componentele:
5 89 24 -2.5 33 4
se va afişa:
min(5, 89, 24, -2.5, 33, 4) =-2.5
max(5, 89, 24, -2.5, 33, 4) = 89

program vector2;
var x: array[1..100] of real;
i, n: integer;
max, min:real;
begin
write('n='); readln(n);
for i:=1 to n do
begin
write('x[',i,']=');
readln(x[i]);
end;
max:=x[1];
min:=x[1];
for i:=2 to n do
begin
if max<x[i] then max:=x[i];
if min>x[i] then min:=x[i];
end;
write('max(',x[1]:3:2);
for i:=2 to n do
write(',',x[i]:3:2);
writeln(')=',max:3:2);
write('min(',x[1]:3:2);
for i:=2 to n do
write(',',x[i]:3:2);
writeln(')=', min:3:2);
readln
end.

FIŞĂ DE LUCRU – clasele a V-a şi a VI-a – Opţional: „Informatica” 2


Şcoala cu clasele I-VIII „Nicolae Iorga” Bacău / Prof. ing. Bostan Mihaela

Temă: Concepeţi un enunţ pentru programul de mai jos.

Pb3 …………………………………………………………………………………………................
…………………………………………………………………………………………................
program lucrare_informatica;
var x:array[1..10] of integer;
n,i,c:integer;
begin
writeln('Nr elevi '); readln(n);
for i:=1 to n do
readln(x[i]);
c:=0;
for i:=1 to n do
if x[i]=10 then
c:=c+1;
writeln('nr elevilor care au luat nota 10 este ' ,c);
readln;
end.

FIŞĂ DE LUCRU – clasele a V-a şi a VI-a – Opţional: „Informatica” 3

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