CSE 210: Programação com Classes

Programação em C# - Exercício 5: Funções

Visão Geral

Esta atividade ajudará você a aprender a trabalhar com funções em C#.

Preparação

Funções

Como na maioria das outras linguagens, as funções são uma parte importante do C#.

As funções em C# são definidas e funcionam de forma muito semelhante àquelas em Python. Em ambas as linguagens, você define a função com um nome e uma lista de parâmetros. A função então tem um corpo que executa tarefas e pode potencialmente retornar um valor.

Uma diferença fundamental em C# é que, da mesma forma que cada variável deve definir um tipo, cada função deve definir seu tipo de retorno, por exemplo, se retornará um número inteiro, uma string ou nada (o tipo de retorno para nada é void). Além disso, cada parâmetro também deve ter um tipo de dado. Isso é muito útil porque, diferentemente de Python, você saberá exatamente que tipo de dados está recebendo.

De acordo com as orientações de estilo para C#, um nome de função deve usar iniciais maiúsculas ("Title Case"), em que o nome começa com uma letra maiúscula e cada palavra subsequente é capitalizada, desta forma: EssaEUmaFuncaoComprida.

A estrutura geral de uma definição de função em C# é:


tipoDeRetorno NomeFuncao(tipoDeDados parametro1, tipoDeDados parametro2)
{
    // corpo_da_funcao
}

Aqui está um exemplo de uma função que não tem parâmetros ou um tipo de retorno (daí o uso de void):

Python


def exibir_mensagem():
    print("Olá, Mundo")

C#


void ExibirMensagem()
{
    Console.WriteLine("Olá, mundo!");
}

O próximo exemplo mostra uma função que aceita um único parâmetro de string:

Python


def exibir_mensagem_pessoal(nome_usuario):
    print(f"Olá {nome_usuario}")

C#


void ExibirMensagemPessoal(string nomeUsuario)
{
    Console.WriteLine($"Olá {nomeUsuario}");
}

O próximo exemplo mostra uma função que aceita dois números inteiros como parâmetros. Ele os soma e retorna o resultado. Observe que a função especifica um valor de retorno int no início da definição.

Python


def somar_numeros(primeiro, segundo):
    soma = primeiro + segundo
    return soma

C#


int SomarNumeros(int primeiro, int segundo)
{
    int soma = primeiro + segundo;
    return soma;
}

Funções vs Métodos

De cursos anteriores, você deve se lembrar da distinção entre funções autônomas e funções membro, que são chamadas de métodos. Os métodos desempenham um papel muito importante na Programação com Classes e serão discutidos em mais detalhes nas próximas aulas.

Em C#, devido ao forte compromisso da linguagem com os princípios da Programação com Classes, o padrão é que todas as funções sejam métodos, os quais devem ser chamados no contexto de um objeto. Você saberá mais sobre isso depois. Mas isso tem uma ramificação importante para você agora.

Se você quiser definir uma função estática, precisará usar a palavra-chave static. Isso informa ao C# que você deseja que suas funções possam ser chamadas sem nenhum outro contexto. Para definir uma função estática em C#, use a palavra-chave "static" antes do tipo de retorno:


static void ExibirMensagem()
{
    Console.WriteLine("Olá, mundo!");
}

static void ExibirMensagemPessoal(string nomeUsuario)
{
    Console.WriteLine($"Olá {nomeUsuario}");
}

static int SomarNumeros(int primeiro, int segundo)
{
    int soma = primeiro + segundo;
    return soma;
}

Até começarmos a escrever classes, você deve colocar a palavra-chave static na frente de todas as suas funções.

Use static para todas as suas funções até começarmos a escrever classes.

Escopo de Variável

Assim como em Python, variáveis declaradas e usadas no corpo de uma função só podem ser acessadas dentro dessa função (elas não podem ser acessadas na função principal ou em qualquer outra função).

Outras Operações

Há muitas outras coisas que você pode fazer com funções, mas neste ponto vamos começar nos concentrando no básico.

Além disso, não se esqueça de que você pode encontrar facilmente a sintaxe com uma rápida pesquisa na Web!

Instruções da Tarefa

Para esta tarefa, crie um programa em C# que tenha várias funções simples:

Sua função Main deve então chamar cada uma dessas funções, salvando os valores de retorno e passando dados para elas conforme necessário.

Um exemplo de resultado do programa poderia ser o seguinte:


Bem-vindo ao programa!
Por favor, insira seu nome: Irmão Burton
Por favor, insira seu número favorito: 42
Irmão Burton, o quadrado do seu número é 1764

Crie e Teste o Programa

  1. Crie e teste o programa conforme descrito acima.
  2. Certifique-se de usar o mesmo modelo de projeto que você usou para as atividades anteriores. No entanto, desta vez, você deve adicionar seu código ao arquivo Program.cs no projeto Exercicio5.

Exemplo de Solução

Quando terminar seu programa, veja o exemplo de solução para compará-la com a sua:

Obtendo Ajuda

Se você tiver dúvidas, por favor, pergunte no Microsoft Teams.

Enviando

Retorne ao Canvas e responda ao questionário correspondente.