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