Fractionne en PHP 1 nombre en dividende et quotient

  Information

Transforme une notation décimale en fraction réelle. Pratique pour remplacer les nombres du type 0.333333333 en 1/3. Retourne un tableau avec les index "div" pour dividande, et "quot" pour quotient. Auteur : Damien Seguy (Nexen)

  code source classé dans  Mathématiques

 
 01    
 02    
 03    
 04    
 05    
 06    
 07    
 08    
 09    
 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    
 40    
 41    
 42    
 43    
 44    
 45    
 46    
 47    
 48    
 49    
 50    
 51    
 52    
 53    
 54    
 55    
 56    
 57    
 58    
 59    
                               
<?php
/*---------------------------------------------------------------*/
/*
    Titre : Fractionne en PHP 1 nombre en dividende et quotient                                                           
                                                                                                                          
    URL   : https://phpsources.net/code_s.php?id=832
    Date édition     : 14 Fév 2019                                                                                        
    Date mise à jour : 19 Aout 2019                                                                                      
    Rapport de la maj:                                                                                                    
    - fonctionnement du code vérifié                                                                                    
*/
/*---------------------------------------------------------------*/

    function fraction($real){ 
     $real abs($real); 
      $retour array(); 
      $ent floor($real); 
      
      global $garde_fou_de_l_appel_recursif_de_fraction
      $garde_fou_de_l_appel_recursif_de_fraction++; 
      // cette variable sert a interrompre l'appel recursif 
      // au cas ou on descendrait trop bas dans les 
      // nombres representables par PHP 
      // ce nom horrible est destine a eviter les collisions 
      // avec d'autres. 
      
      if ( $garde_fou_de_l_appel_recursif_de_fraction == 10){ 
      $garde_fou_de_l_appel_recursif_de_fraction--; 
      return array("quot" => 0"div" => 1); 
      // Normalement, cette valeur attenue les erreurs 
      // liees a la divergence de l'algorithme 
      
      $real -= $ent
      // en cas de bouclage infini, on peut reduire la severite du test ici 
      // |||||| 
      if (abs(floor(1/$real) - 1/$real) < 1.0e-9){ 
      // le nombre est de la forme 1/X 
      $retour['quot'] = intval(1/$real); 
      $retour['div'] = $ent*$retour['quot']; 
      asort($retour); 
      // cet appel est un confort : 
      // comme cela, le tableau se presente sous la forme : 
      // dividande/diviseur 
      $garde_fou_de_l_appel_recursif_de_fraction--; 
      return $retour
      } 
      
      // le nombre est de la forme Y/X 
      // donc appel recursif 
      $r fraction(1/$real); 
      $retour['div'] = $r['quot'] + $r['div']*$ent
      $retour['quot'] = $r['div']; 
      $garde_fou_de_l_appel_recursif_de_fraction--; 
      return $retour
      
    }
?>

Exemple :

 
 01    
 02    
 03    
 04    
 05    
 06    
 07    
 08    
 09    
 10    
 11    
 12    
 13    
 14    
 15    
 16    
                                
<?php
    $out fraction(0.5); ?>

     <pre>
    <?php print_r $out ?>
     </pre>

    Affiche :

      Array
       (
           [div] => 1
           [quot] => 2
       )

          Fonctions du code - Doc officielle PHP

   php.net   Description Versions PHP OUTIL
   abs Valeur absolue PHP 4, PHP 5, PHP 7, PHP 8
   array Crée un tableau PHP 4, PHP 5, PHP 7, PHP 8
   asort Trie un tableau et conserve l'association des index PHP 4, PHP 5, PHP 7, PHP 8
   floor Arrondit à l'entier inférieur PHP 4, PHP 5, PHP 7, PHP 8
   intval Retourne la valeur numérique entière équivalente d'une variable PHP 4, PHP 5, PHP 7, PHP 8
   print_r Affiche des informations lisibles pour une variable PHP 4, PHP 5, PHP 7, PHP 8
   return Retourne le controle du programme au module appelant. PHP 4, PHP 5, PHP 7, PHP 8

   Dites merci aux auteurs pour leurs travail, ça ne coûte rien et ça fait toujours plaisir wink

 Autres snippets qui pourraient vous intéressez

Fractionne un créneau horaire avec PHP

Compatibilité : PHP 5, PHP 7

Divise en temps un créneau horaire entre l'heure de début et l'heure de fin. Vous pouvez définir également l'intervalle de temps.

Division euclidienne avec Quotient et Reste

Compatibilité : PHP 5, PHP 7

Cette fonction retourne le quotient et le reste d'une division euclidienne dans un tableau. Exemple fourni.

Vérifie si un nombre est un réel

Compatibilité : PHP 5, PHP 7

Fonction qui vérifie si un nombre est un réel avec la valeur a vérifier passé en paramètre.

Vérifier la parité d'un nombre

Compatibilité : PHP 5, PHP 7

Fonction qui affiche la parité d'un nombre. Prend la valeur a vérifier en argument. Retourne le résultat sous forme écrite du genre '1 est impair'.

Calcul le cube d'un nombre

Compatibilité : PHP 5, PHP 7

Fonction mathématique typique qui calcul le cube d'un nombre.

Présentation de PHP

PHP débutant et initié 50 Tutoriel

Présentation de MySQL

  14 Fév 2019

Information sur les mises à jour

Dernière mise à jour :

    19 Aout 2019
    fonctionnement du code vérifié

1 418 Vues
Compatibilité
PHP 5, 7 et 8+
46 codes

Catégorie :  Mathématiques

Affiche la série de Fibonacci
Affiche les nombres premiers compris entre 0 à $n
Affiche toute les racines carrés à partir d'un entier
Améliore la fonction PHP Floor () avec Précision
Arrondi au multiple supérieur
Arrondi un nombre entier et décimal
Calcul de l'équation de la droite de régression linéaire
Calcul des modules et arguments d'un nombre complexe, saisi arithmétiquement
Calcul du nombre Pi à l'infini
Calcul du triangle de pascal
Calcul l'hypoténuse de 2 nombres
Calcul la distance entre 2 points en km
Calcul la factorielle de manière récursive
Calcul la liste des nombres premiers
Calcul la puissance d'un nombre
Calcul la racine carré d'un nombre
Calcul le carré d'un nombre entier ou décimal
Calcul le carré, cube et racine carrée via un formulaire
Calcul le cube d'un nombre
Calcul le PGCD de 2 entiers
Calcul le PPCM de 2 entiers
Calcul le sinus en radian
Calcul les diviseurs d'un entier
Calcul les pourcentages
Calcul les taux d'intéret en PHP
Calcul si deux nombres sont premiers entre eux
Calculs sur 1 Triangle avec le théorème de Pythagore
Conversion binaire <-> décimal ET hexadécimal <-> décimal
Conversion de coordonnées cartésiennes en polaire
Conversion de coordonnées polaires en cartésiennes
Distance en mètre entre deux points avec coordonnées GPS
Divise 2 nombres avec $a et $b en paramètre
Division avec calcul du reste
Division euclidienne avec Quotient et Reste dans un tableau
Elever $x à  la puissance $y
Fonction récursive calculant la factorielle d'un nombre.
Fractionne en PHP 1 nombre en dividende et quotient
Liste des nombres parfaits
Max2scale ext PHP
Passe 1 entier base 10 en base 2
Régression Polynomiale de degré 3
Régression Polynomiale de degré 4
Trouve une distance euclidienne en PHP
Vérifie la parité d'un nombre
Vérifie si un entier est pair ou impair avec le modulo
Vérifie si un nombre est multiple d'un autre