Bibm@th

Forum de mathématiques - Bibm@th.net

Bienvenue dans les forums du site BibM@th, des forums où on dit Bonjour (Bonsoir), Merci, S'il vous plaît...

Vous n'êtes pas identifié(e).

Répondre

Veuillez composer votre message et l'envoyer
Nom (obligatoire)

E-mail (obligatoire)

Message (obligatoire)

Programme anti-spam : Afin de lutter contre le spam, nous vous demandons de bien vouloir répondre à la question suivante. Après inscription sur le site, vous n'aurez plus à répondre à ces questions.

Quel est le résultat de l'opération suivante (donner le résultat en chiffres)?
soixante quatorze moins soixante
Système anti-bot

Faites glisser le curseur de gauche à droite pour activer le bouton de confirmation.

Attention : Vous devez activer Javascript dans votre navigateur pour utiliser le système anti-bot.

Retour

Résumé de la discussion (messages les plus récents en premier)

yoshi
07-12-2020 19:06:46

Re,

C'est bien...
Bon, bin comme ça, tu pourras voir si c'est conforme.

@+

yoshi
07-12-2020 18:34:00

Re,

Ce morceau d'image, tu l'as déjà expédié post #4 et suivants.
Ce qui m'intéresse, c'est ce qui dit l'énoncé sur ce que tu dois faire avec les vitesses...

Je n’avais pas vraiment fais le vôtre et même quand je reproduit je n’arrive pas à programmer

Là tu m'inquiètes...
En quoi ton code est-il différent ? Ce que tu avais fait fonctionne ? Tu obtiens bien l'affichage de la liste des distances ?
Montre-moi ce code.

Qu'est-ce que tu appelles ne pas arriver à programmer ?
Il y a juste à recopier et indenter correctement les lignes (décalage depuis la gauche)
Voilà le code que j'ai écrit et posté :
https://www.cjoint.com/c/JLhrsr8mj7s
Tu le charges, et tu l'ouvres avec Python, tu le lances, il fonctionne...
(Je viens d'essayer sur plusieurs sites en ligne : je l'ai copié depuis mon éditeur Python, puis collé dans la fenêtre pour l'essai... Ça fonctionne aussi sans pb)

@+

[EDIT]
Voilà ce que j'avais dit de faire (en langage courant qu'on appelle du pseudo code)
fonction  x(t)
     si x strictement inférieur 8
         retourner 3t²+9t+8
     sinon
         retourner 51t-139

fonction pos(t)
    déclarer une liste l, vide
    Pour i allant de 1 à 1+t
          stocker dans la liste l le résultat de l'appel x(i) ) à la fonction x(t)
    retourner l           

Affiche à l'écran le résultat de l'appel de la fonction pos(t) pour t=30 (par ex.)

Avec les vitesses, cela devient :
fonction  v(t)
     si x strictement inférieur 8
         retourner 6t+9
     sinon
         retourner 51

fonction vit(t)
    déclarer une liste l, vide
    Pour i allant de 1 à 1+t
          stocker dans la liste l le résultat (multiplié par 3.6) de l'appel v(i)  à la fonction v(t)
    retourner l           

Affiche à l'écran le résultat de l'appel de la fonction vi(t) pour t=30 (par ex.)

Lisou30000
07-12-2020 18:15:03

Merci beaucoup j’ai tout réussi !!

Lisou30000
07-12-2020 18:12:21

J’ai réussi

Lisou30000
07-12-2020 18:10:10

https://www.cjoint.com/c/JLhrjawiPD2

Je n’avais pas vraiment fais le vôtre et même quand je reproduit je n’arrive pas à programmer

yoshi
07-12-2020 17:58:35

Ave,

Comment envoyer une photo ?
Mais comme je te l'ai écrit au post #3 :

Dans le post #3, yoshi a écrit :

1. Tu te connectes à https://www.cjoint.com, tu suis les instructions, tu déposes (upload) ton document, tu récupères le lien qu'on te donne et le mets sans ton prochain post : on pourra ainsi consulter ta photo.

2. Si tu ne t'en sors pas (tu serais bien la première), va sur :https://www.zupimages.net/ et donne-nous le code ensuite...

Je me demande si vraiment tu as mis en place correctement x(t) et pos(t)...
Ton code est-il conforme au mien :

def x(t):
    if t<8:
        return 3*t**2+9*t+8
    else:
        return 51*t-139

def pos(t):
    l=[]
    for i in range(1,t+1):
        l.append(x(i))
    return l

print(pos(30)

Si oui, je ne vois pas ou est le problème..
Dans v(t)
si t<8
    retourne 6*t+9
sinon
   retourne 51
Si t >7 pas de calculs à faire, la vitesse est constante et égale à 51m/s, elle ne dépend plus de la valeur de t...

@+

Devoir
07-12-2020 17:52:00

Lorsque dans ma première fonction je renvoie
def v(t):
l=[]
if 0<=t<=7:
l.append ((6*(t)+9)*3,6))
return l
else:
return l.append(51*3,6)

Cela ne me renvoie rien



def vit(t):
l=[]
for i in range (t+1):
l.append(v(i))
return l

Devoir
07-12-2020 17:48:04

Oui bien sûr mais comment envoyer une photo?
je n’ai pas bien compris cette fois ci

yoshi
07-12-2020 17:39:04

RE,

C’est comme dans x(t) où de je renvoyais (51*(t)-139) pour les valeurs supérieure à 7 l’orque je calculais la position.

oui.
Si t>8 la dérivée est celle de 51t-139 et c'est une constante : (51t-139)' = 51.
A partir de t=8, la voiture roule à une vitesse constante de 51 m/s et n'accélère plus..

dans mon énoncé il faut que j’envoie 51

Tu avais écrit que tu devais retourner des km/h, parce que 51 c'est 51 m/s soit 183.6 km/h...
Je peux voir ce morceau d'énoncé ?

Selon ce qu'on te demande,
* soit tu renvoies ta vitesse avec conversion en km/h : return v*3.6
* soit tu la renvoies telle qu'après calcul et à la récupération dans la boucle, tu la convertis avant stockage.
En 2 lignes :
vitesse = v(i)*3.6
l.append(vitesse)

En une seule :
l.append(v(i)*3.6)

Dessus
07-12-2020 17:26:18

C’est comme dans x(t) où de je renvoyais (51*(t)-139) pour les valeurs supérieure à 7 l’orque je calculais la position.

Devoir
07-12-2020 17:24:16

J’ai compris mais quand t>7 qu’elle fonction dois- je écrire car dans mon énoncé il faut que j’envoie 51

yoshi
07-12-2020 17:08:26

Je viens de te répondre, j'avais édité mon post #19
J'ai été un plus "bavard" dans l'affichage :

Liste des distances parcourues :
[8, 20, 38, 62, 92, 128, 170, 218, 269, 320, 371, 422, 473, 524, 575, 626, 677, 728, 779, 830, 881, 932, 983, 1034, 1085, 1136, 1187, 1238, 1289, 1340, 1391]

Liste des vitesses correspondantes :
[32.4, 54.0, 75.6, 97.2, 118.8, 140.4, 162.0, 183.6, 183.6, 183.6, 183.6, 183.6, 183.6, 183.6, 183.6, 183.6, 183.6, 183.6, 183.6, 183.6, 183.6, 183.6, 183.6, 183.6, 183.6, 183.6, 183.6, 183.6, 183.6, 183.6, 183.6]

Je viens de retester.
Si tantôt tu renvoies un nombre, tantôt une liste à un élément, voilà à quoi ressemble l'affichage de la liste des vitesses :
[32.4, 54.0, 75.6, 97.2, 118.8, 140.4, 162.0, 183.6, [183.6], [183.6], [183.6], [183.6], [183.6], [183.6], [183.6], [183.6], [183.6], [183.6], [183.6], [183.6], [183.6], [183.6], [183.6], [183.6], [183.6], [183.6], [183.6], [183.6], [183.6], [183.6], [183.6]]
Des nombres, puis des listes à un élément, toujours la même d'ailleurs..

Tu vois la différence ?

Dessus
07-12-2020 17:00:47

def v(t) marche à présent mais pas le second

yoshi
07-12-2020 16:43:22

Bonsoir,

Je vais tester, mais déjà commence par remplacer tous tes 3,6 par 3.6 la virgule décimale en Python, c'est un point...

@+

[EDIT]
Sans la suite de l'énoncé, tu m'obliges à jouer aux devinettes... M'enfin, j'ai vu quand même
Pour rire un peu, je parie qu'on doit trouver les mêmes questions avec l'accélération...

C'est la même astuce qu'avec x(t) et pos(t), sauf que là :

def v(t):   (def avec une minuscule n !)
qui est une fonction qui calcule une vitesse instantanée à l'instant t selon que t est strictement inférieur à 8 (donc inférieur ou égal à 7) ou pas, et retourne cette vitesse .

def vit(t): qui va demander à v(t) de calculer la vitesse correspondant à un temps i, la récupère et la stocke dans la liste l


Ta fonction def v(t) fonctionne mais mal :
* si t<8, elle retourne une vitesse en km/h
* sinon, elle retourne une liste réduite à un élément, la vitesse 51*3.6
Comment veux-tu que Python y "retrouve ses petits" ?

Le stockage des vitesses dans une liste c'est le boulot de vit(t), le boulot de v(t) est, lui, de calculer la vitesse à un instant t (passé par le paramètre i ) et de la renvoyer à vit(t) pour qu'elle soit stockée par la boucle au fur et à mesure de son avancement...

Pigé, cette fois ?
Errare humanum est sed perseverare diabolicum ! ;-)

@+

Dessus
07-12-2020 15:55:18

je tape donc:

Def v(t):
l=[]
if 0<=t<=7:
l.append ((6*(t)+9)*3,6))
return l
else:
return (51*3,6)

def vit(t):
l=[]
for i in range (t+1):
l.append(v(i))
return l

Mais on me signale que append dois avoir deux valeurs.

Pied de page des forums