SlideShare a Scribd company logo
Mulţimea de valori ale tipului predefinit de date
pointer (indicator) constă din adrese şi
valoarea specială nil.
Operaţiile care se pot face cu valori de tipul de
date pointer sînt = şi <>. Valorile de acest tip
nu pot fi citite de la tastatură şi afişate pe
ecran.
O variabilă de tip pointer se introduce printr-o
declaraţie forma:
var p : pointer;
Program PI 34; { Tipul de date pointer }
var p : pointer;
i, j : ^integer;
x, y : ^ real;
r, s : ^ string;
begin
{ p va identifica o variabilă dinamică de tipul integer }
new(i); i^:=1;
P^ = i ;
new(i); i ^ :=2;
j :=p;
writeln('j^=', j^);
{ p va identifica o variabilă de tip real }
new (x); x^: =1 ;
p:=x;
new (x); x^:=2;
y:=p;
Writeln(y^=' y^); {se afişează 1.OOOOOOOOOOE+00 }
{ p va identifica o variabilă dinamică de tipul string }
new (r); r^: = 'AAA';
p:=r;
new (r); r^:=‘BBB';
s:=p;
writeln ('s^=', s^); { se afişează AAA }
end.
Domeniul principal de utilizare a variabilelor de
tip pointer este gestionarea memoriei interne
a calculatorului.
Alocarea variabilelor dinamice se execută întro zonă specială a memoriei interne numită
heap (grămadă). Adresa de început a heapuluii este depusă în variabila predefinită de
tip pointer HeapOrg. Variabila de tip pointer
HeapPtr conţine adresa
primei locaţii libere, numită vîrful heap-ului.
Apelul procedurii mark are forma:
mark(p)
unde p este o variabilă de tip pointer. Procedura
memorează adresa vîrfului din HeapPtr în
variabila p.
Apelul procedurii release are forma:
release(p)
Această procedură reface adresa vîrfului în
starea înregistrată anterior cu procedura mark:
valoarea conţinută în variabila de tip pointer p
este depusă în indicatorul HeapPtr.
1) se memorează adresa vîrfului cu procedura
mark;
2) se creează variabilele dinamice cu procedura
new;
3) se utilizează variabilele dinamice create;
4) cînd variabilele dinamice nu mai sînt necesare,
spaţiul ocupat din heap este eliberat cu
procedura release.
1. Care este mulţimea de valori ale tipului de date pointer?
Ce operaţii pot fi
efectuate cu aceste valori?
2. Comentaţi următorul program:
Program PI36;
{ Eroare }
var i : ^integer;
j, k : integer;
p : pointer;
begin
new (i); i^:=1;
p:=i;
new (i) ; i^ :=2;
j:=i^; k:=p^;
writeln('j+k=', j+k);
end.
Program P137;
var i, j, k, m, n : ^integer;
p : pointer;
begin
{ crearea variabilelor i^, j^, k^ }
new(i); new(j); new(k);
i^:=1; j^:=2; k^:=3;
p:=j; { p reþine adresa din j }
{ distrugerea variabilei j^ ºi crearea
variabilei m^ }
dispose(j); new(m); m^:=4;
j:=p; { refacerea adresei din j }
writeln('i^=', i^, ' j^=', j^, ' k^=', k^);
{ distrugerea variabilei m^ si crearea
variabilei n^ }
dispose(m); new(n); n^:=5;
writeln('i^=', i^, ' j^=', j^, ' k^=', k^);
readln;
end.

Program P138;
var i, j, k, m : ^integer;
begin
{ crearea variabilelor i^, j^ }
new(i); new(j);
i^:=1; j^:=2;
{ eliberarea memoriei heap-ului }
release(HeapOrg);
{ crearea variabilelor k^ øi m^ }
new(k); new(m);
k^:=1; m^:=2;
writeln('k^=', k^, ' m^=', m^);
i^:=3; j^:=4;
writeln('k^=', k^, ' m^=', m^);
readln;
end.
Program P138;
var i, j, k, m : ^integer;
begin
{ crearea variabilelor i^, j^ }
new(i); new(j);
i^:=1; j^:=2;
{ eliberarea memoriei heap-ului }
release(HeapOrg);
{ crearea variabilelor k^ øi m^ }
new(k); new(m);
k^:=1; m^:=2;
writeln('k^=', k^, ' m^=', m^);
i^:=3; j^:=4;
writeln('k^=', k^, ' m^=', m^);
readln;
end.

