IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Programmation (La)TeX avancée Discussion :

création d'une macro Pythagore


Sujet :

Programmation (La)TeX avancée

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Enseignant
    Inscrit en
    janvier 2012
    Messages
    50
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Service public

    Informations forums :
    Inscription : janvier 2012
    Messages : 50
    Points : 39
    Points
    39
    Par défaut création d'une macro Pythagore
    Bonjour!

    Je souhaite créer une macro qui rédige la correction d'un exercice de type pythagore dans le cas où la valeur recherchée est celle de l'hypoténuse. Et j'ai un problème, je souhaiterai inclureun test conditionnel du type:
    Si la racine carrée est juste afficher AB égal + nombre sinon afficher AB environ égal + nombre.

    Et c'est dans la création de ce test que je bloque. Pourriez-vous m'aider ?

    Je joins mon code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
     
    \documentclass[a4paper,10pt,francais,oneside,openright]{book}
    \usepackage[frenchb]{babel}
    \usepackage[latin1]{inputenc}
    \usepackage[T1]{fontenc}
    \usepackage{glossaries} % creation de glossaires
    \usepackage{amsmath} %% commandes essentielles
    \usepackage{xlop} %% poser des opérations
    \input{opsqrt}% racine carrée
    \input{xstring}
    %
    %macros
    \newcommand{\pythahypo}[6]{%
    Dans le triangle $#1#2#3$ rectangle en $#1$, d'après le théorème de Pythagore on a:
    \opmul*{#4}{#4}{a}
    \opmul*{#5}{#5}{b}
    \opadd*{a}{b}{c}
    \opsqrt[maxdivstep=#6]{c}{d}
    \begin{align*}
    	#2#3^2 & = #1#2^2+#1#3^2\\
    	#2#3^2 & = #4^2+#5^2\\
    	#2#3^2 & = \opprint{a}+\opprint{b}\\
    	#2#3^2 & = \opprint{c}\\
    \intertext{donc:}
    	#2#3 & = \sqrt{\opprint{c}}\\
    	\IfInteger{\value{d}}{#2#3 & = \opprint{d}\\}{#2#3 & \approx \opprint{d}\\}	
    \end{align*}
    }
    %
    %
    \opset{decimalsepsymbol={,}}
    %
    %
    \begin{document}
    %
    \pythahypo{A}{B}{C}{4}{3}{2}
    %
    %
    \end{document}

  2. #2
    Invité
    Invité(e)
    Par défaut
    Je ne connais pas xlop. J'utiliserais fp pour les calculs qui me semble plus indiqué.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    \documentclass{article}
    \usepackage[utf8]{inputenc}
    \usepackage[T1]{fontenc}
    \usepackage{amsmath,fp,xstring}
     
    \newcommand\pythahypo[6][3]{%
    	Dans le triangle $#2#3#4$ rectangle en $#2$, d'après le théorème de Pythagore on a :
    	\FPeval\resulta{clip(#5*#5)}\FPeval\resultb{clip(#6*#6)}\FPeval\resultc{clip(\resulta+\resultb)}%
    	\FPeval\resultd{pow(0.5,\resultc)}%
    	\FPeval\resulte{clip(round(\resultd,#1))}%
    	\FPeval\decnum{1/pow(#1+1,10)}\FPeval\resultdiff{abs(\resultd-\resulte)}%
    	\FPifgt\resultdiff\decnum\let\eqsign\approx\else\let\eqsign= =\fi
    	\begin{align*}
    		#3#4^2 & = #2#3^2+#2#4^2\\
    		#3#4^2 & = \StrSubstitute{#5}.{{,}}^2+\StrSubstitute{#6}.{{,}}^2\\
    		#3#4^2 & = \StrSubstitute\resulta.{{,}}+\StrSubstitute\resultb.{{,}}\\
    		#3#4^2 & = \StrSubstitute\resultc.{{,}}\\
    	\intertext{donc :}
    		#3#4 & = \sqrt{\StrSubstitute\resultc.{{,}}}\\
    		#3#4 & \eqsign\StrSubstitute\resulte.{{,}}
    	\end{align*}
    }
     
    \begin{document}
     
    \pythahypo{A}{B}{C}{24.65}{59.16}
     
    \pythahypo[1]{A}{B}{C}{24.65}{59.16}
     
    \end{document}

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Enseignant
    Inscrit en
    janvier 2012
    Messages
    50
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Service public

    Informations forums :
    Inscription : janvier 2012
    Messages : 50
    Points : 39
    Points
    39
    Par défaut
    Merci beaucoup pour cette réponse, je bosse dessus tout de suite.

  4. #4
    Nouveau membre du Club
    Homme Profil pro
    Enseignant
    Inscrit en
    janvier 2012
    Messages
    50
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Service public

    Informations forums :
    Inscription : janvier 2012
    Messages : 50
    Points : 39
    Points
    39
    Par défaut
    J'ai enfin pris le temps de travailler dessus. Je ne suis pas certain d'avoir tout compris mais au moins ça fonctionne et j'ai facilement pu l'adapter pour créer la macro pythadroit.
    Merci beaucoup, problème réglé.

  5. #5
    Nouveau Candidat au Club
    Homme Profil pro
    Enseignant
    Inscrit en
    avril 2021
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : avril 2021
    Messages : 1
    Points : 1
    Points
    1
    Par défaut Irrationnel dans la macro de Pythagore
    Bonjour j'utilise cette macro mais j'aimerai faire :
    \pythahypo{A}{B}{C}{3}{Racine(41} et je n'arrive pas à lui rentrer cette dernière valeur ( racine de 41).
    Du coup j'utilise un arrondi mais c'est moche... Quelqu'un ici saurait comment faire ?
    Merci d'avance.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Création d'une macro avec un paramètre
    Par jacklafrip dans le forum C
    Réponses: 4
    Dernier message: 19/02/2008, 22h35
  2. Création d'une macro sur bouton
    Par guenfood dans le forum IHM
    Réponses: 1
    Dernier message: 13/12/2007, 18h06
  3. Création d'une macro qui remplira un agenda
    Par Cyriusix dans le forum VBA Word
    Réponses: 21
    Dernier message: 07/12/2007, 12h28
  4. Création d'une macro mais erreur
    Par guismoman33 dans le forum Macros et VBA Excel
    Réponses: 10
    Dernier message: 04/06/2007, 19h14
  5. {EXCEL ou VBA}Création d'une macro (Débutant)
    Par Thomas69 dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 29/05/2007, 16h32

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo