Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1827 connectés 

  FORUM HardWare.fr
  Programmation
  C++

  Écrire une fonction indicatrice

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Écrire une fonction indicatrice

n°1668039
abaddon200​2
Posté le 08-01-2008 à 22:59:35  profilanswer
 

Bonsoir,
 
voilà j'aimerai savoir s'il est possible d'écrire une fonction indicatrice qui prend un nombre en argument et qui retourne 1 si c'est un nombre rationnel (exemple : 1/10, 3, -5/47) (Q) ou 0 si le nombre est irrationnel (R \ Q) (exemple : pi, e, sqrt(2)).
 
Le seul problème est que si l'on prend des double, ou des float en argument on ne peux pas faire de distinction à cause de la représentation dicrète des nombres.
 
Avec quel type de variable travailler et quel genre d'algorithme peut-on écrire ?
 
Merci beaucoup pour votre aide, je suis vraiment perdu.

mood
Publicité
Posté le 08-01-2008 à 22:59:35  profilanswer
 

n°1668044
GrosBocdel
Posté le 08-01-2008 à 23:06:32  profilanswer
 

abaddon2002 a écrit :

Bonsoir,
 
voilà j'aimerai savoir s'il est possible d'écrire une fonction indicatrice qui prend un nombre en argument et qui retourne 1 si c'est un nombre rationnel (exemple : 1/10, 3, -5/47) (Q) ou 0 si le nombre est irrationnel (R \ Q) (exemple : pi, e, sqrt(2)).
 
 
J'aimerai demain
 
Le seul problème est que si l'on prend des double, ou des float en argument on ne peux pas faire de distinction à cause de la représentation dicrète des nombres.
 
Avec quel type de variable travailler et quel genre d'algorithme peut-on écrire ?
Comme tu veux
 
 
 
Merci beaucoup pour votre aide, je suis vraiment perdu.
Cartes, gps, au choix


 

n°1668050
Joel F
Real men use unique_ptr
Posté le 08-01-2008 à 23:14:54  profilanswer
 

abaddon2002 a écrit :


Avec quel type de variable travailler et quel genre d'algorithme peut-on écrire ?


 
A moins de ne travailler qu'avec des types à toi, je penses que c'est mort de part la manière donc les nombres sont représentés.

n°1668051
abaddon200​2
Posté le 08-01-2008 à 23:16:18  profilanswer
 

c'est pas possible ?  :(  
 

Citation :

Avec quel type de variable travailler et quel genre d'algorithme peut-on écrire ?
Comme tu veux


 
Un type de variable qui ne soit pas une simple représentation discrète des nombres, mais bel et bien une représentation réelle, malheureusement je ne connais pas de type de variable qui soient ça..
 
Pour l'algorithme :
 
si le nombre à virgule (argument de la fonction) peut être représenté comme une fraction de deux entiers alors il est rationnel et on retourne 0, sinon il est irrationnel et on retourne 1.
 

Citation :

Merci beaucoup pour votre aide, je suis vraiment perdu.  
Cartes, gps, au choix


S'il en existe une pour ce genre de problème je l'achète tout de suite !  :jap:


Message édité par abaddon2002 le 08-01-2008 à 23:17:01
n°1668053
Joel F
Real men use unique_ptr
Posté le 08-01-2008 à 23:18:46  profilanswer
 

La definition d'un nombre rationelle n'a pas de sens en representation float IEEE :/

 

Message cité 1 fois
Message édité par Joel F le 08-01-2008 à 23:18:54
n°1668056
abaddon200​2
Posté le 08-01-2008 à 23:21:07  profilanswer
 

Joel F a écrit :

La definition d'un nombre rationelle n'a pas de sens en representation float IEEE :/


 
Mais alors comment peut-on distinguer des rationnels d'irrationnels en informatique ????

n°1668057
Joel F
Real men use unique_ptr
Posté le 08-01-2008 à 23:23:16  profilanswer
 

bah tu peut pas je pense ...
 
c'est pr un exercice ou bien ?

n°1668059
abaddon200​2
Posté le 08-01-2008 à 23:25:07  profilanswer
 

oui, de mathématiques discrètes...
 
Je sais pas lol, le but c'est peut-être de nous faire remarquer qu'en informatique on fait abstraction des irrationnels.. mais ça me paraît bizarre qu'on ne puisse pas.

