Funções e Métodos: O Poder da Reutilização ⚙️ TRILHA C Sharp Etapa 05

  Seja muito bem-vindo à  Academy Code Christ!


🌍 Academy Code Christ está disponível em vários idiomas.
Fique à vontade para usar o tradutor na Barra lateral (Sidebar) e aprender no seu idioma.


⚙️ TRILHA C Sharp Etapa 05

O Poder da Reutilização



📚 Continue sua jornada de aprendizado


A Academy Code Christ oferece trilhas de aprendizado em diferentes tecnologias. Explore os cursos, acompanhe as aulas e avance em sua jornada de conhecimento acessando os menus correspondentes:



💻 Pratique o que você aprende


🎯 O que você vai aprender nesta aula?

Imagine que você está construindo um prédio. Você não constrói tudo de uma vez — você cria módulos: fundação, paredes, teto, encanamento, elétrica. Cada parte tem uma função específica.

O mesmo vale para a programação: funções (também chamadas de métodos em C#) são blocos de código independentes que executam tarefas específicas. Você as chama quando precisa e pode usá-las quantas vezes quiser.


O Que São Funções (ou Métodos) em C#


Um método é um conjunto de instruções agrupadas dentro de um nome, que executa uma ação e pode, opcionalmente, retornar um valor.

Por exemplo:
 ✅ Método que calcula a média de notas.
 ✅ Método que exibe uma mensagem de boas-vindas.
 ✅ Método que faz login no sistema.


🧩 Estrutura geral de um método


tipoDeRetorno NomeDoMetodo(parâmetros)

{

    // bloco de código

    return valor; // se houver retorno

}

 

Vamos detalhar:

●     tipoDeRetorno → o tipo do valor que a função devolve (int, double, string, bool, etc.).
 Se o método não retorna nada, usamos void.

●     NomeDoMetodo → o identificador da função.

●     parâmetros → valores que podem ser passados para dentro do método.


✨ Primeiro exemplo — um simples método que escreve na tela


void MostrarMensagem()

{

    Console.WriteLine("Bem-vindo ao sistema!");

}

 

void indica que esse método não retorna nenhum valor.

Para usá-lo, basta chamar o método dentro do Main:

static void Main()

{

    MostrarMensagem();

}

 

🚀 Quando o programa chega nessa linha, ele executa tudo que estiver dentro do método.


Métodos com Parâmetros


Imagine que você quer que o método receba informações externas para trabalhar com elas.
 É como se fossem “ingredientes” que ele usa para gerar um resultado.

void Saudacao(string nome)

{

    Console.WriteLine("Olá, " + nome + "! Seja bem-vindo!");

}

 

Chamando o método:

Saudacao("Maria");

Saudacao("Carlos");

 

🎯 Saída:

Olá, Maria! Seja bem-vindo!

Olá, Carlos! Seja bem-vindo!

 


Métodos com Retorno


Às vezes, você quer que o método faça um cálculo e devolva o resultado para ser usado em outro lugar.
 Use return para enviar o valor de volta.

int Somar(int a, int b)

{

    return a + b;

}

 

Chamando e usando o retorno:

int resultado = Somar(5, 3);

Console.WriteLine("A soma é: " + resultado);

 

📘 Importante: o tipo de retorno (int no caso) deve corresponder ao tipo do valor retornado (a + b).


🧮 Exemplo: Calculando uma Média


double CalcularMedia(double n1, double n2, double n3)

{

    double media = (n1 + n2 + n3) / 3;

    return media;

}

 

No Main:

double mediaFinal = CalcularMedia(7.5, 8.0, 9.0);

Console.WriteLine("A média final é: " + mediaFinal);

 


Métodos Estáticos e Instanciados


Em C#, os métodos podem ser de dois tipos:

●     Estáticos (static) → pertencem à classe, podem ser chamados sem criar objetos.
 Exemplo: Main() é sempre estático.

●     De instância (não estáticos) → precisam de um objeto da classe para serem usados.

Por enquanto, vamos continuar com métodos estáticos, até chegar à programação orientada a objetos (POO) no próximo volume.

static void MostrarMensagem()

{

    Console.WriteLine("Método estático chamado!");

}

 


Escopo: Onde as Variáveis “Existem”


O escopo é o “alcance” das variáveis — onde elas estão disponíveis para uso.

int x = 10; // variável global dentro do método Main

 

if (x > 5)

{

    int y = 20; // variável local ao bloco if

    Console.WriteLine(y); // funciona

}

 

Console.WriteLine(x); // funciona

// Console.WriteLine(y); // erro! ‘y’ não existe fora do bloco

 

💡 Variáveis declaradas dentro de um método só podem ser usadas dentro dele.

Cada método tem seu próprio escopo, separado dos outros.


Métodos com Retornos Booleanos


Muitos métodos são usados para verificar condições (verdadeiro ou falso).

bool EhPar(int numero)

{

    if (numero % 2 == 0)

        return true;

    else

        return false;

}

 

Chamando:

if (EhPar(10))

    Console.WriteLine("O número é par!");

else

    Console.WriteLine("O número é ímpar!");

 

Você também pode simplificar:

bool EhPar(int numero)

{

    return numero % 2 == 0;

}

 


Parâmetros Opcionais e Padrões


C# permite definir valores padrão para parâmetros.
 Assim, se o usuário não informar nada, o método usa o valor definido.

void ExibirMensagem(string nome = "Visitante")

{

    Console.WriteLine("Olá, " + nome);

}

 

Chamando:

ExibirMensagem(); // “Olá, Visitante”

ExibirMensagem("João"); // “Olá, João”

 


Métodos com Vários Parâmetros e Sobrecarga


Podemos ter métodos com o mesmo nome, desde que tenham parâmetros diferentes.
 Isso se chama sobrecarga de métodos.

int Somar(int a, int b)

{

    return a + b;

}

 

double Somar(double a, double b)

{

    return a + b;

}

 

int Somar(int a, int b, int c)

{

    return a + b + c;

}

 

Chamando:

Console.WriteLine(Somar(5, 2));        // chama o método de dois inteiros

Console.WriteLine(Somar(2.5, 3.1));    // chama o método de doubles

Console.WriteLine(Somar(1, 2, 3));     // método de três inteiros

 


Métodos Chamando Outros Métodos


Um método pode chamar outro dentro dele — isso é uma das chaves da organização de código.

void SaudacaoUsuario(string nome)

{

    Console.WriteLine("Bem-vindo, " + nome);

    MostrarOpcoes();

}

 

void MostrarOpcoes()

{

    Console.WriteLine("1 - Ver perfil");

    Console.WriteLine("2 - Configurações");

}

 

Chamando:

SaudacaoUsuario("Carla");

 

🧠 Isso facilita a leitura e manutenção do código, dividindo o programa em tarefas menores.


Exercício Prático: Mini Calculadora com Funções


Vamos criar uma calculadora inteligente dividida em funções reutilizáveis.

using System;

 

class Program

{

    static void Main()

    {

        int opcao;

        do

        {

            MostrarMenu();

            opcao = int.Parse(Console.ReadLine());

 

            if (opcao == 0)

            {

                Console.WriteLine("Encerrando o programa...");

                break;

            }

 

            Console.Write("Digite o primeiro número: ");

            double a = double.Parse(Console.ReadLine());

 

            Console.Write("Digite o segundo número: ");

            double b = double.Parse(Console.ReadLine());

 

            double resultado = Calcular(opcao, a, b);

            Console.WriteLine("Resultado: " + resultado);

           

        } while (opcao != 0);

    }

 

    static void MostrarMenu()

    {

        Console.WriteLine("\n==== Calculadora ====");

        Console.WriteLine("1 - Somar");

        Console.WriteLine("2 - Subtrair");

        Console.WriteLine("3 - Multiplicar");

        Console.WriteLine("4 - Dividir");

        Console.WriteLine("0 - Sair");

        Console.Write("Escolha: ");

    }

 

    static double Calcular(int opcao, double a, double b)

    {

        switch (opcao)

        {

            case 1:

                return Somar(a, b);

            case 2:

                return Subtrair(a, b);

            case 3:

                return Multiplicar(a, b);

            case 4:

                return b != 0 ? Dividir(a, b) : double.NaN;

            default:

                Console.WriteLine("Opção inválida!");

                return 0;

        }

    }

 

    static double Somar(double a, double b) => a + b;

    static double Subtrair(double a, double b) => a - b;

    static double Multiplicar(double a, double b) => a * b;

    static double Dividir(double a, double b) => a / b;

}

 

💡 Esse programa separa cada operação em métodos independentes, o que deixa o código limpo, modular e fácil de manter.


Boas Práticas ao Criar Métodos


✅ Uma função deve fazer uma coisa só.
 Se ela faz várias tarefas, divida em métodos menores.

✅ Nomes claros.
 Use nomes que expliquem o objetivo: CalcularMedia, VerificarIdade, SomarValores.

✅ Evite duplicação.
 Se você precisar do mesmo código em dois lugares, crie um método!

✅ Documente.
 Comente o código para lembrar o que cada método faz.


Conclusão 

Ao dominar funções e métodos, você deu um dos passos mais importantes da programação profissional.
 Agora, você consegue:

✔ Dividir seu código em partes reutilizáveis.
 ✔ Usar parâmetros para personalizar resultados.
 ✔ Retornar valores para processamento.
 ✔ Criar códigos limpos, organizados e fáceis de expandir.

Você desaprendeu a “copiar e colar código” — e aprendeu a pensar como um programador real.
 Parabéns! 🚀



Este conteúdo faz parte do Academy Code Christ. 

Um projeto criado para ajudar jovens e iniciantes a aprender programação do zero, de forma simples e gratuita.

Nossa missão é compartilhar conhecimento e incentivar mais pessoas a descobrir que também podem aprender tecnologia, criar projetos e desenvolver novas habilidades.
Todo o conteúdo é disponibilizado gratuitamente, de forma clara, prática e 
sem enrolação. 

Você pode apoiar o projeto se quiser 
com um café. 



Post a Comment

Postagem Anterior Próxima Postagem