Inscription / Connexion Nouveau Sujet
Niveau première
Partager :

Suite et algorithme

Posté par
Dalila39
01-10-22 à 17:09

Bonjour, j'ai un exo à faire mais je suis bloqué.
L'exercice est le suivant:
Pour stocker des photos numériques, on utilise un algorithme de compression. On estime qu'à chaque niveau de compression, la taille diminue de 21,4%.
La taille initiale d'une photo est de 4Mo. On pose T0=4 et pour tout entier naturel non nul n, Tn désigne la taille de cette photo après une compression de niveau n.
1) Calculer T1 et T2
2) Pour tout n appartient à N, exprimer Tn+1 en fonction de Tn. En déduire la nature de la suite (Tn).
3) Exprimer Tn en fonction de n.
4) Peut-on stocker 20 000 photos sur une clé USB d'une capacité de 32Go? Avec quelle compression?
5) Écrire un algorithme afin de déterminer le niveau de compression nécessaire pour stocker 100 000 photos sur une clé usb de 64Go.
6) Le programmer sous Python.

Je suis bloqué à la question. Merci pour votre aide.

Posté par
Dalila39
re : Suite et algorithme 01-10-22 à 17:12

Je suis bloqué à la question 5 excusez moi, ça s'est effacé.

Posté par
Leile
re : Suite et algorithme 01-10-22 à 17:22

bonjour,

montre tes réponses aux 4 premières questions :  si elles sont correctes, l'algorithme sera simple.

Posté par
Dalila39
re : Suite et algorithme 01-10-22 à 17:27

1) T1= 4×(1-21,4/100)=3,144Mo
T2= 3,144×(1-21,4/100)=2,5Mo
2) Tn+1= Tn(1-21,4/100)
C'est une suite géométrique.
3)Tn=4(1-21,4/100)puissance n
4)On peut stocker 20 000 photos d'une compression de 1,6Mo.

Posté par
Leile
re : Suite et algorithme 01-10-22 à 17:33

oui, c'est bien, mais T2, tu l'as arrondi, je crois.

et tu peux  calculer  (1-21,4/100)  pour donner la valeur de la raison.

en q2 : suite géométrique  de raison q= ......   et de premier terme T0=..

Q4) quel calcul as tu fait ?
C'est ce calcul qui servira pour la question 5
pour moi, il faut répondre le niveau de compression.. (combien de fois doit on compresser).

Posté par
Dalila39
re : Suite et algorithme 01-10-22 à 17:38

Alors oui pour T2 j'ai arrondi le résultat. Et pour la question 4, j'ai fait 32 000/100000 pour avoir la taille des photos qui est de 1,6Mo. Et puis j'ai continuer la suite jusqu'à tomber sur la bonne taille qui est 1,6Mo. J'ai trouvé T4= 1,9×(1-21,4/100).

Posté par
Leile
re : Suite et algorithme 01-10-22 à 17:47

T2 : n'arrondis pas.

calcule  (1-21,4/100)  pour donner la valeur de la raison.

en q2 : suite géométrique  de raison q= ......  
et de premier terme T0=....

remplis les pointillés !

Q4) je ne comprends pas ton calcul.
pourquoi diviser 32000  par 100000 ?
D'ou vient le 1,9 ??
mais continuer la suite est une bonne idée..  

chaque photo "pèse" 4 Mo
20000 photos   "pèsent"  80000 Mo
donc T0 = 80000
on peut calculer T1, T2, T3, T4
et on voit que T4 = 30533 Mo    donc avec 4 niveaux de compression, on peut ranger les 20000 sur une clé de 32Go

Posté par
Dalila39
re : Suite et algorithme 01-10-22 à 17:52

q= 0,786
T0= 4
Pour la question 4, je cherchais à savoir la taille des photos dans 32Go si je veux en mettre 20000. Mais je me suis trompé dans ma réponse. J'ai mit 100 000 à la place de 20 000. Donc du coup pour la question 5, T0 va être égale à 400000 car 4×100000= 400000?

Posté par
Leile
re : Suite et algorithme 01-10-22 à 17:55

