VARIÁVEIS. FORMATOS DE SAÍDA


Variáveis
Uma variável é uma célula na memória do computador que tem um nome e armazena algum valor correspondente a o tipo .

A palavra "variável" nos diz que seu valor pode mudar durante a execução do programa.  Quando um novo valor de variável é salvo, o antigo é apagado.


Para um computador, todas as informações são dados em sua memória - conjuntos de zeros e uns (para simplificar, qualquer informação em um computador são apenas números e os processa da mesma maneira). No entanto, sabemos que números inteiros e fracionários funcionam de maneira diferente. Portanto, cada linguagem de programação possui diferentes tipos de dados, que são processados ​​por diferentes métodos.

Por exemplo,
- inteiro variáveis ​​– type int (do inglês integer – whole), ocupa 4 bytes na memória;
- variáveis reais que podem ter uma parte fracionária (tipo float – do inglês floating point – floating point) ocupam 4 bytes na memória;
- characters (type char – from English character – symbol), ocupam 1 byte na memória.

Vamos tentar adicionar alguma variável ao nosso programa.
Antes de usar uma variável, você precisa informar ao computador para alocar espaço na memória para ela. Para fazer isso, você precisa declarar uma variável, ou seja, especificar que tipo de valor ela irá armazenar, e dar um nome a ela.
Além disso, se necessário, você pode atribuir valores iniciais a ele. 

Vamos pegar um programa como exemplo: usando Sistema; programa de classe {     static void Main()     {         int a = 6, b; // declarou duas variáveis ​​do tipo inteiro, na variável a salvou imediatamente o valor 6.   // A variável b não foi inicializada; // o que ficará na memória neste caso, não sabemos.     } } Um computador não seria necessário se não tivesse a capacidade de armazenar várias informações em sua memória e processar informações do mesmo tipo usando os mesmos algoritmos. 
Para criar programas mais interessantes, é preciso aprender a armazenar informações na memória do computador. Ao mesmo tempo, precisamos aprender a acessar de alguma forma as células de memória do computador. 
Na programação, como na vida, para se referir a qualquer parte da memória do computador, ocorre pelo nome. Usando esse nome, você pode ler as informações e escrevê-las lá.

Exemplo
Vamos tentar escrever uma calculadora para números primos.

Nossa tarefa é exibir alguma expressão aritmética na tela e fazer o computador calculá-la.
Por exemplo: 
5+7=12
Além disso, ao invés de 5 e 7, pode haver números diferentes, dependendo dos valores das variáveis ​​a e b do programa.

Na instrução de saída, você pode exibir não apenas texto, mas também os valores das variáveis, bem como o resultado de uma expressão aritmética. Além disso, a sequência de saída pode ser diferente. Por exemplo, para exibir a expressão acima, você precisa escrevê-la assim: Console.WriteLine(a + "+" + b + "=" + (a+b)); Se quisermos mostrar o valor de uma variável, basta especificar seu nome sem aspas. Se quisermos exibir o resultado de uma expressão aritmética, basta escrever a expressão aritmética corretamente. Atenção: 
As variáveis ​​e o texto são separados entre si pelo operador "+", enquanto o texto é escrito entre aspas e as variáveis ​​sem elas.
 

Digite a declaração
Para que o próprio usuário possa definir o valor da variável, é necessário poder inserir valores a partir do teclado. 
C# tem dois operadores de entrada de valor: Console.Read(); e Console.ReadLine();
 
Read lê apenas um caractere dos valores inseridos ou -1 se não houver mais caracteres para ler. Além disso, o método retorna um código de caractere inteiro, portanto, para obter uma variável de caractere, você precisa realizar uma conversão usando o método Convert.ToChar().
  int x = Console.Read(); // lê o código do caractere char a = Convert.ToChar(x); // convertendo o código recebido no valor de uma variável de caractere  
Com ReadLine() , você pode ler uma sequência de string antes de inserir uma nova linha. Como resultado, o método pode retornar uma string ou nulo se não houver mais strings.

Por exemplo, a entrada lê a linha: stringline = Console.ReadLine();
Para ler um valor inteiro, você precisa ler a string e convertê-la em um número:
  int a = int.Parse(Console.ReadLine());  
Se os números estiverem em uma linha, você precisará contar a linha, & nbsp; e obtenha uma matriz de strings usando o caractere de espaço como separador. E então cada elemento da matriz é convertido em um número: string[] números = Console.ReadLine().Split(' '); int a = int Parse(números[0]); int b = int.Parse(números[1]);

Especificadores de saída
Para exibir valores reais, basta chamar o método Console.Write ou Console.WriteLine:
  duplo a = 0,9999; Console.Write(a);  
Mas às vezes você precisa pré-formatar a saída dos valores, é conveniente fazer isso usando o método String.Format, mais detalhes aqui.
Saída com certa precisão
Para formatar números fracionários, o especificador f é usado, o número após o qual indica quantos caracteres haverá após o separador. duplo a = 12,123; Console.WriteLine(String.Format("{0:f2}", a)); O resultado será 12,12, mas se você usar o valor 0,9999, ocorrerá um arredondamento descontrolado e   1,00.

Portanto, o seguinte algoritmo é usado para descartar sinais em vez de arredondamento:
1) multiplique o valor original por 10, quantas vezes forem necessárias deixando as casas decimais;
2) usando o método   Math.Truncate, deixamos apenas a parte inteira;
3) divida o valor resultante por 10, quantas vezes você precisar deixar casas decimais.

Exemplo de saída com precisão de duas casas decimais: 
duplo a = 0,9999; a = a * Math.Pow(10, 2); a = Math.Truncate(a); a = a / Math.Pow(10, 2);
 
O tipo de separador na saída do resultado (ponto ou vírgula) depende das configurações regionais do computador, portanto, para usar sempre um ponto como separador, é necessário alterar as configurações regionais para invariante, exemplo resultante:
 
CultureInfo ci = new CultureInfo(""); duplo a = 0,9999; a = a * Math.Pow(10, 2); a = Math.Truncate(a); a = a / Math.Pow(10, 2); Console.WriteLine(a.ToString(ci));