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
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)
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 ?
ç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 !!
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)
Il y a écrit SintaxError : invalid syntax
déja :
cela doit donner exactement ça :
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
Ok merci je fais ça après je met les chiffres
Et j ai finis la partie À
Je peux vous envoyez la partie B
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?
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 ...)
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)
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.
** 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
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.
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)
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à ?
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 !!
Vous devez être membre accéder à ce service...
Pas encore inscrit ?
1 compte par personne, multi-compte interdit !
Ou identifiez-vous :