Sub-rotinas: procedimentos e funções - 2


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 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;
}