oui, c'est ça.

Q5)  on va écrire l'algo en langage naturel.
On démarre à  T = 400000  et c'est le niveau n=0

ensuite on va faire le calcul de compression
comment écris tu cette ligne de calcul ?


Posté par
Dalila39
re : Suite et algorithme 01-10-22 à 17:57

Du coup la calcul sera 400000×0,786puissance n.

Posté par
Leile
re : Suite et algorithme 01-10-22 à 18:06

ça, c'est le calcul quand tu connais n,
mais en q4, pour t'arreter à n=4, tu as calculé T1, T2, T3, T4
donc ici, on va faire pareil , car on cherche n

T= 400000
n=0

T =  T * 0,786        ici  on fait un niveau de compression.
n=n+1                      ici, on note qu'on a fait un niveau de plus


cette partie rouge, à ton avis, on va la faire tant que quoi ?

Posté par
Dalila39
re : Suite et algorithme 01-10-22 à 18:07

Tant que le résultat n'est pas plus petit que 64000.

Posté par
Leile
re : Suite et algorithme 01-10-22 à 18:14

oui, donc ca donne :

T= 400000
n=0
tant   que  T  >  64000  faire
                 T =  T * 0,786        ici  on fait un niveau de compression.
                  n=n+1                      ici, on note qu'on a fait un niveau de plus
afficher (n)
afficher (T)

tu es d'accord ?

tu peux le programmer en python, comme demandé en question 6.

Posté par
Dalila39
re : Suite et algorithme 01-10-22 à 18:19

Oui, je vais essayer de le tester en python. Merci beaucoup, ça m'a vraiment aidé.

Posté par
Leile
re : Suite et algorithme 01-10-22 à 18:22

si tu veux, tu peux me montrer ton prog python, et ce qu'il te donne comme réponse, je te dirai si c'est correct.

Posté par
Dalila39
re : Suite et algorithme 01-10-22 à 18:29

Alors, je l'ai pas encore testé.
Def compression(n):
        T=400000
        n=0
        While T!< 64000:
                T= 400000*0.786puissance n
                n=0
                return(T)
        Print (T)
        Print (n)

Posté par
Dalila39
re : Suite et algorithme 01-10-22 à 18:38

Alors je viens de corriger:
Def compression(n):
        T=400000
        n=0
        While T!< 64000:
                T= 400000*0.786puissance n
                n=n+1
                return(T)
        Print (T)
        Print (n)

Mais il me dit qu'il y a une erreur à la ligne 4. On ne peut pas écrire "!<" ?

Posté par
Dalila39
re : Suite et algorithme 01-10-22 à 18:52

Je viens de recoriger:
Def compression(n):
        T=400000
        n=0
        While T> 64000:
                T= 400000*0.786puissance n
                n=n+1
         Else:
                Print (T)
                Print (n)

Il m'affiche:
58269.37........
9

Posté par
Leile
re : Suite et algorithme 01-10-22 à 20:12

bonsoir,


à 18;14,   je t'ai donné l'algo en langage naturel..
mais ton programme dit un truc différent.

T= 400000
n=0
tant   que  T  >  64000  faire
                 T =  T * 0,786      
                  n=n+1                    
afficher (n)
afficher (T)


la ligne en rouge est traduite en python avec "puissance n" ??
il n'y a pas de puissance n.

Ensuite, je ne vois pas pourquoi tu as écrit Else ..  
Il n'y a aucune raison de traduire un "sinon"..   d'autant qu'il n'y a pas de "if"...

58269 pour T, c'est correct.
moi, je crois qu'il faut 8 compressions, et pas 9.
en effet, si tu calcules 400000*0,786^8, tu obtiens bien 58269...

tu dis que ton programme fonctionne ?   je suis un peu étonnée..
car tu programme une "def" sans return.. et je ne vois pas comment tu l'appelles..

Posté par
Dalila39
re : Suite et algorithme 02-10-22 à 00:08

