sábado, 27 de abril de 2019

Funções


            Funções   


Uma função é um grupo de instruções que juntas executam uma tarefa. Todo programa C tem pelo menos uma função, que é main(), e todos os programas mais triviais podem definir funções adicionais.

Uma função também pode ser referida como um método ou uma sub-rotina ou um procedimento, etc.



               Declaração de funções   

A declaração de função informa ao compilador sobre o nome de uma função, tipo de de valor a ser retornado e parâmetros(argumentos). Uma definição de função fornece o corpo real da função.

Sintaxe

A declaração de funções em C obedece a seguinte estrutura:

tipo nomedaFuncao (argumentos){

    corpo da função

}


sendo que:
  • tipo refere-se ao tipo de resposta que a função devolve e deve ser void (vazio) se a função não tem valor de resposta;
  • nomedaFuncao o nome da função é o identificador da função;
  • argumentos é uma lista de variáveis que representam valores de entrada para a função e deve ser void caso não haja valores de entrada;
  • corpo da função no corpo da função, a primeira seção é destinada à declaração das variáveis e a segunda, aos comandos.


                Funções que não devolvem resposta    

Nosso primeiro exemplo é uma função que não tem valor de resposta e não recebe argumentos ao ser chamada.

Exemplo:
Neste exemplo temos a função imprimir que é usada para imprimir a mensagem Ola mundo.


Uma função do tipo void, quando executada, apenas produz um determinado efeito desejado, sem contudo devolver um valor de resposta. Sendo assim, o compilador não permite que funções void sejam usadas em expressões.

                Funções que devolvem resposta    

Se uma função não é do tipo void, então ela deve, necessariamente, devolver um valor  como resultado de sua execução. Para isso, a função deve empregar o comando return. Esse comando, além de especificar a resposta da função, faz com que o controle retorne ao ponto onde ela foi chamada no programa, interrompendo imediatamente sua execução.

Exemplo: Calculando a hipotenusa de um triângulo retângulo.


Essa função recebe as medidas dos catetos de um triângulo rectângulo e devolve como resposta a medida da sua hipotenusa.

                Funções recursivas    

Uma função recursiva é uma função que se refere a si própria. A ideia consiste em utilizar a própria função que estamos a definir na sua definição.
Em todas as funções recursivas existe:
  • Um passo básico (ou mais) cujo resultado é imediatamente conhecido.
  • Um passo recursivo em que se tenta resolver um sub-problema do problema inicial.
Se analisarmos a função factorial, o caso básico é o teste de igualdade a zero (zerop n), o resultado imediato é 1, e o passo recursivo é (* n (fact (- n 1))).
Geralmente, uma função recursiva só funciona se tiver uma expressão condicional, mas não é obrigatório que assim seja. A execução de uma função recursiva consiste em ir resolvendo subproblemas sucessivamente mais simples até se atingir o caso mais simples de todos, cujo resultado é imediato. Desta forma, o padrão mais comum para escrever uma função recursiva é:
  • Começar por testar os casos mais simples.
  • Fazer chamada (ou chamadas) recursivas com subproblemas cada vez mais próximos dos casos mais simples.
Dado este padrão, os erros mais comuns associados às funções recursivas são, naturalmente:
  • Não detectar os casos simples
  • A recursão não diminuir a complexidade do problema.
Ex:


               References   
https://www.tutorialspoint.com/cprogramming/c_functions.htm


http://www.dca.fee.unicamp.br/courses/EA072/lisp9596/node17.html

Share:

0 comentários:

Enviar um comentário

Seguidores

Visitantes do blog

Pesquisar neste blogue

posts recentes

Traduzir