Você costuma copiar e colar seu código para reutilizá-lo em diferentes seções do programa?

Nesse caso, você pode querer considerar o uso de funções. Funções são um recurso muito poderoso das linguagens de programação. Eles podem tornar o código mais eficiente, fácil de ler e elegante.

O que é uma função?

Uma função é um bloco de código que executa uma tarefa. Pode ser chamado e reutilizado várias vezes. Você pode passar informações para uma função e ela pode enviar informações de volta. Muitas linguagens de programação têm funções integradas que você pode acessar em suas bibliotecas, mas você também pode criar suas próprias funções.

O que é recursão e como usá-la?

Aprenda o básico da recursão, a ferramenta essencial, mas um tanto alucinante, para programadores.

Quando você chama uma função, o programa pausa o programa atual e executa a função. A função será lida de cima para baixo. Assim que a função for concluída, o programa continuará a ser executado de onde foi pausado. Se a função retornou um valor, esse valor será usado onde a função foi chamada.

instagram viewer

Como você escreve uma função?

Existem muitas maneiras diferentes de escrever funções. A sintaxe exata dependerá da linguagem em que você está programando. Mostraremos exemplos em Python, JavaScript e C ++ para demonstrar uma variedade de sintaxe de programação.

Relacionado: Por que as linguagens de programação não podem existir sem funções

Funções de Vazio

O primeiro tipo de função que veremos é uma função nula. Isso significa simplesmente que a função não retorna um valor. As funções de vazio são usadas para completar um conjunto de instruções. Nestes exemplos, a função que escrevemos é chamada helloFunction. O objetivo da função é gerar "Hello World".

DICA: dê nomes às funções que explicam o que elas fazem. Será mais fácil gerenciar funções e ler o código conforme seu programa se torna mais complexo.

Pitão

def helloFunction ():
imprimir ("Olá, Mundo")
helloFunction ()

A palavra-chave def é usado em Python para definir e criar uma função. Em seguida, é o nome da função. As instruções na função seguem na próxima linha após os dois pontos. O espaço em branco é importante no Python, portanto, certifique-se de recuar todo o código que deseja que sua função execute. No exemplo acima, a função executa uma linha de código.

Seus olhos penetrantes podem ter notado que imprimir() também é uma função, mas é chamada de forma diferente da nossa função. Mantenha esse pensamento agora, exploraremos as funções e os parâmetros mais tarde.

JavaScript

function helloFunction () {
alert ("Olá, mundo!");
}
helloFunction ();

Em JavaScript, a palavra-chave função é usado para criar funções. A seguir, temos o nome da função. Qualquer código que esteja entre as chaves é executado quando a função é chamada.

O espaço em branco não é importante em JavaScript, mas é comum recuar o código na função. O recuo torna o código mais fácil de ler, o que é muito importante à medida que seus programas se tornam mais complexos.

Nota: muito parecido com imprimir() no exemplo anterior, alerta() também é uma função.

C ++

#incluir 
usando namespace std;
void helloFunction () {
cout << "Olá, mundo!";
}
int main () {
helloFunction ();
return 0;
}

As funções são criadas de maneira diferente em C ++. Em vez de uma palavra-chave para definir uma função, a primeira palavra descreve o tipo de dados que a função retornará. Nesse caso, nossa função não retorna nenhum dado, então os dados são nulos. Em seguida, temos o nome da função. Semelhante ao JavaScript, todo o código entre as chaves é executado quando a função é chamada. Também de forma semelhante ao JavaScript, o espaço em branco não afeta a função, mas é uma boa prática.

Você identificou outra função no código C ++? Sim, a Principal() é uma função. Ao executar um programa C ++, você chama automaticamente a função principal. Quando a função principal é concluída com êxito, ele retorna 0 ao sair do programa para sinalizar que não houve erros ao executar o programa.

Funções que requerem valores

As funções de void são ótimas se você descobrir que está escrevendo o mesmo trecho de código repetidamente. Mas eles podem ser limitantes. Eles são estáticos e não mudam. Eles sempre completam as mesmas instruções. Uma maneira de aumentar sua utilidade é passar diferentes valores para a função.

Você deve ter notado que os colchetes seguiram os nomes de todas as nossas funções. Entre colchetes, podemos declarar que os dados são necessários para executar nossa função. Então, podemos usar os dados passados ​​para nossa função na função. Vamos dar uma olhada nos exemplos anteriores novamente, mas desta vez passe a frase que queremos que seja exibida.

Pitão

def helloFunction (newPhrase):
imprimir (nova frase)
helloFunction ("Nossa nova frase")

