Programação em C# - Exercício 2: Declarações If
Visão Geral
Esta atividade ajudará você a aprender a trabalhar com variáveis e instruções condicionais em C#.
Material de Preparação
Condicionais
C# usa instruções if assim como Python, mas a sintaxe é um pouco diferente.
Instruções If
Primeiramente, a condição da instrução if deve ser colocada entre parênteses ().
Então, para definir o corpo da instrução if, você adiciona um recuo, apenas por convenção, pois
na verdade são as chaves {} que definem o corpo. (Você também não usa dois-pontos
: como faz no Python para iniciar o bloco.)
Python
if x > y:
print("maior que")
C#
if (x > y)
{
Console.WriteLine("maior que");
}
Observe que a convenção em C# é colocar as chaves {} em suas próprias linhas. Há debates
“religiosos” sobre "o único estilo verdadeiro de chaves", mas colocá-las em uma linha separada é a convenção
definida para C#, então é isso que você deve seguir.
Se você colocar um bloco de código dentro de outro, ele deverá ser recuado da seguinte maneira:
if (x > y)
{
if (x > z)
{
Console.WriteLine("maior que ambos");
}
}
Else e Else If
C# é compatível com else e else if, semelhante a else e
elif em Python.
A condição else define um corpo de código, assim como a condição if:
Python
if x > y:
print("maior que")
else:
print("menor que")
C#
if (x > y)
{
Console.WriteLine("maior que");
}
else
{
Console.WriteLine("menor que");
}
A condição else if também define seu corpo da mesma maneira. Por favor, observe que em C#, as palavras-chave
são else if not elif:
Python
if x > y:
print("maior que y")
elif x > z:
print("maior que z")
else:
print("menor que ambos")
C#
if (x > y)
{
Console.WriteLine("maior que y");
}
else if (x > z)
{
Console.WriteLine("maior que z");
}
else
{
Console.WriteLine("menor que ambos");
}
Operadores
C# usa o operador == para verificar se duas variáveis são iguais, assim como em Python. Ele
também é compatível com outros operadores com os quais você está familiarizado, como !=,
>=, <= e assim por diante:
if (nome == "João")
{
Console.WriteLine("O nome é João");
}
if (cor != corFavorita)
{
Console.WriteLine("Essa cor não é a minha favorita");
}
Operadores E, Ou e Não
Em C#, o operador e é &&, o operador ou é
|| e o operador não é !, que podem ser combinados com outras
expressões e parênteses.
if (nome == "Pedro" || nome == "Tiago" || nome == "João")
{
Console.WriteLine("Este é um nome bíblico.");
}
if (primeiroNome == "Brigham" && sobrenome == "Young")
{
Console.WriteLine("Bem-vindo, irmão Brigham!");
}
if (!(nome == "Pedro" || nome == "Tiago" || nome == "João"))
{
Console.WriteLine("Este não é um desses três");
}
Variáveis e Tipos
Em C#, a convenção de nomenclatura para variáveis é usar palavras compostas, onde cada palavra é iniciada com minúsculas e unidas sem espaços ("camel case"). Isso significa que a variável começa com uma letra minúscula e, em seguida, palavras adicionais na variável começam com uma letra maiúscula, como as corcovas de um camelo:
string cor;
string primeiroNome;
string sobrenome;
int velocidadeAntesDoImpacto;
Convertendo Tipos
Como mencionado anteriormente, em C#, todas as variáveis devem ter seu tipo de dado definido no momento em que são declaradas pela primeira vez. Uma vez definido, o tipo da variável não pode ser alterado. Isso significa que você não pode declarar uma variável como um número inteiro e depois reatribuí-la a uma string.
No entanto, você pode converter o valor de uma variável para um tipo diferente. Por exemplo, você pode criar
um inteiro a partir dos dígitos armazenados em uma string usando a função int.Parse().
string valorEmTexto = "42";
int numero = int.Parse(valorEmTexto);
Isso é especialmente importante se o valor vier do usuário por meio de uma instrução
Console.ReadLine(), que sempre retorna uma string:
Console.Write("Qual é o seu número favorito? ");
string entradaUsuario = Console.ReadLine();
int numero = int.Parse(entradaUsuario);
Se o usuário digitar algo diferente de um número, isso resultará em um tipo de erro chamado Exceção em Tempo de Execução.
Números para Cadeias de Caracteres (Strings)
Da mesma forma, um número inteiro pode ser convertido em uma string usando a função .ToString()
da variável.
int numero = 42;
string versaoTexto = numero.ToString();
Demonstração em Vídeo
Esses fundamentos são demonstrados no vídeo a seguir:
Link Direto: ▶️Condicionais e Variáveis em C# (8 minutos)
Instruções da Tarefa
Para esta tarefa, você concluirá outra tarefa que fez anteriormente em CSE 110. Mas, neste caso, escreva o programa em C#:
Especificação do Programa
Aqui estão as instruções que você viu anteriormente em CSE 110 que usaremos como especificação do nosso programa:
Visão Geral
Escreva um programa que determine a nota conceitual de um curso de acordo com a seguinte escala:
- A >= 90
- B >= 80
- C >= 70
- D >= 60
- F < 60
Tarefa
Comece concluindo os requisitos básicos. Quando essa parte estiver concluída, se você tiver tempo, veja se consegue concluir alguns dos desafios adicionais também.
Por favor, analise os requisitos em ordem, em vez de avançar para etapas mais complexas, para garantir que todos estejam seguindo os conceitos.
Requisitos Básicos
Peça ao usuário a nota numérica (1 a 100) e, em seguida, escreva uma série de instruções
if-else if-elsepara exibir a nota conceitual equivalente. (Neste ponto, você terá uma instrução de impressão separada para cada letra de nota conceitual no bloco apropriado.)Suponha que você deve ter pelo menos 70 para ser aprovado no curso. Após determinar a letra da nota e imprimi-la. Adicione uma instrução if separada para determinar se o usuário foi aprovado no curso e, em caso afirmativo, exiba uma mensagem para parabenizá-lo. Caso contrário, exiba uma mensagem diferente para encorajá-lo na próxima vez.
Altere seu código da primeira parte para que, em vez de exibir a letra da nota no corpo de cada bloco
if,else ifouelse, crie uma nova variável chamadaletrae, em cada bloco, defina essa variável com o valor apropriado. Por fim, após toda a série de instruçõesif-else if-else, tenha uma única instrução print que exiba a nota conceitual uma vez.Desafio Adicional
Adicione ao seu código a capacidade de incluir um “+” ou “-” depois da nota, como B+ ou A-. Para cada nota, você saberá que é um “+” se o último dígito for >= 7. Você saberá que é um “-” se o último dígito for <3. Caso contrário, não deverá haver nenhum sinal.
Após sua lógica para determinar a letra da nota, adicione outra seção para determinar o sinal. Salve o sinal em uma variável. Em seguida, exiba s nota e o sinal em uma instrução print.
Dica: Para obter o último dígito, você pode dividir o número por 10 e obter o resto. Você pode rever os operadores matemáticos padrão e encontrar aquele que faz a divisão e fornece o resto.
Neste ponto, não se preocupe com os casos excepcionais de A+, F+ ou F-.
Perceba que não existe nota A+, apenas A e A-. Adicione lógica ao seu programa para detectar este caso e abordá-lo de maneira apropriada.
Da mesma forma, perceba que não existem notas F+ ou F-, apenas F. Adicione lógica ao seu programa para detectar esses casos e abordá-los de maneira apropriada.
Crie e teste o programa
- Crie e teste o programa conforme descrito acima.
- Você deve concluir os 3 Requisitos Básicos.
- Os desafios adicionais são opcionais.
- Certifique-se de usar o mesmo modelo de projeto que você usou para o
Exercicio1. No entanto, desta vez, você deve adicionar seu código no arquivoProgram.csno projetoExercicio2.
Exemplo de Solução
Quando terminar o programa, por favor, compare sua abordagem com a deste exemplo de solução:
Obtendo Ajuda
Se você tiver dúvidas, por favor, pergunte no Microsoft Teams.
Enviando
Retorne ao Canvas e responda ao questionário correspondente.