Inscription / Connexion Nouveau Sujet
Niveau seconde
Partager :

Dm python

Posté par
babahand
21-10-19 à 11:29

Bonjour j ai un tp sur python à faire
Je ne comprend pas car je n étais pas là au premier cours d explication
Exercice 1 :
On considère l algorithme ci dessous

1 Déterminer la valeur renvoyé à la fin de l'exécution de l algorithme dans les cas suivants 1) a =2 et b=9 ou j ai trouvé 10 est ce bien ça ?
2) a=5 et b =36 et la j ai trouvé 40 est ce ça ?

2. Quel est le rôle de cet algorithme
3 . Écrire le programme Python associé à cet algorithme , le saisir sur l ordinateur et l utiliser pour vérifier les réponses précédentes
Je bloque sur les 2 dernières questions
Pourriez vous m aider s'il vous plaît

Dm python

Posté par
mathafou Moderateur
re : Dm python 21-10-19 à 12:09

Bonjour
1) OK

2) q × a est un multiple de a
à préciser

3) pour traduire en Python,
essaie ...
tu pourrais commencer par définir une fonction (du nom que tu veux)

def gmult(a, b) :
          ... (traduction du calcul)
          return q*a

puis vérifier que ça concorde avec la question 1 en tapant
gmult(2,9)
et
gmult(5,36)

Posté par
babahand
re : Dm python 21-10-19 à 12:15

Merci
2 ) c est à préciser sa veux dire quoi ?

3 ) j ai chercher comme programme
       def fonction(a,b):
              q=O
              while  q*a<b:
                    q=q+1
              return q* a


C est la bo programme
Après par contre comment je peux vérifier les réponses ?

Posté par
mathafou Moderateur
re : Dm python 21-10-19 à 12:34

ça veut dire que tu dois dire explicitement et précisément quel multiple de a l'algorithme calcle !

"ce programme calcule .... multiple de a .... "

3)

c'est pas O (lettre) mais 0 (zero) l'initialisation de q !!

pour vérifier, c'est ce que j'ai dit
tu as appelé ta fonction "fonction" (quelle originalité !!), pourquoi pas ...

donc dans la ligne de commande de la console Python tu tapes

fonction(2,9)
et si ça marche tu dois avoir 10
et fonction(5,36) doit te renvoyer 40

ce qui s'appelle un jeu d'essai :
essayer le programme avec des valeurs dont on connait le résultat.

évidemment si tu n'as pas installé Python sur ton ordi tu ne peux rien vérifier du tout
ni les erreurs de syntaxe
ni le bon fonctionnement du programme !!

Posté par
babahand
re : Dm python 21-10-19 à 12:48

Si je le tape le programme
Mais comment je peux prouver là questions 3 a l écrit

Posté par
babahand
re : Dm python 21-10-19 à 12:49

La question 2 c est de savoir quelle est le multiple des 2 nombres ?

Posté par
babahand
re : Dm python 21-10-19 à 12:54

J ai tapé le programme mais comment je le confirme ?

Posté par
babahand
re : Dm python 21-10-19 à 13:00

Il y a écrit SintaxError : invalid syntax

Posté par
mathafou Moderateur
re : Dm python 21-10-19 à 13:02

