Sunteți pe pagina 1din 7

Laboratoare la disciplina

Structuri de date i algoritmi


Laborator 1 Structuri de date elementare i de nivel jos
Tema 1 (1 or) Declararea i utilizarea scalarilor n limbajele de proramare
Sarcina:
1. Declararea variabilelor de tip predefinit n limbajele C++, ascal, erl, !isual "asic.
#. Declararea tipurilor proprii n limbajele C++, ascal, erl, !isual "asic.
$. Determinarea %onei de memorie ocupat& de diferite tipuri.
Tema ! (1 or) Declararea i utilizarea structurilor de nivel jos
Sarcina:
1. Declararea unui masiv de rangul ' cu ( elemente n limbajele C++, ascal, erl, !isual "asic.
#. )fectuarea opera*iilor standard +ad&ugare, inserare, tergere, citire elemente i calculul nr. de elemente
semnificative, asupra lui.
$. Declararea irurilor n limbajele C++, ascal- efectuarea opera*iilor de ad&ugare, citire, concatenare,
copiere.
Laborator ! "tilizarea variabile dinamice n limbajele de proramare
Tema # (! ore) $ointeri i re%erin&e
Sarcina:
1. Citirea adresei de memorie pentru scalari de diferite tipuri n limbajele C++, ascal, erl, !isual "asic
#. Lucrul cu variabile de tip pointer i referin*& n limbajele C++, ascal:
. declararea lor-
. crearea i alocarea memoriei-
. nscrierea valorilor n %ona de memorie alocat& i citirea lor-
. eliberarea memoriei.
$. /ormarea i lucrul cu liste dinamice n limbajele C++, ascal
. Declararea unei structuri ce con*ine referin*& la structur& similar&.
. /ormarea unei liste /0/1- efectuarea opera*iilor de ad&ugare, inserare, eliminare a elementelor-
parcurgerea listei.
. /ormarea unei liste /0L1- efectuarea opera*iilor de ad&ugare, inserare, eliminare a elementelor-
parcurgerea listei.
Laborator # Lucru cu structurile arborescente
Tema # (' ore) (rbori binari
Sarcina:
1. Construirea uni arbore binar complet de nivelul $, n limbajele C++, ascal
#. arcurgerea arborelui prin metoda preordine, inordine i postordine.
Laborator ' "tilizarea te)nicilor de sortare a datelor
Tema ' (' ore) (loritmi de sortare intern
Sarcina:
$. )laborarea algoritmilor i sortarea ascendent& a unui masiv liniar de ( elemente utili%2nd metodele:
bulelor, inser*iei, selec*iei, sortare rapid&, n limbajele C++, ascal, erl, !isual "asic
3. 4nali%a performan*elor algoritmilor de sortare.
1
*+empli%icare,
Tema 1 Declararea i utilizarea scalarilor n limbajele de proramare
1.5ipuri de date in C si memoria ocupata :
int . # b6tes
c7ar . 1 b6tes
float . 3 b6tes
double . 8 b6tes
. . .
#.5ipuri de date in ascal si memoria ocupata :
integer # b6tes
string ma9im #:; simboluri
c7ar 1 b6tes
. . .
$.5ipuri de date in !isual "asic si memoria ocupata :
. . .
3.5ipuri de date in erl :
. . .
$ascal
rogram def<scalari-
t6pe
intreg=integer-
caracter=c7ar-
cu<virgula=real-
var
a:integer- b:c7ar- c:real- d:b6te- e: >ord-
f:intreg-g:caracter-7:cu<virgula-
begin
a:=1-
b:=?C?-
c:=#$.:-
d:=#$7-
e:=3:.;-
readln+f,-
readln+g,-
readln+7,-
>riteln +@variabile de tip integerA,a,A @,intreg,-
>riteln +@variabile de tip caracterialA,b,A @,caracter,-
>riteln +@variabila de tip >ordA,e,-
. . .
end.
- ..
Bdefine intreg int-
Bdefine c7aracter c7ar-
void main+void,
C
int a- c7ar b- float c- double d-
intreg f- caracter g-
a=1-
b=?C?-
c=#$.:-
1
d=#$3:;.;D
gets+f,-
gets+g,-
printf+Avariabile de tip intreg Ea EfFnA,a,f,-
. . .
G
Tema ! Declararea i utilizarea structurilor de nivel jos
$ascal
var a:arra6 H1..:,1..#I of integer-
i,j:integer-
c:string-
begin
>riteln+Aadaugarea elementelorA,-
for j:=1 to # do
for i:=1 to : do
begin
>rite+Aintroducem elementul din rindulA,j,A coloanaA,i,-
readln +aHj,iI,-
end-
>riteln+Acitirea elementelorA,-
for j:=1 to # do
begin
>rite +ArindulA,j,-
for i:=1 to : do >rite+aHj,iI,-
>riteln-
end-
. . .
>rite+Acitira unui sir:A,-
readln+c,-
>riteln+Asirul c are valoarea:Ac,-
end.
-..
Binclude Jstdio.7K
Binclude Jconio.7K
Bdefine m #
Bdefine n :
void main+void,
C int aHnIHmI-
int i,j-
clrscr+,-
printf+LDati datele in tabel :FnL,-
for+i=M- iJn- i++,
for+j=M- jJm- j++,
C printf+LtHEdIHEdI= L,i,j,-
scanf+LEdL,NaHiIHjI,-
G
printf+LDatele din tabel sint :FnL,-
for+i=M- iJn- i++,
#
for+j=M- jJm- j++,
printf+LaHEdIHEdI= EdFnL,i,j,aHiIHjI,-
getc7+,-
G
/isual basic
Sub /ill4rra6+,
Const (=:
Dim dList+:, #, 4s 0nteger
Oandomi%e
@0ntroducerea aleatorA
/or i = 1 5o #
/or j = 1 5o :
dList+i, = /ormat+Ond+,,LM.MMMML,
(e9t j
(e9t i
@4fisareaA
/or i = 1 5o #
/or j = 1 5o :
Debug.rint /ormat+dlist+i,,LM.MMMML,
(e9t j
(e9t i
)nd Sub
Tema # $ointeri i re%erin&e
$ascal
C Crearea si parcurgerea unei liste bidirectionale G
t6pe 4dresaCelula=PCelula-
Celula=record
0nfo : string-
Qrm, rec : 4dresaCelula-
end-
var , C adresa de ba%a G
! : 4dresaCelula- C adresa virfului G
procedure Creare- var O : 4dresaCelula-
begin
:=nil- !:=nil- . >riteln+RDafi Sista-R,-
>7ile not eof do begin
ne> +O, -
readln+OP.0nfo,-
OP.rec:=nil-
OP.Qrm:=nil-
if =nil t7en begin :=O- !:=O end
else begin !P.Qrm:=O- OP.rec:=!- !:=O end-
end-
end- C Creare G
procedure 4fisarea- var O : 4dresaCelula- begin
>riteln+R4fisarea de la baza la virf;'); O:=-
>7ile OJKnil do begin
$
>riteln+OP.0nfo,- O:=OP.Qrm-
end-
>ritelnCR4fisarea de la virf la baza;'); O:=!-
>7ile OJKnil do begin
>riteln+OP.0nfo,-
O:=OP.rec-
end-
readln-
end- C 4fisarea G
begin
Creare-
4fisarea-
end.
Tema ' (rbori binari
$ascal
C arcurgerea arborelui binar G
t6pe 4rbore=P(od-
(od=record
0nfo : string- Stg, Dr - 4rbore
end-
var 5 : 4rbore- C radacina G
%unction 4rb , 4rbore-
C crearea arborelui binar G var O : 4rbore-
s , strin0
bein readln+s,-
i% s12 t)en (rb,1nil else bein
ne> +O, - OP.0nfo:=s-
>rite+'Dati descendentul sting'); >ritelnCR al nodului ', s, R:R,- OP,Stg:=4rb-
>rite+RDafi descendentul dreptR,-
>ritelnCR al nodului ', s, R:R,- OP.Dr:=4rb-
4rb:=O-
end0
end- C 4rb G
procedure 4fis4rb+5 : 4rbore- nivel : integer,-
C afigarea arborelui binar G var i : integer- bein
i% T34nil t)en bein
4fis4rb+5P.Stg, nivel+l,-
%or i:=l to nivel do
>rite+R R,- >riteln+5P.0nfo,- 4fis4rb+5P.Dr, nivel+l,-
end-
end- C 4fisare4rb G
procedure reordine+5 : 4rbore,-
C traversare OSD G bein
i% T34nil t)en bein
>riteln+5P.0nfo,-
reordine +5P.Stg,- reordineC5P.Dr, end0
3
end- C reordine G
procedure 0nordine+5 : 4rbore,-
C traversare SOD G bein
i% T34nil t)en bein
0nordine+5P.Stg,-
>riteln+5P.0nfo,-
0nordine+5P.Dr,
end0
end- + reordine G
procedure ostordine+5 : 4rbore,-
C traversare SDO G
bein
i% T34nil t)en bein
ostordine+5P.Stg,-
ostordineC5P.Dr,-
>ritelnC5P.0nfo,
end0
end- C ostordine G
bein
>riteln + R4afi radacina:RG - 5:=4rb-
4fis4rb+5, M,- readln-
>riteln+Rarcurgere in preordine-R,- reordine+5,- readln-
>riteln+Rarcurgere in inordine:'); 0nordine+5,- readln-
>ritelnCRarcurgere in postordine:');
ostordine+5,- readln-
end5
2.C++
# include <iostream.h>
#include <conio.h>
#include <stdio.h>
struct arb{
int data;arb *stang, *drept;
};
arb *creare(arb *p,int c
{ i! (p""#$%%
{p"ne& arb;
p'>data"c;
p'>stang"p'>drept"#$%%;
}
else
i!(c<p'>data p'>stang"creare(p'>stang,c;
else p'>drept"creare(p'>drept,c;
return p;
}
(oid inordine(arb* p
{i! (p)"#$%%
:
{inordine(p'>stang;
cout<<p'>data<<endl;
inordine(p'>drept;
}
}
(oid preordine(arb* p
{i!(p)"#$%%
{cout<<p'>data<<endl;
preordine(p'>stang;
preordine(p'>drept;
}
}
(oid postordine(arb* p
{i!(p)"#$%%
{postordine(p'>li!t;
postordine(p'>drept*;
cout<<p'>data<<endl;
}
}
arb *rad"#$%%;
char c;
(oid main(
{cout<<+,ati numarul (-.- pentru terminare /001n+;
&hile(scan!(+2d+,3c""4 rad"creare(rad,c;
cout<<+0nordine1n+;
inordine(rad; cout<<endl<<endl; getch(;
cout<<+5reordine+<<endl;
preordine(rad; cout<<endl<<endl;getch(;
cout<<+5ostordine+<<endl;
postordine(rad; cout<<endl<<endl; getch(;
}
;

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