Diferente do Procedimento (que apenas executa uma tarefa isolada), uma função é como uma máquina de fábrica: você coloca matéria-prima, ela processa e DEVOLVE um produto final pronto (usando o comando retorne). Por devolver um dado, ela exige que você diga qual tipo de valor será retornado na assinatura.
Exemplo de codigoVisuAlg
algoritmo "RotinasComRetorno"
funcao somar(a: inteiro, b: inteiro): inteiro
inicio
retorne a + b // O processamento encerra aqui e devolve o valor
fimfuncao
var
resultado: inteiro
inicio
resultado <- somar(10, 5)
escreval("O resultado retornado foi: ", resultado)
fimalgoritmoComo as funções retornam um valor embutido no próprio nome delas, você não é obrigado a guardar em variáveis. Você pode invocá-las diretamente dentro de lógicas matemáticas ou no comando escreva.
Exemplo de codigoVisuAlg
algoritmo "FuncaoEhPar"
funcao eh_par(v: inteiro): logico
inicio
se (v MOD 2 = 0) entao
retorne verdadeiro
senao
retorne falso
fimse
fimfuncao
var
num: inteiro
inicio
num <- 14
// Jogando a função direto dentro do escreval
escreval("O número ", num, " é par? ", eh_par(num))
fimalgoritmoExercício Prático: Crie uma função chamada
Triplo(n: inteiro): inteiro e imprima na tela o resultado chamando Triplo(7).