Outils pour utilisateurs

Outils du site


bloc1:csharpa1

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
bloc1:csharpa1 [2021/09/30 11:33] – [Tests de l'application] techer.charles_educ-valadon-limoges.frbloc1:csharpa1 [2025/11/02 18:27] (Version actuelle) admin
Ligne 40: Ligne 40:
  
 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). 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).
 +
 <code c#> <code c#>
 Console.Write("Entrez le nombre à chercher = "); Console.Write("Entrez le nombre à chercher = ");
 valeur = Console.ReadLine(); valeur = Console.ReadLine();
 </code> </code>
 +
 Remarquez que **valeur** est souligné en rouge pour indiquer une erreur. Remarquez que **valeur** est souligné en rouge pour indiquer une erreur.
  
Ligne 49: Ligne 51:
  
 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, ...). 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, ...).
 +
 <code c#> <code c#>
 // déclaration  // déclaration 
Ligne 57: Ligne 60:
 valeur = Console.ReadLine(); valeur = Console.ReadLine();
 </code> </code>
-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.+ 
 +Remarquez l'ajout de **commentaires** : ce sont les lignes qui commencent par <nowiki>//</nowiki>. 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'**. Suite à la déclaration de **valeur**, cette fois une autre erreur est apparue : **Impossible de convertir implicitement le type 'string' en 'int'**.
Ligne 118: Ligne 122:
 </WRAP> </WRAP>
 {{ :bloc1:csharp_03.jpg |}} {{ :bloc1:csharp_03.jpg |}}
 +
 ===== Etape 3 ===== ===== Etape 3 =====
 ==== Comparaison de l'essai avec la valeur à trouver ==== ==== 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.  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. 
  
Ligne 137: Ligne 143:
 } }
 </code> </code>
 +
 L'alternative **if** contient une condition (entre parenthèses) et un ou 2 blocs :  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 premier bloc s'exécute uniquement si la condition est vraie,
Ligne 149: Ligne 156:
 </WRAP> </WRAP>
 {{ :bloc1:csharp_04.jpg |}} {{ :bloc1:csharp_04.jpg |}}
 +
 ===== Etape 4 ===== ===== Etape 4 =====
 ==== Saisie d'un nouvel essai ? ==== ==== Saisie d'un nouvel essai ? ====
Ligne 406: Ligne 414:
 Vous avez remarqué que du code se répète : vous apprendrez plus tard comment optimiser le code pour éviter ce genre de répétition. Vous avez remarqué que du code se répète : vous apprendrez plus tard comment optimiser le code pour éviter ce genre de répétition.
 {{ :bloc1:csharp_12.jpg |}} {{ :bloc1:csharp_12.jpg |}}
 +
 +===== Etape 10 =====
 +
 +==== Outil de débogage : ====
 +
 +Tous les IDE possèdent un outil de débogage qui permet une exécution pas à pas du programme avec vérification de l'évolution des variables.
 +
 +Même si le programme est opérationnel, voyons comment fonctionne cet outil.
 +=== Point d'arrêt : ===
 +Il est possible de placer un ou plusieurs points d'arrêt dans un programme. Lors du débogage, le programme va s'exécuter normalement jusqu'au point d'arrêt, puis il se met en attente. Pour placer un point d'arrêt, cliquez dans la marge de gauche au niveau de la ligne de code concernée. Un point rouge va apparaître. Pour l'enlever, il suffit de cliquer dessus à nouveau. Placez un point d'arrêt au niveau de la grande boucle de comparaison entre 'essai' et 'valeur' :
 +{{ :bloc1:csharp_13.jpg |}}
 +La ligne du point d'arrêt apparaît en rouge.
 +=== Démarrage du débogueur : ===
 +
 +Il est alors possible de lancer le débogueur : menu "Déboguer > Démarrer le débogage". La fenêtre d'exécution s'ouvre normalement. Saisissez une valeur et validez. L'écran s'efface. Saisissez un premier essai (différent de valeur) et validez. Cette fois le programme se met en attente et, dans le code, remarquez que la ligne du point d'arrêt est maintenant en jaune :
 +{{ :bloc1:csharp_14.jpg |}}
 +A partir de là, vous allez pouvoir consulter l'état des variables et continuer à exécuter le programme ligne par ligne, à votre rythme.
 +=== Etat des variables : ===
 +
 +Maintenant que le programme s'est arrêté, observez la fenêtre du bas qui donne l'état actuel des variables :
 +{{ :bloc1:csharp_15.jpg |}}
 +Ne tenez pas compte de 'args'. Vous retrouvez les 4 variables du programme : valeur, essai, nbre, correct. La seconde colonne contient les valeurs actuelles (ici, j'ai tapé 57 pour 'valeur' et 100 pour le premier essai). La troisième colonne donne les types des variables.
 +
 +=== Exécution pas à pas : ===
 +
 +Vous allez maintenant avancer dans l'exécution, ligne par ligne. Dans le menu Debogueur, remarquez qu'il y a plusieurs possibilités de faire du "pas à pas". On va pour le moment utiliser le "pas à pas principal", que vous pouvez obtenir aussi avec F10. Appuyez sur F10 (ou passez par le menu). La ligne jaune d'exécution a avancé d'une instruction. Elle est maintenant sur l'accolade, et la ligne du point d'arrêt est redevenue rouge. Continuez à avancer avec F10 : le test va être évalué entre essai et valeur et, suivant le résultat, la ligne jaune va se possitionner dans la première partie ou la seconde (le else). Avancez encore une fois : le message "trop petit" ou "trop grand" s'affiche dans la fenêtre d'exécution. Avancez encore : lorsque vous aurez passé l'instruction "correct = false", vous remarquerez le changement de valeur de 'correct' dans la fenêtre des variables :
 +{{ :bloc1:csharp_16.jpg |}}
 +Cela permet de repérer les changements qui viennent de se faire.
 +
 +Continuez d'avancer jusqu'à passer la ligne de saisie de l'essai : cette fois il n'y a plus de ligne jaune et la fenêtre d'exécution est repassée au premier plan, en attente d'une saisie. Saisissez une valeur et validez : vous retournez à nouveau dans le code avec la ligne jaune. Remarquez aussi, dans la fenêtre des variables, que la valeur de 'essai' est en rouge, et aussi 2 informations complémentaires : la valeur saisie (Console.ReadLine) où l'on remarque bien que c'est une chaîne (entre guillemets) et le résultat du changement de type (int.Parse) qui retourne un nombre :
 +{{ :bloc1:csharp_17.jpg |}}
 +=== Exécution rapide ou arrêt : ===
 +
 +A tout moment, il est possible d'arrêter le débogage (en cliquant sur le carrêt rouge, ou menu "déboguer > arrêter le débogage"). Il est aussi possible de reprendre une exécution normale (F5 ou menu "Déboguer > Continuer" : le débogueur va alors avancer jusqu'à la fin du programme ou jusqu'au point d'arrêt suivant, s'il y en a un. Essayez.
 +
bloc1/csharpa1.1632994411.txt.gz · Dernière modification : 2021/09/30 11:33 de techer.charles_educ-valadon-limoges.fr