O documento explica as diferenças entre procedimentos e funções em Pascal, incluindo sintaxes e exemplos de como declarar e usar procedimentos e funções com e sem parâmetros, e como passar parâmetros por valor ou referência.
1. CURSO DE BACHARELADO EM ENGENHARIA DE COMPUTAÇÃO
UNIVERSIDADE SAGRADO CORAÇÃO – USC
BAURU/SP
ALGORITMOS E ESTRUTURAS DE DADOS
RESUMO SUBROTINAS: PROCEDIMENTOS E FUNÇÕES
Procedures Sem Passagem De Parâmetro
Sintaxe:
Procedure nome_da_procedure;
//Declaração de variáveis locais
Begin
Comandos;
End;
Exemplo1:
program exemplo;
uses crt, wincrt;
var
a, b, s: integer //variáveis globais
procedure somar;
begin
s := a + b;
end;
begin
clrscr;
writeln(‘digite o primeiro número e o segundo número’);
readln(a,b);
somar;
writeln(‘soma = ’, s);
readln;
end.
Exemplo2:
program exemplo;
uses crt, wincrt;
var
a, b, s: integer //variáveis globais
procedure somar;
begin
writeln(‘digite o primeiro número e o segundo número’);
readln(a,b);
s := a + b;
writeln(‘soma = ’, s);
end;
begin
clrscr;
somar;
readln;
end.
Procedures Com Passagem De Parâmetro Por Valor
2. Sintaxe:
Procedure nome_da_procedure(parâmetros: tipo_dos_dados);
//Declaração de variáveis locais
Begin
Comandos;
End;
Exemplo1:
program exemplo;
uses crt, wincrt;
var
a, b: integer //variáveis globais
procedure somar(x,y: integer);
var
s: integer;
begin
s := x + y;
writeln(‘soma = ’, s);
end;
begin
clrscr;
writeln(‘digite o primeiro número e o segundo número’);
readln(a,b);
somar(a,b);
readln;
end.
Exemplo2: passando arrays como parâmetro para uma procedure
program exemplo;
uses crt, wincrt;
type x: array[1..5] of integer;
var
i: integer
w: x;
procedure mostrar(y:x);
begin
writeln(‘mostrando o vetor na procedure’);
for i:=1 to 5 do
begin
writeln(y[i]);
end;
end;
begin
clrscr;
writeln(‘Digitando os numerous do vetor’);
for i:=1 to 5 do
begin
readln(w[i]);
end;
mostrar(w);
readln;
end.
Procedures Com Passagem De Parâmetro Por Referência
Sintaxe:
Procedure nome_da_procedure(var parâmetros: tipo_dos_dados);
3. //Declaração de variáveis locais
Begin
Comandos;
End;
Exemplo1:
program exemplo;
uses crt, wincrt;
var
a, b: integer //variáveis globais
procedure somar(var x,y: integer);
var
s: integer;
begin
s := x + y;
writeln(‘soma = ’, s);
end;
begin
clrscr;
writeln(‘digite o primeiro número e o segundo número’);
readln(a,b);
somar(a,b);
readln;
end.
Function Sem Passagem De Parâmetro
Sintaxe:
Function nome_da_function : tipo_de_dado_do_valor_retornado;
//Declaração de variáveis locais
Begin
Comandos;
End;
Exemplo1:
program exemplo;
uses crt, wincrt;
var
a, b, s: integer //variáveis globais
function somar: integer;
begin
somar := a + b;
end;
begin
clrscr;
writeln(‘digite o primeiro número e o segundo número’);
readln(a,b);
s:= somar(a,b);
writeln(‘ soma = ’, s);
readln;
end.
Function Com Passagem De Parâmetro Por Valor
Sintaxe:
Function nome_da_function(parâmetros: tipo_dos_dados):
tipo_de_dado_do_valor_retornado;
4. //Declaração de variáveis locais
Begin
Comandos;
End;
Exemplo1:
program exemplo;
uses crt, wincrt;
var
a, b, s: integer //variáveis globais
function somar(x, y : integer): integer;
begin
somar := x + y;
end;
begin
clrscr;
writeln(‘digite o primeiro número e o segundo número’);
readln(a,b);
s:= somar(a,b);
writeln(‘ soma = ’, s);
readln;
end.
Function Com Passagem De Parâmetro Por Referência
Sintaxe:
Function nome_da_function(var parâmetros: tipo_dos_dados):
tipo_de_dado_do_valor_retornado;
//Declaração de variáveis locais
Begin
Comandos;
End;
Exemplo1:
program exemplo;
uses crt, wincrt;
var
a, b, s: integer //variáveis globais
function somar(var x, y : integer): integer;
begin
somar := x + y;
end;
begin
clrscr;
writeln(‘digite o primeiro número e o segundo número’);
readln(a,b);
s:= somar(a,b);
writeln(‘ soma = ’, s);
readln;
end.