2) oui et c'est à toi de le dire, lequel.
(réfléchis un peu !! comment définir, avec des mots, 40 par rapport à 36 parmi tous les multiple de 5 : 5, 10, 15, 20, 25, 30, 35, 40, 45, ...
rédiger en termes généraux de "a" et "b"

la question 3 dit bien :

3 . Écrire le programme Python associé à cet algorithme , le saisir sur l ordinateur et l'utiliser pour vérifier les réponses précédentes
il n'y a pas de "à l'écrit" là dedans :
tu écris le programme sur ta feuille (exactement et au caractère près)
et tu dis que tu l'as essayé sur ordi en tapant ça et ça et que les résultats sont...
et qu'ils sont en accord avec ceux de la question 1

(et si c'est faux et que tu as bourré le mou en n'essayant pas vraiment, eh bien tant pis pour toi)

Posté par
babahand
re : Dm python 21-10-19 à 13:07

J ai recopier le programme pourquoi sa marche pas alors ?

Posté par
mathafou Moderateur
re : Dm python 21-10-19 à 13:10

Il y a écrit SintaxError : invalid syntax
déja :

Citation :
c'est pas O (lettre) mais 0 (zero) l'initialisation de q !!

ensuite si tu as tapé exactement au caractère près ce que tu as mis ici (en corrigeant ça) et en respectant l'indentation correctement eh bien chez moi ça fonctionne très bien
(j'ai fait copier coller, corrigé le O en 0, et j'ai remplacé les pléthores d'espaces par des tabulations correctes, le "def" doit être en tout début de ligne etc)

Posté par
babahand
re : Dm python 21-10-19 à 13:18

Le 0 est déjà corrigé
L indentation c est quoi ?
Je n ai mit aucun espaces il en faut ?

Posté par
babahand
re : Dm python 21-10-19 à 13:22

J ai mit le def en début de ligne
Et après j ai mit 2 espaces pour les autres lignes

Posté par
mathafou Moderateur
re : Dm python 21-10-19 à 13:48

cela doit donner exactement ça :

Dm python

l'indentation c'est le décalage et l'alignement vertical des débuts de lignes
cela sert à dire ce qui est dans le bloc dont on parle
on a ici :
- le bloc principal (décalage = 0 : le mot "def" de la définition de fonction)
- tout ce qui est "dans" la fonction forme un bloc, décalé de une tabulation
- tout ce qui est dans la boucle while, décalé de une tabulation de plus, donc deux tabulations
- le "return" est en dehors de la boucle while, mais dans la fonction donc on revient à une seule tabulation

d'autres commandes qui seraient en dehors de cette fonction seraient à mettre à nouveau à l'indentation 0

Posté par
babahand
re : Dm python 21-10-19 à 14:24

Ok merci je fais ça après je met les chiffres
Et j ai finis la partie À
Je peux vous envoyez la partie B

Posté par
babahand
re : Dm python 21-10-19 à 14:40

Partie B
1. Modifier l algorithme  de la partie A afin qu'il permette de déterminer le plus grand  multiple de à strictement inférieur à b .

2. Écrire le programme Python associé à cet algorithme , le saisir sur l ordinateur et l utiliser pour répondre aux questions suivantes
a) quel est le plus grand multiple de 26 strictement inférieur à 5234?
B) quel est le plus grand multiple de 263 strictement inférieur à 1234567890?

Posté par
mathafou Moderateur
re : Dm python 21-10-19 à 14:47

