Inscription / Connexion Nouveau Sujet
Niveau algorithmique
Partager :

Algorithme pour la saisie d'information

Posté par
Riley
22-01-15 à 17:08

Bonjour à tous, je suis en train de faire différents exos d'application et on me demande de concevoir un algorithme qui permet de saisir et valider ces informations:

1-Nom: Une chaine de caractère dont la longueur est comprise entre 3 et 25 caractères.
2-Prénom: Une chaine de caractère dont la longueur est comprise entre 3 et 25 caractères.
3-Mon choix: 1 pour Sudoku débutant, 2 pour Sudoku intermédiaire et 3 pour Sudoku avancé. Dépendamment du nombre entré par le joueur, vous devez afficher  soit  Sudoku débutant, Sudoku intermédiaire ou Sudoku avancé.

Ce que j'ai fait:

Algorithme

1-Nom joueur
      1.1-Afficher "Votre nom:"
      1.2-Permettre l'écriture d'une chaîne de caractères entre 3 et 25 nommée name1.
      1.3-Si chaîne de caractère ne correspond pas retour et afficher à 1.1
      1.4-Sinon extraire name1
      1.6-Enregistrer name1

           2-Prénom joueur
                     2.1-Afficher "Votre prénom:"
                     2.2-Permettre l'écriture d'une chaîne de caractères entre 3 et 25 nommée name2.
                     2.3-Si chaîne de caractère ne correspond pas retour et afficher à 2.1
                     2.4-Sinon extraire name2
                     2.5-enregistrer name2
                    
3- Choix du niveau de jeu
      3.1-Afficher "Veuillez choisir votre niveau de jeu parmi les suivants"
      3.2-Afficher "Tapez 1 pour Sudoku débutant, tapez 2 pour Sudoku intermédiaire, tapez 3 pour Sudoku avancé"
      3.3-Permettre seulement l'écriture d'un chiffre, soit 1, soit 2, soit 3
      3.4-Si chiffre ne correspond pas retour à 3.2
      3.5-Sinon extraire le chiffre entré par le joueur.
      3.6-Enregistrer ce chiffre
      3.7-Suivant le chiffre enregistré 1,2 ou 3 afficher la grille correspondant a ce chiffre.

Est ce correct selon vous ?
Merci d'avance de votre réponse.
      
      
      

Posté par
Riley
faute :Algorithme pour la saisie d'informations 22-01-15 à 17:09

faute :Algorithme pour la saisie d'informations
j'ai oublié un "s" désolé

Posté par
Riley
re : Algorithme pour la saisie d'information 22-01-15 à 19:43

Posté par
Revelli
re : Algorithme pour la saisie d'information 22-01-15 à 20:05

Bonsoir,

Cela parait correct

Il manque juste peut-être les possibilités suivantes:

- revenir à la question précédente

- quitter le jeu

Posté par
Riley
re : Algorithme pour la saisie d'information 22-01-15 à 23:19

Parfait je rajoute ça, je te remercie de m'aider, on me demande de faire aussi les algorithmes de niveau expert.
Voici ce que j'ai fait:


L'intersection :

Description : Chaque case est à l'intersection d'une ligne et d'une colonne, par

conséquent, chaque case vide ne peut contenir qu'un chiffre non présent dans sa

ligne et dans sa colonne; cette technique doit être appliquée à chaque case vide.

Algorithme :

1 - Pour chaque case vide du tableau (81).
2 - Le chiffre doit être différent de ceux présent dans la colonne et la ligne à l'intersection de cette case vide.




La paire exclusive :

Description : Lorsque deux cases vides d'une même ligne, d'une même colonne ou d'un

même carré ne peuvent contenir que deux mêmes chiffres, alors les autres cases vides

de cette ligne, de cette colonne ou de ce carré ne peuvent pas contenir ces deux

chiffres.

Algorithme :

1 - Choisir une ligne, une colonne ou un carré.
2 - Pour chaque case de la forme sélectionnée, si elles existent, trouver les paires

exclusives.
2.1 - Rechercher les valeurs absentes, qui correspondent aux valeurs possibles, sur

la ligne, sur la colonne et sur carré à l'intersection de cette case.
2.2 - Dans cette forme, sélectionner deux case ayant deux valeurs possibles

seulement.
2.3 - Si les valeurs possibles sont identiques
Alors il s'agit d'une paire exclusive
3 - Enlever ces deux valeurs possibles des autres cases ayant des valeurs possibles,

à l'exception des cases contenant ces paires exclusives.

Posté par
Revelli
re : Algorithme pour la saisie d'information 23-01-15 à 06:05

Bonjour

Algorithme de l'intersection

Pour chaque case
Si finalisée alors passer à la case suivante
Sinon
  Identifier la ligne et la colonne de la case
  Pour chaque case de la ligne hors la case considérée
     Si finalisée enlever le chiffre de cette case à la case considérée
  Pour chaque case de la colonne hors la case considérée
     Si finalisée enlever le chiffre de cette case à la case considérée

Finalisée signifie qu'il reste un seul chiffre parmi les 9 possibles du départ

Algorithme de la paire

Pour chaque ligne
Identifier les cases n'ayant plus que 2 chiffres possibles
Si au moins 2 cases
Comparer les paires 2 à 2
  Si identiques enlever les paires aux 7 autres cases de la ligne

Pour chaque colonne
Identifier les cases n'ayant plus que 2 chiffres possibles
Si au moins 2 cases
Comparer les paires 2 à 2
  Si identiques enlever les paires aux 7 autres cases de la colonne

