SlideShare a Scribd company logo
Proceduri
Forma generală a declaraţii de procedură este: 
procedure p(x1;x2;…xn); 
D; 
begin 
… 
end; 
unde: 
p — numele procedurii; 
(x1;x2;…xn);— lista opţională de parametri formali; 
D — declaraţiile locale (opţionale) 
begin ... end — instrucţiune compusă, ea nu 
conţine vreo atribuire asupra numelui procedurii.
Parametrii din lista introduşi prin declaraţii de 
forma v1,v2…vn:tp se numesc parametri-valoare. 
Aceştia servesc pentru transmiterea de valori din 
programul principal în procedură. 
Parametrii formali introduşi în listă prin declaraţii 
de forma 
var v1,v2…vn:tp 
se numesc parametri-variabilă şi servesc pentru 
întoarcerea rezultatelor din procedură în 
programul principal.
Apelul are forma 
P(a1,a2,…an); 
unde (a1,a2,…an) este lista de parametri 
actuali. 
Rețineți ! 
în cazul unui parametru-variabilă drept 
parametri actuali pot fi utilizate numai 
variabile.
Program P99; 
var a, b, c, 
t, q : real; 
procedure Lac(r : real; var l, s : real); 
const Pi=3.14159; 
begin 
l:=2*Pi*r; 
s:=Pi*sqr(r); 
end; { Lac } 
begin 
a:=1.0; 
Lac(a, b, c); 
writeln(a:10:5, b:10:5, c:10:5); 
Lac(3.0, t, q); 
writeln(3.0:10:5, t:10:5, q:10:5); 
End.
1. Se consideră declaraţiile: 
Var k, m, n : integer; 
a, b, c : real; 
procedure P(i : integer; var j : integer; x : real; var y : real); 
begin 
{ . . .} 
end. 
Care din apelurile ce urmează sînt corecte? 
a) P(k,m,a,b) ; 
b) P(3,m,a,b) ; 
c) P(k,3,a,b) ; 
d) P(m,m,a,b); 
e) P (m, k, 6.1, b) ; 
Argumentaţi răspunsul. 
f) P(n,m, 6,b) ; 
g) P(n,m,6,20); 
h) P(a,m,b,c) ; 
i) P(i, i, i, i) ; 
j) P(a,a,a,a) ;
Program P101; 
var a, b : integer; 
procedure P(x : integer; var y : integer); 
begin 
x:=x+1; 
y:=y+1; 
writeln('x=', x, ' y=', y); 
end; { P } 
begin 
a:=5; 
b:=9; 
P(a, b); 
writeln('a=', a, ' b=', b); 
readln; 
end.
a) calculează rădăcinile ecuaţiei ax2+bx+ c=0; 
b) radiază dintr-un şir caracterul indicat în apel; 
c) încadrează un şir de caractere între 
simbolurile "#"; 
d) ordonează componentele unui tablou array [ 
1. . 100] of real în ordine crescătoare;

More Related Content

PPSX
Functii in pascal
PPTX
Domeniul de viziblilitate.Efecte colaterale
PPTX
Notiune de model si modelare
PPT
Recursivitate
PPTX
Sir de caractere in turbo pascal
PPT
Tipuri de date simple
PPT
Metalimbajul BNF. Diagrame sintactice
Functii in pascal
Domeniul de viziblilitate.Efecte colaterale
Notiune de model si modelare
Recursivitate
Sir de caractere in turbo pascal
Tipuri de date simple
Metalimbajul BNF. Diagrame sintactice

What's hot (20)

