Ir para conteúdo

[C#] Programa Simples + Quiz #1


Lordfire

Posts Recomendados

Eis aqui um programa simples que lê dois valores, divide o primeiro pelo segundo e imprime na tela o resultado.

 

static void Main(string[] args)
{
double a, b, x;
a = Convert.ToDouble(Console.ReadLine());
b = Convert.ToDouble(Console.ReadLine());
x = a / b;
x = Math.Round(x, 2);
Console.WriteLine(x.ToString());
Console.ReadLine();
}

 

Decifrando nosso programa:

 

double a, b, x;

Esta linha criará três variáveis de tipo double.

 

a = Convert.ToDouble(Console.ReadLine());
b = Convert.ToDouble(Console.ReadLine());

Estas linhas irão atribuir para a e b, respectivamente, os próximos 2 valores inseridos no console.

 

x = a / b;

Esta linha irá atribuir x o valor de a divivido por b.

 

Console.WriteLine(x.ToString());

Esta linha irá escrever x no console

 

Perguntas:

  1. Porque nós precisamos converter a linha do console para double ( Convert.ToDouble(Console.ReadLine()) ) para atribuir a e b?
  2. O que esta linha faz?
    x = Math.Round(x, 2);


  3. Porque precisamos usar o método ToString() em x para escrever no console?
  4. E qual a diferença entre x.ToString() e Convert.ToString(x)?
  5. O que aconteceria se a, b e x fossem int ao invés de double?
  6. Porque se faz necessária a linha
    Console.ReadLine();


    Neste programa? O que aconteceria se ela fosse tirada?

 

Explorem seus compiladores e respondam :)

Editado por Lordfire
Link para o comentário
Compartilhar em outros sites

A maioria no calculo hipotético universal técnico estimativo com base em python

 

 

1. Por que double armazena um valor de 64-bits de pontos flutuantes(float)

 

2. Arredonda um valor decimal para o valor mais próximo(float, nesse caso)

 

3. Para converter o valor double para string.

 

4. Convert.ToString(x) deixa o programa mais seguro pois retorna um valor NULL enquanto .toString não

 

5. Nada. Int é capaz de armazenar números(32 bits) enquanto double numeros e valores não numéricos de 64-bits.

 

6. Para ler a informação dos doubles. Se ela fosse removida, o calculo não seria efetuado.

 

Link para o comentário
Compartilhar em outros sites

Aviso!!! Respostas abaixo.

 

Henrique Moura:

 

1. Por que double armazena um valor de 64-bits de pontos flutuantes(float) - parcialmente, é um valor flutuante de 64 bits, mas nós precisamos converter para double porque o que é lido no console vem como string.

 

2. Arredonda um valor decimal para o valor mais próximo(float, nesse caso) - certo, e mais especificamente um valor de 2 casas decimais.

 

3. Para converter o valor double para string. - perfeito, já que como explicado o console trabalha apenas com strings.

 

4. Convert.ToString(x) deixa o programa mais seguro pois retorna um valor NULL enquanto .toString não. - perfeito! é exatamente isso. No caso do nosso programa, como ele não vai chegar nunca à um valor nulo (variáveis numéricas, como double e int, sempre terão um valor, nunca nulo) .ToString() é o suficiente.

 

5. Nada. Int é capaz de armazenar números(32 bits) enquanto double numeros e valores não numéricos de 64-bits. - errado, se nós transformássemos em int, caso a divisão fosse 5/3 o programa daria erro, já que o resultado seria 1,67 que não é inteiro. Além disso, é impossível fazer divisão comum entre números inteiros no C#, apenas div ou mod.

 

6. Para ler a informação dos doubles. Se ela fosse removida, o calculo não seria efetuado. - na verdade, essa linha final é para que o programa não finalize imediatamente após mostrar o resultado da conta, assim ele espera mais um enter antes de fechar..

 

Editado por Lordfire
Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...