Pour chaque carré
Identifier les cases n'ayant plus que 2 chiffres possibles
Si au moins 2 cases
Comparer les paires 2 à 2
  Si identiques enlever les paires aux 7 autres cases du carré

Juste 3 remarques:

1- Il faut définir les façons de calculer un numéro de case et à l'inverse de calculer un numéro de ligne, un numéro de colonne et un numéro de carré en fonction d'un numéro de case

2- L'intersection est pour moi l'action de base du joueur de Sudoku et je ne comprends pas ce qu'elle vient faire dans un niveau Expert

3- Comme pour la paire, on peut aussi rechercher les triplets



Posté par
Riley
re : Algorithme pour la saisie d'information 23-01-15 à 11:25

Ok d'accord donc je commence par calculer le numéro de case, j'ai bien compris.
Oui moi aussi je suis d'accord. Pour me familiariser avec ce que je dois faire, je suis allé appliquer certaines techniques de résolution sur un jeu de sudoku en ligne et la technique la plus simple et facile à utiliser est l'intersection. Je ne comprend pas moi aussi pourquoi ils l'ont mise en niveau expert.

En niveau débutant ils mettent ça comme techniques:
Techniques de résolution du niveau débutant

Sur une ligne : lorsqu'une ligne ne comporte plus qu'une seule case vide, celle-ci doit forcément contenir le seul chiffre non présent dans la ligne.
Sur une colonne : lorsqu'une colonne ne comporte plus qu'une seule case vide, celle-ci doit forcément contenir le seul chiffre non présent dans la colonne.
Dans un carré : lorsqu'un carré ne comporte plus qu'une seule case vide, celle-ci doit forcément contenir le seul chiffre non présent dans le carré.

Je suis allé voir ce que c'était la technique du triplet ( elle n'y était pas dans ce qu'on m'avait donné) et oui en effet, on peut l'appliquer en modifiant légèrement l'algorithme de la paire.

Posté par
Riley
re : Algorithme pour la saisie d'information 23-01-15 à 15:42

Voilà j'ai fait ce que tu m'as dit.
J'ai rajouté l'option quitter et retour à la question que l'on veut

Algorithme de saisie de données

1-Nom joueur
      1.1-Afficher "Votre nom:"
      1.2-Permettre l'écriture d'une chaîne de caractères entre 3 et 25 nommée
          name1.
      1.3-Si chaîne de caractère ne correspond pas retour et afficher à 1.1
      1.4-Sinon extraire name1
      1.5-Enregistrer name1
      1.6-Afficher "Voulez-vous quitter l'application?(O/N)
      1.7-Permettre l'écriture de seulement un caractère, O ou N
      1.8-Si le caractère est O alors arrêt de l'application
      1.9-Si le caractère est N alors l'application poursuit

          
            2-Prénom joueur
                     2.1-Afficher "Votre prénom:"
                     2.2-Permettre l'écriture d'une chaîne de caractères entre 3 et  

                        25 nommée name2.
                     2.3-Si chaîne de caractère ne correspond pas retour et afficher

                         à 2.1
                     2.4-Sinon extraire name2
                     2.5-enregistrer name2
                     2.6-Afficher "Voulez-vous quitter l'application?(O/N)
                     2.7-Permettre l'écriture de seulement un caractère, O ou N
                     2.8-Si le caractère est O alors arrêt de l'application
                     2.9-Si le caractère est N alors l'application poursuit
                    

                    
3- Choix du niveau de jeu
      3.1-Afficher "Veuillez choisir votre niveau de jeu parmi les suivants"
      3.2-Afficher "Taper 1 pour Sudoku débutant, taper 2 pour Sudoku intermédiaire,

          taper 3 pour Sudoku avancé"
      3.3-Permettre seulement l'écriture d'un chiffre, soit 1, soit 2, soit 3
      3.4-Si chiffre ne correspond pas retour à 3.2
      3.5-Sinon extraire le chiffre entré par le joueur.
      3.6-Enregistrer ce chiffre
      3.7-Suivant le chiffre enregistré 1,2 ou 3 afficher la grille correspondant a  

     ce chiffre.
      3.8-Afficher "souhaitez-vous modifier votre nom, prénom ou votre choix de      

     difficulté? (O/N)
      3.9-Si le caractère est O alors afficher " Taper 1 pour votre nom; 2 pour      

     votre prénom; 3 pour la difficulté
      3.10-Si le chiffre est 1 alors retour à 1.1      
      3.11-Si le chiffre est 2 alors retour à 2.1
      3.12-Si le chiffre est 3 alors retour à 3.1
      3.13-Afficher "Voulez-vous quitter l'application?(O/N)
      3.14-Permettre l'écriture de seulement un caractère, O ou N
      3.15-Si le caractère est O alors arrêt de l'application
      3.16-Si le caractère est N alors l'application poursuit

Répondre à ce sujet

Seuls les membres peuvent poster sur le forum !

Vous devez être connecté pour poster :

Connexion / Inscription Poster un nouveau sujet
Une question ?
Besoin d'aide ?
(Gratuit)
Un modérateur est susceptible de supprimer toute contribution qui ne serait pas en relation avec le thème de discussion abordé, la ligne éditoriale du site, ou qui serait contraire à la loi.


Vous devez être membre accéder à ce service...

Pas encore inscrit ?

1 compte par personne, multi-compte interdit !

Ou identifiez-vous :


Rester sur la page

Désolé, votre version d'Internet Explorer est plus que périmée ! Merci de le mettre à jour ou de télécharger Firefox ou Google Chrome pour utiliser le site. Votre ordinateur vous remerciera !