begin process at 2010 03 22 09:31:46
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Maths

 > CRYPTARITHMES, SOLUTION ADDITIONS CRYPTÉES

CRYPTARITHMES, SOLUTION ADDITIONS CRYPTÉES


 Information sur la source

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

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Maths Classé sous :cryptarithme, solution, addition Niveau :Débutant Date de création :06/09/2007 Vu / téléchargé :4 614 / 266

Auteur : IA93

Ecrire un message privé
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

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip


 Sources du même auteur

Source avec Zip SYNCHRONISATION-FICHIERS (MODIFICATION DE TIGRIS1)
Source avec Zip Source avec une capture MAJ SEMI-AUTOMATIQUE DE NUMVERSION, DATE ET HEURE DE COMPILA...

 Sources de la même categorie

Source avec Zip Source avec une capture CONVERTISSEUR D'UN NOMBRE DÉCIMAL EN BINAIRE ET HEXADECIMAL par ludokk
Source avec Zip Source avec une capture PREMIER OU PAS? par ludokk
Source avec Zip Source avec une capture CONJECTURE DU CARRÉ DES FACTEURS par Bacterius
Source avec Zip Source avec une capture GÉNÉRATEUR DE NOMBRES PSEUDO-ALÉATOIRES par Bacterius
Source avec Zip Source avec une capture ALGORITHME DE HASH LEA par Bacterius

 Sources en rapport avec celle ci

Source avec Zip Source avec une capture EQUATIONS DE DEGRÉ 4 DANS C par barbichette
Source avec Zip EQUATION par mihoubi3333
Source avec Zip Source avec une capture ET UNE CALCULETTE DE PLUS... par Debiars

Commentaires et avis

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.

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 ^^)

Commentaire de cantador le 08/09/2007 16:01:19

SIX + HUIT = SEPT !

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...

Comparez les prix

CalendriCode

Mars 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), 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

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,390 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales