Escolar Documentos
Profissional Documentos
Cultura Documentos
Funções
Funções
Funções
1
Roteiro da Aula
• Decomposição de Problemas
• Reescrever código?
• Subalgoritmos
• Procedimento
• Função
• Como usar uma função e/ou um procedimento?
• Passagem de Parâmetro
• Passagem de Parâmetro por Valor
• Passagem de Parâmetro por Referencia
• Relembrando
2
Decomposição de Problemas
3
Decomposição de Problemas
4
Decomposição de Problemas
5
Reescrever Código?
6
Reescrever Código?
7
Subalgoritmos
8
Subalgoritmos
Elementos de subalgorimo:
9
Procedimento
10
Procedimento
11
Procedimento
12
Função
13
Função
14
Função
15
Como usar um procedimento
e/ou uma função?
Não!
16
Como usar um procedimento
e/ou uma função?
algoritmo "Aula LP12"
// Função : Demonstrar o uso de Procedimentos e Funções
// Autor : Juliane Venteu
// Data : 31/03/2013
var
cContato:caracter
procedimento exibeNome(nome:caracter)
var
Definição do
inicio
procedimento
escreval(nome)
fimprocedimento
inicio
escreval("Digite o nome do usuário do programa")
Definição do
leia(cContato) “programa
exibeNome(cContato) principal”
fimalgoritmo
17
Como usar um procedimento
e/ou uma função?
algoritmo "Aula LP12"
// Função : Demonstrar o uso de Procedimentos e Funções
// Autor : Juliane Venteu
// Data : 31/03/2013
Var
valor1, valor2 : real
inicio
Escreval("Digite um valor")
leia(valor1) Definição do
Escreval("Digite outro valor")
leia(valor2)
“programa
escreval("A soma dos valores e: ", calculo(valor1, valor2) ) principal”
fimalgoritmo
18
Passagem de Parâmetro
Parâmetros formais – são aquelas variáveis locais que declaramos entre parêntesis no
subalgoritmo.
Parâmetros reais – são os valores que substituem os parâmetros formais no momento
da chamada de um subalgoritmo.
Exemplo:
Funcao fsoma (a1, b1 : inteiro) : inteiro
As variáveis a1 e b1 são os parâmetros formais
Veja, agora, o seguinte trecho do algoritmo que chama essa função:
leia (a)
leia (b)
soma <- fsoma (a,b)
As variáveis a e b são os parâmetros reais
19
Passagem de Parâmetro por
Valor
20
Passagem de Parâmetro por
Valor
algoritmo "Aula LP12"
// Função : Demonstrar o uso de Procedimentos e Funções
// Autor : Juliane Venteu
// Data : 31/03/2013
Var
valor1, valor2 : real Supondo que o valor1 é
funcao calculo(v1:real; v2:real) : real
3 e que o valor2 é 4.
var Quais valores serão
total : real impressos no final do
inicio algoritmo?
total <- v1 + v2
retorne total
fimfuncao
inicio
Escreval("Digite um valor")
leia(valor1)
Escreval("Digite outro valor")
leia(valor2)
escreval("A soma dos valores e: ", calculo(valor1, valor2) )
escreval(“Valor1 : “, valor1)
escreval(“Valor2 : “, valor2)
fimalgoritmo
21
Passagem de Parâmetro por
Referência
A passagem de parâmetro por valor indica que os parâmetros formais vão
apontar para o mesmo endereço de memória dos parâmetros reais.
Chamada da função
Leia(a)
Leia(b)
Calculo(a, b)
22
Passagem de Parâmetro por
Referência
Definição da função:
Funcao <nome da função>(var<identificador da variável>:
<tipo>): <tipo de retorno>
Exemplo:
funcao calculo(var v1:real; v2:real) : real
23
Passagem de Parâmetro por
Referência
algoritmo "Aula LP12"
// Função : Demonstrar o uso de Procedimentos e Funções
// Autor : Juliane Venteu
// Data : 31/03/2013
Var
valor1, valor2 : real
Supondo que o valor1 é
funcao calculo(var v1:real; v2:real) : real 3 e que o valor2 é 4.
var
total : real
Quais valores serão
inicio impressos no final do
total <- v1 + v2 algoritmo?
v1 <- 7
retorne total
fimfuncao
inicio
Escreval("Digite um valor")
leia(valor1)
Escreval("Digite outro valor")
leia(valor2)
escreval("A soma dos valores e: ", calculo(valor1, valor2) )
escreval("Valor1 : ", valor1)
escreval("Valor2 : ", valor2)
fimalgoritmo
24
Relembrando
25