More Related Content

Viewers also liked

Manualul profesorului
Manualul profesoruluiManualul profesorului
Manualul profesoruluinatashcka
 
Baza de date relatioala
Baza de date relatioalaBaza de date relatioala
Baza de date relatioalarojcov
 
документ Microsoft office_word
документ Microsoft office_wordдокумент Microsoft office_word
документ Microsoft office_wordrojcov
 
Structuri De Date Alocate Dinamic
Structuri De Date Alocate DinamicStructuri De Date Alocate Dinamic
Structuri De Date Alocate DinamicCarmen Negrea
 
презентация Microsoft office_power_point_(3)[1]
презентация Microsoft office_power_point_(3)[1]презентация Microsoft office_power_point_(3)[1]
презентация Microsoft office_power_point_(3)[1]rojcov
 
Sir de caractere in turbo pascal
Sir de caractere in turbo pascalSir de caractere in turbo pascal
Sir de caractere in turbo pascal
Colegiul de Industrie Usoara
 

Viewers also liked (8)

Manualul profesorului
Manualul profesoruluiManualul profesorului
Manualul profesorului
 
Тип данных Pointer
Тип данных PointerТип данных Pointer
Тип данных Pointer
 
Baza de date relatioala
Baza de date relatioalaBaza de date relatioala
Baza de date relatioala
 
документ Microsoft office_word
документ Microsoft office_wordдокумент Microsoft office_word
документ Microsoft office_word
 
Structuri De Date Alocate Dinamic
Structuri De Date Alocate DinamicStructuri De Date Alocate Dinamic
Structuri De Date Alocate Dinamic
 
презентация Microsoft office_power_point_(3)[1]
презентация Microsoft office_power_point_(3)[1]презентация Microsoft office_power_point_(3)[1]
презентация Microsoft office_power_point_(3)[1]
 
Sir de caractere in turbo pascal
Sir de caractere in turbo pascalSir de caractere in turbo pascal
Sir de caractere in turbo pascal
 
Analiza algoritmilor. Masurarea volumului
Analiza algoritmilor. Masurarea volumului Analiza algoritmilor. Masurarea volumului
Analiza algoritmilor. Masurarea volumului
 

More from Colegiul de Industrie Usoara

Analiza chestionarelor absolventilor grupelor M
Analiza chestionarelor absolventilor grupelor MAnaliza chestionarelor absolventilor grupelor M
Analiza chestionarelor absolventilor grupelor M
Colegiul de Industrie Usoara
 
Analiza chestionarelor absolventilor grupelor F
Analiza chestionarelor absolventilor grupelor FAnaliza chestionarelor absolventilor grupelor F
Analiza chestionarelor absolventilor grupelor F
Colegiul de Industrie Usoara
 
Analiza chestionarelor absolventi MT
Analiza chestionarelor absolventi MTAnaliza chestionarelor absolventi MT
Analiza chestionarelor absolventi MT
Colegiul de Industrie Usoara
 
Darea de seama a catedrei Stiinte reale 2017 2018
Darea de seama a catedrei Stiinte reale 2017 2018Darea de seama a catedrei Stiinte reale 2017 2018
Darea de seama a catedrei Stiinte reale 2017 2018
Colegiul de Industrie Usoara
 
Raport privind vizita de lucru în România 29.06.17
Raport privind vizita de lucru în România 29.06.17Raport privind vizita de lucru în România 29.06.17
Raport privind vizita de lucru în România 29.06.17
Colegiul de Industrie Usoara
 
