Visual basic, PGCD==> BUG

Fermé
artragis - 10 avril 2008 à 11:51
artragis Messages postés 481 Date d'inscription mardi 12 juin 2007 Statut Membre Dernière intervention 6 avril 2010 - 10 avril 2008 à 16:23
Bonjour,
Je suis en train d'apprendre à programmer, j'ai, en ligne trouvé des cours d'algoritmie qui m'ont permi d'arriver à déduire un alogoritme, puis une programmation visual basic (je travail sur visual basic 2008 express.Net)
Seulement, petit problème : j'ai créé un boutton, et lors de l'appui sur ce boutton, le calcul se fait : résultat 0, je rapui résultat : le véritable PGCD des deux nombres.

Voici l'algoritme de base


début : déclarations de variables :
a
b

pgcd


lire a
lire b

si a = o et b >0 alors PGCD <== b
fin si

si b = 0 et a > 0 alors PGCD <== a
fin si

Si (a et b > 0) Et (a>b)  alors

pgcd ==> a mod b
	
	tant que non PGCD = 0 faire
                                pgcd <== a mod b
		a<==b
		b<==PGCD
                                PGCD<==PGCD
		
	fin tant que
ecrire PGCD
Sinon si (a et b > 0) et (a<b)

tant que non PGCD = 0 faire
pgcd<==b mod a
b<==a
a<==PGCD
PGCD<==PGCD
fin tant que
ecrire PGCD
fin si



Maintenant voici le programme
création d'un boutton nommé button1
de deux textbox nommées textbox1 et 2
de deux labels "nombre1", "nombre2" et "PGCD des deux nombres"
Public Class Form1
    Dim nombre1 As Integer
    Dim nombre2 As Integer
    Dim reste As Integer

    Dim PGCD As Integer
    Dim Resultat As Integer

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load


    End Sub

    Private Sub TextBox1_TextChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles TextBox1.TextChanged
        If TextBox1.Text = "" Then
            nombre1 = 0
        Else
            nombre1 = TextBox1.Text
        End If



    End Sub

    Private Sub TextBox2_TextChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles TextBox2.TextChanged
        If TextBox2.Text = "" Then
            nombre2 = 0
        Else
            nombre2 = TextBox2.Text
        End If



    End Sub

    Private Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click




        If nombre1 = 0 And nombre2 > 0 Then
            PGCD = nombre2
        End If


        If nombre2 = 0 And nombre1 > 0 Then

            PGCD = nombre1

        End If


        If (nombre1 And nombre2 > 0) And (nombre1 > nombre2) Then

            PGCD = 1

            While Not PGCD = 0

                PGCD = nombre1 Mod nombre2

                nombre1 = nombre2
                nombre2 = PGCD

                PGCD = PGCD

            End While

        ElseIf (nombre1 And nombre2 > 0) And (nombre1 < nombre2) Then

            PGCD = 1

            While PGCD > 0

                PGCD = nombre2 Mod nombre1
                nombre2 = nombre1
                nombre1 = PGCD
                PGCD = PGCD

            End While

        End If
        Label3.Text = PGCD
    End Sub
End Class
A voir également:

2 réponses

artragis Messages postés 481 Date d'inscription mardi 12 juin 2007 Statut Membre Dernière intervention 6 avril 2010 146
10 avril 2008 à 14:19
voici l'executable du programme http://www.moviebook.fr/PGCD.exe
0
artragis Messages postés 481 Date d'inscription mardi 12 juin 2007 Statut Membre Dernière intervention 6 avril 2010 146
10 avril 2008 à 16:23
quelqu'un aurait-il une réponse s'il vous plait?
0