Outils pour utilisateurs

Outils du site


bloc1:csharpa1

Ceci est une ancienne révision du document !


Découverte de l'IDE et premier exemple

Découverte du code et de l'environnement de développement :

Vous allez coder une petite application qui va vous permettre de découvrir un peu mieux l'environnement de développement et les instructions de base de la programmation en langage C# (C Sharp).

But du premier exemple :

Le jeu du nombre caché se joue à deux joueurs.

  • Le premier joueur saisit un nombre puis sa saisie est effacée.
  • Le second joueur va ensuite tenter de trouver le nombre en saisissant des essais.
  • A chaque essai le message trop grand ou trop petit est affiché.
  • Dès que la valeur est trouvée, le nombre d'essais est affiché.

Les captures ci-contre montrent un exemple de fonctionnement.

Etape 1

Saisie de la valeur à chercher

La première étape de votre programme consiste à demander au premier joueur de saisir une valeur et de mémoriser cette valeur.

Vous savez déjà afficher un message à l'écran et attendre une saisie. Commencez à écrire dans le 'main' :

Console.Write("Entrez le nombre à chercher = ");
Console.ReadLine();  

test

Faites un test d'exécution. Remarquez que l'affichage se fait mais le curseur se positionne non pas à la suite mais sous la ligne affichée.

Pour changer cela, il suffit d'utiliser Write à la place de WriteLine.

Faites la modification.

test Cette fois le curseur se positionne bien à la suite du message.

Pour le moment, la saisie est possible mais n'est pas mémorisée. Il faut enregistrer la saisie dans une variable. Vous êtes libre du nom donné à la variable en respectant certaines règles (cela sera préciser plus tard).

Console.Write("Entrez le nombre à chercher = ");
valeur = Console.ReadLine();

Remarquez que valeur est souligné en rouge pour indiquer une erreur.

Placez le curseur sur valeur sans cliquer : vous allez voir le même message qui apparaît en bas Le nom 'valeur' n'existe pas dans le contexte actuel.

Avant d'être utilisée, une variable doit être déclarée pour que l'ordinateur réserve une place mémoire pour elle. La déclaration consiste à préciser son nom précédé de son type (une variable peut être de type entier, réel, chaîne, …).

// déclaration 
int valeur;  
 
// saisie du nombre à chercher 
Console.Write("Entrez le nombre à chercher = "); 
valeur = Console.ReadLine();

Remarquez l'ajout de commentaires : ce sont les lignes qui commencent par //. A la suite, vous pouvez écrire ce que vous voulez. Cela permet d'expliquer le code. Il est alors plus facile à relire et comprendre. L'ordinateur ne tient pas compte des commentaires.

Suite à la déclaration de valeur, cette fois une autre erreur est apparue : Impossible de convertir implicitement le type 'string' en 'int'.

En effet, une saisie à la console retourne toujours un type string (une chaîne de caractères) quelle que soit l'information saisie. valeur doit être de type int (entier) car on va faire des comparaisons de nombres.

Il est possible de changer le type de la saisie de la façon suivante :

valeur = int.Parse(Console.ReadLine());

Cela signifie qu'on demande de parser (changer le type) de l'information entre parenthèses (donc ici, de ce qui est saisi) en type int. Cette fois il n'y a plus d'erreur.

Après la récupération de la valeur à chercher, il faut effacer l'écran avant que le second joueur ne commence. Cela se fait avec l'instruction suivante :

Console.Clear();

Enfin, comme on l'a vu précédemment, prenez l'habitude de laisser en fin de programme la ligne suivante, qui permet d'éviter la fermeture directe de la fenêtre de commande, en fin d'exécution du programme :

Console.ReadLine();

Au final, vous devriez obtenir ceci :

// déclaration 
int valeur; 
// saisie du nombre à chercher 
Console.Write("Entrez le nombre à chercher = "); 
valeur = int.Parse(Console.ReadLine()); 
Console.Clear(); 
Console.ReadLine(); 

test Vérifiez si vous arrivez à saisir puis si l'écran s'efface.

Etape 2

Saisie d'un premier essai

Maintenant que l'écran est effacé, le second joueur va pouvoir commencer.

Le principe va être le même que précédemment :

  • il faut afficher un message
  • et mémoriser la saisie dans une nouvelle variable.

Il faut utiliser une autre variable pour ne pas perdre la valeur d'origine qui est à trouver. A la suite du code actuel (mais toujours avant le Console.ReadLine final), ajoutez :

// saisie du premier essai 
Console.Write("Entrez un essai = "); 
essai = int.Parse(Console.ReadLine());

Remarquez que essai est soulignée en rouge. C'est normal et vous devriez savoir pourquoi.: la variable n'est pas déclarée. Ajoutez sa déclaration, au même niveau que 'valeur' :

// déclaration 
int valeur, essai;

Lorsque plusieurs variables sont de même type, il est possible de les déclarer sur la même ligne. Vous pouvez aussi faire une ligne par déclaration. Maintenant, il n'y a plus d'erreur.

Test Vous pouvez saisir la valeur à chercher, puis l'écran s'efface et vous pouvez saisir un premier essai.

Etape 3

Comparaison de l'essai avec la valeur à trouver

Une fois l'essai saisi, il faut le comparer avec la valeur d'origine pour afficher le message trop grand si l'essai est supérieur à la valeur d'origine, ou trop petit si l'essai est inférieur à la valeur d'origine.

Il est donc nécessaire de comparer essai avec valeur. Vous allez ainsi découvrir un nouveau principe de codage : l'alternative (la condition).

A la suite du code actuel, ajoutez :

// test de l'essai par rapport à la valeur à chercher 
if (essai > valeur) 
{
     Console.WriteLine(" --> trop grand !"); 
} 
else 
{
     Console.WriteLine(" --> trop petit !"); 
}

L'alternative if contient une condition (entre parenthèses) et un ou 2 blocs :

  • le premier bloc s'exécute uniquement si la condition est vraie,
  • le second bloc (dans le else) s'exécute uniquement si la condition est fausse. La seconde partie (le else) est optionnelle. Dans le cas présent, les 2 parties sont importantes pour afficher le message correspondant. L'exécution se poursuit alors normalement après l'alternative.

test

Vérifiez que vous obtenez bien le message (trop grand ou trop petit) correspondant à ce qui est attendu.

Par exemple, si la valeur est 57 et l'essai est 100, vous devriez obtenir trop grand). Même image que l'écran précédent avec une étape supplémentaire (par rapport au code ajouté) : affichage du premier résultat (“–> trop grand !”)

bloc1/csharpa1.1632864592.txt.gz · Dernière modification: 2021/09/28 23:29 de techer.charles_educ-valadon-limoges.fr