1) si tu as réellement compris la parti e A question 2, c'est du gâteau
(mais tu n'as toujours pas répondu à cette question ...)

Posté par
babahand
re : Dm python 21-10-19 à 17:41

Oui j y arrive pas car q a et b sa me perturbe

Posté par
mathafou Moderateur
re : Dm python 21-10-19 à 18:20

message retapé car impossible à corriger à cause d'un bug du site :

mais bon sang de bonsoir qu'as tu répondu à la question A.2) ?

je t'ai donné la phrase à compléter :
"ce programme calcule .... multiple de a .... "
il faut compléter les "..." par une propriété de ce que l'on calcule dans l'algorithme d'origine (ce que tu as observé sur les exemples numériques donnés question A.1) !!

et cette propriété tu peux au besoin la trouver en essayant de compléter cette phrase en numérique si ça te chante avec l'exemple de a = 5 et b = 35

"ce programme calcule .... multiple de 5 .... "
(donc il y aura un "36", la valeur de b, dans les trucs à compléter, bien entendu)

et dans les "..." des choses comme "le plus grand", "le plus petit" > < ≤ ou ≥

la phrase va ressembler à celle de la question 3 :
"le plus grand multiple de à strictement inférieur à b"

(vu qu'il s'agit de modifier l'algorithme et pas d'en écrire un autre sans aucun rapport)

Posté par
babahand
re : Dm python 21-10-19 à 18:21

Ce programme calcule q multiple de a <b
Je suis perdu on fait qu'elle sous exercice la ?

Posté par
mathafou Moderateur
re : Dm python 21-10-19 à 18:45

Je suis perdu on fait qu'elle sous exercice la ?
partie A question 2
2. Quel est le rôle de cet algorithme (celui d'origine)

tant que cela n'est pas parfaitement clair et correct il est impossibe d'ilagier ce qu'il faudrait changer pour faire al partie B

il n'y a aucun "q" dans les phrases, ni celle attendue question A.2, ni celle donnée partie B !!

répond à cette question :
comment tu décrirais le résultat "40" avec les données a = 5 et b = 36
en utilisant exclusivement certains des éléments de phrase suivants et rien d'autre :

multiple
le plus petit / le plus grand
strictement inférieur / strictement supérieur /
inférieur ou égal / supérieur ou égal
5
36


vérifier que ça marche aussi sans changer autre chose que les valeurs numériques
avec l'exemple a=2, b=9
et je t'en rajoute une : a = 7, b = 35

et tu auras ta phrase en remplaçant les valeurs numériques par "a" et "b" et rien d'autre.

Posté par
mathafou Moderateur
re : Dm python 21-10-19 à 18:47

** tant que cela n'est pas parfaitement clair et correct il est impossible d'imaginer ce qu'il faudrait changer pour faire la partie B

Posté par
babahand
re : Dm python 21-10-19 à 19:01

Ce programme calcule le multiple de 5 strictement supérieur à 36

Posté par
mathafou Moderateur
re : Dm python 21-10-19 à 19:07

il y a une infinité de multiples de 5 supérieurs 36 ..
donc ce n'est pas encore tout à fait ça

de plus je t'ai demandé ce que donnait l'algorithme avec comme exemple 7 et 35
histoire de clarifier les strictement ou pas.

Posté par
babahand
re : Dm python 21-10-19 à 19:09

Ce programme calcul le plus petit multiple de 5 strictement supérieur à 36

Posté par
mathafou Moderateur
re : Dm python 21-10-19 à 19:10

Citation :
de plus je t'ai demandé ce que donnait l'algorithme avec comme exemple 7 et 35
histoire de clarifier les strictement ou pas.

Posté par
babahand
re : Dm python 21-10-19 à 19:16

Ce programme calcul le plus petit multiple de 7 strictement supérieur à 35

Posté par
mathafou Moderateur
re : Dm python 21-10-19 à 19:26

tu as réellement essayé ???
avec Python en tapant   fonction(5,35)

Posté par
babahand
re : Dm python 21-10-19 à 19:27

Je ne peux pas essayer j esserai demain

Posté par
mathafou Moderateur
re : Dm python 21-10-19 à 19:51

tu n'as plus Python ?
tu en avis l'usage tout à l'heure

alors fais le "à la main" avec l'algorithme en langage naturel fourni.
(en défilant une par une les instructions sur papier)

Posté par
babahand
re : Dm python 22-10-19 à 09:28

0   1     2   3.    4.     5     6     7.     8
0.   5   10  15 20.  25. 30. 35. 40

Posté par
mathafou Moderateur
re : Dm python 22-10-19 à 09:52

faux.
quand tu arrives à 35 le test "35 est il strictement inférieur à 35" échoue et la boucle suivante n'est pas exécutée
on s'arrête à 35
et donc tu peux maintenant mettre la phrase correcte qui traduit ce que fait cet algorithme

on peut aussi le faire par pur raisonnement :
la boucle s'arrête la première fois que que q*a < b devient fausse
c'est à dire que sa négation devient vraie
la négation de q*a < b est q*a ≥ b

partie B :
que donne traduite en mots la description du multiple précédent celui là ?

Posté par
babahand
re : Dm python 22-10-19 à 09:56

On peux dire que c est le multiple qui strictement plus grand que 35

Posté par
mathafou Moderateur
re : Dm python 22-10-19 à 10:36

tu es bouché ou quoi ???

(en plus je viens de m'apercevoir que ton tableau n'avait rien à voir avec la question que je te posais !!

Citation :
de plus je t'ai demandé ce que donnait l'algorithme avec comme exemple 7 et 35

a= 7, b = 35
des multiples de 7
q*a = 0, 7, 14, 21, 28, 35 stop

 on s'arrête à 35
le programme donne avec a = 7 et b = 35 le résultat 35

tu trouves que 35 est strictement plus grand que 35 ???

et en général (avec a écrit a et b écrit b)

et ça c'est toujours pour la partie A question 2 que tu n'arrives toujours pas à faire correctement !!!

et ce n'est pas ce que je te demande pour la partie B :

comment décris tu le multiple précédent celui qu'on a trouvé
le multiple de 7 qui précède 35 est 28

28 est le plus grand multiple de a=7 qui est quoi par rapport à b=35

est ce que ça marche avec les autres exemples :
a= 5, b= 36 donne 40, le multiple précédent est 35 qui est quoi par rapport à 36 ?
et a=2, b= 9 donne 10, le multiple précédent est 8 qui est quoi par rapport à 9 ?

et si de façon générale le résultat de l'algorithme A est q*a comment s'écrit "le multiple de a qui précède q*a ?
et donc quelle modification extrêmement minime faut il apporter à l'algorithme A pour obtenir ce qu'on veut dans la partie B ?

terminé.
et bye. na!
(première phrase de mon message)



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