Accueil > > > CRYPTARITHMES, SOLUTION ADDITIONS CRYPTÉES
CRYPTARITHMES, SOLUTION ADDITIONS CRYPTÉES
Information sur la source
Description
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.
Sources du même auteur
Sources de la même categorie
Commentaires et avis
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
|
Derniers Blogs
[WF4] PASSAGE D'ARGUMENTS LITERAL, VISUALBASICVALUE OU LAMBDAVALUE?[WF4] PASSAGE D'ARGUMENTS LITERAL, VISUALBASICVALUE OU LAMBDAVALUE? par JeremyJeanson
Avec la sortie de la RC de Visual Studio 2010, Microsoft a mis un peu les points sur leS i en ce qui concernait le passage d'arguments. Mais nous somme un certain nombre à avoir pris ce changement comme un coup dur. Pour résumer la situation : à la sortie...
Cliquez pour lire la suite de l'article par JeremyJeanson [RIA SERVICES] INCLUDE ET DOMAINDATASOURCE[RIA SERVICES] INCLUDE ET DOMAINDATASOURCE par Audrey
Dans un de mes articles précédents , j'avais parlé des DomainDataSource avec RIA Services dans le cas d'une interface Maître - Détail. Dans le même principe, je vais parler d'une autre manière de mettre en forme ce cas d'interface avec RIA Services. Et po...
Cliquez pour lire la suite de l'article par Audrey ZUNE : VERSION ZUNE SOFTWARE V 4.2 ET LA SOCIALISATIONZUNE : VERSION ZUNE SOFTWARE V 4.2 ET LA SOCIALISATION par ROMELARD Fabrice
Une des nouveautés de la version V 3.0 était l'apparition de l'onglet Social qui ne fonctionnait que si le MarketPlace était activé sur son poste. Cela limitait donc son intérêt, car hors du cadre commercial USA-CANADA, peu de monde trouva...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice PRATIQUE DE SILVERLIGHT PAR ERIC AMBROSIPRATIQUE DE SILVERLIGHT PAR ERIC AMBROSI par MPOWARE
Je viens de finir la lecture du dernier livre d'
Eric Ambrosi
éditions PEARSON
Son livre donne une approche pratique de Silverlight qui sera aussi bien comprise par le développeur que par le designeur.
Tous les aspects du développement RIA sont abor...
Cliquez pour lire la suite de l'article par MPOWARE APPRENDRE à DéVELOPPER POUR LES MOBILES AVEC LA NOUVELLE GéNéRATION .NETAPPRENDRE à DéVELOPPER POUR LES MOBILES AVEC LA NOUVELLE GéNéRATION .NET par odewit
2 déclinaisons de Silverlight et 2 déclinaisons de Mono permettent dorénavant (ou permettront prochainement) de développer des applications .NET mobiles pour les principales plates-formes du marché :
Silverlight pour Symbian, basé sur Silverlight 2...
Cliquez pour lire la suite de l'article par odewit
Forum
RE : DELPHIRE : DELPHI par overtaker
Cliquez pour lire la suite par overtaker RE : DELPHIRE : DELPHI par rt15
Cliquez pour lire la suite par rt15
Logiciels
Academy System (10.9.4.0)ACADEMY SYSTEM (10.9.4.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System Xilisoft Convertisseur Vidéo Ultimate (5.1.39.0305)XILISOFT CONVERTISSEUR VIDéO ULTIMATE (5.1.39.0305)Xilisoft Convertisseur Vidéo Ultimate est un outil puissant de conversion vidéo, facile à utilise... Cliquez pour télécharger Xilisoft Convertisseur Vidéo Ultimate Xilisoft DVD Ripper Ultimate (5.0.64.0304)XILISOFT DVD RIPPER ULTIMATE (5.0.64.0304)Xilisoft DVD Ripper Ultimate est un logiciel excellent pour copier et convertir DVD vers presque ... Cliquez pour télécharger Xilisoft DVD Ripper Ultimate Rigs of Rods (63.3)RIGS OF RODS (63.3)c'est un jeu de multi-simulation camions,autobus voitures, avions, bateaux, hélicoptère avec défo... Cliquez pour télécharger Rigs of Rods
|