PPT
Analiza algoritmilor. Masurarea volumului
PPT
Initiere in turbo pascal
PPT
Sintaxa si limbajul pascal
PPT
Codificarea şi decodificarea mesajelor în sistemele de transmisie a informaţiei
PPTX
Cantitatea de informatie
PPT
Tipul de date boolean
DOC
Transformarea stea – triunghi si triunghi stea rezistoare
PPTX
Functii derivabile
PPTX
Curs 10-bobine (2)
PPTX
27.alg ramificare
PPT
Tipuri de date definiteutilizator
PPT
1 2 Sisteme De Numeratie
PPT
Semne conventionale locuinta
PPT
Elemente de statistica matematica și probabilitatea
PDF
Lois Lowry "Darul lui Jonas"
PPTX
PPT
1 4 Cantitatea De Informatie
DOCX
Transportul energiei electrice la distanta
PPT
Variabile şi expresii logice
Analiza algoritmilor. Masurarea volumului
Initiere in turbo pascal
Sintaxa si limbajul pascal
Codificarea şi decodificarea mesajelor în sistemele de transmisie a informaţiei
Cantitatea de informatie
Tipul de date boolean
Transformarea stea – triunghi si triunghi stea rezistoare
Functii derivabile
Curs 10-bobine (2)
27.alg ramificare
Tipuri de date definiteutilizator
1 2 Sisteme De Numeratie
Semne conventionale locuinta
Elemente de statistica matematica și probabilitatea
Lois Lowry "Darul lui Jonas"
1 4 Cantitatea De Informatie
Transportul energiei electrice la distanta
Variabile şi expresii logice
Ad

More from Colegiul de Industrie Usoara (20)

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

Proceduri

  • 2. Forma generală a declaraţii de procedură este: procedure p(x1;x2;…xn); D; begin … end; unde: p — numele procedurii; (x1;x2;…xn);— lista opţională de parametri formali; D — declaraţiile locale (opţionale) begin ... end — instrucţiune compusă, ea nu conţine vreo atribuire asupra numelui procedurii.
  • 3. Parametrii din lista introduşi prin declaraţii de forma v1,v2…vn:tp se numesc parametri-valoare. Aceştia servesc pentru transmiterea de valori din programul principal în procedură. Parametrii formali introduşi în listă prin declaraţii de forma var v1,v2…vn:tp se numesc parametri-variabilă şi servesc pentru întoarcerea rezultatelor din procedură în programul principal.
  • 4. Apelul are forma P(a1,a2,…an); unde (a1,a2,…an) este lista de parametri actuali. Rețineți ! în cazul unui parametru-variabilă drept parametri actuali pot fi utilizate numai variabile.
  • 5. Program P99; var a, b, c, t, q : real; procedure Lac(r : real; var l, s : real); const Pi=3.14159; begin l:=2*Pi*r; s:=Pi*sqr(r); end; { Lac } begin a:=1.0; Lac(a, b, c); writeln(a:10:5, b:10:5, c:10:5); Lac(3.0, t, q); writeln(3.0:10:5, t:10:5, q:10:5); End.
  • 6. 1. Se consideră declaraţiile: Var k, m, n : integer; a, b, c : real; procedure P(i : integer; var j : integer; x : real; var y : real); begin { . . .} end. Care din apelurile ce urmează sînt corecte? a) P(k,m,a,b) ; b) P(3,m,a,b) ; c) P(k,3,a,b) ; d) P(m,m,a,b); e) P (m, k, 6.1, b) ; Argumentaţi răspunsul. f) P(n,m, 6,b) ; g) P(n,m,6,20); h) P(a,m,b,c) ; i) P(i, i, i, i) ; j) P(a,a,a,a) ;
  • 7. Program P101; var a, b : integer; procedure P(x : integer; var y : integer); begin x:=x+1; y:=y+1; writeln('x=', x, ' y=', y); end; { P } begin a:=5; b:=9; P(a, b); writeln('a=', a, ' b=', b); readln; end.
  • 8. a) calculează rădăcinile ecuaţiei ax2+bx+ c=0; b) radiază dintr-un şir caracterul indicat în apel; c) încadrează un şir de caractere între simbolurile "#"; d) ordonează componentele unui tablou array [ 1. . 100] of real în ordine crescătoare;