Raport de autoevaluare. Carauș V. 04.07.2017
Raport de autoevaluare. Carauș V. 04.07.2017Raport de autoevaluare. Carauș V. 04.07.2017
Raport de autoevaluare. Carauș V. 04.07.2017
Colegiul de Industrie Usoara
 
Aspecte teoretice evaluarea externa 13.03.17
Aspecte teoretice evaluarea externa 13.03.17Aspecte teoretice evaluarea externa 13.03.17
Aspecte teoretice evaluarea externa 13.03.17
Colegiul de Industrie Usoara
 
Diseminarea bunelor practice 22.05.17
Diseminarea bunelor practice  22.05.17Diseminarea bunelor practice  22.05.17
Diseminarea bunelor practice 22.05.17
Colegiul de Industrie Usoara
 
Orar profesori 1.09.2017
Orar profesori 1.09.2017Orar profesori 1.09.2017
Orar profesori 1.09.2017
Colegiul de Industrie Usoara
 
понятия и концепты о данных и о базах данных
понятия и концепты о данных и о базах данныхпонятия и концепты о данных и о базах данных
понятия и концепты о данных и о базах данных
Colegiul de Industrie Usoara
 
72330 ,,Modelarea, proiectarea şi tehnologia confecţiilor din ţesături”
72330 ,,Modelarea, proiectarea şi tehnologia confecţiilor din ţesături”72330 ,,Modelarea, proiectarea şi tehnologia confecţiilor din ţesături”
72330 ,,Modelarea, proiectarea şi tehnologia confecţiilor din ţesături”
Colegiul de Industrie Usoara
 
Modelarea și tehnologia tricotajelor
Modelarea și tehnologia tricotajelor Modelarea și tehnologia tricotajelor
Modelarea și tehnologia tricotajelor
Colegiul de Industrie Usoara
 
Masini si aparate
Masini si aparateMasini si aparate
Masini si aparate
Colegiul de Industrie Usoara
 
Frizerie și cosmetică
Frizerie și cosmeticăFrizerie și cosmetică
Frizerie și cosmetică
Colegiul de Industrie Usoara
 
Securitatea
Securitatea Securitatea
Filatura si tesatorie
Filatura si tesatorieFilatura si tesatorie
Filatura si tesatorie
Colegiul de Industrie Usoara
 
формы и отчеты
формы и отчетыформы и отчеты
формы и отчеты
Colegiul de Industrie Usoara
 
метод хорд
метод хордметод хорд
метод хорд
Colegiul de Industrie Usoara
 
Metoda coardelor
Metoda coardelorMetoda coardelor
Переменный ток
Переменный токПеременный ток
Переменный ток
Colegiul de Industrie Usoara
 

More from Colegiul de Industrie Usoara (20)

Analiza chestionarelor absolventilor grupelor M
Analiza chestionarelor absolventilor grupelor MAnaliza chestionarelor absolventilor grupelor M
Analiza chestionarelor absolventilor grupelor M
 
Analiza chestionarelor absolventilor grupelor F
Analiza chestionarelor absolventilor grupelor FAnaliza chestionarelor absolventilor grupelor F
Analiza chestionarelor absolventilor grupelor F
 
Analiza chestionarelor absolventi MT
Analiza chestionarelor absolventi MTAnaliza chestionarelor absolventi MT
Analiza chestionarelor absolventi MT
 
Darea de seama a catedrei Stiinte reale 2017 2018
Darea de seama a catedrei Stiinte reale 2017 2018Darea de seama a catedrei Stiinte reale 2017 2018
Darea de seama a catedrei Stiinte reale 2017 2018
 
Raport privind vizita de lucru în România 29.06.17
Raport privind vizita de lucru în România 29.06.17Raport privind vizita de lucru în România 29.06.17
Raport privind vizita de lucru în România 29.06.17
 
Raport de autoevaluare. Carauș V. 04.07.2017
Raport de autoevaluare. Carauș V. 04.07.2017Raport de autoevaluare. Carauș V. 04.07.2017
Raport de autoevaluare. Carauș V. 04.07.2017
 
