Escolar Documentos
Profissional Documentos
Cultura Documentos
Algoritmos
Procedimentos
Adriano Cruz e Jonas Knopman
Objetivos
Definio
Necessidade e vantagens da utilizao
Variveis locais e variveis pblicas
Escopo de variveis
Exemplos
Procedimentos
A receita de molho branco replicada junto a
toda receita que faz uso de molho branco.
Vantagem
O acesso receita de molho branco muito
rpido.
Desvantagem
O livro fica maior
Outra desvantagem
Se amanh descubro que uma pitada de
pimenta d um sabor especial ao molho branco,
tenho de alterar a receita em vrios pontos do
livro.
Outra alternativa
Fil de peixe ao molho branco
{preparo dos peixes}
Lave os fils e tempere com o suco dos limes, sal,
pimenta e salsinha ...
{preparo do molho branco}
Prepare a receita bsica de molho branco (pg.25)
{juntando os dois}
Adicione queijo parmeso ralado e queijo gruyre.
Misture e ponha sobre os fils.
Na pgina 25...
Molho branco
Coloque numa panela a manteiga, a farinha e o leite e
misture bem. Em fogo mdio, cozinhe at engrossar.
Adicione o sal, a pimenta e o queijo. Continue com a panela
no fogo, cozinhando at que o queijo derreta, mexendo
constantemente.
Modularidade
Se amanh descubro que um dente de alho d
um sabor especial ao molho branco, basta alterar
o livro de receitas em um nico lugar.
Necessidade do uso
Procedimentos so a base das linguagens
visuais
Necessidade do uso
Necessidade do uso
Procedimentos (mtodos) so tambm a base
da orientao a objeto
TMesa = class
largura : real;
comprimento : real;
function CalculaArea : real;
end;
Abordagem OO
Propriedades e mtodos so encapsulados no
objeto o objeto sabe como lidar com suas
propriedades.
mesa.CalculaArea
Em Delphi:
procedure TMesa.SetComprimento(Value: real);
begin
if Value <=0 then
raise Exception.Create('Valor Invlido');
comprimento := Value;
end;
Jogo da Bolinha
Como implementar?
Abordagem tradicional (PETEQS)
acabou falso
enquanto no acabou faa
para i 1 at 2 faa
anda (bolinha[i])
tratacolisao (bolinha[i])
prximo i
fim enquanto
Concluso
A utilizao de procedimentos est na base da
construo de bons padres de programao.
A utilizao de procedimentos essencial ao
uso das chamadas linguagens visuais
A utilizao de procedimentos essencial
programao orientada a objetos.
programa teste
incio
{ Comandos }
fim
Chamada de Procedimentos
A chamada a um procedimento feita
simplesmente escrevendo-se o nome do
procedimento no corpo do mdulo (programa
principal ou outro procedimento) que efetuou a
chamada.
incio
para i 1 at 5 faa
Escreva_uma_mensagem
prximo i
fim
contador
contador
contador
contador
contador
vale:
vale:
vale:
vale:
vale:
1
2
3
4
5
Escopo de variveis
Se dois mdulos de programa cooperam de
forma a resolver um problema, eles tm de
trocar dados de alguma forma
O mecanismo mais imediato (e mais perigoso)
para a troca de dados a utilizao de
variveis pblicas
Converso de temperaturas
Procedimento Converte
// entrada: temperatura Fahrenheit (Far)
// sada: temperatura Celsius (Cel)
incio
Cel (Far - 32) / 1.8
fim
Variveis Pblicas
Far
Converte
Cel
Converso de temperaturas
variveis pblicas
Far, Cel
programa teste
incio
imprima 'Temperatura em Fahrenheit: '
leia Far
Converte
imprima 'Celsius: ', Cel
fim
Converso de temperaturas
Sada:
Temperatura em Fahrenheit: 212
Celsius: 100.00
Variveis Pblicas
As variveis pblicas so vistas por todos os
mdulos do programa (procedimentos e
funes), incluindo o programa principal.
Variveis Pblicas
Vantagens
Facilidade de Uso Por serem pblicas, tais
variveis servem para a troca de
informaes entre 2 mdulos quaisquer do
programa.
Variveis Pblicas
Desvantagens
Justamente por serem acessveis a qualquer
mdulo, as variveis pblicas apresentam um risco
de que outros mdulos no envolvidos na troca de
dados alterem (inadvertidamente ou no) os dados
compartilhados.
Variveis Pblicas
Desvantagens
Os mdulos envolvidos na comunicao
tm de usar os mesmos nomes para as
variveis compartilhadas.
Escopo de variveis
O que acontece se eu no declarar as variveis
de entrada/sada como pblicas?
Converso de Temperaturas
Procedimento Converte
// entrada: temperatura Fahrenheit (Far)
// sada: temperatura Celsius (Cel)
inicio
Cel (Far - 32) / 1.8
Fim
programa teste
inicio
imprima 'Temperatura em Fahrenheit: '
leia Far
Converte
imprima 'Celsius: ', Cel
fim
?
?
Cel:teste
Far:teste
?
212
Cel:teste
Far:teste
?
?
?
212
Cel:Converte
Far:Converte
Cel:teste
Far:teste
?
?
?
212
Cel:Converte
Far:Converte
Cel:teste
Far:teste
?
212
Cel:teste
Far:teste
?
212
Cel:teste
Far:teste
Um exemplo
Escreva um procedimento que calcule o peso
ideal de uma pessoa:
homens:
peso = 72.7*altura 58
mulheres
peso = 62.1*altura 44.7
Procedimento CalculaPeso
Vamos determinar o conjunto de entradas e
sadas do procedimento CalculaPeso
Sadas
Entradas
CalculaPeso
Procedimento CalculaPeso
Entradas
sexo
altura
Sada
peso
Procedimento CalculaPeso
Variveis pblicas
sexo, altura, peso
procedimento CalculaPeso
incio
se sexo = 'M' ento
peso 72.7*altura 58
seno
peso 62.1*altura 44.7
fim se
fim
altura: '
sexo: '
', peso
CalculaPeso
Saida:
Entre com a altura: 1.62
Entre com o sexo: F
Peso ideal: 55.9