Inscription / Connexion Nouveau Sujet
Niveau seconde
Partager :

python, algorithme

Posté par
Kenshoky
21-05-22 à 19:01

Bonjour, J'ai besoin d'aide, j 'ai 2 exos de maths en python et je ne comprends pas du tout.
Voici les énoncés, si quelqu'un peut m'aider, ça serait vraiment gentil.

ex1
Des relevés statistiques ont permis de modéliser le nombre de personnes touchés par la grippe en France durant l?hiver 2014-2015 .
Le nombre M(n) de malade déclaré pour 100 000 habitant au bout de n semaine ( ? ? N avec 2 ? ? ? 10) après le début de l?épidémie est donné par :
?(?) = ?30?2 + 360? ? 360
Voici un programme de calcul
1) Quel est l?objectif de ce programme de calcul
2) Exécuter le programme ci-contre pas à pas
3) Rédiger le programme ci-contre en Python
4) Quel est la valeur de ? obtenu en fin de programme
Interpréter ce résultat par rapport aux données de l?énoncé


Exercice 2 :
***Supprimé***
1 Exercice = 1 Message

Posté par
Leile
re : python, algorithme 21-05-22 à 19:34

bonsoir,

tu devrais relire les consignes d'utilisation du forum, et les appliquer, tu aurais plus de chances d'avoir de l'aide.

un exercice = un topic
Pour plusieurs exercices, tu dois ouvrir plusieurs demandes d'aide  : je pense que la modération va s'en occuper.

Sur ce topic, on ne parlera que du 1er exercice :
"Voici un programme de calcul"  
poste ce programme, sans lequel on ne peut pas t'aider.
Et montre ce que tu as fait et où tu en es.

je t'aiderai ensuite volontiers.

Posté par
Kenshoky
re : python, algorithme 21-05-22 à 19:52

Bonsoir, ah désolée je ne savais pas.
Je vais changer

le programme de calcul est
m M(2)
Pour n allant de 3 à 10
y M(n)
si Y supérieur m alors
I m y
Fin si
Fin Pour

Alors pour le 1er exercice, la première question, j'ai mis que ce programme nous permettait de modéliser une courbe de tendance, le pic de cas malades déclaré.

Pour la réponse b, j'ai fait un tableur du début M(2) jusqu'à 10 en remplaçant le n par 3, 4, 5 jusqu'à 10.

Mais la 3 je ne sais pas du tout je comprends pas le python .
Merci pour votre aide

et l'exercice 2, alors là j'ai rien compris du tout .

python, algorithme

Posté par
Leile
re : python, algorithme 21-05-22 à 20:19

1)  
en effet, ce programme de calcul permet de trouver le max de M(n) .

2) tu as fait tourner pas à pas, et ça t'a donné quel pic, et pour quelle semaine ?

3) détends toi, il ne faut pas comprendre python, il faut juste traduire ton algo en python.
Tu as certainement eu quelques informations sur python, n'est ce pas ?


par exemple, comment traduis tu  m <--  M(2)  ?

Posté par
Kenshoky
re : python, algorithme 21-05-22 à 20:56

Oui, on a eu qq cours, mais j'ai dû mal.
m --2 : je dirais x = input(2)

Posté par
Leile
re : python, algorithme 21-05-22 à 21:11

non, tu te trompes.

l'instruction input  établit un échange entre toi et ton programme, c'est toi qui donnes une valeur.

m <--M(2)  c'est une affectation : à m, on affecte la valeur M(2)
en python,  ca s'écrit avec le signe =
m = M(2)

Pour n allant de 3 à 10  se dit en python
for   n  in range (3, 11)

essaie de continuer  
montre moi, je corrigerai.

Posté par
Kenshoky
re : python, algorithme 21-05-22 à 22:05

pourquoi  vous écrivez 11 , alors que c'est jusque 10 non ?
for   n  in range (3, 11)

