Logare

Utilizator:
Parola:
Retine-ma
Inregistrare

Ultimele noutăţi

Concurs sef de sectie
La prima etapă a concursului pentru ocuparea funcţiei şef de secţie au fost admişi candidaţii: Popovici Tatiana, Florean Mihai şi Edu Inga.Pe data de 19 septembrie 2017 ora 14 10 în sala de lectură a colegiului va avea loc etapa a 2-a - Interviul..

Lucrarea de laborator nr. 2
Inapoi la lista cursurilor

Lucrarea de laborator nr. 2

Structuri dinamice de date

Stiva

I. Sarcina:

Scrieți un program care introduce, afișează, șterge și prelucrează o stivă cu tematica:

Varianta

1. Vagoanele din depou

·                    nr. de inregistrare(integer)

·                    tonajul (real)

·                    proprietar (string)

De afişat vagoanele cu tonajul mai mic de 5. De afişat nr. total de vagoane.

 

2. Avioanele din aeroport

·                    nr. de inregistrare(integer)

·                    nr. de pasageri (integer)

·                    compania (string)

De afişat la ecran avioanele cu un număr mai mare de 50 pasageri. De afişat nr. total de avioane.

 

3. Troleibuzele din depou

·                     nr. de inregistrare(integer)

·                    nr. de pasageri (integer)

·                    ruta (string)

De afişat troleibuzele de pe ruta „Dacia - Gara Nord”. De afişat nr. total de troleibuze.

 

4. Corăbiile din port

·                    nr. de inregistrare(integer)

·                    tonajul transportat (integer)

·                    compania (string)

De afişat corăbiile companiei „Mayer”. De afişat nr. total de corăbii.

 

5. Taxiurile din depou

·                    nr. de inregistrare(integer)

·                    nr. de locuri (integer)

·                    şofer (string)

De afişat taxiurile cu număr de locuri mai mare ca 4. De afişat nr. total de taxiuri.

 

 

II. Programul

Program exemplu:

(Sugestii: Determinaţi cîmpurile înregistrării Celula astfel ca ele să corespundă variantei şi titpului de date înlocuind cîmpu Info : string; cu cele 3 cîmpuri descrise în sarcină.

Pentru afişarea suplimentară dublaţi procedura de afişare a stivei “Afis” modificînd numele ei şi condiţia de afişare. Adăugaţi procedura nouă în lista cu opţiuni şi operatorul case.)

 

Program P127;

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);

 writeln('Dati elementul ce urmeaza 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;

                 writeln('Este extras 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 vid? }

 repeat

   writeln('Meniu:');

   writeln('   I - Introducerea elementului;');

   writeln('   E - Extragerea elementului');

   writeln('   A - Afisarea stivei 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.

 

 

 

 

 

 

 

 

 

 

III. Programul în lucru (Introduceţi minimum 5 înregistrări, afişaţile la ecran şi copieţi imaginea ecranului cu butonul PrtScr “PrintScreen” de la tastieră)

 

IV.  Întrebări de control

1.                  Ce este o stivă?

2.                  De ce depinde nr. elementelor maximale introduse în stivă.

3.                  Enumăraţi 5 cazuri posibile de implementare a stivei în viaţa reală (în afara depoului de troleibuze, taxi, avion, tren, corăbii).

 

V. Concluzii:

ComentariiReinoieste comentariile

Logare

Utilizator:
Parola:
Retine-ma
Inregistrare
Twitter   facebook facebook Mail.ru