Agora, entre colchetes, nossa função declara que precisa de uma variável para ser executada. Nós nomeamos a variável newPhrase e agora pode usá-lo em nossa função. Quando chamamos a função, precisamos passar as informações solicitadas colocando-as entre os colchetes. As mesmas mudanças foram feitas em JavaScript.

JavaScript

function helloFunction (newPhrase) {
alerta (nova frase);
}
helloFunction ("Nossa nova frase");

C ++

#incluir 
usando namespace std;
void helloFunction (string newPhrase) {
cout << newPhrase;
}
int main () {
helloFunction ("Nossa nova frase");
return 0;
}

Nossa função C ++ exigia um pouco mais de informações. Sabemos que sua função deseja dados de string, mas isso não é bom o suficiente para C ++. Ao criar sua função, você deve especificar que tipo de dados sua função requer. Se você não enviar o tipo correto de dados, a função criará um erro.

Isso pode parecer um pouco irritante, mas as linguagens rígidas geralmente podem evitar que você tenha dores de cabeça. Se você escrever uma função em JavaScript que exija um inteiro, mas o número for enviado como uma string, pode criar um bug que é muito difícil de rastrear.

Relacionado: 5 linguagens de programação funcional que você deve conhecer

Funções que retornam um valor

A capacidade da função final que abordaremos é o retorno de dados. Isso é particularmente valioso quando você deseja alterar os dados antes de usá-los. Embora você possa escrever isso embutido, se usar os mesmos cálculos muitas vezes, como converter imperial em métrico, pode fazer mais sentido escrevê-lo como uma função. Nosso exemplo será mais simples. Nossa função exigirá dois inteiros e retornará a soma.

Pitão

def addFunction (a, b):
retornar a + b
imprimir (adicionarFunção (2, 4))

Neste exemplo, nossa função requer duas variáveis ​​em vez de uma. Indicamos isso separando os nomes de nossas variáveis ​​com uma vírgula. A palavra-chave Retorna diz à função para retornar os seguintes dados, neste caso, 2 + 4 ou 6. Chamamos a função dentro do imprimir() função.

Assim que nosso programa chegasse a essa linha, ele teria pausado, executado nossa função e, em seguida, continuado como se addFunction (2, 4) era na verdade apenas o valor retornado 6.

JavaScript

O código JavaScript é muito semelhante ao código Python. A principal diferença é que a função é chamada em um alerta.

function addFunction (a, b) {
retornar a + b;
}
alert (addFunction (2, 4));

C ++

#incluir 
usando namespace std;
int addFunction (int a, int b) {
retornar a + b;
}
int main () {
cout << addFunction (2, 4);
return 0;
}

O código C ++ é executado de maneira semelhante, mas, como de costume, requer um pouco mais de informações. Primeiro, temos que dizer que tipo de dados nossa função retornará. Você vai ver isso vazio foi alterado para int. Isso significa que em vez de retornar nenhum dado, nossa função retornará um inteiro. Além disso, o código é semelhante ao código que já exploramos.

Gerenciar suas funções

Uma coisa divertida sobre as funções é que as funções podem chamar outras funções. Eles podem até chamar a si mesmos! Mas com grande poder vem uma grande responsabilidade. Não enlouqueça criando código com funções que chamam outras funções que chamam ainda mais funções.

Conforme mencionado, sempre que uma função é chamada, o programa faz uma pausa enquanto a executa. Isso significa que o programa está sendo mantido na memória ativa. Se você chamar várias outras funções sem concluí-las, está usando mais memória ativa. Se você não tomar cuidado, seu programa pode sair do controle.

O email
Como manter seu código limpo com encapsulamento de objetos

Variáveis ​​globais podem parecer simples, mas geralmente são a causa de muitos bugs. Veja como otimizar seu código com encapsulamento.

Tópicos relacionados
  • Programação
  • Programação
  • Programação Funcional
Sobre o autor
Jennifer Seaton (20 artigos publicados)

J. Seaton é um escritor de ciências especializado em analisar tópicos complexos. Ela tem um PhD pela University of Saskatchewan; sua pesquisa se concentrou na utilização de aprendizagem baseada em jogos para aumentar o envolvimento dos alunos online. Quando ela não está trabalhando, você a encontrará lendo, jogando videogame ou fazendo jardinagem.

Mais de Jennifer Seaton

Assine a nossa newsletter

Junte-se ao nosso boletim informativo para dicas de tecnologia, análises, e-books grátis e ofertas exclusivas!

Mais um passo…!

Confirme o seu endereço de e-mail no e-mail que acabamos de enviar.

.