exercice ioi programme n°2

Publié le 5 oct. 2019 il y a 4A par Anonyme - Fin › 8 oct. 2019 dans 4A
1

Sujet du devoir

Bonjours avantles vacances de la toussain je dois finir le premier chapitre de ioi un site de programmation python et je suis bloquer sur pas mal d'exercices et le temps comment a ce reduire.... Pouvez vous m'aider ? 

Dessin de la tour

Les enfants de la classe de maternelle décident de construire une très grande tour à l'aide de petits cubes en bois. Ils savent exactement la forme qu'ils souhaitent pour leur tour, mais ils n'arrivent pas à savoir s'ils auront suffisamment de cubes pour la construire. Ils vous demandent de les aider à calculer le nombre de cubes nécessaires.

Ce que doit faire votre programme :

L'objectif est de construire une tour à l'aide de petits cubes en bois, sachant que la forme de cette tour consiste en un ensemble de grands cubes placés les uns au-dessus des autres. La base de la tour est un cube de taille 17×17×17, c'est-à-dire composé de 17×17×17 = 4 913 petits cubes. Sur ce cube est posé un autre cube de taille 15×15×15. Au-dessus de ce dernier se trouve un cube de 13×13×13. La tour continue ainsi jusqu'à atteindre le sommet, qui consiste en un cube de taille 1×1×1.

Exemple d'une tour allant de 1×1×1 cubes à 11×11×11 cubes

Votre programme doit calculer et afficher le nombre total de petits cubes nécessaires pour construire la pyramide. Effectuez les calculs dans le programme en y intégrant une boucle.

Où j'en suis dans mon devoir

voici le programme que j'ai fait mais il est faut pouvez vous me donner la correction ? merci d'avance et en esperant avoir un reponse dans ces jours a venir....

Elisa

volumeTotal = 0
largeur = 17
longueur = 17
hauteur = 2
for loop in range(17):
   volumeTotal = longueur * largeur * hauteur
print(valeurTotal)
volumeToltal * 2
largeur - 1
print(volumeTotal)

 




12 commentaires pour ce devoir


Pierre Carrée
Pierre Carrée
Posté le 5 oct. 2019

Je ferais plutot une boucle tant que

On remarque que l'arête des grands cubes diminue de 2 à chaque etage.

n=17   (nbr de petits cubes sur l'arête de base)

V=0  (volume)

Tant que n≥1

V = V+n³           

n=n-2

Fin tant que

Afficher V

 

Traduis le en python

Anonyme
Anonyme
Posté le 6 oct. 2019

bonjours,

je ne retrouve plus comment fait t-on la boucle "tant que".... 

Pierre Carrée
Pierre Carrée
Posté le 6 oct. 2019

for i in range(size):

 

while condition :

Anonyme
Anonyme
Posté le 6 oct. 2019

ok donc le programme que j'ai fait est :

nbpetitcube = 17
volume = 0
for loop in range(6):
   volume = volume + nbpetitcube *3
   nbpetitcube = nbpetitcube - 2          
print(nbpetitcube)

 

mais ioi me repond:

Nombre total de valeurs affichées : 1
Votre valeur numero 1 (5) est à une distance supérieure à 10000 de la reponse attendue.
Pierre Carrée
Pierre Carrée
Posté le 6 oct. 2019

C'est normal.

Tu utilises une boucle for alors que c'est une boucle tant que qu'il faut.

while nbpetitcube >=1:

 

Mais c'est ma faute... Je t'ai dis une bêtise tout à l'heure. :-p

Anonyme
Anonyme
Posté le 6 oct. 2019

nbpetitcube = 17
volume = 0
while nbpetitcube >=1:
   volume = volume + nbpetitcube *3
   nbpetitcube = nbpetitcube - 2          
print(nbpetitcube)

j'ai fait comme ca mais ca ne marche pas...

1
Pierre Carrée
Pierre Carrée
Posté le 6 oct. 2019

Il manque une etoile pour faire un cube et pas une multiplication par 3

   volume = volume + nbpetitcube **3

Anonyme
Anonyme
Posté le 6 oct. 2019

non ce n'est pas ca....

Anonyme
Anonyme
Posté le 6 oct. 2019

a oui on a pas vus mais il falleis que en dernier j'affiche le volume et non le nbpetitcube ! ca reviens a ca  :

nbpetitcube = 17
volume = 0
while nbpetitcube >=1:
   volume = volume + nbpetitcube **3
   nbpetitcube = nbpetitcube - 2          
print(volume)

Pierre Carrée
Pierre Carrée
Posté le 6 oct. 2019

Ton énoncé demande le nombre de cubes, pas le volume

 

Votre programme doit calculer et afficher le nombre total de petits cubes nécessaires pour construire la pyramide. Effectuez les calculs dans le programme en y intégrant une boucle.

Anonyme
Anonyme
Posté le 6 oct. 2019

pourtant ca a marcher...:

Pierre Carrée
Pierre Carrée
Posté le 6 oct. 2019

Et si tu mets print(nbpetitcube) ca ne marche pas ?

Si c'est le cas,  laisse print(Volume).


Ils ont besoin d'aide !

Il faut être inscrit pour aider

Crée un compte gratuit pour aider

Je m'inscrisOU

J'ai déjà un compte

Je me connecte