Alors le programme fonctionne mais justement avant j'avais mit un return sauf que le programme ne marchait pas. Et si je ne met pas le else, le programme n'affiche pas les résultats. Si je met les 2 Print tout seul sans else, ça ne m'affiche rien. Et oui normalement c'est 8 mais je ne sais pas pourquoi ça me met 9.

Posté par
foq
re : Suite et algorithme 02-10-22 à 10:42

Je t'aide pour le programme Python .

** message modéré ** A LIRE AVANT DE POSTER OU DE RÉPONDRE, MERCI

malou edit > ** sympa de ta part de vouloir aider plus jeune, c'est bien l'esprit de notre site, mais....nous ne sommes pas là pour montrer ce que nous savons faire, mais pour amener l'élève à le comprendre et le faire d'une part et l'intervenant qui aidait n'a manifestement pas abandonné son sujet d'autre part **

Posté par
foq
re : Suite et algorithme 02-10-22 à 10:47
Posté par
Leile
re : Suite et algorithme 02-10-22 à 11:32

bonjour Dalila39,

C'est bien de faire des essais, et de trouver des astuces pour que ton programme fonctionne, (c'est créatif    )  mais il faut surtout faire en sorte qu'il fonctionne correctement, en donnant les bonnes réponses.

Par exemple, tu mets un Else "pour que ça fonctionne" : ce Else n'a aucune raison d'être là, demande toi plutôt pourquoi ça ne fonctionne pas.  Car une autre fois, vas tu essayer tous les mots clés que tu connais pour tenter de faire fonctionner ? Non, ça n'est pas possible.

Reprends exactement l'algo en langage naturel de la question 5.
Traduis le tel quel en python (puisque le return te gêne, ne fais pas une def dans un premier temps), et execute ce petit morceau de code.

T= 400000
n=0
tant   que  T  >  64000  faire
                 T =  T * 0,786      
                  n=n+1                    
afficher (n)
afficher (T)
Vas y !

Posté par
foq
re : Suite et algorithme 02-10-22 à 11:47

Bonjour Leile

L'algorithme est correcte mais Python affiche  n = 9  .
Donc j'ai fait quelque manipulation et je conseille de mettre le n=n+1 avant le T=T*64000 .  Je sais pas pourquoi en Python c'est comme ça .    C'est un conseille .

Excusez moi  malou .

Posté par
Leile
re : Suite et algorithme 02-10-22 à 12:20

bonjour foq,
merci de ce conseil.
déplacer le n+1 :
oui, bien sûr ce serait une façon d'obtenir la bonne réponse.
Mais l'ennui, c'est "Je sais pas pourquoi en Python c'est comme ça ."

Normalement, ce programme est tout simple, sans Else, sans puissance, etc..
et on ne sait pas comment cette def (sans return !) est appelée par Dalila39.

Il est déjà bien bizarre, n'est ce pas ?

alors " pourquoi en Python c'est comme ça ." : ici, ce n'est pas Python qui est en cause, c'est le programme de Dalila39.

Voilà pourquoi je lui recommande de revenir à son algo, simple et facilement programmable.

NB :pour moi, un algo de 8 lignes devrait fonctionner tout de suite, sans lignes inutiles, sans bizarrerie. Sinon, comment fera-t-on pour un algo de 80 lignes ? et de 800 lignes ? ou plus ...  

Posté par
foq
re : Suite et algorithme 02-10-22 à 12:56

Oui c'est vrai . Un algorithme est simple en language naturel même sans faire de la programmation on peut faire un algorithme.
Dalila39 a du confondre algorithme et programme. Cela arrive.  Mais Dalila39 se complique trop . Algo simple= programme simple . De plus il y a pas besoin de faire une fonction .
Bonne chance



Vous devez être membre accéder à ce service...

Pas encore inscrit ?

1 compte par personne, multi-compte interdit !

Ou identifiez-vous :


Rester sur la page

Inscription gratuite

Fiches en rapport

parmi 1675 fiches de maths

Désolé, votre version d'Internet Explorer est plus que périmée ! Merci de le mettre à jour ou de télécharger Firefox ou Google Chrome pour utiliser le site. Votre ordinateur vous remerciera !