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

Resumo functions e procedures

  • 1.
    CURSO DE BACHARELADOEM 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áveislocais 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áveislocais 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.