Message cité 1 fois
Message édité par abaddon2002 le 08-01-2008 à 23:25:32
n°1668062
Joel F
Real men use unique_ptr
Posté le 08-01-2008 à 23:28:51  profilanswer
 

pour moi la question n' a pas de sens.

n°1668068
GrosBocdel
Posté le 08-01-2008 à 23:39:08  profilanswer
 

Mais non mais non Joel F.
Je me souviens d'un logiciel qui sortait la proba pour qu'un nombre à virgule soit un rationnel et lequel. Faudra que je le retrouve.
genre |nombre-epsilon|=rationnel, rien de plus

mood
Publicité
Posté le 08-01-2008 à 23:39:08  profilanswer
 

n°1668071
Joel F
Real men use unique_ptr
Posté le 08-01-2008 à 23:41:37  profilanswer
 

la proba, on est bien d'accord ...
tu ne peut pas raisonner formellement sur la representation IEEE d'un réel

n°1668112
gilou
Modérateur
Modzilla
Posté le 09-01-2008 à 00:54:48  profilanswer
 

abaddon2002 a écrit :

oui, de mathématiques discrètes...
 
Je sais pas lol, le but c'est peut-être de nous faire remarquer qu'en informatique on fait abstraction des irrationnels.. mais ça me paraît bizarre qu'on ne puisse pas.

Tant que tu te base sur une représentation machine d'un nombre, avec un nombre maximum de chiffres signicatifs, tu ne peut représenter que des nombres rationnels (et pas tous, uniquement ceux qui n'ont pas un dévellopement decimal cyclique. un nombre comme 1/3 ne sera pas plus représentable que pi).
 
A+,


---------------
There's more than what can be linked! --    Iyashikei Anime Forever!    --  AngularJS c'est un framework d'engulé!  --
n°1668114
gilou
Modérateur
Modzilla
Posté le 09-01-2008 à 00:56:58  profilanswer
 

GrosBocdel a écrit :

Mais non mais non Joel F.
Je me souviens d'un logiciel qui sortait la proba pour qu'un nombre à virgule soit un rationnel et lequel. Faudra que je le retrouve.
genre |nombre-epsilon|=rationnel, rien de plus

Pour qu'un nombre a virgule soit rationnel, il faut et il suffit que
a) le devellopement decimal s'arrete a un certain rang
ou
b) le devellopement decimal est cyclique a partir un certain rang
 
A+,


---------------
There's more than what can be linked! --    Iyashikei Anime Forever!    --  AngularJS c'est un framework d'engulé!  --
n°1668137
GrosBocdel
Posté le 09-01-2008 à 08:26:39  profilanswer
 

Ok gilou ça peut-être une piste, mais dans le cas d'une entrée clavier humaine, est-ce que qu'un 0.000258 bien tronqué c'est 1/3869, 1/3870, 1/3871 ?
Si finalement c'est 0.0002584?
 
A part calculer toute une gamme de fractions et les comparer à ton nombre à epsilon près, abaddon2002, je ne vois pas trop.
Si je retrouve ce logiciel, je vous passerai l'adresse.

n°1668162
gilou
Modérateur
Modzilla
Posté le 09-01-2008 à 10:03:42  profilanswer
 

Dans le cas d'une entrée clavier humaine, 0.000258  ca restera toujours 258/1000000 c'est à dire un nombre rationnel avec un dénominateur qui est une puissance de 10.
Si c'est 0.0002584 ça sera 2584/10000000  
 
Par contre, si tu as un systême capable de représenter un entier de taille quelconque (à la BigNum Smalltalk) et d'effectuer les opérations habituelles sur cette représentation, tu peux alors représenter une fraction comme un couple, et definir sur les couples les operations habituelles.
 
A+,


---------------
There's more than what can be linked! --    Iyashikei Anime Forever!    --  AngularJS c'est un framework d'engulé!  --

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C++

  Écrire une fonction indicatrice

 

Sujets relatifs
Fonction qui retourne un booléen[Resolu] [Bash] Ecrire le résultat d'une commande dans un fichier HTML
ecrire un algofonction récursive et liste doublement chainée
Soft en VB: écrire en arabe dans une textboxFonction upload php
ma fonction ne fonctionne pasRecherche une fonction
AS3 : appeler une fonction a partir d'une fonction...Probléme avec fonction foreach
Plus de sujets relatifs à : Écrire une fonction indicatrice


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR