Télécharger la présentation
La présentation est en train de télécharger. S'il vous plaît, attendez
1
Enseignant responsable :
Le SuDoKu Enseignant responsable : Kanoui Henry André Julie Bruder Cécile Groupe D1
2
SuDoKu Le SuDoKu est une grille constituée de 9 lignes et 9 colonnes formant 9 blocs de 3x3 cases. Le but est de la remplir avec les chiffres de 1 à 9 en respectant cette règle : chaque chiffre doit apparaître une et une seule fois sur chaque ligne, colonne, bloc.
3
Représentation des données
Nous avons choisi de représenter la grille de SuDoKu par un tableau à deux dimensions composé de 81 cases. Chaque case est une structure contenant : - Un tableau de 10 entiers représentant la valeur de la case et l'ensemble des candidats - Un code couleur pour distinguer les cases rentrées par l'utilisateur (en rouge) de celles trouvées par le programme (en vert)
4
Ensemble de candidats → Dans le tableau de candidats, la case d’indice 0 contient la valeur de la case, ou 0 si la case n’a pas encore été trouvée. → La case d’indice i contient 1 si i est candidat, 0 sinon. → Pour supprimer un candidat i, on positionne la case d’indice i à 0. Si tous les candidats sauf un sont à 0, ce dernier représente la valeur de la case.
5
Méthode de résolution Nous appliquons répétitivement des règles de réduction (RegleRemplissage, R1, R2, R3) sur l'ensemble des candidats jusqu'à ce que la grille soit complétée. Après chaque appel, la fonction D1 attribue les valeurs aux cases qui n’ont plus qu’un seul candidat. Si les fonctions de réduction ne suffisent pas à résoudre la grille, une fonction de BackTrack s’en charge.
6
R1 : exemple Ligne 1 578 247 268 3 248 9 2 4 5 6 7 8 Tmp i = 2
7
R2 : exemple Ligne 1 578 246 268 3 576 248 468 9 Candidat Tmp 2 4 5
2 4 5 i = 5 6 7 8
8
R3 : exemple Col 3 126 19 267 8 4 56 579 12 567 129 1
9
Bilan A travers ce projet, nous avons appris à :
→ Réfléchir à la structure de données avant de se lancer dans le code → Se répartir le travail : mettre en place les bases ensemble, puis développer les fonctions individuellement → Qu’il fallait mieux gérer notre temps (planifier le travail) : nous avons en effet eu des problèmes de retard, nous ne pensions pas pouvoir finir le BackTrack
10
Bilan → Un projet est une expérience enrichissante car il nous permet de développer un programme dans sa totalité (de la conception à la réalisation). → On a pu également chercher des informations par nous-mêmes, indépendamment de notre cours de C. → Ce projet nous a permis d’appliquer nos connaissances de façon concrète sur un sujet intéressant.
Présentations similaires
© 2024 SlidePlayer.fr Inc.
All rights reserved.