Autorisation : Membre
Nb de messages : 6
Inscrit le : Ven 23 Nov 2012, 23:54
Posté le : Sam 24 Nov 2012, 0:11
Voila , je viens a vous aujourd’hui pour vous présenter un programme que j'ai entièrement réalisé,ce programme est un programme ( jusque là , ça va ) qui code et décode un message grâce a la méthode Vigenere ( ==> http://fr.wikipedia.org/wiki/Chiffre_de_Vigen%C3%A8re )
Donc je vous met a disposition le lien du téléchargement du .83p
Au menu , il y a deux possibilités , soit le codage , soit le décodage , pour crypter un message il suffit de le rentrer , puis entrer la clé de cryptage.
Après quelque secondes le résultat est sauvegardé dans la Chaine0 et est consultable.
Sur le même principe , pour le décodage , il suffit de rentrer le message crypté ainsi que la clé de cryptage utilisée pour coder le message.Le résultat du décryptage est , tout comme pour le codage , enregistré dans la Chaine0.
Je souhaiterait remercier une personne sans qui ce programme n'aurait pas été réalisé , il s'agit de charlesjean , un bon ami qui m'a appris il y a deux semaine les rudiments des chaines et en même temps m'a redonner goût à la programmation sur calculatrice.
---------------------- "Si Vis Pacem , Para Bellum"
Periclès
Autorisation : Membre
Nb de messages : 3767
Inscrit le : Lun 19 Oct 2009, 21:25
Posté le : Sam 24 Nov 2012, 11:06
Si tu postes le code sur le forum en plus du téléchargement ce sera plus attrayant.
Je me demande pourquoi tu as utilisé des If alors que tu sais te servir des fonctions inString et sub.
Je vais chercher comment l'optimiser et essayer d'expliquer chaque point.
EDIT : je ne sais pas pourquoi la page a bugué après mon post.
---------------------- ti82statfr: 2008, inscrit: 2009, ti84pocketfr: noël2011, ti30xbmultiview: iut 2012-2014
Perfectionniste, manque tact. Pas le temps de tout publier depuis 2011. Répond toujours aux questions. (rédigé juin 2014)
Autorisation : Membre
Nb de messages : 661
Inscrit le : Mer 23 Mai 2012, 17:28
Posté le : Sam 24 Nov 2012, 11:34
Je crois plutôt que c'est le post précédent qui a fait bugué la page. Si je me souviens bien, ça arrivait lorsque le membre utilisait un ordi portable. Si quelqu'un pouvait éditer son post en ajoutant des retours à la ligne, ça serait pas de refus.
Autorisation : Membre
Nb de messages : 6
Inscrit le : Ven 23 Nov 2012, 23:54
Posté le : Dim 25 Nov 2012, 4:41
Linkakro , j'ai utilisé les If pour plus de transparence sur le programme , bien sur , il n'est pas optimisé mais c'est une habitude que j'ai pris , et merci Alex d'avoir poster le code , j'avais du mal a me résoudre a le recopier a la main sur le site.
---------------------- "Si Vis Pacem , Para Bellum"
Periclès
// je n'ai pas examiné l'algorithme. Plus tard peut-être.
While A-Y // la soustraction fait comme l'inégalité
0üC
H+1üH
If H>Z
1üH
sub(Str2,H,1)üStr4
inString(Str3,Str4)üC
1+FüF
If F>Y
1üF
sub(Str1,F,1)üStr7
inString(Str3,Str7)üG
If W // correspond à " si W non nul " : on crypte
Then
C+GüC
If C>37 // 37 au lieu de 26 à cause des caractères que j'ai ajoûté
C-37üC
Else // on décrypte
G-CüC
If C<0
C+37üC
End
Lbl 3
ClrHome
Output(1,1,"ESPACES,LETTRES, // modifié en lien avec Str3
Output(2,1," CHIFFRES,
Output(3,1," SUPPORTES
Output(5,1," LE MESSAGE EST
Output(6,1," STOCKE DANS
Output(7,1," Str0
Output(8,1,"(VAR ==> CHAINE)
Pause
Goto 45
Lbl 4
ClrHome
Output(2,1," PROGRAMME
Output(3,1," CREE , EDITE
Output(4,1," ET DEVELLOPE
Output(5,1," PAR KRIGGLAX
Output(8,1," COPYRIGHT 2012
Pause
Goto 45
Lbl 5
// suppression de Stop
J'ai rassemblé les deux Labels de cryptage et décryptage car ils sont pratiquement identiques.
En particulier la variable P qui se remplace par C.
Code
If length(Str0)-1=length(Str1) // If length(Str0)-1-length(Str1)
Goto 9 // End
End //
Lbl 9 //
Il fallait inverser le test pour pouvoir contrôler le End au lieu de Goto. Le test "inégal" est ensuite remplacé par une soustraction des membres.
---------------------- ti82statfr: 2008, inscrit: 2009, ti84pocketfr: noël2011, ti30xbmultiview: iut 2012-2014
Perfectionniste, manque tact. Pas le temps de tout publier depuis 2011. Répond toujours aux questions. (rédigé juin 2014)
Autorisation : Membre
Nb de messages : 32
Inscrit le : Lun 08 Oct 2012, 18:28
Posté le : Lun 26 Nov 2012, 21:52
très bonne optimisation,cala donnera des idées aux nouveaux quine savent pas comment le faire
---------------------- une journée sans rire est une journée perdue .
rire 30 minutes par jour rends la santé et augmente la durée de vie!
(ne remplace pas l'avis d'un spécialiste ou d'un professionnel de la santé,veuillez consulter un médecin)
Autorisation : Membre
Nb de messages : 32
Inscrit le : Lun 08 Oct 2012, 18:28
Posté le : Mar 27 Nov 2012, 19:40
dans ce cas le mieux est de changer tous les "32" par des "longueur(Chaine3)"
---------------------- une journée sans rire est une journée perdue .
rire 30 minutes par jour rends la santé et augmente la durée de vie!
(ne remplace pas l'avis d'un spécialiste ou d'un professionnel de la santé,veuillez consulter un médecin)
Autorisation : Membre
Nb de messages : 32
Inscrit le : Lun 08 Oct 2012, 18:28
Posté le : Jeu 29 Nov 2012, 20:18
bonne chance (il te faudra un dictionnaire intégré)
---------------------- une journée sans rire est une journée perdue .
rire 30 minutes par jour rends la santé et augmente la durée de vie!
(ne remplace pas l'avis d'un spécialiste ou d'un professionnel de la santé,veuillez consulter un médecin)
Autorisation : Membre
Nb de messages : 3767
Inscrit le : Lun 19 Oct 2009, 21:25
Posté le : Ven 30 Nov 2012, 20:40
Crible et mathématiques.
Et peut-être même qu'il exploite des méthodes déjà trouvées.
---------------------- ti82statfr: 2008, inscrit: 2009, ti84pocketfr: noël2011, ti30xbmultiview: iut 2012-2014
Perfectionniste, manque tact. Pas le temps de tout publier depuis 2011. Répond toujours aux questions. (rédigé juin 2014)