Inscription / Connexion Nouveau Sujet

1 2 +


Posté par
babahand
re : exo suite 29-10-20 à 15:52

j avais pas vus votre dernier message mais si alors des le debut T est superieur a 20,01 on s en fiche car il faut qu il soit inferieur

Posté par
ZEDMAT
re : exo suite 29-10-20 à 16:23

babahand @ 29-10-2020 à 15:52

j avais pas vus votre dernier message mais si alors des le debut T est superieur a 20,01 on s en fiche car il faut qu il soit inferieur


Je ne te comprends pas !

Au départ la température est de 80 °C. Les ajouts successifs d'eau à 20 °C font BAISSER la température du mélange ; on arrêtera de mélanger quand le mélange  aura atteint une température inférieure ou égale à 20,01 °C.

Mais avant la température est bien SUPÉRIEURE à 20,01°C et TANT QUE cette température est SUPÉRIEURE à 20,01 °C on continue les mélanges...

Posté par
babahand
re : exo suite 29-10-20 à 16:54

Oui on est d'accord dcp le programme est bon ?

Posté par
ZEDMAT
re : exo suite 29-10-20 à 17:10

Si c'est de ce programme dont tu parles :

def somme (n)
T=80
for compteur in range (1,n+1)
T=(T+20)/2
while T<=20,01


alors là on n'est pas prêt de le faire "fonctionner"

A quoi sert d'avoir fait un algorithme correct pour, au final, saisir un script qui n'a pas grand chose à voir !

L'algorithme de  Carita

T =80                                                
affecter à n la valeur 0      n=0    
Tant que T > 20,01  -
T= (T+20)/2                                
n prend la valeur n+1          
Fin tant que
afficher n

Il faut suivre mot à mot, pas à pas, ligne après ligne le schéma de l'algorithme !!

A toi.

Tu as Python sur un ordinateur ?                                      

Posté par
babahand
re : exo suite 29-10-20 à 18:06

J ai python mais je l ai jamais utilisé
J essaie et j envois

Posté par
babahand
re : exo suite 30-10-20 à 10:24

le probleme c est que je n ai pas de vocabulaire python donc je ne sais pas remplacer ligne par ligne

Posté par
ZEDMAT
re : exo suite 30-10-20 à 11:42

Il ne me semble pas normal que l'on te demande de programmer dans un langage que tu ne connais pas .
Cependant, il existe sur internet une multitude de "tutoriels" plus ou moins pédagogiques où tu trouveras les bases du langage Python. Quand ma petite fille (en première !!), m'a demandé de l'aider à construire des programmes en Python (on lui avait quand même donné quelques notions en classe et elle se débrouillait bien en... Scratch ), je ne connaissais pas ce langage et encore moins sa syntaxe. Donc je me suis autoformé avec ces tutoriels et surtout en mettant en œuvre les exemples qui étaient montrés.
Je ne suis pas un "champion" et il m'arrive souvent de devoir consulter internet quand mon programme "plante"... (et souvent encore, ça plante )

.
Pour ce qui nous concerne, l'algorithme montre que tu as besoin :
* commande d'affectation d'une valeur à une variable (simplissime ici : T=80)
* commande de boucle "tant que" : while (je te laisse chercher la syntaxe)
* de faire des calculs (élémentaire : (T-20)/2 et mettre le résultat dans... T)
* afficher la valeur d'une ou plusieurs variables : classique, c'est print(.. , .. ,..)

Voilà qui devrait te suffire pour l'instant. J'ai observé que tu voulais définir... une fonction. Donc on t'a déjà montré des "choses". Je te propose (pour l'instant) de laisser de côté... cette bonne habitude. On en reparlera plus tard... si tu veux.

Posté par
babahand
re : exo suite 30-10-20 à 12:04

T=80
n=0
j utilise la commande pour la boucle while
while t<=20,01
pour que n augmente a chaque calculs je fais
n+n+1
je precise le calcul T
T=(T=20)/2
pour avoir la valeur n a la fin
print(n)

Posté par
ZEDMAT
re : exo suite 30-10-20 à 12:25

Et bien voilà, cela commence à ressembler à quelque chose

Mais si je fais un copier-coller du texte de ton message dans mon "python" et que je lance le programme, cela ne fonctionne pas (voir message suivant)

Il te faut maintenant saisir ton programme dans Python sur ton ordinateur et te battre un peu pour arriver à le faire "tourner"...

Essaye et montre nous ce que tu obtiens (tu copies le code saisi -c'est du texte- et tu le colles ici dans ton message... de préférence entre les balises "Code" (c'est l'outil marqué </> sous la zone de message)

Posté par
babahand
re : exo suite 30-10-20 à 12:28

erreur de phrase n=n+1

Posté par
babahand
re : exo suite 30-10-20 à 12:31

 File "/tmp/sessions/9d99bb7e44825e90/main.py", line 3
    while t<=20,01
    ^
IndentationError: unexpected indent


j obtiens ceci

Posté par
ZEDMAT
re : exo suite 30-10-20 à 12:35

Ce que tu as transmis, ce sont les messages d'erreurs.. intérêt secondaire ici.

Envoie nous le script : on verra pourquoi ces messages d'erreur.

A toi.

Posté par
babahand
re : exo suite 30-10-20 à 12:37

Le script que j ai écris ?

Posté par
babahand
re : exo suite 30-10-20 à 12:37

T=80
n=0
  while t<=20,01
  n=n+1
  T=(T+20)/2
print(n)

Posté par
ZEDMAT
re : exo suite 30-10-20 à 12:40

T=80
n=0
j utilise la commande pour la boucle while
while t<=20,01
pour que n augmente a chaque calculs je fais
n+n+1
je precise le calcul T
T=(T=20)/2
pour avoir la valeur n a la fin
print(n)


Voilà comment apparait sur mon écran, la copie dans Python de ton texte. Il y a beaucoup d'erreurs... un peu "bêtes" que tu devrais pouvoir trouver tout seul

Posté par
babahand
re : exo suite 30-10-20 à 12:44

toutes les phrases explicatives sont a supprimer

Posté par
ZEDMAT
re : exo suite 30-10-20 à 12:47

Voilà ce que je vois avec ton script de 12h 40
Le message d'erreur est assez clair. Regarde bien....

exo suite

Posté par
babahand
re : exo suite 30-10-20 à 12:51

ok donc la syntaxe de ma commande while est fausse

Posté par
babahand
re : exo suite 30-10-20 à 12:53

je sais pas si c est important mais j ai vus que apres 20,01 il fallait mettre :

Posté par
ZEDMAT
re : exo suite 30-10-20 à 12:58

babahand @ 30-10-2020 à 12:51

ok donc la syntaxe de ma commande while est fausse

Dans cette ligne de ton script, il y a.... 3 erreurs (hénaurmes ). L première qui bloque le script est là :

exo suite

Posté par
babahand
re : exo suite 30-10-20 à 13:01

il faut mettre un point a la place de la virgule

Posté par
babahand
re : exo suite 30-10-20 à 13:02

mtn le probleme est sur le while

Posté par
babahand
re : exo suite 30-10-20 à 13:03

while ne doit pas etre decalé

Posté par
babahand
re : exo suite 30-10-20 à 13:04

j ai ecris t alors que c est T que j avais defini

Posté par
babahand
re : exo suite 30-10-20 à 13:05

le programme est bon mais il renvoie n=0

Posté par
babahand
re : exo suite 30-10-20 à 13:09

ok j ai trouve il faut mettre >

voici mon programme
n=0
T=80
while T>20.01:
  T=(T+20)/2
  n=n+1
print(n)

Posté par
babahand
re : exo suite 30-10-20 à 13:15

Q3:Conjecturer la limite des températures Tn , apres une infinité de manipulation
La température sera constante a 20C elle ne se changera plus car (20+20)/2+20

Posté par
ZEDMAT
re : exo suite 30-10-20 à 13:54

J'ai bien fait d'aller manger car pendant ce temps tu as bien travaillé

Alors qu'est ce qu'il te donne ton programme comme réponse ?

Posté par
babahand
re : exo suite 30-10-20 à 14:01

13

Posté par
babahand
re : exo suite 30-10-20 à 14:14

c est bien ca ?

Posté par
ZEDMAT
re : exo suite 30-10-20 à 14:17

OUI

Regarde ce que j'avais fait avec un tableur... cela peut-aider à répondre à la dernière question.

Posté par
ZEDMAT
re : exo suite 30-10-20 à 14:18

avec un tableur :

exo suite

Posté par
babahand
re : exo suite 30-10-20 à 14:29

a partir de 16 , elle est casiment constante y a 4 0 apres la virgule

Posté par
ZEDMAT
re : exo suite 30-10-20 à 14:58

quasiment

Dans les mélanges successifs obtenus la "part résiduelle" d'eau chaude devient de plus en plus petite et tend vers zéro !

Posté par
babahand
re : exo suite 30-10-20 à 15:28

Elle tend vers 0 en diminuant mais elle reste constante en 20

Posté par
ZEDMAT
re : exo suite 30-10-20 à 17:33

babahand @ 30-10-2020 à 15:28

Elle tend vers 0 en diminuant mais elle reste constante en 20


Désolé mais ta phrase n'a pas de sens et je ne la comprends pas...
Si "elle" tend vers 0, alors "elle" ne peut pas rester constante car 20 0

Posté par
babahand
re : exo suite 30-10-20 à 18:49

Ah si la température reste contante à 20 Cd D ailleurs c est la limite

Posté par
ZEDMAT
re : exo suite 30-10-20 à 19:16

Citation :
D ailleurs c est la limite

La limite de quoi quand quoi fait quoi ? Pas clair et la température n'est pas CONSTANTE !!

Quand le nombre n des manipulations  effectués tend vers l'infini, la température du liquide tend vers 20 °C.

Posté par
babahand
re : exo suite 30-10-20 à 19:41

Ok merci beaucoup
😊

Posté par
ZEDMAT
re : exo suite 31-10-20 à 10:00

Par souci de... tenir parole

Citation :
J'ai observé que tu voulais définir... une fonction. Donc on t'a déjà montré des "choses". Je te propose (pour l'instant) de laisser de côté... cette bonne habitude. On en reparlera plus tard... si tu veux.


Si tu veux -bien sûr- on peut essayer de modifier le script que tu as mis en œuvre pour lui donner la structure d'une fonction.
Le programme réalisé est tellement spécifique que personnellement je ne vois pas l'utilité de définir une fonction (mais je me trompe peut-être... que mes collègues n'hésitent pas à me le dire  ). Alors au moins pour le "plaisir" et l'expérience, on peut essayer de la construire cette fonction....

Posté par
babahand
re : exo suite 31-10-20 à 10:14

F(x)=(x+20)2

Posté par
ZEDMAT
re : exo suite 31-10-20 à 10:50

On ne parle pas vraiment de la même chose...
Je parlais de l'instruction en python qui permet de définir une "fonction" (ensemble de commandes regroupées) :
def température():
         ......
         .......
return (...)
.

Toi tu parles de la fonction mathématique qui à x (température du liquide) fait correspondre la température f(x) du mélange après ajout d'eau à 20 °C.
Attention tu as une erreur dans l'expression de f(x)

Pourrais-tu copier-coller le programme que tu as obtenu sous Python (en utilisant les balises </> code si tu as vu comment faire) dans ton message.

Posté par
ZEDMAT
re : exo suite 31-10-20 à 12:49

Pour avancer un peu (il fait beau => besoin d'aller prendre l'air !!)
voici MON programme

n=0
T=80
print(n,T)
while T>20.01:
        T=(T+20)/2
        n=n+1
        print(n,T)

print("")
print("Pour n=",n,"la température T est égale à ",T)
print(" elle est effectivement <ou= à 20.01.")


Objectif de la modification :
définir une "fonction" qui quand on lui donne la température T du liquide, dit combien de manipulations (mélanges avec eau à 20°C) sont nécessaires pour obtenir un liquide dont la température est inférieure ou égale à 20,01.

Cette fonction on peut l'appeler Température(...) et nécessitera une donnée (variable ou paramètre).

Posté par
ZEDMAT
re : exo suite 31-10-20 à 14:05

et donc...
Ce script ressemble beaucoup au programme obtenu précédemment.
A ceci près, que la température T initiale  qui dans le programme était une constante T égale à 80, est devenue un paramètre -donc variable- de la fonction Température(T).

Si on demande l'exécution de ce script, le fait de ne pas avoir de message d'erreur est bon signe ! Python sait interpréter ce code : il pourra si on lui donne une valeur pour T,
exécuter la fonction et renvoyer la valeur de n (et de T... c'est du luxe !) pour laquelle la température T devient inf ou égale à 20,01 °C.... SI ON LUI DEMANDE !!

exo suite

Posté par
ZEDMAT
re : exo suite 31-10-20 à 14:20

L'appel direct de cette fonction en saisissant par exemple dans la console :
Température(38)
ou Température (80) ou etc.
renvoie les valeurs de n correspondantes (et aussi celles de T finales).

L'intérêt de la fonction serait de l'inclure dans un programme.... pour ne pas avoir à saisir à chaque fois le code de cette fonction (voir message à suivre... et après je vaisaller prendre l'air).

exo suite

Posté par
ZEDMAT
re : exo suite 31-10-20 à 15:08

le soleil brille

def Température(T):
    n=0
    while T>20.01:
        T=(T+20)/2
        n=n+1
    return n,T

#Programme
T=float(input("Valeur initiale de T ?"))
print(round(T))
Température(T)
print(Température(T)[0],round(Température(T)[1],3))

1 2 +




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 !