Aspecte teoretice evaluarea externa 13.03.17
Aspecte teoretice evaluarea externa 13.03.17Aspecte teoretice evaluarea externa 13.03.17
Aspecte teoretice evaluarea externa 13.03.17
 
Diseminarea bunelor practice 22.05.17
Diseminarea bunelor practice  22.05.17Diseminarea bunelor practice  22.05.17
Diseminarea bunelor practice 22.05.17
 
Orar profesori 1.09.2017
Orar profesori 1.09.2017Orar profesori 1.09.2017
Orar profesori 1.09.2017
 
понятия и концепты о данных и о базах данных
понятия и концепты о данных и о базах данныхпонятия и концепты о данных и о базах данных
понятия и концепты о данных и о базах данных
 
72330 ,,Modelarea, proiectarea şi tehnologia confecţiilor din ţesături”
72330 ,,Modelarea, proiectarea şi tehnologia confecţiilor din ţesături”72330 ,,Modelarea, proiectarea şi tehnologia confecţiilor din ţesături”
72330 ,,Modelarea, proiectarea şi tehnologia confecţiilor din ţesături”
 
Modelarea și tehnologia tricotajelor
Modelarea și tehnologia tricotajelor Modelarea și tehnologia tricotajelor
Modelarea și tehnologia tricotajelor
 
Masini si aparate
Masini si aparateMasini si aparate
Masini si aparate
 
Frizerie și cosmetică
Frizerie și cosmeticăFrizerie și cosmetică
Frizerie și cosmetică
 
Securitatea
Securitatea Securitatea
Securitatea
 
Filatura si tesatorie
Filatura si tesatorieFilatura si tesatorie
Filatura si tesatorie
 
формы и отчеты
формы и отчетыформы и отчеты
формы и отчеты
 
метод хорд
метод хордметод хорд
метод хорд
 
Metoda coardelor
Metoda coardelorMetoda coardelor
Metoda coardelor
 
Переменный ток
Переменный токПеременный ток
Переменный ток
 

Recently uploaded

Sistemul-limbic.pptMMMLLLȘDȘETJȘEțjȚețjȚEUJȚLEȚ.J/E:șdTHȘȚTEȘȚJLȘ.NYEȘF.
Sistemul-limbic.pptMMMLLLȘDȘETJȘEțjȚețjȚEUJȚLEȚ.J/E:șdTHȘȚTEȘȚJLȘ.NYEȘF.Sistemul-limbic.pptMMMLLLȘDȘETJȘEțjȚețjȚEUJȚLEȚ.J/E:șdTHȘȚTEȘȚJLȘ.NYEȘF.
Sistemul-limbic.pptMMMLLLȘDȘETJȘEțjȚețjȚEUJȚLEȚ.J/E:șdTHȘȚTEȘȚJLȘ.NYEȘF.
mihalasolga1
 
Boli ale Sistemul Nervos Central (SNC) pptx
Boli ale Sistemul Nervos Central (SNC) pptxBoli ale Sistemul Nervos Central (SNC) pptx
Boli ale Sistemul Nervos Central (SNC) pptx
valerio13mai
 
Raport proiect transnațional România-Moldova
Raport proiect transnațional România-MoldovaRaport proiect transnațional România-Moldova
Raport proiect transnațional România-Moldova
nadiusha12345
 
proiect Transfrontalier Mai.pptx simbiolurile primaverii
proiect Transfrontalier Mai.pptx simbiolurile primaveriiproiect Transfrontalier Mai.pptx simbiolurile primaverii
proiect Transfrontalier Mai.pptx simbiolurile primaverii
auraortacu
 
Raport proiect transfrontalier „Educație online fără hotare”
Raport proiect transfrontalier „Educație online fără hotare”Raport proiect transfrontalier „Educație online fără hotare”
Raport proiect transfrontalier „Educație online fără hotare”
SemenNicoleta
 
