• Home
    • Home
    • Wouf's Blog
    • Boutique TShirt
    • Sponsoring
  • Math
    • Math au collège
    • Applis et boutiques
    • Cours particuliers
  • Jeux
    • Echecs
    • Poker
    • Des chiffres et des lettres
    • Dogs and cats (mastermind)
    • boggle - version Anglaise
    • boggle - version Française
  • Info
    • Console Python
    • SVG EDIT
    • fond d'écran
    • Prénom en chinois
    • Boite à outils
    • Mes Logiciels
    • DIVERS
    • Webmaster?
    • Liens

Laurent Petitprez

Tweet


Les conseils de Wouf

Beaucoup d’élèves entrant au lycée ont en effet des difficultés à manipuler les fractions, les racines carrées, les puissances, à factoriser des expressions… Ces notions, apprises au collège, sont mal assimilées, et le programme des classes de lycée ne prévoit pas de les retravailler en profondeur.

Cet ouvrage propose une remédiation pas à pas. Un code simple et mnémotechnique est associé à chacune des règles et rappelé dans toutes les corrections d’exercices. Il permet de se repérer et de comprendre ses erreurs.

Les statistiques sont formelles : il y a de plus en plus d'étrangers dans le monde

Pierre Desproges

Voir toutes les citations.


Compter les triangles !
C'est une activité ancienne et toujours à la mode. Parfois proposée par le prof de Mathématiques, ou en guise d'enigme sur internet, le dénombrement de triangles (ou quadrilatères,...) n'est pas aussi facile que l'on pense ! Sans technique ni méthode, c'est peine perdue ! J'ai discuté aujourdh'hui avec un collègue et ami, enseignant de Mathématiques du problème suivant : Combien voyez-vous de vrais triangles (pas plats) dans la figure suivante : figure
Python ! AU SECOURS !
Comme souvent plutôt que de passer un certain temps à compter, avec concentration et méthode, je préfère coder quelques lignes ! Ceci a au moins l'avantage d'être réutilisable !
Code Python traduit en HTML:
import sys
#cette  application compte le nombres de (vrais) triangles tracés
#dans une figure donnée.
#Elle prend en compte le fichier:
#               graphe.txt
#qui contient des lignes de la forme ABCD pour signifier
# que les segment [AB] [AC] et [AD] sont tracés
#et éventuellement
#               alignement.txt
#qui contient des lignes de la forme ABCD pour signifier
# que A,B,C et D sont alignés.

segment=[]


def lignes():
    """renvoie les lignes de graphe.txt""" 
    try:
        with open("graphe.txt" ) as graphe:
            lignes=graphe.read().split()
            return lignes
    except:
        print("Le fichier graphe.txt est introuvable" )
        sys.exit()


def les_alignements():
     """renvoie les lignes de alignement.txt""" 
     try:
        with open("alignement.txt" ) as alignement:
            lignes=alignement.read().split()
            return lignes
     except:
        return []

    
def les_segments():
    """renvoie tous les segments -set- construits""" 
    segments=[]
    l=[x for x in lignes() if len(x)>0]
    for ligne in l:
        if len(ligne)<2:
            print("problème dans graphe.txt" )
            sys.exit()
        else:
            for x in ligne[1:]:
                segments.append(set(ligne[0]).union(set(x)))
    return segments
    

def les_points(l):
    """renvoie tous les points apparraissant dans une liste de segments""" 
    points=set()
    for x in l:
        for y in x:
            points.add(y)
    return points

    
l=les_segments()
l2=["[" +"" .join(list(x))+"]"  for x in sorted(l)]
p=les_points(l)
a=les_alignements()
print(a)
print("Il y a {} points : {}" .format(len(p),"," .join(sorted(p))))
print("et {} segments : {}" .format(len(l),"," .join(l2)))

plats=set()
if len(a)!=0:
    print("Alignements :" )
    for d in a:
        print(d)
        if len(set(d))>2:
            trois=[frozenset([x,y,z]) for x in set(d) for y in set(d) for z in set(d) if len(set([x,y,z]))==3]
            for t in trois:
                plats.add(t)
##    for p in plats:
##        print(p)
            
