jeudi 13 juin 2013

erreurs de logique dans VB. NET

La troisième catégorie d'erreurs sont les erreurs de logique. Ceux-ci peuvent être considérées comme des erreurs de codage. Vos erreurs de codage. Ils peuvent être très difficiles à traquer, et avez-vous arracher les cheveux de frustration. Vous entendrez souvent vous disant: «Mais qui devrait fonctionner! Pourquoi n'est-ce pas!"
Ajouter un autre bouton au formulaire tou créé dans la première partie , et essayer ce code comme un exemple d'une erreur de logique:

X As Integer
Dim y As Integer
Réponse Dim As Integer
x = 10,5
y = 3
answer = x * y
TextBox1.Text = réponse
Lorsque vous avez ajouté le code de votre bouton, lancez votre programme et le tester. Avant de cliquer sur le bouton, quelle réponse avez-vous attendre à obtenir?
Vous pensez que 10,5 multiplié par 3 serait vous donner la réponse 31.5. Cliquez sur le bouton. La réponse qui apparaît dans votre champ de saisie est de 30!
Il s'agit d'une erreur de logique: quand vous n'obtenez pas la réponse que vous pensiez que vous obtiendrez. Le problème, si vous avez été attentif durant les sections types de variables, c'est que nous essayons de mettre nombres à virgule flottante en une variable de type Integer. La variable Integer ne fonctionne qu'avec des nombres entiers. Lorsque vous affectez 10,5 à la variable x, le point 5 sur la fin se coupa. Alors que le 10 est stocké dans x. 10 fois 3 est de trente, et c'est la réponse qui apparaît dans la zone de texte.
Mais le fait est que VB.NET ne soulève pas une erreur au moment du design. Il n'a pas non plus soulevé une erreur d'exécution. Le programme exécuté, et n'a pas «bug out" sur nous. Il n'a tout simplement pas vous donner la réponse que vous attendiez - c'était une erreur de logique.
Les erreurs de logique peut être assez simple pour traquer et résoudre. (Le problème ci-dessus peut être résolu en changeant les types de variables de type Entier à simple ou double.), Mais ils peuvent aussi être très difficile à traquer. D'autant plus que votre code ne cesse de s'allonger. Voici un autre exemple d'une erreur de logique.
Effacer le code que vous avez pour bouton2, et ajoutez la ligne suivante à la place:
I As Integer
LetterCount As Integer
StrText Dim As String
Lettre As Char
strText = "Mise au point"
Pour
i = 1 à strText.Length - 1
letter = strText.Substring (1)
Si letter = "g" Alors
LetterCount LetterCount = + 1
End If
Suivant
TextBox1.Text = "G apparaît" & LetterCount et "temps"
Tout le code ne doit essayer de compter combien de fois la lettre "g" apparaît dans le mot "débogage". Nous utilisons une boucle, et Substring pour obtenir une lettre à la fois. Cette lettre unique est ensuite placé à l'intérieur de la lettre appelée variable. Une instruction if est utilisé pour vérifier si la lettre est un "g". Si c'est le cas, on incrémente la variable LetterCount. La réponse que nous attendons dans la zone de texte est de 3. Sauf que, nous n'obtenons pas 3. Nous recevons zéro:
Le programme n'a pas trouvé la lettre "G"
Il n'y avait pas de lignes ondulées et donc pas d'accumulation d'erreurs. Lorsque le bouton est cliqué, une exception d'exécution n'a pas planter le programme. Donc, cela laisse une erreur de logique. Mais où est-il?
Dans la partie suivante, vous apprendrez à utiliser les outils intégrés de VB. NET pour vous aider à traquer les erreurs de logique.

0 commentaires:

Enregistrer un commentaire