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).

#1 12-11-2024 23:43:30

Jean-Charles Lemoine
Invité

Une multiplication à trous

Bonjour

J'aide des élèves de collège dans leurs devoirs.

Je suis tombé sur l'exercice suivant.

[tex]27,4E \times  18,D = 512,754 [/tex] où [tex]E[/tex] et [tex]D[/tex] désignent respectivement le chiffre des centièmes du premier facteur et celui des dixièmes du second.

Constatant que le produit [tex]D \times E[/tex] devait se terminer par [tex]4[/tex] j'ai essayé tous les couples [tex](D,E)[/tex] possibles dans les tables de multiplication, tels que [tex](1,4)\,(4,1)\,(2,2)\,(2,7)\,(7,2)[/tex] etc.

Après test de la plupart de ces couples je trouve [tex]D=7 [/tex] et [tex]E=2[/tex]

Toutefois je n'ai pas trouvé de solution plus efficace à proposer à l'élève, à savoir : peut-on trouver la solution sans avoir à essayer les couples l'un après l'autre ?

J'ai bien essayé de poser la multiplication mais j'aboutis à des égalités que je n'arrive pas à exploiter, notamment à cause des retenues potentielles.

Je précise que cet exercice est de niveau sixième.

Vous remerciant de l'attention que vous porterez à ma demande.

#2 13-11-2024 00:50:30

DeGeer
Membre
Inscription : 28-09-2023
Messages : 110

Re : Une multiplication à trous

Bonjour
Tu peux peut-être négliger les virgules et utiliser des considérations de divisibilité pour éliminer certains couples candidats.

Hors ligne

#3 13-11-2024 15:34:10

Zebulor
Membre expert
Inscription : 21-10-2018
Messages : 2 162

Re : Une multiplication à trous

Bonjour,
proposer cet exercice à un collégien de 6ème paraît curieux...


En matière d'intégrales impropres les intégrales les plus sales sont les plus instructives.

Hors ligne

#4 13-11-2024 21:00:11

yoshi
Modo Ferox
Inscription : 20-11-2005
Messages : 17 223

Re : Une multiplication à trous

RE,

C'est plus que "curieux" ou alors, zeb', tu donnes dans la litote...
Je ne sais qui est l'auteur de cette multiplication à trous, mais; moi, je pense qu'il a péché par optimisme : il ,e sait pas quel est le niveau d'un élève de 6e ! Même dans mon Lebossé & Hémery de quand moi j'étais en 6e - programme antérieur à 1958 - dont les exos n'étaient pas tendres (et pour cause, tous les CM2 n'entraient pas en 6e), je n'ai jamais rien vu d'aussi difficile s'il faut produire un raisonnement...
Les élèves actuels de 6e ont les pires difficultés avec les virgules.
Je penche pour la piste de De Geer et raisonner partir des résultats 4, 14, 24, 54, 64...
Quant aux caractères de divisibilité, à part 2, 3, 5, 9, je ne souviens pas  que d'autres soient au programme...
Dans "mon" Collège,  j'étais le seul à ajouter 4, 11 et 25 à la liste et montrer pourquoi.
J'étais un peu border line à chaque niveau, mais dans des limites raisonnables (restant dans les limites de la... bienséance ^_^ )

Travailler sur des entiers c'est quand même un peu moins inaccessible...
Combien en auront l'idée ? Et parmi ceux-là, combien réussiront à poser l'opération à trous pour raisonner dessus ?
Arrivés en 6e, le programme de CM2 ne les a absolument préparés à ça...
Par exemple, n'est exigible à l'entrée en 6e en matière de division que la division euclidienne (sans cette appellation)
Mieux, les évaluations 6e de début d'année, comptaient comme pas exacte, la réponse de tout élève donnant un quotient décimal exact...
Ca m'avait toujours révolté...

J'ai commencé à réfléchir au passage aux entiers...

@+


Arx Tarpeia Capitoli proxima...

Hors ligne

#5 13-11-2024 23:09:49

Glozi
Invité

Re : Une multiplication à trous

Bonsoir,
Je ne suis pas enseignant au collège et donc la méthode suivante utilise peut-être des idées qui n'ont pas encore vues par les élèves.
L'intuition est la suivante, lorsque $D$ varie on change le chiffre des dixièmes d'un nombre ce qui est une modification beaucoup plus importe que lorsque $E$ varie car alors c'est le chiffre des centièmes qui bouge.
Le nombre $27,4E$ est donc celui qui bouge le moins, il varie entre $27,40$ et $27,49$
Or, on peut faire les deux divisions suivantes (à la machine ou à la main pour les élèves dégourdis que je ne suis pas (plus ?)).
$512,754 / 27,40 \simeq 18,71$ et $512,754/27,49 \simeq 18,65$.
Ainsi on voit que $D$ vaut soit $7$ soit $6$ il reste donc par ton argument du premier post à tester $D=7$ et $E=2$, $D=6$ et $E=4$ (on peut oublier $D=6$ et $E=9$ car on a par chance déjà calculé $512,754/27,49$).

Bref deux divisions (pénibles mais il suffit d'un résultat précis au dixième) et deux multiplications à tester.

Je pense que cet exercice aurait plus de sens s'il avait pour but de coder un petit script (en algobox ou python par exemple) pour trouver le résultat.
Bonne soirée

#6 14-11-2024 01:17:33

Jean-Charles Lemoine
Invité

Re : Une multiplication à trous

Bonsoir et merci de vos réponses !

Ayant encore réfléchi aujourd’hui je ne vois pas de solution autre que le tâtonnement, sauf à être à la limite des programmes ou avoir affaire à un élève particulièrement dégourdi, au moins autant que Glozi :)

Pour info il s’agit de l’exercice 84 page 40 (chapitre 2 = addition, soustraction, multiplication) du manuel Transmath 6e Nathan Programme 2016.

Sa présentation peut induire l’utilisation de la calculatrice puisqu’il s’agit d’images d’écrans.

#7 14-11-2024 11:37:39

yoshi
Modo Ferox
Inscription : 20-11-2005
Messages : 17 223

Re : Une multiplication à trous

RE,

Glozi a écrit :

Je pense que cet exercice aurait plus de sens s'il avait pour but de coder un petit script (en algobox ou python par exemple) pour trouver le résultat.