Raport " Talentele copiilor de pretutindeni "
Raport " Talentele copiilor de pretutindeni "Raport " Talentele copiilor de pretutindeni "
Raport " Talentele copiilor de pretutindeni "
AndreeaChelaru7
 
ANATOMIA-COLOANEI-VERTEBRALE........pptx
ANATOMIA-COLOANEI-VERTEBRALE........pptxANATOMIA-COLOANEI-VERTEBRALE........pptx
ANATOMIA-COLOANEI-VERTEBRALE........pptx
StoicaHoratiu
 
Elemente geometrice din portul popular,,
Elemente geometrice din portul popular,,Elemente geometrice din portul popular,,
Elemente geometrice din portul popular,,
OlgaFalca
 
Raport parteneriat transfrontalier "Emoții de Prichindel".pptx
Raport parteneriat transfrontalier "Emoții de Prichindel".pptxRaport parteneriat transfrontalier "Emoții de Prichindel".pptx
Raport parteneriat transfrontalier "Emoții de Prichindel".pptx
OlgaCasareci
 

Recently uploaded (9)

Sistemul-limbic.pptMMMLLLȘDȘETJȘEțjȚețjȚEUJȚLEȚ.J/E:șdTHȘȚTEȘȚJLȘ.NYEȘF.
Sistemul-limbic.pptMMMLLLȘDȘETJȘEțjȚețjȚEUJȚLEȚ.J/E:șdTHȘȚTEȘȚJLȘ.NYEȘF.Sistemul-limbic.pptMMMLLLȘDȘETJȘEțjȚețjȚEUJȚLEȚ.J/E:șdTHȘȚTEȘȚJLȘ.NYEȘF.
Sistemul-limbic.pptMMMLLLȘDȘETJȘEțjȚețjȚEUJȚLEȚ.J/E:șdTHȘȚTEȘȚJLȘ.NYEȘF.
 
Boli ale Sistemul Nervos Central (SNC) pptx
Boli ale Sistemul Nervos Central (SNC) pptxBoli ale Sistemul Nervos Central (SNC) pptx
Boli ale Sistemul Nervos Central (SNC) pptx
 
Raport proiect transnațional România-Moldova
Raport proiect transnațional România-MoldovaRaport proiect transnațional România-Moldova
Raport proiect transnațional România-Moldova
 
proiect Transfrontalier Mai.pptx simbiolurile primaverii
proiect Transfrontalier Mai.pptx simbiolurile primaveriiproiect Transfrontalier Mai.pptx simbiolurile primaverii
proiect Transfrontalier Mai.pptx simbiolurile primaverii
 
Raport proiect transfrontalier „Educație online fără hotare”
Raport proiect transfrontalier „Educație online fără hotare”Raport proiect transfrontalier „Educație online fără hotare”
Raport proiect transfrontalier „Educație online fără hotare”
 
Raport " Talentele copiilor de pretutindeni "
Raport " Talentele copiilor de pretutindeni "Raport " Talentele copiilor de pretutindeni "
Raport " Talentele copiilor de pretutindeni "
 
ANATOMIA-COLOANEI-VERTEBRALE........pptx
ANATOMIA-COLOANEI-VERTEBRALE........pptxANATOMIA-COLOANEI-VERTEBRALE........pptx
ANATOMIA-COLOANEI-VERTEBRALE........pptx
 
Elemente geometrice din portul popular,,
Elemente geometrice din portul popular,,Elemente geometrice din portul popular,,
Elemente geometrice din portul popular,,
 
Raport parteneriat transfrontalier "Emoții de Prichindel".pptx
Raport parteneriat transfrontalier "Emoții de Prichindel".pptxRaport parteneriat transfrontalier "Emoții de Prichindel".pptx
Raport parteneriat transfrontalier "Emoții de Prichindel".pptx
 

