Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

CRYPTARITHMES, SOLUTION ADDITIONS CRYPTÉES


Information sur la source

Catégorie :Maths Classé sous : cryptarithme, solution, addition Niveau : Débutant Date de création : 06/09/2007 Vu / téléchargé: 3 035 / 234

Note :
7,5 / 10 - par 2 personnes
7,50 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

Commentaire sur cette source (4)
Ajouter un commentaire et/ou une note

Description

Cliquez pour voir la capture en taille normale
Il s'agit d'un petit devoir de vacances, un programme complet, et non la résolution d'une difficulté de programmation ( niveau débutant): additions cryptées.

L'intérêt de ce programme est qu'il résout les problèmes de cryptarithmie, sans être trop pressé car la méthode utilisée est la force brute (énumération). La définition des cryptarithmes est donnée dans le fichier 'définition.txt' dans le zip. Des énoncés de problèmes sont aussi fournis ( ils présentent aussi des exemples de règles d'écriture ).

La règle d'écriture des énoncés est la suivante:
La ligne contenant le premier mot doit commencer par un espace.
Chaque mot nouveau doit être sur une nouvelle ligne, commençant par un '+'
La ligne de tirets est optionnelle pour la lisibilité.
La ligne de résultat est une nouvelle ligne commençant par '='

 

Conclusion

Le programme commence par analyser le nombre de lettres différentes ( pas plus de 26 ); puis il vérifie si la valeur attribuée peut commencer à 0 ou à 1 ( valeur de 'premier').

Ensuite un compteur est attribué à chaque lettre, et l'ensemble des compteurs fonctionne comme les roues d'un compteur kilométrique: quand un compteur à fait un tour, il incrémente le compteur suivant... et ainsi de suite jusqu'a ce que le dernier compteur atteigne 9.

Si le problème admet des centaines de solutions, il est souhaitable d'arrêter avant la fin, d'où la présence d'un test d'arrêt. Pour stopper le programme, il est possible de mettre le test à 0.

Pour vérifier que le programme n'est pas arrété, une petite procédure d'affichage d'étoiles montre le progression en mode texte. Une ligne d'affichage montre le test de codage du dernier compteur ( pour suivre l'avance de l'analyse ). Jusqu à 8 lettres différentes, le traitement est assez rapide; ensuite...

Pour moi, le code est suffisamment commenté. J'ai ajouté beaucoup de variables inutiles, et je n'ai pas utilisé de syntaxe du genre 'With' pour suivre les variables en cas de débuggage, et simplifier la lisiblité. Je pense que le code est assez simple pour être compilé dans de nombreuses versions de DELPHI.

On pourrait rendre l'écriture du code plus élégante, plus compacte, avec plus de contrôles sur les différents types d'erreurs, mais ce n'était pas mon but. Je laisse le soin aux graphistes d'enjoliver l'interface pour en faire un produit fini si le programme présente un intérêt.
 

Fichier Zip

Pour les "Membres Club", vous pouvez télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip

Commentaires et avis

signaler à un administrateur
Commentaire de cantador le 06/09/2007 19:57:16

ROUE + ROUE = VELO
TOI + MOI = ZERO
etc..

cà donne quoi FOXI + CIREC = ?
ou CARIBENSILA + MAURICIO = ?

je sens qu'on va s'amuser un peu..
je mets 6/10.

signaler à un administrateur
Commentaire de John Dogget le 07/09/2007 00:36:41

J'aime bien l'idée :)

Par contre, comme je le pensais, le programme monopolise les ressources tant qu'il tourne.
En ajoutant un petit "Application.ProcessMessage" dans la boucle principale, ça resoudrait peut être le problème.

Le code est bien écrit aussi, ça joue en ta faveur, je te mets un 8/10.
De mon côté je vais chercher une solution plus rapide (si c'est possible ^^)

signaler à un administrateur
Commentaire de cantador le 08/09/2007 16:01:19

SIX + HUIT = SEPT !

signaler à un administrateur
Commentaire de mcoppa le 03/01/2008 16:58:49 7/10

Il y a une solution hyper rapide à cette adresse, mais pas le source :
http://www.fafa.teaser-hosting.com/crypta.php
Bravo quand même pour ta solution.

Ajouter un commentaire

Discussions en rapport avec ce code source dans le forum

planing [ par pasoif ] bonjourca fait au moins un an que je cherche a faire un planing sous access ou nimporte quelle autre log de base de donne et je ne trouve pas de solu Probleme de débutant [ par Naxo ] BonjourAlors moi je me retrouve face à un probleme dont la solution estcertainement très simple mais bon... Après avoir cherché j'ai rien trouvé :|Je Probleme de débutant [ par Naxo ] BonjourAlors moi je me retrouve face à un probleme dont la solution estcertainement très simple mais bon... Après avoir cherché j'ai rien trouvé :|Je Question de dbGrid [ par Raoutas ] Bonjour tout le monde !!!J'ai un petit problême j'ai un dbGrid de 5, 6 colonnes et j'aimerais que certaines soit consultable et d'autres modifiables. Question de dbGrid [ par Raoutas ] Bonjour tout le monde !!!J'ai un petit problême j'ai un dbGrid de 5, 6 colonnes et j'aimerais que certaines soit consultable et d'autres modifiables. Addition de deux TEdit [ par fred23 ] Bonjour,Je suis "tres" débutant et je n'arrive même pas a additionner les valeurs contenues dans deux TEdit distincts pour afficher le résultat dans u Faire une Liste avec des Records [ par Emandhal ] Alors voilà mon problème...jusque ici je l'ai résolu assez facilement par une solution différente mais bon c'est pas celle que je veux et puis... cett ListView [ par VERTY ] Je cherche une solution pour arranger les icones de mon bureau en haut,a gauche ,en bas et a droite.Je sais qu'il faut utiliser ListView_Arrange mais Recherche d'une solution [ par BRIVE ] bonjourComment supprimer,par programmation,avec DELPHI6 ,un répertoire ou sous-répertoire dans C:Mercibrive encore problème en T.P [ par pheubus ] pheubusMerci de m'avoir donné une solution pour mon problème d'incompatibilité de mon clavier avec le T.P .Reste que l'on me donne la solution: si ton


Nos sponsors

Sondage...

CalendriCode

Octobre 2008
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,296 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.