désolé je suis vraiment perdue avec ce cours ;-((
y --M(n)  donc c'est y=M(n)

Si y > m alors , je dirais
If condition y> m or
⇥m= y
If
Print(Fin)

Posté par
Leile
re : python, algorithme 21-05-22 à 22:21

en python il faut écrire 11 si on veut aller jusque 10 inclus.

m=M(2)
for n in range (3, 11) :
        y=M(n)
        if    y > m :                                              
                m = y


l'instruction if   :   if <condition>  la condition, c'est justement y>m

la partie en bleu traduit l'algo qu'on t'a donné. Mais tu n'arriveras pas à la faire tourner comme ça, car ton programme ne sauras pas calculer M(2) ou M(n).
Il faut lui montrer comment faire (avec une petite fonction que j'ai ajoutée).

ca donne

def M(a):
    c=-30*a*a+360*a-360
    return (c)

m=M(2)
for n in range(3, 11):
        y=M(n)    
        if y>m:
                     m=y

print(m)     /*   print pour que le programme affiche le max  */

Q4 : que réponds tu ?

Posté par
Kenshoky
re : python, algorithme 21-05-22 à 22:33

Merci l'explication du 11, je comprends mieux déjà certaines erreurs faites en évaluation , que le prof n'expliquait pas aussi simplement que vous déjà merci

donc fin si se traduit en python par  : print(m)     /*
et Fin pour se traduit en python par print(m10)  */

question 4, je dirais donc que la valeur de n obtenu en fin de programme est 10. Sachant que n 𝑛 ∈ N avec 2 ≤ 𝑛 ≤ 10, on a ainsi le nombre de semaines max qu'il fallait calculé  

Posté par
Leile
re : python, algorithme 21-05-22 à 22:47

non, Kenshoky, tu inventes des choses et en programmation comme en maths, il ne faut surtout pas inventer.
donc fin si se traduit en python par  : print(m)     /*
et Fin pour se traduit en python par print(m10)  */

non, pas du tout.

en python, on n'a pas besoin de fin si, parce qu'on utilise l'intendation (on décale les paragraphes).
Ainsi  j'ai écrit
                   if y>m:
                                 m=y
                   *
tout ce qui est aligné avec m=y  fait partie du if,  la fin du if, c'est quand on est aligné avec le if  (regarde, j'ai mis une étoile à cet endroit).

le print(m) : je t'ai dit que c'était pour afficher la valeur de m.

je ne vois pas non plus pourquoi tu voudrais afficher M(10) ?
je crois que si tu inventes, c'est parce que tu n'as pas répondu correctement à la question 2 (faire tourner pas à pas). Là, tu aurais vu que M(10) vaut toujours 240, alors que tu l'as dit toi même, l'algo doit afficher le maximum.
de même, si n va jusque 10, on sait d'avance que n= 10 au max.

l'algo doit afficher le maximum de M, pas de n.
Quelle est la plus grande valeur de M que tu as calculé ?

Posté par
Kenshoky
re : python, algorithme 21-05-22 à 23:02

j'essaye surtout de comprendre plutôt que d'inventer !
la plus grande valeur que j'ai trouvé est quand n=8, et donc que M(8)= 5214

Posté par
Leile
re : python, algorithme 21-05-22 à 23:19

oui, je vois bien que tu essaies de comprendre, mais tu dois t'obliger à  rester très rigoureux. Il ne faut pas inventer, supposer, etc...   il faut etre sûr de ce que tu dis, en t'appuyant sur ton cours.
C'est comme ça que tu vas avancer.

pour M(8) , moi, je ne trouve pas 5214...  
c'est bien M(n) = -30n²  +  360n - 360      n'est ce pas ?
M(8 ) =  - 30 * 64   +  360*8   -  360  = 600
erreur de signe peut-être ?

Posté par
Kenshoky
re : python, algorithme 21-05-22 à 23:24

Oui pardon, j'ai fait en effet une erreur de signe ! désolée je suis sur mes 2 exos  depuis ce matin, donc j'avoue ne plus être très rigoureuse ! mais je trouve quand même que c'est 8 le max

Posté par
Leile
re : python, algorithme 21-05-22 à 23:30

il va falloir que tu refasses tes calculs

M(8) = 600

mais M(6) = ??

tu es sur tes deux exos depuis ce matin ? tu as posté à 19:00, je n'ai pas pensé que tu étais depuis ce matin..
Un conseil peut-être utile : il vaut mieux faire les exos l'un après l'autre, plutôt qu'en même temps, il y a moins de confusion  

Posté par
Kenshoky
re : python, algorithme 21-05-22 à 23:36

M(6) , je trouve 720 , en effet ! je suis debile !

oui je suis dessus depuis ce matin, j'ai voulu le faire toute seule, donc j'ai regardé vidéo , cours etc ... mais impossible donc j'ai trouvé ce site qu'à 18h ! mes copines ont abandonné , mais je suis têtue ! et je veux y arriver

désolée de vous embêter, mais merci pour votre aide

Posté par
Leile
re : python, algorithme 21-05-22 à 23:43

tu ne m'embêtes pas du tout. Je suis contente de t'aider, au contraire.
C'est bien que tu sois obstinée à comprendre.
Pour Python, il te faudra un cours plus complet que quelques aides, mais ton prof a certainement prévu quelque chose.
A partir d'un algorithme, c'est juste de la traduction très pointilleuse, en respectant la syntaxe.
C'est comme si tu passais d'une langue a une autre, tu respecterais aussi la syntaxe, n'est ce pas ?

Sur cet exo, tu aurais gagné du temps en répondant très finement à la question 2. Si la Q3 t'a semblé difficile, ce n'est pas forcément pyhton, c'est peut-être parce que tu n'as pas bien compris l'algo.

tu as d'autres questions ?

Posté par
Kenshoky
re : python, algorithme 21-05-22 à 23:51

Non, on a fait qu'un cours, une page r/v.
Donc pour la question 4,Quel est la valeur de ? obtenu en fin de programme?
je dois juste écrire que 6 est la valeur obtenue en fin de programme  
Interpréter ce résultat par rapport aux données de l?énoncé.
c'est donc au bout de 6 semaines que le pic apparait

merci infiniment, je pense que le second exercice je verrais ça demain. un monsieur m'a répondu, je pense que j'ai compris ,  ce sont des calculs de vecteurs !

merci infiniment pour tout, vous êtes prof de maths au lycée ?

Posté par
Leile
re : python, algorithme 22-05-22 à 00:00

la valeur de ?     que veut on au juste ?
l'algo ne renvoie pas la valeur de n, mais la valeur de M.
Il ne rend pas 6, mais 720 : c'est la plus grande valeur de M.

Donc dans le contexte de l'exercice, le nombre maxi de malades par semaine pour 100 000 habitants est 720 (pic de contamination), atteint en semaine 6.

Bonne nuit.



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 1567 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 !