Algobox, je connais bien aussi, mais ne n'ai pas testé...
Il est particulièrement didactique mais son maniement est un remède contre la programmation (je vais essayer de trouver 10 min aujourd'hui malgré un emploi du temps chargé).
Python, j'ai essayé hier soir
1. Test avec des décimaux :
    deux boucles enchâssées testant tous les D et E de 1 à 9...
    puis essai  : x,y=27.40 +i/100,18+j/10
    if x*y== 512.754 :
         print(i,j,"   "x, y)
Je n'ai pas eu de réponse... Pourquoi ?
Extrait :
i   j                         x              y
2  1    27.419999999999998 18.1
2  2    27.419999999999998 18.2
2  3    27.419999999999998 18.3
2  4    27.419999999999998 18.4
2  5    27.419999999999998 18.5
2  6    27.419999999999998 18.6
2  7    27.419999999999998 18.7
Comment voulez qu'il trouve quelque égalité que ce soit ?
Ah cette gestion des flottants en programmation
Alors je me suis dit passons au module décimal et importons la classe Decimal...
Raté aussi, même en fixant le précision avec getcontext() : là,  j'ai dû raté quelque chose (il commençait à être tard...) !

Donc dernier essai convaincant (idée soumise par De Geer)


for i in range (1,10):
    x=2740+i
    for j in range(1,10):
        y=180+j
  if x*y == 512754:
      print (x,y, x*y)
 

Sortie :
2742 187 512754

Voilà pour illustrer les démêlés d'un adulte via Python, !
Alors un môme de 6e sans expérience de Python et qu'il n'est pas censé connaître...

Reste à voir comment comment AlgoBox se comporte avec les flottants...
---------------------------------------------------------
Tiens une idée me vient pour contourner le souci avec Python...
Créer 2 listes D et E avec les décimaux correctement écrits:


E=[27.41, 27.42, 47.43, 27.44, 27.45, 27.46, 27.47, 27.48, 27.49]
D=[18.1, 18.2, 18.3, 18.4, 18.5, 18.6, 18.7, 18.8, 18.9]

for x in D
    for y in E:
        if x*y == 512.754:
            print (x,y, x*y)
 

Sortie :

27.42 18.7 512.754

Là ça colle enfin...

@+


Arx Tarpeia Capitoli proxima...

Hors ligne

#8 14-11-2024 12:50:38

Zebulor
Membre expert
Inscription : 21-10-2018
Messages : 2 162

Re : Une multiplication à trous

Bonjour,
$D$ et $E$ sont les solutions entiers naturels $x$ et $y$ compris entre 0 et 9 de l'équation $xy$+180$y$+2740$x$=19554
Voilà une équation pas très sympathique d'une hyperbole pour un enfant de 11 ans...

Dernière modification par Zebulor (14-11-2024 12:55:38)


En matière d'intégrales impropres les intégrales les plus sales sont les plus instructives.

Hors ligne

#9 14-11-2024 14:13:07

Borassus
Membre
Lieu : Boulogne-Billancourt
Inscription : 07-02-2023
Messages : 803

Re : Une multiplication à trous

Bonjour à tous,

Jean-Charles a écrit :

Pour info il s’agit de l’exercice 84 page 40 (chapitre 2 = addition, soustraction, multiplication) du manuel Transmath 6e Nathan Programme 2016.

Ce serait intéressant de consulter le livre du professeur (normalement « disponible en intégralité en téléchargement gratuit sur le site compagnon de l'ouvrage ») pour voir la solution qu'il préconise, et la façon dont il faut l'expliquer aux élèves.


A condition qu'elle soit gênante, l'incompréhension est la clé de la compréhension.
« Pourquoi ? » est sans doute le principal moteur de la connaissance.
L'exigence précède l'expérience.

Hors ligne

#10 14-11-2024 14:44:56

DrStone
Membre
Inscription : 07-01-2024
Messages : 273

Re : Une multiplication à trous

Bonjour.

yoshi a écrit :

1. Test avec des décimaux :
    deux boucles enchâssées testant tous les D et E de 1 à 9...
    puis essai  : x,y=27.40 +i/100,18+j/10
    if x*y== 512.754 :
         print(i,j,"   "x, y)
Je n'ai pas eu de réponse... Pourquoi ?
[…]
Comment voulez qu'il trouve quelque égalité que ce soit ?
Ah cette gestion des flottants en programmation

Réponse (pour la personne qui veut le faire elle-même sans passer par le module Decimal) ^_^

Parce que la bonne manière de faire est de réaliser des comparaisons, aidé d'un $\varepsilon\in\left]0,1\right[$

import math
from itertools import product

eps = 1e-3
total = 512.754

for i,j in product(range(0,10),range(0,10)):
    x,y = 27.40 + i*1e-2, 18.0 + j*1e-1

    if math.isclose(x*y, total, abs_tol = eps):
        D,E = round(y/eps)*eps,round(x/eps)*eps
        print(E, D, D*E, total)

Note que j'ai mélangé plusieurs choses, ici, afin de donner un exemple d'utilisation de toutes celles-ci facilement réutilisable ailleurs.

Par exemple [edit: il faut range de 0 à 10 exclu et non de 1 à 10 exclu)

for i,j in product(range(0,10),range(0,10)):

donne le résultat suivant

i: 0    j: 0
i: 0    j: 1
i: 0    j: 2
i: 0    j: 3
i: 0    j: 4
i: 0    j: 5
i: 0    j: 6
i: 0    j: 7
i: 0    j: 8
i: 0    j: 9
i: 1    j: 0
i: 1    j: 1
i: 1    j: 2
i: 1    j: 3
i: 1    j: 4
i: 1    j: 5
i: 1    j: 6
i: 1    j: 7
i: 1    j: 8
i: 1    j: 9
i: 2    j: 0
i: 2    j: 1
i: 2    j: 2
i: 2    j: 3
i: 2    j: 4
i: 2    j: 5
i: 2    j: 6
i: 2    j: 7
i: 2    j: 8
i: 2    j: 9
i: 3    j: 0
i: 3    j: 1
i: 3    j: 2
i: 3    j: 3
i: 3    j: 4
i: 3    j: 5
i: 3    j: 6
i: 3    j: 7
i: 3    j: 8
i: 3    j: 9
i: 4    j: 0
i: 4    j: 1
i: 4    j: 2
i: 4    j: 3
i: 4    j: 4
i: 4    j: 5
i: 4    j: 6
i: 4    j: 7
i: 4    j: 8
i: 4    j: 9
i: 5    j: 0
i: 5    j: 1
i: 5    j: 2
i: 5    j: 3
i: 5    j: 4
i: 5    j: 5
i: 5    j: 6
i: 5    j: 7
i: 5    j: 8
i: 5    j: 9
i: 6    j: 0
i: 6    j: 1
i: 6    j: 2
i: 6    j: 3
i: 6    j: 4
i: 6    j: 5
i: 6    j: 6
i: 6    j: 7
i: 6    j: 8
i: 6    j: 9
i: 7    j: 0
i: 7    j: 1
i: 7    j: 2
i: 7    j: 3
i: 7    j: 4
i: 7    j: 5
i: 7    j: 6
i: 7    j: 7
i: 7    j: 8
i: 7    j: 9
i: 8    j: 0
i: 8    j: 1
i: 8    j: 2
i: 8    j: 3
i: 8    j: 4
i: 8    j: 5
i: 8    j: 6
i: 8    j: 7
i: 8    j: 8
i: 8    j: 9
i: 9    j: 0
i: 9    j: 1
i: 9    j: 2
i: 9    j: 3
i: 9    j: 4
i: 9    j: 5
i: 9    j: 6
i: 9    j: 7
i: 9    j: 8
i: 9    j: 9

ce qui permet d'itérer sur les 100 possibilités en une seule ligne

ou encore

if math.isclose(x*y, total, abs_tol = eps):

permet de s'assurer que notre flottant est suffisamment proche de la solution désirée (quand bien même il finit par $…999999999$)

enfin, la ligne

D,E = round(y/eps)*eps,round(x/eps)*eps

permet de récupérer les valeurs arrondies à $\varepsilon$ près

Dernière modification par DrStone (14-11-2024 15:07:29)

Hors ligne

#11 14-11-2024 15:24:33

yoshi
Modo Ferox
Inscription : 20-11-2005
Messages : 17 223

Re : Une multiplication à trous

Re,

J'ai cherché dans ce que j'avais encore en stock : je ne l'ai pas...

J'ai Transmath 2005 programme 2005...
Chapitre multiplication
Exercices d'approfondissement
ça commence par une multiplication à trous :

Imaginez une stratégie Recopier et compléter chaque . par le chiffre qui convient...
(Ah ah ! Je dois recopier le . , puis le remplacer... Bin après, j'le mets où ? Directement sur le livre ?...)
Bon blague à part, elle se prête assez bien à la réflexion :


          .,. 1 5
        x   7 3,.
  -----------------
          . . . 0
        4 5 . .
    . . . . .
  -----------------
    . . .,. . 1 .
 

Ceci m'amène à une remarque (je sais, j'ai mauvais esprit !) : de 2005 à 2016, les élèves de 6e ont fait de sacrés progrès !

@+

[EDIT]
@DrStone :

for i,j in product(range(0,10),range(0,10)):

Et pourquoi (0,10) ?  0 pour  le chiffre des dixièmes et/ou pour celui des centièmes à un moment, le produit va se terminer par 0, non ? C'est pourquoi j'ai pris (1, 10)...

Cela dit : clap, clap, clap ! Chapeau bas... Pas pensé à aller fouiner dans itertools...
Ce qui m'amène à une question : combien d'élèves de 6e en sont capables ?
Sûrement beaucoup moins encore que mon idée de créer 2 listes et de les parcourir sans utiliser range...
Je n'ai pourtant pas employé pourtant pas la grosse artillerie !
Si je repense à mes 6e de 2007, de mémoire, aucun ne connaissait Python, et s'ils l'avaient vaguement entrevu (où ? Pas au Collège ! Dans te programme de Techno - de l'époque - pas de place pour la programmation)
En 2016, je ne crois pas non plus... Il me semble qu'on commençait à les familiariser avec Scratch...

Je vais donc aller remettre le nez sans itertools. Bonne occasion, ça faisait un moment...
Il me semble déjà l'avoir utilisé, mais je ne souviens pas du  pourquoi...

Dernière modification par yoshi (14-11-2024 15:51:45)


Arx Tarpeia Capitoli proxima...

Hors ligne

#12 14-11-2024 16:13:25

DrStone
Membre
Inscription : 07-01-2024
Messages : 273

Re : Une multiplication à trous

Bonjour yoshi.

yoshi a écrit :

Et pourquoi (0,10) ?  0 pour  le chiffre des dixièmes et/ou pour celui des centièmes à un moment, le produit va se terminer par 0, non ? C'est pourquoi j'ai pris (1, 10)...

C'est un petit peu tricky à voir de prime abord mais si tu démarres à $1$ avec

for i in range(1, 10)

alors, par exemple,

x = 27.40 + i/100

ne prend ses valeurs que dans $\left[27,41 ; 27,49\right]$ et non pas $\left[27,40 ; 27,49\right]$ comme "espéré" pour tester toutes les valeurs.

On a de la chance, ici, car on sait que les derniers chiffres ne peuvent pas être des zéros; mais rien ne garantit que c'est toujours le cas ! Donc par bonne habitude à ancrer (car ça ne mange pas de pain… après tout, on est déjà $O(n^2)$ alors rajouter $n$ opérations est négligeable) je me dis qu'il vaut mieux dans un exemple indiquer toutes les valeurs.

Enfin, attention, c'est négligeable dans notre contexte. Dans un contexte de calculs à hautes performances, la moindre opération évitée joue un énorme rôle.

Note sinon que j'avais moi aussi démarré à $1$ jusqu'à mon édit; du fait, qu'à nouveau, on sait que ça ne peut jamais finir par un $0$.

Dernière modification par DrStone (15-11-2024 14:41:04)

Hors ligne

#13 14-11-2024 16:25:46

DeGeer
Membre
Inscription : 28-09-2023
Messages : 110

Re : Une multiplication à trous

A priori, pour des 6èmes, on attendrait plutôt l'utilisation du tableur.

Hors ligne

#14 14-11-2024 16:50:08

yoshi
Modo Ferox
Inscription : 20-11-2005
Messages : 17 223

Re : Une multiplication à trous

RE,

De Geer a écrit :

A priori, pour des 6èmes, on attendrait plutôt l'utilisation du tableur.

Exact !
Je ne sais pas maintenant, mais à l'époque nombreux étaient les profs qui avaient besoin d'une formation en Informatique (y compris certains profs de techno qui apprenaient les leçons 24 h avant leurs élèves).
Cela dit, il doit être possible de remplacer Python et AlgoBox  par un tableur et arriver à la solution...
Va falloir que je regarde ça aussi.
Jouer avec "Windows 2000 server", n'était pas triste non plus, même si je ne calculais pas avec, ni ne programmais : pas fait pour ça...
Mais honnêtement, je préfère de loin utiliser Python...

DrStone a écrit :

C'est un petit peu tricky à voir de prime abord mais si tu démarres à $1$ avec

for i in range(1, 10)

alors, par exemple,

x = 27.40 + i/100

ne prend ses valeurs que dans $\left[27,41 ; 27,49\right]$ et non pas $\left[27,40 ; 27,49\right]$ comme "espéré" pour tester toutes les valeurs.

Pourquoi tricky ? Je l'ai bien fait sciemment. Comme je me suis arrêté à 9 et non à 8 puisque les couples (6,9) et (9,6) étaient potentiellement possibles.
J'aurais même dû ne tester que les couples potentiellement valables : ça aurait davantage satisfait mon ego  .. ^_^

@+

Dernière modification par yoshi (14-11-2024 17:02:01)


Arx Tarpeia Capitoli proxima...

Hors ligne

#15 14-11-2024 17:14:39

DrStone
Membre
Inscription : 07-01-2024
Messages : 273

Re : Une multiplication à trous

Rebonjour.

Pas forcément tricky pour nous yoshi, mais possiblement pour d’autres. J’essaie de répondre à ce type de questions de sorte que tout un chacun puisse comprendre les réponses sans y passer des heures. ^_^

Et ici, la réponse la plus évidente et la plus simple reste de tester toutes les valeurs décimales jusqu’à trouver la réponse.

Enfin, je dis évidente mais il n’est en réalité pas si évident que ça d’être obligé à vérifier si la valeur obtenue est suffisamment proche de celle recherchée à coup d’epsilon. Raison pour laquelle je n’ai pas voulu trop surcharger d’informations !

Hors ligne

#16 14-11-2024 23:39:28

Ernst
Membre
Inscription : 30-01-2024
Messages : 178

Re : Une multiplication à trous

Bonsoir,

Programme Python qui teste toutes les possibilités :

for d in [round(x, 1) for x in [18.0 + i * 0.1 for i in range(10)]]:
    print(f"512.754 / {d:.1f} = {512.754 / d:.12g}")
print(' ')
for d in [round(x, 2) for x in [27.40 + i * 0.01 for i in range(10)]]:
    print(f"512.754 / {d:.2f} = {512.754 / d:.12g}")

Au lieu de tester 100 multiplications, je ne teste que 20 divisions :

512.754 / 18.0 = 28.4863333333
512.754 / 18.1 = 28.3289502762
512.754 / 18.2 = 28.1732967033
512.754 / 18.3 = 28.0193442623
512.754 / 18.4 = 27.8670652174
512.754 / 18.5 = 27.7164324324
512.754 / 18.6 = 27.5674193548
512.754 / 18.7 = 27.42
512.754 / 18.8 = 27.2741489362
512.754 / 18.9 = 27.1298412698
 
512.754 / 27.40 = 18.713649635
512.754 / 27.41 = 18.7068223276
512.754 / 27.42 = 18.7
512.754 / 27.43 = 18.6931826467
512.754 / 27.44 = 18.6863702624
512.754 / 27.45 = 18.6795628415
512.754 / 27.46 = 18.6727603787
512.754 / 27.47 = 18.6659628686
512.754 / 27.48 = 18.6591703057
512.754 / 27.49 = 18.6523826846

Avec suppression des zéros terminaux, plus pratique pour voir immédiatement les bonnes valeurs.

Hors ligne

#17 15-11-2024 15:37:14

yoshi
Modo Ferox
Inscription : 20-11-2005
Messages : 17 223

Re : Une multiplication à trous

Bonjour Ernst,

Moi, (enfin mon Python) je n'ai testé que 81 multiplications...
Rassure-moi, ce petit listing - au demeurant - imbuvable - est l’œuvre d'une IA ?

Alors, dans le cadre de la course à l'échalote \^_`/, je fais mieux : 11 multiplications et 3 lignes seulement...

Rien qu'avec des entiers :
Avec test


for d,e in [(1,4),(2,2),(2,7),(3,8),(4,1),(4,6),(6,4),(6,9),(7,2),(8,3),(9,6)]:
  if (2740+d)*(180+e)== 512754:
    print(2742,"x",187=5121754)

Sortie

2742 x 187=5121754

Sans test

for d,e in [(1,4),(2,2),(2,7),(3,8),(4,1),(4,6),(6,4),(6,9),(7,2),(8,3),(9,6)]:
  print(2740+d,"x",180+e,"=",(2740+d)*(180+e))

Sortie

2741 x 184 = 504344
2742 x 182 = 499044
2742 x 187 = 512754
2743 x 188 = 515684
2744 x 181 = 496664
2744 x 186 = 510384
2746 x 184 = 505264
2746 x 189 = 518994
2747 x 182 = 499954
2748 x 183 = 502884
2749 x 186 = 511314

En passant aux décimaux...
Avec test


for d,e in [(1,4),(2,2),(2,7),(3,8),(4,1),(4,6),(6,4),(6,9),(7,2),(8,3),(9,6)]:
  if round(27.4+d*0.01,2)*round(18.0+e*0.1,1)== 512.754:
    print(round(27.4+d*0.01,2),"x",round(18.0+e*0.1,1),"=", 512.754)

Sortie :

27.42 x 18.7 = 512.754

Sans test
Voire :


for d,e in [(0.01,0.4),(0.02,0.2),(0.02,0.7),(0.03,0.8),(0.04,0.1),(0.04,0.6),(0.06,0.4),(0.06,0.9),(0.07,0.2),(0.08,0.3),(0.09,0.6)]:
  if round(27.4+d,2)*round(18.0+e,1)== 512.754:
    print(round(27.4+d,2),"x",round(18.0+e,1),"=", 512.754)
 

Sortie :

27.42 x 18.7 = 512.754

Sans test

for d,e in [(1,4),(2,2),(2,7),(3,8),(4,1),(4,6),(6,4),(6,9),(7,2),(8,3),(9,6)]
    print(round((27.4+d*0.01),2),"x",round((18.0+e*0.1),1),"=",round((27.4+d*0.01),2)*round((18.0+e*0.1),1))
 

Sortie :

27.41 x 18.4 = 504.344
27.42 x 18.2 = 499.044
27.42 x 18.7 = 512.754
27.43 x 18.8 = 515.684
27.44 x 18.1 = 496.664
27.44 x 18.6 = 510.384
27.46 x 18.4 = 505.264
27.46 x 18.9 = 518.994
27.47 x 18.2 = 499.954
27.48 x 18.3 = 502.884
27.49 x 18.6 = 511.314

Et de plus, je respecte le code de déontologie énoncé par le dernier IPR (Inspecteur Pédagogique Régional, 1 par matière) à avoir visité les matheux de "mon" Collège :
- Vous devez veiller à n'utiliser que des nombres fréquentables (!),
- Vous ne devez pas enseigner à un niveau n+1 quand vous êtes au niveau n...

Là, l'IA pousse donc trop loin de bouchon
- Exigible à l'entrée en 6e : division euclidienne
- Enseignée en 6e : la division avec Dividende décimal
- Enseignée en 5e : la division avec Dividende décimal et diviseur décimal

En outre, l'exercice proposé se trouvait dans le chapitre du livre de 6e : Addition, soustraction et multiplication, donc division proscrite pour la résolution...

Cerise sur le gâteau : tous ces codes tourneront tels quels sur les anciennes versions 2.x de Python ;-)

@+


Arx Tarpeia Capitoli proxima...

Hors ligne

#18 15-11-2024 18:17:38

Ernst
Membre
Inscription : 30-01-2024
Messages : 178

Re : Une multiplication à trous

Bonjour,

yoshi a écrit :

Moi, (enfin mon Python) je n'ai testé que 81 multiplications...

L'idée de base était de n'appliquer aucun raisonnement, sinon je n'aurais pas éliminé que le zéro, mais aussi le cinq. :-)


Rassure-moi, ce petit listing - au demeurant - imbuvable - est l’œuvre d'une IA ?

Comme je crois l'avoir déjà dit, tout ce qui est Python est développé par un assistant numérique et ton serviteur. Je sais faire, mais pour des points de détail (élimination des zéros en fin de nombre par exemple) c'est plus simple de demander que de chercher.

Quant au côté imbuvable, il me doit tout. Au départ le code est détaillé et commenté quelque soit l'assistant numérique que j'utilise, et je le remanie jusqu'à qu'il soit minimaliste. À chacun ses élégances...

Hors ligne

Réponse rapide

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)?
dix plus vingt sept
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.

Pied de page des forums