Comme je n'aime pas le japonais, j'ai écris un petit script en VBA (à lancer depuis Excel) pour résoudre le cadran (si vous voulez vous amuser..., ça a marché pour moi):
Sub FF13_2_Resolution_du_cadran() Dim i As Integer 'Variable incrémentale Dim NumberOfCases As Integer Dim Clock(10) As Integer '10 représente la taille du tableau à utiliser pour un cadran de 11 cases (0 représente la 1° case à gauche, il faut ensuite tourner dans le sens das aiguilles d'une montre) Dim PathToFollow(11) As Integer 'Le chemin à suivre. Quand le script à donner une réponse, il affiche une boite de dialogue avec la séquence des cases à suivre de 0 au nombre de cases moins 1 Clock(0) = 5 '(Valeur inscrite sur la case Ex.:5) Clock(1) = 4 '(Valeur inscrite sur la case Ex.:4) Clock(2) = 1 '(Valeur inscrite sur la case Ex.:1) Clock(3) = 3 '(Valeur inscrite sur la case Ex.:3) Clock(4) = 5 '(Valeur inscrite sur la case Ex.:5) Clock(5) = 5 '(Valeur inscrite sur la case Ex.:5) Clock(6) = 4 '(Valeur inscrite sur la case Ex.:4) Clock(7) = 1 '(Valeur inscrite sur la case Ex.:1) Clock(8) = 5 '(Valeur inscrite sur la case Ex.:5) Clock(9) = 5 '(Valeur inscrite sur la case Ex.:5) Clock(10) = 3 '(Valeur inscrite sur la case Ex.:3) 'The result is 4 9 3 0 6 2 1 5 10 7 8 ' 5 6 ' 4 7 ' 3 8 ' 2 9 ' 1 10 ' 0 11
i = 0 NumberOfCases = 11 'Egal au nombre de cases dans le cadran (à modifier selon la taille du cadran) While i < 11 And PathToFollow(1) = 0 PathToFollow(0) = FF13_2_Resolution_du_cadran_Fonction_Recursive(Clock(), PathToFollow(), i, 0, NumberOfCases) i = i + 1 Wend If PathToFollow(1) <> 0 Then MsgBox PathToFollow(0) & " " & PathToFollow(1) & " " & PathToFollow(2) & " " & PathToFollow(3) & " " & PathToFollow(4) & " " & PathToFollow(5) & " " & PathToFollow(6) & " " & PathToFollow(7) & " " & PathToFollow(8) & " " & PathToFollow(9) & " " & PathToFollow(10) End If End Sub
Function FF13_2_Resolution_du_cadran_Fonction_Recursive(Clock() As Integer, PathToFollow() As Integer, SelectedCase As Integer, Sequence As Integer, NumberOfCases As Integer) As Integer Dim FirstClockNeedle As Integer Dim SecondClockNeedle As Integer Sequence = Sequence + 1 ValueCase = Clock(SelectedCase) Clock(SelectedCase) = 0 If SelectedCase - ValueCase < 0 Then FirstClockNeedle = SelectedCase - ValueCase + NumberOfCases Else FirstClockNeedle = (SelectedCase - ValueCase) Mod NumberOfCases End If SecondClockNeedle = (SelectedCase + ValueCase) Mod NumberOfCases If Sequence <= NumberOfCases Then If Not (Clock(0) = 0 And Clock(1) = 0 And Clock(2) = 0 And Clock(3) = 0 And Clock(4) = 0 And Clock(5) = 0 And Clock(6) = 0 And Clock(7) = 0 And Clock(8) = 0 And Clock(9) = 0 And Clock(10) = 0) Then If Clock(FirstClockNeedle) <> 0 Then PathToFollow(Sequence) = FF13_2_Resolution_du_cadran_Fonction_Recursive(Clock(), PathToFollow(), FirstClockNeedle, Sequence, NumberOfCases) End If If Clock(SecondClockNeedle) <> 0 Then PathToFollow(Sequence) = FF13_2_Resolution_du_cadran_Fonction_Recursive(Clock(), PathToFollow(), SecondClockNeedle, Sequence, NumberOfCases) End If End If If Not (Clock(0) = 0 And Clock(1) = 0 And Clock(2) = 0 And Clock(3) = 0 And Clock(4) = 0 And Clock(5) = 0 And Clock(6) = 0 And Clock(7) = 0 And Clock(8) = 0 And Clock(9) = 0 And Clock(10) = 0) Then Clock(SelectedCase) = ValueCase Sequence = Sequence - 1 Else FF13_2_Resolution_du_cadran_Fonction_Recursive = SelectedCase Sequence = Sequence - 1 End If End If End Function
Dernières activités de mike251
Comme je n'aime pas le japonais, j'ai écris un petit script en VBA (à lancer depuis Excel) pour résoudre le cadran (si vous voulez vous amuser..., ça a marché pour moi):
Sub FF13_2_Resolution_du_cadran()
Dim i As Integer 'Variable incrémentale
Dim NumberOfCases As Integer
Dim Clock(10) As Integer '10 représente la taille du tableau à utiliser pour un cadran de 11 cases (0 représente la 1° case à gauche, il faut ensuite tourner dans le sens das aiguilles d'une montre)
Dim PathToFollow(11) As Integer 'Le chemin à suivre. Quand le script à donner une réponse, il affiche une boite de dialogue avec la séquence des cases à suivre de 0 au nombre de cases moins 1
Clock(0) = 5 '(Valeur inscrite sur la case Ex.:5)
Clock(1) = 4 '(Valeur inscrite sur la case Ex.:4)
Clock(2) = 1 '(Valeur inscrite sur la case Ex.:1)
Clock(3) = 3 '(Valeur inscrite sur la case Ex.:3)
Clock(4) = 5 '(Valeur inscrite sur la case Ex.:5)
Clock(5) = 5 '(Valeur inscrite sur la case Ex.:5)
Clock(6) = 4 '(Valeur inscrite sur la case Ex.:4)
Clock(7) = 1 '(Valeur inscrite sur la case Ex.:1)
Clock(8) = 5 '(Valeur inscrite sur la case Ex.:5)
Clock(9) = 5 '(Valeur inscrite sur la case Ex.:5)
Clock(10) = 3 '(Valeur inscrite sur la case Ex.:3)
'The result is 4 9 3 0 6 2 1 5 10 7 8
' 5 6
' 4 7
' 3 8
' 2 9
' 1 10
' 0 11
i = 0
NumberOfCases = 11 'Egal au nombre de cases dans le cadran (à modifier selon la taille du cadran)
While i < 11 And PathToFollow(1) = 0
PathToFollow(0) = FF13_2_Resolution_du_cadran_Fonction_Recursive(Clock(), PathToFollow(), i, 0, NumberOfCases)
i = i + 1
Wend
If PathToFollow(1) <> 0 Then
MsgBox PathToFollow(0) & " " & PathToFollow(1) & " " & PathToFollow(2) & " " & PathToFollow(3) & " " & PathToFollow(4) & " " & PathToFollow(5) & " " & PathToFollow(6) & " " & PathToFollow(7) & " " & PathToFollow(8) & " " & PathToFollow(9) & " " & PathToFollow(10)
End If
End Sub
Function FF13_2_Resolution_du_cadran_Fonction_Recursive(Clock() As Integer, PathToFollow() As Integer, SelectedCase As Integer, Sequence As Integer, NumberOfCases As Integer) As Integer
Dim FirstClockNeedle As Integer
Dim SecondClockNeedle As Integer
Sequence = Sequence + 1
ValueCase = Clock(SelectedCase)
Clock(SelectedCase) = 0
If SelectedCase - ValueCase < 0 Then
FirstClockNeedle = SelectedCase - ValueCase + NumberOfCases
Else
FirstClockNeedle = (SelectedCase - ValueCase) Mod NumberOfCases
End If
SecondClockNeedle = (SelectedCase + ValueCase) Mod NumberOfCases
If Sequence <= NumberOfCases Then
If Not (Clock(0) = 0 And Clock(1) = 0 And Clock(2) = 0 And Clock(3) = 0 And Clock(4) = 0 And Clock(5) = 0 And Clock(6) = 0 And Clock(7) = 0 And Clock(8) = 0 And Clock(9) = 0 And Clock(10) = 0) Then
If Clock(FirstClockNeedle) <> 0 Then
PathToFollow(Sequence) = FF13_2_Resolution_du_cadran_Fonction_Recursive(Clock(), PathToFollow(), FirstClockNeedle, Sequence, NumberOfCases)
End If
If Clock(SecondClockNeedle) <> 0 Then
PathToFollow(Sequence) = FF13_2_Resolution_du_cadran_Fonction_Recursive(Clock(), PathToFollow(), SecondClockNeedle, Sequence, NumberOfCases)
End If
End If
If Not (Clock(0) = 0 And Clock(1) = 0 And Clock(2) = 0 And Clock(3) = 0 And Clock(4) = 0 And Clock(5) = 0 And Clock(6) = 0 And Clock(7) = 0 And Clock(8) = 0 And Clock(9) = 0 And Clock(10) = 0) Then
Clock(SelectedCase) = ValueCase
Sequence = Sequence - 1
Else
FF13_2_Resolution_du_cadran_Fonction_Recursive = SelectedCase
Sequence = Sequence - 1
End If
End If
End Function
Sur /Ff132/ff132_monts_yaschas_110_ac.php