bloc1:csharpa1
Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
bloc1:csharpa1 [2021/09/30 11:11] – [Valeur trouvée] techer.charles_educ-valadon-limoges.fr | bloc1:csharpa1 [2021/09/30 11:41] (Version actuelle) – [Outil de débogage :] techer.charles_educ-valadon-limoges.fr | ||
---|---|---|---|
Ligne 260: | Ligne 260: | ||
Console.WriteLine(" | Console.WriteLine(" | ||
</ | </ | ||
- | test | + | <WRAP center round todo> |
- | Vérifiez qu'au final, vous obtenez le message | + | **test** |
- | Ce n'est pas ce que l'on veut : on veut que ce soit le contenu de la variable | + | |
+ | Vérifiez qu'au final, vous obtenez le message | ||
+ | </ | ||
+ | |||
+ | Ce n'est pas ce que l'on veut : on veut que ce soit le contenu de la variable | ||
+ | |||
+ | Par exemple, si on a trouvé en 4 fois, on aimerait obtenir : **"Vous avez trouvé en 4 fois !"**. | ||
Tout ce qui est entre guillemets est affiché en l' | Tout ce qui est entre guillemets est affiché en l' | ||
+ | <code c#> | ||
// valeur trouvée | // valeur trouvée | ||
Console.WriteLine(" | Console.WriteLine(" | ||
- | test | + | </ |
+ | <WRAP center round info 60%> | ||
+ | **test** | ||
Cette fois, vous allez obtenir le bon message, avec le nombre d' | Cette fois, vous allez obtenir le bon message, avec le nombre d' | ||
- | Même image que l'écran précédent avec une étape supplémentaire | + | </ |
- | (le reste est en grisé) | + | {{ : |
- | Transcription indisponible | + | |
+ | ===== Etape 7 ===== | ||
+ | ==== Nettoyage du code ==== | ||
+ | Rappelez-vous que du code a été généré automatiquement dès le début de la création du projet, en particulier les **using** : | ||
+ | {{ : | ||
+ | <WRAP center round info> | ||
+ | Les **using** permettent d' | ||
+ | </ | ||
+ | |||
+ | Vous remarquerez qu' | ||
+ | |||
+ | Cette phase consiste aussi à contrôler qu'il n'y a pas de variable non utilisée (qui apparait en gris). Ce n'est pas le cas ici. | ||
+ | |||
+ | <WRAP center round info> | ||
+ | **test** | ||
+ | |||
+ | Vérifiez que le programme fonctionne toujours correctement. | ||
+ | </ | ||
+ | {{ : | ||
+ | ===== Etape 8 ===== | ||
+ | ==== Ajout de cartouche ==== | ||
+ | Il nous reste à ajouter un tout dernier détail dans le programme : un **cartouche** qui est un commentaire particulier, | ||
+ | |||
+ | Même si le cartouche permet d' | ||
+ | |||
+ | * Placez le curseur tout en haut à droite du fichier et validez pour créer une ligne vide. | ||
+ | * Ajoutez le cartouche suivant (en changeant l' | ||
+ | Remarquez | ||
+ | |||
+ | En validant après **%%/ | ||
+ | <code c#> | ||
+ | /** | ||
+ | * Jeu du nombre caché | ||
+ | * author : votre nom | ||
+ | * date : 23/05/2020 | ||
+ | */ | ||
+ | using System; | ||
+ | </ | ||
+ | Toutes ces modifications ne doivent rien changer à l'exécution du programme. | ||
+ | |||
+ | Voici le programme complet. | ||
+ | <WRAP center round todo> | ||
+ | **test** | ||
+ | Vérifiez que le programme fonctionne toujours correctement. | ||
+ | |||
+ | </ | ||
+ | {{ : | ||
+ | |||
+ | ===== Etape 9 ===== | ||
+ | |||
+ | ==== Tests de l' | ||
+ | |||
+ | Lorsqu' | ||
+ | |||
+ | Le but est de voir si le programme fonctionne quelle que soit la situation. Il est généralement impossible de tester | ||
+ | |||
+ | Dans l' | ||
+ | * trouver la valeur en plusieurs essais (cas classique) ; | ||
+ | * trouver la valeur au premier essai (cas particulier car le premier essai a été traité différemment, | ||
+ | * saisir un caractère au lieu d'un nombre (comportement inattendu). | ||
+ | <WRAP center round todo> | ||
+ | **test** | ||
+ | Essayez les 2 premiers cas qui ne doivent pas poser de problème. Essayez ensuite le dernier cas en tapant | ||
+ | </ | ||
+ | |||
+ | Le programme s' | ||
+ | <code c#> | ||
+ | valeur = int.Parse(Console.ReadLine()); | ||
+ | </ | ||
+ | et le message d' | ||
+ | |||
+ | La ligne de code permet de réaliser une saisie, puis de la transformer (**transtyper**) en type **int** (entier) pour pouvoir l' | ||
+ | |||
+ | Le problème vient du fait qu'une lettre est saisie et que le programme tente de la convertir en **int**, ce qui n'est pas possible. | ||
+ | |||
+ | Pour éviter l' | ||
+ | {{ : | ||
+ | |||
+ | ==== Tests de l' | ||
+ | Voilà comment fonctionne la capture d' | ||
+ | <code c#> | ||
+ | try | ||
+ | { | ||
+ | // contenant le code qui peut poser problème | ||
+ | } | ||
+ | catch | ||
+ | { | ||
+ | // contenant le code à exécuter, en cas d' | ||
+ | } | ||
+ | </ | ||
+ | Commençons | ||
+ | <code c#> | ||
+ | bool correct = false; | ||
+ | // saisie du nombre | ||
+ | while (!correct) | ||
+ | { | ||
+ | try | ||
+ | { | ||
+ | Console.Write(" | ||
+ | valeur = int.Parse(Console.ReadLine()); | ||
+ | correct = true; | ||
+ | } | ||
+ | catch | ||
+ | { | ||
+ | Console.WriteLine(" | ||
+ | } | ||
+ | } | ||
+ | Console.Clear(); | ||
+ | </ | ||
+ | Le signe " | ||
+ | Remarquez une nouvelle erreur : sur la ligne de code "while (essai | ||
+ | <WRAP center round todo> | ||
+ | **test** | ||
+ | |||
+ | Vérifiez qu'en saisissant une lettre, le message d' | ||
+ | |||
+ | </ | ||
+ | Faites les mêmes modifications pour la saisie de l' | ||
+ | <WRAP center round important> | ||
+ | **test** | ||
+ | |||
+ | Vérifiez que tout le programme fonctionne correctement. Essayez de saisir une lettre lors du premier essai, et aussi lors des essais suivants. Vérifiez aussi que le nombre d' | ||
+ | </ | ||
+ | |||
+ | 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. | ||
+ | {{ : | ||
+ | |||
+ | ===== 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' | ||
+ | |||
+ | Même si le programme est opérationnel, | ||
+ | === Point d' | ||
+ | Il est possible de placer un ou plusieurs points d' | ||
+ | {{ : | ||
+ | La ligne du point d' | ||
+ | === Démarrage du débogueur : === | ||
+ | |||
+ | Il est alors possible de lancer le débogueur : menu " | ||
+ | {{ : | ||
+ | A partir de là, vous allez pouvoir consulter l' | ||
+ | === Etat des variables : === | ||
+ | |||
+ | Maintenant que le programme s'est arrêté, observez la fenêtre du bas qui donne l' | ||
+ | {{ : | ||
+ | Ne tenez pas compte de ' | ||
+ | |||
+ | === Exécution pas à pas : === | ||
- | Reculer | + | Vous allez maintenant avancer dans l' |
+ | {{ : | ||
+ | Cela permet de repérer les changements qui viennent de se faire. | ||
- | Page 18 sur 34 | + | Continuez d' |
- | Avancer | + | {{ : |
+ | === Exécution rapide ou arrêt : === | ||
+ | A tout moment, il est possible d' | ||
bloc1/csharpa1.1632993066.txt.gz · Dernière modification : 2021/09/30 11:11 de techer.charles_educ-valadon-limoges.fr