Inscription / Connexion Nouveau Sujet
Niveau première
Partager :

python, suite, 1ère spé

Posté par
flamantrose18
07-03-21 à 13:56

Bonjour, j'ai un exercice à faire sur les suites. Il est en deux parties et j'ai déjà fait la première. En revanche, la partie programmation m'inspire peu...

On considère le suite (un) définie, pour tout entier naturel n, par un=n^3-n+4
L'algorithme ci-contre contient une fonction seuil qui doit permettre de déterminer un rang p à partir duquel tous les termes de la suite sont supérieurs à un nombre réel A.

def u(n):
    return(n**3-n+4)

def seuil(A):
    n=0
    while u(n)<A:
        n=n+1
    return(n)

a. Quel est le rôle de la fonction u placé avant la fonction seuil.
     J'ai répondu que cette fonction permet de calculer un=n^3-n+4 avec n donné.

b. Programmer cet algorithme et exécuter la fonction seuil en prenant A= 100; A=100000 ;A=10^20

       Le problème que j'ai c'est que j'arrive pas à exécuter mon programme. Je l'ai reprogrammer ainsi pour A=100 :
def u(n):
    return(n**3-n+4)

def seuil(A):
    n=0
    while u(n)<100:
        n=n+1
    return(n)

Est ce que quelqu'un peut m'aider ?
      

Posté par
flight
re : python, suite, 1ère spé 07-03-21 à 14:05

salut

j'aurai dit " while u(n)100"

Posté par
flight
re : python, suite, 1ère spé 07-03-21 à 14:05

dans l'enoncé on precise : "superieur à ..."

Posté par
mathafou Moderateur
re : python, suite, 1ère spé 07-03-21 à 14:18

bonjour,

surtout pas modifier le A en 100 dans le script !!!
A reste écrit A, c'est le paramètre d'appel de la fonction

c'est dans l'appel, dans l'utilisation de la fonction
en ligne de commande, une fois le script lancé (pour qu'il définisse effectivement ces fonctions et pas juste du baratin écrit quelque part)
pas dans le script

>>> seui(10)
(ici s'affiche la réponse donnée par le programme)
>>> seuil(100)
etc

ou bien on peut compléter le script par des appels (à l'indentation nulle) à la fin dans le script :
print(seuil(10))
print(seuil(100))
etc

Posté par
flamantrose18
re : python, suite, 1ère spé 07-03-21 à 14:30

sur le programme de mon sujet c'est écrit: while u(n)<A
donc à la place d'écrire "def seuil(A)" j'écris "def seuil(100)" et je rajoute un print à la fin de mon programme ?

Posté par
mathafou Moderateur
re : python, suite, 1ère spé 07-03-21 à 14:39

NON

en ligne de commande tu écris seuil(100)
et pas de def dans la ligne de commande
le script reste tel qu'il est sans en modifier une virgule.

OU BIEN

def seuil(A):
   # etc inchangé
   ...
   return(n)

# et ici
print(seuil(100))

Posté par
mathafou Moderateur
re : python, suite, 1ère spé 07-03-21 à 14:53

exemple avec EduPython

python, suite, 1ère spé

la disposition des différentes zones et le décor peut être différents avec d'autres "Python"

Posté par
flamantrose18
re : python, suite, 1ère spé 07-03-21 à 15:14

Super ça marche !
J'ai compris merci beaucoup !!

Posté par
mathafou Moderateur
re : python, suite, 1ère spé 07-03-21 à 15:18

PS
j'avais fait un copier coller de ton script erroné
résultat faux par rapport à l'appel effectué seuil(10)
c'est partout et toujours
while u(n) < A :
et l'exécution donne

*** Console de processus distant Réinitialisée ***
>>> seuil(10)
2
>>>

Posté par
flamantrose18
re : python, suite, 1ère spé 07-03-21 à 15:33

Oui je m'en était aperçue et j'ai corrigé
Merci beaucoup



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 !