#création de tous les ensemnbles de 3 points
triplets= [ [x,y,z] for x in p for y in p for z in p]
trio=[]
for t in triplets:
    tt=set(t)
    if len(tt)==3:
        trio.append(tt)

triangles=[]

for t in trio:
    tl=list(t)
    cotes=[set([tl[0],tl[1]]),set([tl[0],tl[2]]),set([tl[1],tl[2]])]
    if cotes[0] in l and cotes[1] in l and cotes[2] in l and t not in triangles:
        triangles.append(t)

#triangles contient la liste des ensembles de points formant triangles constructibles
# reste à supprimer les plats


resultats=[t for t in triangles if t not in plats]
print("Nombres de vrais triangles :" ,len(resultats))
for t in resultats:
    print ("" .join(sorted(list(t))),end=" " )

Mode d'emploi

Cette application compte le nombres de (vrais) triangles tracés dans une figure donnée.

Elle prend en compte le fichier graphe.txt qui contient des lignes de la forme ABCD pour signifier que les segment [AB] [AC] et [AD] sont tracés et éventuellement alignement.txt qui contient des lignes de la forme ABCD pour signifier que A,B,C et D sont alignés.

Le fichier graphe.txt

Pour l'exemple ce fichier contient :

AMUOEG
GAUMOTSREI
IGROME
EIRGOUATMS
SETOGM
MSTEORIUGA
TESMOG
RGIEOM
UAMOEG
OMUAGRIETS
figure
Le fichier alignement.txt

Pour l'exemple ce fichier contient :

MORI
STOG
EOUA
MTE
MUG
ERG
Résultats :
figure

Ainsi la réponse à la question préliminaire était 37...

Nous pouvons être surpris de trouver un nombre premier alors que la figure est riche en symétrie ! Non ?

Remarques :

Open Sources et gratuité n'empêche ni les dons ni les remerciements

Un euros ou deux pour m'aider à payer le serveur ? Merci d'avance!

Améliorations ?

Vous avez envie d'une fonctionnalité, ou de participer au développement ? Utilisez le champ FB ci dessous !


 


Tweets de @wouf

Comment ???

NEWS

  • Page : https://site2wouf.fr/denombre_triangles.php
  • Catégorie : Mathématiques

Etat des lieux du site2wouf.fr, été 2021.

Je profite des vacances et de la météo désastreuse dans le Pas-de-Calais en ce mois de juillet pour dresser un état des lieux du site. La première version date des débuts d'internet mais la version actuelle, avec ce nom de domaine est né en 2008, en janvier.

Environs quatre millions de pages ont été visitées depuis 2008. 84% des visiteurs sont français, le reste se partageant majoritairement entre les Etats Unis, et l' Afrique du Nord (6% pour la Tunisie)

Historiquement, les premières versions regroupaient surtout des pages de type leçons en Mathématiques couvrant l'ensemble du collège, ce sont ces pages qui continuent à générer le plus de visites aujourd'hui. (Ainsi la page d'entrée la plus fréquente est une leçon de trigonométrie pour les élèves de troisième. )

Aujourd'hui, à la dispositions des élèves et des collègues, vous pouvez trouver sur le site2wouf.fr :

  • 3600 feuilles de problèmes gratuites en pdf pour tous (la résolution dépend du niveau)
  • 2400 feuilles de problèmes gratuites en pdf adaptées au cyc
...

lien vers l'article sur wouf blog
 

TIPS

Pour un surf correct, sur le site de Wouf, il vous faut avoir un navigateur de moins de 10 ans et ne pas refuser le javascript.

Si vous detectez une imperfection, n'hésitez pas à commenter!

Voir tous les conseils.

Dernière mise à jour:

Juin-juillet 2021

Nouvelles Pages !

  • Exercices du jour : autour de Thalès !
  • Activité du jour "L'ascenseur fou fou fou! version2"
  • Les exercices du jour : Fractions

Voir toutes les mises à jour.

 

Trois liens disponibles !

Votre propre message ici, c'est possible! Plus d'informations



Sauf mention contraire, le site est placé sous double licence Creative Commons et GNU Free Documentation License, par contre les grandes images décoratives appartiennent à Corbis et sont licenciées par microsoft

Contact: w0uf@free.fr (avec un zéro à la place du O)