Sunteți pe pagina 1din 9

Minisrerul Educatiei al Republicii Moldova Colegiul Politehnic din Chisinau

Catedra:Sisteme Informationale

Lucrare de laborator Nr.5 La obectul :Informatica

Tema:Prelucrarea listlor de tip stiva si coada

A efectuat:

Elevul Gr. En-0211

A verificat:

profesorul

BODRUG Ion BANTAS Virgiliu

CHISINAU 2013

Conditia lucrarii:
Sa se alcatuiasca un program in limbajul pascal ce permite functionarea unei liste de tip coada si stiva, sa parcurga lista impreuna cu afisarea datelor, includerea lor in lista precum si excluderea elementelor din lista.

Scopul lucrarii:
a)Scopul consta in familiarizarea cu definitia si schemele pentru lista de tip stiva, si de tip coada. b)De a cunoaste declararea tipurilor de date dinamice. c)De a crea in limbajul pascal o lista de tip coada. d) A crea o secventa de program in limbajul pascal pentru a parcurge lista de tip coada si afisarea datelor introduse. e)De a crea o secventa de program care ne va ajuta sa includem un element in lista. f)De a crea o secventa de program care sa excluda un element din lista. g)Cercetarea rezultatelor in urma executarii programului.

Programul 1:
Program P1; {Crearea si prelucrarea unei stive} type AdresaCelula=^Celula; Celula=record info:string; Prec:AdresaCelula; end; var S:AdresaCelula;{adresa virfului} c:char; procedure Introduc; var R:adresaCelula; begin new(R); write('Dati elementul ce urmeaza'); writeln('sa 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 vida') 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 vida') 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;{initial stiva este vida} Repeat writeln('Meniu:'); writeln('I-Introducerea elementului;'); writeln('E-Extragerea elemntului'); writeln('A-Afisarea stivei pe ecran'); writeln('O-Oprirea programului'); write('Optiunea=');readln(c); case c of 'I':Introduc; 'E':Extrag; 'A':Afis; 'O': else writeln('Optiune necunoscuta') end; until c='O'; end.

Programul 2:
Program P2; {Crearea si 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('Dati elementul ce urmeaza'); writeln('sa 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 vida') 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 vida') 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; {initial coada este vida} repeat writeln('Meniu:'); writeln('I-Introducerea elementului;'); writeln('E-Extragerea elemntului;'); writeln('A-Afisarea cozii la ecran'); writeln('O-Oprirea programului'); write('Optiunea=');readln(c); case c of 'I':Introduc; 'E':Extrag; 'A':Afis; 'O': else writeln('Optiune necunoscuta') end; until c='O'; end.

Raspunsul programului1:
Meniu: I-Introducerea elementului; E-Extragerea elemntului A-Afisarea stivei pe ecran O-Oprirea programului Optiunea=I Dati elementul ce urmeazasa fie introdus: 0211 Meniu: I-Introducerea elementului; E-Extragerea elemntului A-Afisarea stivei pe ecran

O-Oprirea programului Optiunea=I Dati elementul ce urmeazasa fie introdus: Meniu: I-Introducerea elementului; E-Extragerea elemntului A-Afisarea stivei pe ecran O-Oprirea programului Optiunea=I Dati elementul ce urmeazasa fie introdus: EN Meniu: I-Introducerea elementului; E-Extragerea elemntului A-Afisarea stivei pe ecran O-Oprirea programului Optiunea=A Stiva include elementele: EN 0211 E Meniu: I-Introducerea elementului; E-Extragerea elemntului A-Afisarea stivei pe ecran O-Oprirea programului Optiunea=E Este extras elementul: EN Meniu: I-Introducerea elementului; E-Extragerea elemntului A-Afisarea stivei pe ecran O-Oprirea programului Optiunea=A Stiva include elementele: 0211 Meniu: I-Introducerea elementului; E-Extragerea elemntului

A-Afisarea stivei pe ecran O-Oprirea programului Optiunea=E Este extras elementul: Meniu: I-Introducerea elementului; E-Extragerea elemntului A-Afisarea stivei pe ecran O-Oprirea programului Optiunea=A Stiva include elementele: 0211 Meniu: I-Introducerea elementului; E-Extragerea elemntului A-Afisarea stivei pe ecran O-Oprirea programului Optiunea=E Este extras elementul: 0211 Meniu: I-Introducerea elementului; E-Extragerea elemntului A-Afisarea stivei pe ecran O-Oprirea programului Optiunea=A Stiva este vida

Raspunsul programului2:
Meniu: I-Introducerea elementului; E-Extragerea elemntului; A-Afisarea cozii la ecran O-Oprirea programului Optiunea=A Coada este vida Meniu: I-Introducerea elementului; E-Extragerea elemntului; A-Afisarea cozii la ecran O-Oprirea programului

Optiunea=I Dati elementul ce urmeazasa fie introdus: 0211 Meniu: I-Introducerea elementului; E-Extragerea elemntului; A-Afisarea cozii la ecran O-Oprirea programului Optiunea=I Dati elementul ce urmeazasa fie introdus: Meniu: I-Introducerea elementului; E-Extragerea elemntului; A-Afisarea cozii la ecran O-Oprirea programului Optiunea=I Dati elementul ce urmeazasa fie introdus: EN Meniu: I-Introducerea elementului; E-Extragerea elemntului; A-Afisarea cozii la ecran O-Oprirea programului Optiunea=A coada include elementele: 0211 EN Meniu: I-Introducerea elementului; E-Extragerea elemntului; A-Afisarea cozii la ecran O-Oprirea programului Optiunea=E Este extras elementul: 0211 Meniu: I-Introducerea elementului; E-Extragerea elemntului; A-Afisarea cozii la ecran O-Oprirea programului Optiunea=A

coada include elementele: EN Meniu: I-Introducerea elementului; E-Extragerea elemntului; A-Afisarea cozii la ecran O-Oprirea programului Optiunea=E Este extras elementul: Meniu: I-Introducerea elementului; E-Extragerea elemntului; A-Afisarea cozii la ecran O-Oprirea programului Optiunea=A coada include elementele: EN Meniu: I-Introducerea elementului; E-Extragerea elemntului; A-Afisarea cozii la ecran O-Oprirea programului Optiunea=E Este extras elementul: EN Meniu: I-Introducerea elementului; E-Extragerea elemntului; A-Afisarea cozii la ecran O-Oprirea programului Optiunea=A Coada este vida

Concluzia:
Dupa efectuarea lucrarii de laborator am insusit mai bine informatia studiata anterior la lectiile de teorie, am observant care este principiul dee functionare a programelor in Limbajul Pascal care contine o lista de tip stiva sau coada. In insusit modul de declarare si de introducere a elementelor la fel am observant cum se extrag elementele din fiecare tip (stiva si coada).

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