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

Caml Discussion :

Problème exercice facile


Sujet :

Caml

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    36
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Septembre 2007
    Messages : 36
    Points : 7
    Points
    7
    Par défaut Problème exercice facile
    Bonjour à tous.

    Cette année je vais voir le CamL light, et commence déjà à programmer..Et je rencontre un problème pour la dernière question d'un exo. Evidemment ça n'est pas grave, mais j'aime bien comprendre ! La consigne :
    "Donner une mesure approchée en degrés de chacun des 3 angles de ce triangle. Vérifier que la somme des mesures de ces 3 angles est bien égale à 180 . On utilisera la fonction prédéfinie asin et la fonction radianDegre définie en (1)"

    Voila, alors je suis bloqué...La fonction radianDegré est la suivante tout simplement :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    let radianDegre r = r*.180. /. pi ;;
    Merci de me débloquer !

  2. #2
    Rédacteur/Modérateur

    Avatar de gorgonite
    Homme Profil pro
    Ingénieur d'études
    Inscrit en
    Décembre 2005
    Messages
    10 322
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur d'études
    Secteur : Transports

    Informations forums :
    Inscription : Décembre 2005
    Messages : 10 322
    Points : 18 681
    Points
    18 681
    Par défaut
    je pense qu'il manque un bout d'énoncé ?

    ce triangle -> il a des caractéristiques particulières ?
    donner une mesure approchée -> faut les calculer, ou ceux sont des paramètres ?
    Evitez les MP pour les questions techniques... il y a des forums
    Contributions sur DVP : Mes Tutos | Mon Blog

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    36
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Septembre 2007
    Messages : 36
    Points : 7
    Points
    7
    Par défaut
    alors c'est a b et c qu'il faut comme variable uniquement. (on me donne a=4 b=5 et c=6 ) . Il y a également aa (angle alpha). on ne me donne que ça. Je pense que c'est au programme de me donner la valeur approchée.avant cette question, on me demande de calculer l'aire, encore avant le produit scalaire...C'est le premier TP pour se familiariser. Mais j'avoue que cette question me bloque !

  4. #4
    Rédacteur/Modérateur

    Avatar de gorgonite
    Homme Profil pro
    Ingénieur d'études
    Inscrit en
    Décembre 2005
    Messages
    10 322
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur d'études
    Secteur : Transports

    Informations forums :
    Inscription : Décembre 2005
    Messages : 10 322
    Points : 18 681
    Points
    18 681
    Par défaut
    théorème d'Al-Kashi

    http://fr.wikipedia.org/wiki/Th%C3%A...d'Al-Kashi


    c'est un problème de géométrie en fait...



    EDIT : es-tu en MPSI ? si oui, quel lycée ?
    Evitez les MP pour les questions techniques... il y a des forums
    Contributions sur DVP : Mes Tutos | Mon Blog

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    36
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Septembre 2007
    Messages : 36
    Points : 7
    Points
    7
    Par défaut
    Merci pour ta réponse, mais je ne sais pas comment "écrire" le petit bout de programme pour faire ce qu'ils me demandent, utiliser la fonction radianDegre, arrondir et tout et tout....En gros si tu as une idée de ce que je dois taper dans camL pour qu'il me renvoie le bon truc..
    Merci.

    Je suis à l'ESEO, école privée d'info, en première année..prépa intégrée..MPSI...

  6. #6
    Rédacteur/Modérateur

    Avatar de gorgonite
    Homme Profil pro
    Ingénieur d'études
    Inscrit en
    Décembre 2005
    Messages
    10 322
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur d'études
    Secteur : Transports

    Informations forums :
    Inscription : Décembre 2005
    Messages : 10 322
    Points : 18 681
    Points
    18 681
    Par défaut
    commences par résoudre mathématiquement le problème... ensuite, essaies de traduire le code ; je te corrigerais si besoin, mais je ne te ferais pas le code
    Evitez les MP pour les questions techniques... il y a des forums
    Contributions sur DVP : Mes Tutos | Mon Blog

  7. #7
    Futur Membre du Club
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    36
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Septembre 2007
    Messages : 36
    Points : 7
    Points
    7
    Par défaut
    Si j'ai posté le message, c'est que bien évidemment j'ai cherché, sans être parvenu à résoudre le problème. Je me doutais que c'était Al Kashi, mais je ne vois pas comment écrire la fonction, arrondir les angles, vérifier la somme, car je n'ai qu'un angle, utiliser l'arc sinus...

    Merci quand même pour ton aide.

  8. #8
    Rédacteur/Modérateur

    Avatar de gorgonite
    Homme Profil pro
    Ingénieur d'études
    Inscrit en
    Décembre 2005
    Messages
    10 322
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur d'études
    Secteur : Transports

    Informations forums :
    Inscription : Décembre 2005
    Messages : 10 322
    Points : 18 681
    Points
    18 681
    Par défaut
    et en pensant à cette formule ?

    Evitez les MP pour les questions techniques... il y a des forums
    Contributions sur DVP : Mes Tutos | Mon Blog

  9. #9
    Futur Membre du Club
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    36
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Septembre 2007
    Messages : 36
    Points : 7
    Points
    7
    Par défaut
    je n'utilise pas asin ni radianDegre...

  10. #10
    Rédacteur/Modérateur

    Avatar de gorgonite
    Homme Profil pro
    Ingénieur d'études
    Inscrit en
    Décembre 2005
    Messages
    10 322
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur d'études
    Secteur : Transports

    Informations forums :
    Inscription : Décembre 2005
    Messages : 10 322
    Points : 18 681
    Points
    18 681
    Par défaut
    Al-Kashi dit :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    c² = a² + b² + 2*cos(cc)
    donc, on peut en déduire...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    c² = a² + b² + 2*sin(pi/2 - cc)
    (c² - a² - b²)/2 = sin(pi/2 - cc)
    arcsin(c² - a² - b²)/2 = pi/2 - cc
    cc = pi/2 - arcsin(c² - a² - b²)/2
    sachant que cc est exprimé en radians... donc faudra le passer en degrés
    Evitez les MP pour les questions techniques... il y a des forums
    Contributions sur DVP : Mes Tutos | Mon Blog

  11. #11
    Futur Membre du Club
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    36
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Septembre 2007
    Messages : 36
    Points : 7
    Points
    7
    Par défaut
    Voila alors j'ai fait ça mais je ne sais pas vraiment quoi faire de plus...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    #let fonction a b c = (pi/.2.)-. asin(a*.a-.c*.c-.b*.b)/.2. ;;
    fonction : float -> float -> float -> float = <fun>

    je ne sais pas comment utiliser radianDegre...et ça ne me donne qu'un ange..Il faut que je teste la somme des 3...genre if aa+.bb+.cc = 180 then true ;;

    mais j'en sais rien du tout..C'est mon tout premier TP...

  12. #12
    alex_pi
    Invité(e)
    Par défaut
    Citation Envoyé par arnaud405 Voir le message
    mais j'en sais rien du tout..C'est mon tout premier TP...
    D'ailleurs, je trouve ça passablement absurde de faire ce genre de truc pour un premier TP caml. Mais bon, ce n'est que mon humble avis !

    Mais avant de "penser Caml" essaye de penser maths, de tout bien poser sur papier, et après de traduire en Caml

    Et accessoirement, la somme des angles ne fera jamais exactement 180°, il y aura des erreurs d'arrondis, donc il faut faire le test à epsilon pres.

  13. #13
    Futur Membre du Club
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    36
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Septembre 2007
    Messages : 36
    Points : 7
    Points
    7
    Par défaut
    ouè...je ne sais pas trop comment faire là....

  14. #14
    Rédacteur/Modérateur

    Avatar de gorgonite
    Homme Profil pro
    Ingénieur d'études
    Inscrit en
    Décembre 2005
    Messages
    10 322
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur d'études
    Secteur : Transports

    Informations forums :
    Inscription : Décembre 2005
    Messages : 10 322
    Points : 18 681
    Points
    18 681
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    let fonction a b c = radianDegre((pi/.2.)-. asin(a*.a-.c*.c-.b*.b)/.2.) ;;
     
    let aa = fonction b c a and bb = fonction a c b and cc = fonction a b c in
    let somme = aa +. bb +. cc ;;
    Evitez les MP pour les questions techniques... il y a des forums
    Contributions sur DVP : Mes Tutos | Mon Blog

  15. #15
    Futur Membre du Club
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    36
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Septembre 2007
    Messages : 36
    Points : 7
    Points
    7
    Par défaut
    Je te remercie..Je ne savais pas me servir de and et in...D'ailleurs je ne sais pas si je comprends parfaitement. Bref, on m'expliquera à mon prochain cours.
    Merci encore !

  16. #16
    Rédacteur/Modérateur

    Avatar de gorgonite
    Homme Profil pro
    Ingénieur d'études
    Inscrit en
    Décembre 2005
    Messages
    10 322
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur d'études
    Secteur : Transports

    Informations forums :
    Inscription : Décembre 2005
    Messages : 10 322
    Points : 18 681
    Points
    18 681
    Par défaut
    Citation Envoyé par arnaud405 Voir le message
    Bref, on m'expliquera à mon prochain cours.


    dis nous ce que font, selon toi, chaque ligne... et on corrigera
    Evitez les MP pour les questions techniques... il y a des forums
    Contributions sur DVP : Mes Tutos | Mon Blog

  17. #17
    Membre éprouvé
    Avatar de InOCamlWeTrust
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    1 036
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 1 036
    Points : 1 284
    Points
    1 284
    Par défaut
    Citation Envoyé par alex_pi
    il y aura des erreurs d'arrondis, donc il faut faire le test à epsilon pres.
    Ou de l'art de choisir le epsilon...

    Véridique, vu en présentation de thèse : "Si le test à epsilon près échoue, on modifie epsilon."... dans le genre "Si je veux que ça marche et que ça marche pas, je fais comme si ça marchait !".
    When Colt produced the first practical repeating handgun, it gave rise to the saying God created men, but Colt made them equal.

  18. #18
    Futur Membre du Club
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    36
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Septembre 2007
    Messages : 36
    Points : 7
    Points
    7
    Par défaut
    Bonjour.
    On vient de le voir aujourd'hui. j'ai compris..en fait and et in c'est pour en fait ajouter des fonctions dans les fonctions. et ça autant qu'on veut !
    donc j'ai compris toute la syntaxe de ce petit truc. Merci encore ! Je vous recontacterai pour d'autres trucs je pense. merci de votre soutien, votre ide et votre sympathie.

Discussions similaires

  1. [68k] Problème exercice suite de Fibonacci
    Par tim91700 dans le forum Autres architectures
    Réponses: 15
    Dernier message: 31/03/2009, 20h59
  2. problème exercice algorithmique
    Par chicabonux dans le forum Débuter
    Réponses: 37
    Dernier message: 25/02/2009, 16h55
  3. [ DEBUTANT ] Problème exercice boucle + récursive
    Par arnaud405 dans le forum Caml
    Réponses: 37
    Dernier message: 06/11/2007, 01h39
  4. Problème Exercice Débutant
    Par nanoute dans le forum C
    Réponses: 34
    Dernier message: 19/05/2007, 17h14
  5. Réponses: 8
    Dernier message: 03/10/2006, 17h34

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