int(,) Sudoku(8,8)
Faire
Integer I,J
Pour I = 0 , est < LimiteSuppérieure(0) , i incrémente UN
Pour J = 0 , est < LimiteSuppérieure(1) , j incrémente UN
Si valeur(Sudoku(i,j)) = rien (nothing ou null...) alors
Debut Si
TrouverNombre(i,j)
Fin Si
Prochain
Prochain
Tant que CompterBlanc() > 0
Méthode TrouverNombre(Int DimensionZero,Int DimensionUN)
Faire
SI
Verifierligne(DimensionUN,nbr) == FAUX &&
VerifierColonne(DimensionZero,nbr) == FAUX &&
VerifierBoite(DimensionZero,DimensionUN,nbr) == FAUX alors
Debut Si
EcrireNbr(DimensionZero,DimensionUN,nbr)
Sortir .. (Exit,ou I=8)
Fin Si
I = I+1
Tant que I <> 8
Fin méthode
Fonction Verifierligne(Int DimensionUN,int nbr)
Integer I
Pour I = 0 , est < LimiteSuppérieure(0) , i incrémente UN
si valeur(sudoku(I,DimensionUN)) = nbr alors
Debut Si
Retourne VRAI
Fin Si
Prochain
Retourne FAUX
Fin Fonction
Fonction VerifierColonne(Int DimensionZero,int nbr)
Integer I
Pour I = 0 , est < LimiteSuppérieure(1) , i incrémente UN
si valeur(sudoku(DimensionUN,I)) = nbr alors
Debut Si
Retourne VRAI
Fin Si
Prochain
Retourne FAUX
Fin Fonction
Fonction VerifierBoite(int DimensionZero,int DimensionUN,int nbr)
Fin Fonction
Méthode EcrireNbr(Int DimensionZero,Int DimensionUN,int nbr)
valeur(Sudoku(DimensionZero,DimensionUN)) = nbr
Fin Méthode
Fonction CompterBlanc()
Integer I,J,NBR
Pour I = 0 , est < LimiteSuppérieure(0) , i incrémente UN
Pour J = 0 , est < LimiteSuppérieure(1) , j incrémente UN
Si valeur(Sudoku(i,j)) = rien (nothing ou null...) alors
Debut Si
NBR = NBR + 1
Fin Si
Prochain
Prochain
Fin Fonction