Tipul de date pointer

  • 1.
  • 2. Mulţimea de valori ale tipului predefinit de date pointer (indicator) constă din adrese şi valoarea specială nil. Operaţiile care se pot face cu valori de tipul de date pointer sînt = şi <>. Valorile de acest tip nu pot fi citite de la tastatură şi afişate pe ecran. O variabilă de tip pointer se introduce printr-o declaraţie forma: var p : pointer;
  • 3. Program PI 34; { Tipul de date pointer } var p : pointer; i, j : ^integer; x, y : ^ real; r, s : ^ string; begin { p va identifica o variabilă dinamică de tipul integer } new(i); i^:=1; P^ = i ; new(i); i ^ :=2; j :=p; writeln('j^=', j^); { p va identifica o variabilă de tip real } new (x); x^: =1 ; p:=x; new (x); x^:=2; y:=p; Writeln(y^=' y^); {se afişează 1.OOOOOOOOOOE+00 } { p va identifica o variabilă dinamică de tipul string } new (r); r^: = 'AAA'; p:=r; new (r); r^:=‘BBB'; s:=p; writeln ('s^=', s^); { se afişează AAA } end.
  • 4. Domeniul principal de utilizare a variabilelor de tip pointer este gestionarea memoriei interne a calculatorului. Alocarea variabilelor dinamice se execută întro zonă specială a memoriei interne numită heap (grămadă). Adresa de început a heapuluii este depusă în variabila predefinită de tip pointer HeapOrg. Variabila de tip pointer HeapPtr conţine adresa primei locaţii libere, numită vîrful heap-ului.
  • 5. Apelul procedurii mark are forma: mark(p) unde p este o variabilă de tip pointer. Procedura memorează adresa vîrfului din HeapPtr în variabila p. Apelul procedurii release are forma: release(p) Această procedură reface adresa vîrfului în starea înregistrată anterior cu procedura mark: valoarea conţinută în variabila de tip pointer p este depusă în indicatorul HeapPtr.
  • 6. 1) se memorează adresa vîrfului cu procedura mark; 2) se creează variabilele dinamice cu procedura new; 3) se utilizează variabilele dinamice create; 4) cînd variabilele dinamice nu mai sînt necesare, spaţiul ocupat din heap este eliberat cu procedura release.
  • 7. 1. Care este mulţimea de valori ale tipului de date pointer? Ce operaţii pot fi efectuate cu aceste valori? 2. Comentaţi următorul program: Program PI36; { Eroare } var i : ^integer; j, k : integer; p : pointer; begin new (i); i^:=1; p:=i; new (i) ; i^ :=2; j:=i^; k:=p^; writeln('j+k=', j+k); end.
  • 8. Program P137; var i, j, k, m, n : ^integer; p : pointer; begin { crearea variabilelor i^, j^, k^ } new(i); new(j); new(k); i^:=1; j^:=2; k^:=3; p:=j; { p reþine adresa din j } { distrugerea variabilei j^ ºi crearea variabilei m^ } dispose(j); new(m); m^:=4; j:=p; { refacerea adresei din j } writeln('i^=', i^, ' j^=', j^, ' k^=', k^); { distrugerea variabilei m^ si crearea variabilei n^ } dispose(m); new(n); n^:=5; writeln('i^=', i^, ' j^=', j^, ' k^=', k^); readln; end. Program P138; var i, j, k, m : ^integer; begin { crearea variabilelor i^, j^ } new(i); new(j); i^:=1; j^:=2; { eliberarea memoriei heap-ului } release(HeapOrg); { crearea variabilelor k^ øi m^ } new(k); new(m); k^:=1; m^:=2; writeln('k^=', k^, ' m^=', m^); i^:=3; j^:=4; writeln('k^=', k^, ' m^=', m^); readln; end.
  • 9. Program P138; var i, j, k, m : ^integer; begin { crearea variabilelor i^, j^ } new(i); new(j); i^:=1; j^:=2; { eliberarea memoriei heap-ului } release(HeapOrg); { crearea variabilelor k^ øi m^ } new(k); new(m); k^:=1; m^:=2; writeln('k^=', k^, ' m^=', m^); i^:=3; j^:=4; writeln('k^=', k^, ' m^=', m^); readln; end.