Função
Ao resolver um problema um pouco mais complexo que os anteriores, geralmente temos a necessidade de agrupar conjuntos de instruções. O uso de funções é fundamental para o universo de programação, o entendimento deste conceito é imprescindível para avançar nesta disciplina. Por sorte, este conceito é muito simples de ser absorvido.
De forma muito simplificada podemos descrever função como um mecanismo que recebe parametros de entrada, executa um conjunto de instruções e retorna o resultado da operação realizada.
tipo nome_da_funcao( Parametros de entrada )
Inicio
/*
Corpo da função
Retorna resultado
*/
Fim
Exemplos
1.Exemplo de construção e uso de uma função que calcula o dobro do valor de entrada.
/* Aqui temos uma função que recebe um inteiro e retorna outro inteiro */
Inteiro funcaoDobro( Inteiro n )
Inicio
Inteiro dobro
dobro = 2*n
Retorne dobro
Fim
/* Uso da função declarada acima */
Algoritmo exemplo1()
Início
Inteiro n1, n2
n1 = 10
n2 = 15
Imprimir "O dobro de "+ n1 +" é "+ funcaoDobro(n1)
Imprimir "O dobro de "+ n2 +" é "+ funcaoDobro(n2)
Fim
2.É possível que uma função não tenha retorno, servindo apenas para agrupar um conjunto de instruções. Este tipo de função podemos também é conhecida por Procedimento.
/* Procedimento para exibir a soma dos elementos de um vetor */
Procedimento exibirSoma( Inteiro[ ] vetor, Inteiro tamanho )
Inicio
Inteiro i, soma = 0
Para ( i = 0 ; i < tamanho ; i = i + 1 ) Faça
soma = soma + vetor[i]
Fim Para
Imprimir "A soma dos elementos do vetor é " + soma
Fim
/* Uso do procedimento declarado acima */
Algoritmo exemplo2()
Início
Inteiro valores, i, tamanho
tamanho = 100
valores = Inteiro[tamanho]
Para ( i = 0 ; i < tamanho ; i = i + 1 ) Faça
Imprimir "Digite o valor da posição"+ i + "no vetor valores"
Ler idade[i]
Fim Para
/* O identificador do vetor não necessariamente é igual ao declarado no parâmetro da função. Muitas vezes estes são iguais para facilitar a leitura */
exibirSoma( valores , tamanho )
Fim
3.As variáveis dentro não são iguais as variáveis declaradas fora da função ou procedimento. Para saber mais procure por escopo de variáveis.
/* Procedimento para exibir a variável i */
Procedimento exibirVar()
Inicio
Inteiro i = 5
Imprimir "Dentro do procedimento: i = " + i
Fim
/* Uso do procedimento declarado acima */
Algoritmo exemplo3()
Início
Inteiro i = 10
exibirVar()
Imprimir "Fora do procedimento: i = " + i
Fim
Neste exemplo, o usuário verá na tela as mensagens:
"Dentro do procedimento: i = 5"
"Fora do procedimento: i = 10"
Exercícios
- Escreva uma função que retorne a soma dos elementos de um vetor inteiro qualquer.
- Utilizando uma função que retorne a soma de dois parâmetros de entrada, determine o valor da seguinte expressão:" $$(a+b)+(c+d)$$".
- Determine o valor da expressão: "$$( a! (b-a)!)/( 2a )!$$". O uso de uma função que calcula o fatorial de um número irá ajudar a resolver o problema.
Quer dar seu feedback? Preencha este formulário, em menos de 5 minutos você fará uma grande contribuição.