La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Le SuDoKu Enseignant responsable : Kanoui Henry André Julie Bruder Cécile Groupe D1.

Présentations similaires


Présentation au sujet: "Le SuDoKu Enseignant responsable : Kanoui Henry André Julie Bruder Cécile Groupe D1."— Transcription de la présentation:

1 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 dindice 0 contient la valeur de la case, ou 0 si la case na pas encore été trouvée. La case dindice i contient 1 si i est candidat, 0 sinon. Pour supprimer un candidat i, on positionne la case dindice 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 nont plus quun seul candidat. Si les fonctions de réduction ne suffisent pas à résoudre la grille, une fonction de BackTrack sen charge.

6 R1 : exemple Ligne157824726835782485789 Ligne123456789Tmp 1100000000 5780000101101i = 2 247010100100 268010001010 3001000000 5780000101101 248010100010 5780000101101 9000000001

7 R2 : exemple Ligne157824626835762484689 CandidatTmp 1100000000 2001100100 3000010000 4001000110 50100010001i = 5 6001101010 70100010001 8010100110 9000000001

8 R3 : exemple Col 3126190 267840 5656579125673129485671

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 Quil 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 dappliquer nos connaissances de façon concrète sur un sujet intéressant.


Télécharger ppt "Le SuDoKu Enseignant responsable : Kanoui Henry André Julie Bruder Cécile Groupe D1."

Présentations similaires


Annonces Google