Uma função é uma sub-rotina que retorna um resultado (número, linha de caracteres, etc.).
Imagine que você encomendou um produto em uma loja online. Do ponto de vista da programação, você chamou alguma sub-rotina e, ao contrário de um procedimento, esta sub-rotina deve retornar um resultado - entregar o produto que você pediu. Essas sub-rotinas são chamadas de funções.
Uma função é formatada exatamente da mesma maneira que um procedimento. A única diferença de um procedimento é a presença de um operador especial retorno , após o qual é escrito o valor a ser devolvido ao programa principal.
Uma função que retorna a média aritmética de dois inteiros ficaria assim:
float average(int a, int b)
{
média flutuante = (a + b) / 2,0;
retorno agosto;
}
Resta descobrir como chamar esta função no programa principal. Você não deve chamar uma função da mesma forma que um procedimento:
average(10, 5);
O valor retornado pela função será perdido. É como se a mercadoria da loja online não fosse dada a ninguém, mas jogada fora. É improvável que o cliente goste.
É mais correto armazenar o resultado em uma variável (ou exibi-lo na tela):
float a = average(10, 5);
Console.WriteLine(average(10, 5));< /código>
|
Muitas vezes, os programadores usam funções booleanas que retornam valores booleanos true ou false (true em> ou falso).
Tais funções são úteis para verificar uma propriedade.
Considere dois exemplos de como escrever uma função lógica que verifica a igualdade de um número
Melhor forma:
resultado da expressão
n % 2 == 0
será true (true) ou false (false)
Não há necessidade de escrever uma instrução condicional. |
Não faça isso.
Claro, você pode fazer isso, mas esta é uma entrada mais longa. |
bool isEven(int n)
{
retornar (n % 2 == 0);
}
|
bool isEven(int n)
{
se (n % 2 == 0) {
retornar verdadeiro;
}
outro {
retorna falso;
}
}
|
E a última observação sobre como trabalhar com funções e procedimentos: o número de funções e procedimentos no programa não é limitado. Além disso, uma sub-rotina pode chamar outra sub-rotina e até ela mesma.
Além disso, após o programa atingir o retorno na função, o programa para imediatamente de executar a função e retorna o valor.
Ou seja, o segundo exemplo da tabela também poderia ser abreviado assim:
bool isEven(int n)
{
if (n % 2 == 0) {
retornar Verdadeiro
}
return Falso;
}
|