Sunteți pe pagina 1din 13

Ministerul Educației, Culturii și Cercetării al Republicii Moldova

Centrul de Excelență în Energetică și Electronică


Catedra: “Sisteme informaționale”

Lucrare de laborator Nr.1

Tema: Prelucrarea datelor utilizând stive și cozi

Elaborat: Cocerghin Vladislav

Verificat: Culac Tatiana

Chișinău 2020
1)Scopul lucrării:
1.A însuși noi elemente de bază ale limbajului Pascal:
a) Definirea stivelor și cozilor
b) Folosirea stivelor și cozilor pentru rezolvarea problemelor
2.A compune și a pune în execuție programe compuse folosind stive și cozi.

2)Listingul programului
Stiva:
Program P127;
{Crearea şi prelucrarea unei stive }
type AdresaCelula=^Celula;
Celula=record
Info: string;
Prec: AdresaCelula; end;
var S: AdresaCelula; {adresa vârfului }
c: char;
procedure Introduc;
var R: AdresaCelula;
begin
new(R);
write (’Daţi elementul ce urmează’);
writeln (’ să fie introdus:’);
readln (R^.Info);
R^.Prec:=S;
S:=R;
end; { Includ }
procedure Extrag;
var R: AdresaCelula;
begin
if S=nil then writeln (’Stiva este vidă’)
else begin
R:=S;
write (’Este extras’);
writeln(’ elementul:’);
writeln(R^.Info);
S:=S^.Prec;
dispose(R); end;
end; { Extrag }
procedure Afis;
var R: AdresaCelula;
begin
if S=nil then writeln (’Stiva este vidă’)
else begin
writeln (’Stiva include elementele:’);
R:=S;
while R<>nil do
begin
writeln (R^.Info);
R:=R^.Prec; end;
end;
readln;
end; { Afis }
begin
S:=nil; { iniţial stiva este vidă }
repeat
writeln(’Meniu:’);
writeln (’I - Introducerea elementului’);
writeln (’E - Extragerea elementului’);
writeln (’A - Afişarea stivei pe ecran’);
writeln (’O - Oprirea programului’);
write (’Opţiunea=’);
readln(c);
case c of
’I’: Introduc;
’E’: Extrag;
’A’: Afis;
’O’:
else writeln(’Opţiune necunoscută’)
end;
until c=’O’; end.

Coada:
Program P128;
{Crearea și prelucrarea unei cozi }
type AdresaCelula=^Celula;
Celula=record
Info: string;
Urm: AdresaCelula;
end;
var P, {adresa primului element }
U: AdresaCelula; {adresa ultimului element }
c: char;
procedure Introduc;
var R: AdresaCelula;
begin
new(R);
write (’Daţi elementul ce urmează’);
writeln (’ să fie introdus:’);
readln (R^.Info);
R^.Urm:=nil;
if P=nil then
begin
P:=R;
U:=R
end;
else begin
U^.Urm:=R;
U:=R;
end;
end; { Introduc }
procedure Extrag;
var R: AdresaCelula;
begin
if P=nil then writeln (’Coada este vidă’)
else begin
R:=P;
Write (’Este extras’);
writeln (’ elementul:’);
writeln (R^.Info);
P:=P^.Urm;
dispose(R); end;
end; { Extrag }
procedure Afis;
var R: AdresaCelula;
begin
if P=nil then writeln(’Coada este vidă’)
else begin
write (’Coada include’);
writeln (’ elementele:’);
R:=P;
while R<>nil do
begin
writeln(R^.Info);
R:=R^.Urm;
end;
end;
readln;
end; { Afis }
begin
P:=nil;
U:=nil; { iniţial coada este vidă }
repeat
writeln(’Meniu:’);
writeln (’I - Introducerea elementului’);
writeln (’E - Extragerea elementului’);
writeln (’A - Afişarea cozii la ecran’);
writeln (’O - Oprirea programului’);
write (’Opţiunea=’);
readln(c);
case c of
’I : Introduc;
’E’: Extrag;
’A’: Afis;
’O’:
else writeln(’Opţiune necunoscută’)
end;
until c=’O’;
end.

3)Rezultatul obținut:
Stiva:
Am introdus opțiunea A ca să vad dacă stiva conține elemente:

Am introdus de 3 ori opțiunea I pentru a introduce elementele 3,6,9:


Am introdus opțiunea A pentru a vedea ce elemente conține stiva apoi am introdus
opțiunea E pentru a extrage un element din stivă:

Apoi am introdus din nou opțiunea A și optiunea E:


Apoi am introdus din nou optiunea A si opțiunea E:

Apoi am introdus opțiunea A pentru a vedea ce elemente conține Stiva:


Coada:

Am introdus opțiunea A pentru a vedea dacă coada conține elemente:


Am introdus opțiunea I de 3 ori pentru a introduce elementele 4,5,6:

Am introdus opțiunea A pentru a vedea ce elemente conține Coada apoi am


introdus opțiunea E pentru a extrage un element din coadă:
Din nou, am introdus opțiunea A apoi opțiunea E:

Apoi din nou am introdus opțiunea A apoi opțiunea E:


Am introdus opțiunea A pentru a vedea dacă coada este vidă:

4)Concluzia:
Efectuând Lucrarea de Laborator Nr.1, am perceput cum să compun un program ce
folosește stive sau cozi. Am învățat cum să aplic stivele și cozile pentru rezolvarea
problemelor.

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