Autorisation : Membre
Nb de messages : 1366
Inscrit le : Ven 25 Mar 2011, 22:58
Posté le : Mar 02 Aoû 2011, 18:53
Bonjour/bonsoir,
voici un programme qui permet d'archiver-désarchiver des nombre entiers postifs allant de 0 à 2^19-1dans une image (une liste de 315 termes max est prise en entrée, une de 315 termes est renvoiée en sortie).
Autorisation : Membre
Nb de messages : 3738
Inscrit le : Lun 19 Oct 2009, 21:25
Posté le : Mer 03 Aoû 2011, 15:36
Cela doit être un peu lent.
Je doûte que cela soit rentable vue la mémoire des pics.
Néanmoins un tel stokage peut permettre d'archiver des valeurs discrètement.
Perso je privilégierai un prog façon anti-sèche.
:95fPart(19A/95)
Calcule un reste. Mais il peut y avoir une erreur d'arrondit.
L'autre calcul de reste plus stable est :19A-95iPart(19A/95)
EDIT : le problème signalé précédemment vient du nombre à virgule donné dans la liste.
Il est peut-être possible d'augmenter le maximum de chaque nombre au dépend de leur quantité.
(avec la méthode Binaire Codé Décimal dans une grande base (autre que 10))
D'ailleurs j'ai bossé sur une méthode de stockage d'image qui SEMBLE être juste le contraire de ce stockage de nombres.
---------------------- 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 : 1366
Inscrit le : Ven 25 Mar 2011, 22:58
Posté le : Mer 03 Aoû 2011, 17:53
C'est normal que ça bug si tu utilise un nombre à virgule, [moi] un programme qui permet d'archiver-désarchiver des nombre entiers postifs allant de 0 à 2^19-1[/quote] ça vient du fait que l'encodage ce fait en binaire et que la conversion dec->bin est difficile pour les nombres décimaux (il faut un système de chiffres signifficatifs assossiés à une puisaance de 10).
Pour l'utilité, elle est quand même non négligeable (764 pour une image contre 2844 pour une liste de 315 termes).
Pour les belles images, je n'ai pas trop testé, mais j'ai bien aimé:
Code
Suite(X²+X,X,1,315
Sandro
PS : on peut aussi s'en servir pour stocker des images, mais ce n'est pas du tout optimisé pour.
Sinon, pour stocker les pic en liste, je crois que c'est toujour moins optimisé que le pic lui même car dans la mémoire interne, tout est en binaire/héxadécimal donc 1 octé=8 pixels donc 9 octés (la taille d'unterme d'une liste)=72 pixels, il faudrait donc pouvoir stocker des nombres dans chaque terme de façon à avoir au moins 2^72-1=4.722366483.10^21 possibilitées différentes, hors un nombre ne contient que 14 chiffres significatifs + même pas 3 de placement de la virgule soit même pas 17 chiffres en tout, donc pas même 1.10^17 possibilitées : on est loin du compte pour avoir une optimisation équivalente.
---------------------- mort à l'inutile, place à la mémoire libre et aux programmes
Autorisation : Membre
Nb de messages : 2086
Inscrit le : Sam 23 Jan 2010, 20:09
Posté le : Jeu 04 Aoû 2011, 11:20
avec 14 chiffres significatifs, j'avais fait un programme qui permettait d'enregistrer des images en listes sans pertes d'octets, mais il devait y avoir max de 7 pixels allumés par verticale.
Autorisation : Membre
Nb de messages : 1366
Inscrit le : Ven 25 Mar 2011, 22:58
Posté le : Jeu 04 Aoû 2011, 12:20
Oui, on peu faire souvant mieux, mais ça ne marche pas toujours, ça dépond du dessin (par example en ne notant que les longueurs de chaque conleur ( L(noirL(blanc)*10+L(noir)*100+...) ).
Sandro
---------------------- mort à l'inutile, place à la mémoire libre et aux programmes