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:
ExibirBoasVindas– Exibe a mensagem “Bem-Vindo ao Programa!"PerguntarNomeUsuario– Solicita e retorna o nome do usuário (como uma string).PerguntarNumeroFavorito– Solicita e retorna o número favorito do usuário (como um número inteiro).ElevarAoQuadrado– Aceita um número inteiro como parâmetro e retorna esse número ao quadrado (como um número inteiro).ExibirResultado– Aceita o nome do usuário e o número elevado ao quadrado e os exibe.
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
- Crie e teste o programa conforme descrito acima.
- 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.csno projetoExercicio5.
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.