VARIABLES. FORMATS DE SORTIE


Variables
Une variable est une cellule dans la mémoire de l'ordinateur qui a un nom et stocke une valeur correspondant à le type .

Le mot "variable" nous indique que sa valeur peut changer pendant l'exécution du programme.  Lorsqu'une nouvelle valeur de variable est enregistrée, l'ancienne est effacée.


Pour un ordinateur, toutes les informations sont des données dans sa mémoire - des ensembles de zéros et de uns (pour le dire simplement, toute information dans un ordinateur n'est que des nombres, et il les traite de la même manière). Cependant, nous savons que les nombres entiers et les nombres fractionnaires fonctionnent différemment. Par conséquent, chaque langage de programmation possède différents types de données, qui sont traitées à l'aide de différentes méthodes.

Par exemple,
- Variables entières &ndash ; tapez int (de l'entier anglais – entier), occupe 4 octets en mémoire ;
- les variables réelles pouvant avoir une partie fractionnaire (type float – de l'anglais flottant – flottant) occupent 4 octets en mémoire ;
- les caractères (type char – du caractère anglais – symbole), occupent 1 octet en mémoire.

Essayons d'ajouter une variable à notre programme.
Avant d'utiliser une variable, vous devez dire à l'ordinateur de lui allouer de l'espace en mémoire. Pour ce faire, vous devez déclarer une variable, c'est-à-dire spécifier le type de valeur qu'elle stockera et lui donner un nom.
De plus, si nécessaire, vous pouvez lui attribuer des valeurs initiales. 

Prenons un programme comme exemple : utiliser le système ; programme de classe {     vide statique Main()     {         entier a = 6, b ; // a déclaré deux variables de type entier, dans la variable a immédiatement enregistré la valeur 6.   // La variable b n'a pas été initialisée ; // ce qui sera en mémoire dans ce cas, nous ne le savons pas.     } } Un ordinateur ne serait pas nécessaire s'il n'avait pas la capacité de stocker diverses informations dans sa mémoire et de pouvoir traiter des informations du même type en utilisant les mêmes algorithmes. 
Afin de créer des programmes plus intéressants, il faut apprendre à stocker des informations dans la mémoire de l'ordinateur. En même temps, nous devons apprendre à accéder d'une manière ou d'une autre aux cellules de mémoire de l'ordinateur. 
En programmation, comme dans la vie, pour faire référence à n'importe quelle partie de la mémoire de l'ordinateur, cela se produit par son nom. En utilisant ce nom, vous pouvez à la fois lire des informations et les y écrire.

Exemple
Essayons d'écrire une calculatrice pour les nombres premiers.

Notre tâche est d'afficher une expression arithmétique sur l'écran et de la faire calculer par l'ordinateur.
Par exemple : 
5+7=12
De plus, au lieu de 5 et 7, il peut y avoir des nombres différents, selon les valeurs des variables a et b dans le programme.

Dans l'instruction de sortie, vous pouvez afficher non seulement du texte, mais également les valeurs des variables, ainsi que le résultat d'une expression arithmétique. De plus, la séquence de sortie peut être différente. Par exemple, pour afficher l'expression ci-dessus, vous devez l'écrire comme ceci : Console.WriteLine(a + "+" + b + "=" + (a+b)); Si nous voulons afficher la valeur d'une variable, il nous suffit de spécifier son nom sans guillemets. Si nous voulons afficher le résultat d'une expression arithmétique, il suffit alors d'écrire correctement l'expression arithmétique. Veuillez noter :
Les variables et le texte sont séparés les uns des autres par l'opérateur "+", tandis que le texte est écrit entre guillemets, et les variables sans eux.
 

Saisir la déclaration
Pour que l'utilisateur puisse définir lui-même la valeur de la variable, il est nécessaire de pouvoir saisir des valeurs à partir du clavier. 
C# a deux opérateurs d'entrée de valeur : Console.Read(); et Console.ReadLine();
 
Lire lit un seul caractère parmi les valeurs saisies, ou -1 s'il ne reste plus de caractères à lire. De plus, la méthode renvoie un code de caractère entier, donc pour obtenir une variable de caractère, vous devez effectuer une conversion en utilisant le Convert.ToChar().
  int x = Console.Read(); // lit le code du caractère char a = Convert.ToChar(x); // conversion du code reçu en valeur d'une variable caractère  
Avec ReadLine() , vous pouvez lire une séquence de chaînes avant d'entrer une nouvelle ligne. Par conséquent, la méthode peut renvoyer une chaîne ou null s'il n'y a plus de chaînes.

Par exemple, l'entrée lit la ligne : stringline = Console.ReadLine();
Pour lire une valeur entière, vous devez lire la chaîne et la convertir en nombre :
  int a = int.Parse(Console.ReadLine());  
Si les nombres vont dans une ligne, alors vous devez compter la ligne, & nbsp; et obtenez-en un tableau de chaînes en utilisant un espace comme séparateur. Et puis chaque élément du tableau est converti en un nombre : chaîne[] nombres = Console.ReadLine().Split(' '); int a = int Parse(numbers[0]); int b = int.Parse(nombres[1]);

Spécificateurs de sortie
Pour générer des valeurs réelles, appelez simplement la méthode Console.Write ou Console.WriteLine :
  un double = 0,9999 ; Console.Write(a);  
Mais parfois, vous devez pré-formater la sortie des valeurs, il est pratique de le faire en utilisant la méthode String.Format, plus de détails ici.
Sortie avec une certaine précision
Pour formater les nombres fractionnaires, le spécificateur f est utilisé, le nombre après lequel indique combien de caractères seront après le séparateur. un double = 12,123 ; Console.WriteLine(String.Format("{0:f2}", a)); Le résultat sera 12,12, mais si vous utilisez la valeur 0,9999, un arrondi incontrôlé se produira et   1.00.

Par conséquent, l'algorithme suivant est utilisé pour supprimer les signes plutôt que d'arrondir :
1) multiplier la valeur d'origine par 10, autant de fois qu'il faut laisser de décimales ;
2) en utilisant la méthode   Math.Truncate, on ne laisse que la partie entière ;
3) divisez la valeur obtenue par 10, autant de fois qu'il vous faut de décimales.

Exemple de sortie avec une précision à deux décimales : 
un double = 0,9999 ; a = a * Math.Pow(10, 2); a = Math.Truncate(a); a = a / Math.Pow(10, 2);
 
Le type de séparateur lors de la sortie du résultat (point ou virgule) dépend des paramètres régionaux de l'ordinateur, donc pour toujours utiliser un point comme séparateur, vous devez modifier les paramètres régionaux en invariant, exemple résultant :
 
CultureInfo ci = new CultureInfo(""); un double = 0,9999 ; a = a * Math.Pow(10, 2); a = Math.Truncate(a); a = a / Math.Pow(10, 2); Console.WriteLine(a.ToString(ci));