Inscription / Connexion Nouveau Sujet
Niveau terminale
Partager :

Algorithme

Posté par
oumy1
30-12-20 à 19:34

Bonjour, j'ai un problème avec la programmation en Python. L'algorithme que je doit retranscrire sur la TI 83 premium CE ne fonctionne pas par contre je l'ai fait en TI-basic et je pense avoir trouvé les bons résultats. Mais c'est en Python que je doit le faire. Merci de bien vouloir m'aider.


1)faire fonctionner " à la main" l'algorithme ci dessous.
Initialisation
N prend la valeur 0
U prend la valeur 10
Traitement
Tant que U <=100
       N prend la valeur N+1
       U prend la valeur 2U-5
Fin de tant
Sortie
Afficher N
2)Modifier l'algorithme pour obtenir la plus petite valeur n0 de n telle que Un > 1000.
3) A l'aide de la calculatrice, réaliser un programme correspondant à l'algorithme obtenu en 2).
4) Déterminer la valeur de n0 en utilisant ce programme.


pour le 1) j'ai écrit: en Python

from maths import
def suite ()
n=10
u=10
while u<=100
n=n+1
u=2u-5
return n
Cet algorithme ne fonctionne pas et je ne comprends pas .
j'ai écrit ce premier algorithme en TI-basic et ça fonctionne. j'ai trouvé n=5 .

2) j'ai transformé la 5ème ligne while u<=1000. rien ne fonctionne. En TI-basic j'ai trouvé n0=8.
Merci d'avance pour votr aide.

Posté par
mathafou Moderateur
re : Algorithme 30-12-20 à 20:06

Bonjour,

à savoir en Python
l'indentation (les décalages d'espaces en début de ligne) est fondamentale
c'est elle qui remplace les "debut de" et "fin de" pour les boucles, les tests etc
et pour les définitions de fonction

def suite () : 
   n=0
   u=10
   while u<=100 :
      n=n+1
      u=2*u-5
   return n


le ":" est indispensable après def, while, if etc

2u ne veut rien dire
la multiplication doit être écrite explicitement 2*u
return définit quelle valeur sera renvoyée par la fonction (la valeur de n)
sinon elle ne fournira aucun résultat.
enfin ceci ne fait que uniquement définir   la fonction
ça n'exécute rien du tout.

pour obtenir un résultat il faut l'exécuter
taper dans la console
>>> suite()

Posté par
oumy1
re : Algorithme 31-12-20 à 05:33

Bonsoir et merci beaucoup mathafou, j'ai fait ce que vous m'avez indiqué et pour le premier cela fonctionne mais pour la transformation du second j'ai toujours "erreur"lorsqu'on me demande de modifier l'algorithme pour obtenir la plus petite valeur n0 de n telle que Un > 1000. Pourriez vous m'aider à nouveau. il faut vraiment que je m'habitue à Python.
Merci d'avance.

Posté par
mathafou Moderateur
re : Algorithme 31-12-20 à 11:02

Citation :
j'ai toujours "erreur"
pas moi

quelle erreur précisément ?
comment exactement as tu modifié ton programme ?
(copier coller depuis Python dans ta réponse ici)

Posté par
oumy1
re : Algorithme 31-12-20 à 18:33

Bonjour mathafou et merci de ta gentillesse, j'ai compris mon erreur . J'avais écrit au niveau de la 4 ème ligne:   whileu<=100  le u était collé au lieu d'être espacé.
Bonne soirée pour ce 31 décembre bien particulier pour vous.    
  

Posté par
mathafou Moderateur
re : Algorithme 31-12-20 à 18:50


bonne soirée à toi aussi.

Répondre à ce sujet

Seuls les membres peuvent poster sur le forum !

Vous devez être connecté pour poster :

Connexion / Inscription Poster un nouveau sujet
Une question ?
Besoin d'aide ?
(Gratuit)
Un modérateur est susceptible de supprimer toute contribution qui ne serait pas en relation avec le thème de discussion abordé, la ligne éditoriale du site, ou qui serait contraire à la loi.


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

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 !