Outils pour utilisateurs

Outils du site


nsi:projets:tableaux:sudoku

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
nsi:projets:tableaux:sudoku [2021/12/27 12:07] – ↷ Page déplacée de nsi:tableaux:sudoku à nsi:projets:tableaux:sudoku goupillwikinsi:projets:tableaux:sudoku [2024/12/05 16:39] (Version actuelle) goupillwiki
Ligne 1: Ligne 1:
 ====== Solveur de Sudoku ====== ====== Solveur de Sudoku ======
  
-{{page>nsi:tds:sudoku#Présentation&nofooter}}+{{page>nsi:tds:jeux:sudoku#Présentation&nofooter}}
  
 ===== Méthode de résolution ===== ===== Méthode de résolution =====
  
-{{page>nsi:tds:sudoku#Dernier candidat possible&nofooter&noheader}}+{{page>nsi:tds:jeux:sudoku#Dernier candidat possible&nofooter&noheader}}
  
 ===== Implémentation ===== ===== Implémentation =====
Ligne 11: Ligne 11:
 ==== Choix d'une représentation pour la grille ==== ==== Choix d'une représentation pour la grille ====
  
-{{page>nsi:tds:sudoku#Stocker la grille en mémoire&noheader&nofooter}}+{{page>nsi:tds:jeux:sudoku#Stocker la grille en mémoire&noheader&nofooter}}
  
 ==== Fonctions utiles ==== ==== Fonctions utiles ====
Ligne 20: Ligne 20:
 # solveur de sudoku # solveur de sudoku
  
-# grille représente une grille de sudoku. À vous de décider de son organisation+# grille représente une grille de sudoku.
  
-def connnus_ligne(grille, ligne):+def read_cell(grille:list, ligne:int, col:int) -> int: 
 +    ''' 
 +    renvoie le contenu de la grille pour ligne et colonne indiquée 
 +    ''' 
 + 
 +def set_cell(grille:list, ligne:int, col:int, valeur:int): 
 +    ''' 
 +    Écrit la valeur désirée dans la grille, à la ligne et colonne indiquée. 
 +    ''' 
 + 
 +def connnus_ligne(grille:list, ligne:int-> list:
     '''     '''
     cette fonction renvoie tous les chiffres déjà écrits dans une certaine ligne     cette fonction renvoie tous les chiffres déjà écrits dans une certaine ligne
Ligne 29: Ligne 39:
     '''     '''
          
-def connus_colonne(grille, colonne):+def connus_colonne(grille:list, colonne:int-> list:
     '''     '''
     même chose pour une colonne     même chose pour une colonne
     '''     '''
  
-def connus_region(grille, ligne, colonne):+def connus_region(grille:list, ligne:int, colonne:int-> list:
     '''     '''
     même chose pour une région     même chose pour une région
     '''     '''
          
-def restants(grille, ligne, colonne):+def restants(grille:list, ligne:int, colonne:int-> list:
     '''     '''
     cette fonction, pour une certaine ligne et colonne,     cette fonction, pour une certaine ligne et colonne,
Ligne 48: Ligne 58:
     '''     '''
  
-def solve(grille):+def solve(grille:list):
     '''     '''
-    parcours la grille à la recherche de case vides+    parcourt la grille à la recherche de case vides
     pour chaque case vide, regarde les candidats possibles,     pour chaque case vide, regarde les candidats possibles,
     s'il n'y en a qu'un seul, écrit ce candidat dans la case.     s'il n'y en a qu'un seul, écrit ce candidat dans la case.
Ligne 66: Ligne 76:
   * Bien documenter les fonctions   * Bien documenter les fonctions
   * prévoir au moins un exemple de résolution   * prévoir au moins un exemple de résolution
 +</WRAP>
 +
 +<WRAP danger>
 +J'ai vu de nombreuses fois des élèves utilisant une méthode toute faite à base de fonction récursive et à laquelle ils ne comprenaient pas grand chose...
 +
 +Cette méthode est **interdite** pour ce projet : pas de fonction récursive.
 </WRAP> </WRAP>
nsi/projets/tableaux/sudoku.1640603263.txt.gz · Dernière modification : de goupillwiki