|
|
--- |
|
|
license: mit |
|
|
--- |
|
|
|
|
|
**Nekomaths** |
|
|
|
|
|
 |
|
|
|
|
|
|
|
|
Un package Node.js simple et convivial, développé par nekoclem, offrant des fonctions mathématiques de base, des utilitaires pratiques et des outils plus spécifiques pour vos projets. |
|
|
|
|
|
**Installation** |
|
|
|
|
|
Pour installer nekomaths dans votre projet, utilisez npm : |
|
|
|
|
|
``` |
|
|
npm install nekomaths |
|
|
``` |
|
|
|
|
|
**Utilisation** |
|
|
|
|
|
Importez les fonctions de nekomaths dans votre fichier JavaScript. Vous pouvez importer l'objet complet ou déstructurer pour n'importer que les fonctions spécifiques dont vous avez besoin. |
|
|
|
|
|
``` |
|
|
const nekomaths = require('nekomaths'); |
|
|
// Ou en ES Modules (si votre projet supporte) : |
|
|
// import nekomaths from 'nekomaths'; |
|
|
|
|
|
// Exemple de déstructuration pour n'importer que certaines fonctions : |
|
|
// const { nekadd, nekpremier } = require('nekomaths'); |
|
|
``` |
|
|
|
|
|
**Fonctionnalités** |
|
|
|
|
|
nekomaths offre les fonctions et modules suivants : |
|
|
|
|
|
## 1. Calculs Arithmétiques Simples |
|
|
Ces fonctions effectuent les opérations mathématiques de base et retournent le résultat. |
|
|
* `nekadd(a, b)` : Additionne deux nombres. |
|
|
* `neksub(a, b)` : Soustrait le deuxième nombre du premier. |
|
|
* `nekmult(a, b)` : Multiplie deux nombres. |
|
|
* `nekdiv(a, b)` : Divise le premier nombre par le deuxième. (Gère la division par zéro). |
|
|
* `nekodouble(number)` : Renvoie le double d'un nombre. |
|
|
* `nekomoitie(number)` : Renvoie la moitié d'un nombre. |
|
|
* `nekracine(number)` : Calcule la racine carrée d'un nombre. |
|
|
* `nekopuissance(base, exposant)` : Calcule la puissance d'un nombre. |
|
|
|
|
|
```javascript |
|
|
const nekomaths = require('nekomaths'); |
|
|
|
|
|
// Addition |
|
|
console.log("4 + 5 =", nekomaths.nekadd(4, 5)); // Renvoie 9 |
|
|
|
|
|
// Soustraction |
|
|
console.log("10 - 3 =", nekomaths.neksub(10, 3)); // Renvoie 7 |
|
|
|
|
|
// Multiplication |
|
|
console.log("6 * 7 =", nekomaths.nekmult(6, 7)); // Renvoie 42 |
|
|
|
|
|
// Division |
|
|
console.log("20 / 4 =", nekomaths.nekdiv(20, 4)); // Renvoie 5 |
|
|
|
|
|
// Gestion de la division par zéro |
|
|
try { |
|
|
nekomaths.nekdiv(10, 0); |
|
|
} catch (error) { |
|
|
console.error(error.message); // Affiche : nekdiv: Division par zéro impossible. |
|
|
} |
|
|
|
|
|
// Doubler un nombre |
|
|
console.log("Le double de 7 est :", nekomaths.nekodouble(7)); // Renvoie 14 |
|
|
|
|
|
// Moitié d'un nombre |
|
|
console.log("La moitié de 15 est :", nekomaths.nekomoitie(15)); // Renvoie 7.5 |
|
|
|
|
|
// Racine carrée |
|
|
console.log("La racine carrée de 25 est :", nekomaths.nekracine(25)); // Renvoie 5 |
|
|
|
|
|
// Puissance |
|
|
console.log("2 à la puissance 3 :", nekomaths.nekopuissance(2, 3)); // Renvoie 8 |
|
|
``` |
|
|
|
|
|
## 2. Fonctions de Vérification et Séquences |
|
|
* `nekIsPairOuImpair(number)` : Vérifie si un nombre est pair ou impair et retourne une phrase explicative en français. |
|
|
* `nekofibona(n)` : Retourne le n-ième nombre de la séquence de Fibonacci. |
|
|
* `nekpremier(number)` : Vérifie si un nombre entier est premier. Retourne true si le nombre est premier, false sinon. |
|
|
* `nekFacteurs(number)` : Retourne un tableau des facteurs premiers d'un nombre. |
|
|
|
|
|
```javascript |
|
|
const nekomaths = require('nekomaths'); |
|
|
|
|
|
// Détection de Nombre Pair ou Impair |
|
|
console.log(nekomaths.nekIsPairOuImpair(7)); // Renvoie "Le nombre 7 est impair." |
|
|
console.log(nekomaths.nekIsPairOuImpair(12)); // Renvoie "Le nombre 12 est pair." |
|
|
|
|
|
// Calcul du nombre de Fibonacci |
|
|
console.log("Le 10ème nombre de Fibonacci est :", nekomaths.nekofibona(10)); // Renvoie 55 |
|
|
|
|
|
// Vérification de Nombre Premier |
|
|
console.log("17 est premier ?", nekomaths.nekpremier(17)); // Renvoie true |
|
|
console.log("18 est premier ?", nekomaths.nekpremier(18)); // Renvoie false |
|
|
|
|
|
// Facteurs premiers |
|
|
console.log("Facteurs premiers de 12 :", nekomaths.nekFacteurs(12)); // Renvoie [2, 2, 3] |
|
|
``` |
|
|
|
|
|
## 3. Statistiques et Calculs sur Tableaux |
|
|
* `nekmed(arr)` : Calcule la médiane d'un tableau de nombres. |
|
|
* `nekmoy(arr)` : Calcule la moyenne d'un tableau de nombres. |
|
|
|
|
|
```javascript |
|
|
const nekomaths = require('nekomaths'); |
|
|
|
|
|
const nombres = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]; |
|
|
|
|
|
// Médiane |
|
|
console.log("Médiane :", nekomaths.nekmed(nombres)); // Renvoie 5.5 |
|
|
|
|
|
// Moyenne |
|
|
console.log("Moyenne :", nekomaths.nekmoy(nombres)); // Renvoie 5.5 |
|
|
``` |
|
|
|
|
|
## 4. Génération de Nombre Aléatoire |
|
|
* `nekorandom(min, max)` : Génère un nombre entier aléatoire entre min et max (inclus). |
|
|
|
|
|
```javascript |
|
|
const nekomaths = require('nekomaths'); |
|
|
|
|
|
// Générer un nombre aléatoire entre 5 et 10 (inclus) |
|
|
const randomNumber = nekomaths.nekorandom(5, 10); |
|
|
console.log(`Un nombre aléatoire entre 5 et 10 : ${randomNumber}`); |
|
|
``` |
|
|
|
|
|
## 5. Calculs avec Pi (nekopi) |
|
|
L'objet nekopi fournit la valeur de Pi et des fonctions pour les calculs géométriques courants. |
|
|
* `nekopi.valeur` : La valeur de Pi (Math.PI). |
|
|
* `nekopi.circonference(rayon)` : Calcule la circonférence d'un cercle. |
|
|
* `nekopi.aireCercle(rayon)` : Calcule l'aire d'un cercle. |
|
|
* `nekopi.degresEnRadians(degres)` : Convertit des degrés en radians. |
|
|
* `nekopi.radiansEnDegres(radians)` : Convertit des radians en degrés. |
|
|
|
|
|
```javascript |
|
|
const nekomaths = require('nekomaths'); |
|
|
|
|
|
console.log("La valeur de Pi est :", nekomaths.nekopi.valeur); // Affiche Math.PI |
|
|
|
|
|
// Calculs de cercle |
|
|
console.log("Circonférence d'un cercle de rayon 5 :", nekomaths.nekopi.circonference(5)); |
|
|
console.log("Aire d'un cercle de rayon 5 :", nekomaths.nekopi.aireCercle(5)); |
|
|
|
|
|
// Conversions d'angles |
|
|
console.log("90 degrés en radians :", nekomaths.nekopi.degresEnRadians(90)); // Renvoie 1.57... (Pi/2) |
|
|
console.log("1.5708 radians en degrés :", nekomaths.nekopi.radiansEnDegres(1.5708)); // Renvoie ~90 |
|
|
``` |
|
|
|
|
|
## 6. Calculs Trigonométriques et Angles (nekdegres) |
|
|
L'objet nekdegres fournit des fonctions pour manipuler et calculer des angles en degrés. |
|
|
* `nekdegres.enDegres(radians)` : Convertit des radians en degrés. |
|
|
* `nekdegres.enRadians(degres)` : Convertit des degrés en radians. |
|
|
* `nekdegres.sinus(degres)` : Calcule le sinus d'un angle en degrés. |
|
|
* `nekdegres.cosinus(degres)` : Calcule le cosinus d'un angle en degrés. |
|
|
* `nekdegres.tangente(degres)` : Calcule la tangente d'un angle en degrés. |
|
|
|
|
|
```javascript |
|
|
const nekomaths = require('nekomaths'); |
|
|
|
|
|
// Conversions |
|
|
console.log("Pi/2 radians en degrés :", nekomaths.nekdegres.enDegres(Math.PI / 2)); // Renvoie 90 |
|
|
console.log("45 degrés en radians :", nekomaths.nekdegres.enRadians(45)); // Renvoie 0.785... (Pi/4) |
|
|
|
|
|
// Fonctions trigonométriques |
|
|
console.log("Sinus de 90 degrés :", nekomaths.nekdegres.sinus(90)); // Renvoie 1 |
|
|
console.log("Cosinus de 0 degré :", nekomaths.nekdegres.cosinus(0)); // Renvoie 1 |
|
|
console.log("Tangente de 45 degrés :", nekomaths.nekdegres.tangente(45)); // Renvoie 1 |
|
|
``` |
|
|
|
|
|
## 7. Conversions d'Unités |
|
|
|
|
|
### 7.1 Conversions Métriques (neky) |
|
|
* `neky.metersToKilometers(meters)` : Convertit des mètres en kilomètres. |
|
|
* `neky.kilometersToMeters(kilometers)` : Convertit des kilomètres en mètres. |
|
|
|
|
|
```javascript |
|
|
const nekomaths = require('nekomaths'); |
|
|
|
|
|
console.log("1000 mètres =", nekomaths.neky.metersToKilometers(1000), "kilomètres"); // Renvoie 1 |
|
|
console.log("2.5 kilomètres =", nekomaths.neky.kilometersToMeters(2.5), "mètres"); // Renvoie 2500 |
|
|
``` |
|
|
|
|
|
### 7.2 Conversions de Poids (neklet) |
|
|
* `neklet.kilosToTonnes(kilos)` : Convertit des kilos en tonnes. |
|
|
* `neklet.tonnesToKilos(tonnes)` : Convertit des tonnes en kilos. |
|
|
* `neklet.gramsToKilograms(grams)` : Convertit des grammes en kilogrammes. |
|
|
* `neklet.kilogramsToGrams(kilograms)` : Convertit des kilogrammes en grammes. |
|
|
|
|
|
```javascript |
|
|
const nekomaths = require('nekomaths'); |
|
|
|
|
|
console.log("1500 kilos =", nekomaths.neklet.kilosToTonnes(1500), "tonnes"); // Renvoie 1.5 |
|
|
console.log("2.5 tonnes =", nekomaths.neklet.tonnesToKilos(2.5), "kilos"); // Renvoie 2500 |
|
|
console.log("1500 grammes =", nekomaths.neklet.gramsToKilograms(1500), "kg"); // Renvoie 1.5 |
|
|
``` |
|
|
|
|
|
## 8. Calculs de Pourcentage |
|
|
* `nekpourcentage(total, pourcentage)` : Calcule le pourcentage d'un nombre. |
|
|
|
|
|
```javascript |
|
|
const nekomaths = require('nekomaths'); |
|
|
|
|
|
console.log("20% de 150 =", nekomaths.nekpourcentage(150, 20)); // Renvoie 30 |
|
|
``` |
|
|
|
|
|
## 9. Théorèmes Géométriques |
|
|
|
|
|
### 9.1 Théorème de Pythagore (nektalor) |
|
|
* `nektalor.hypotenuse(a, b)` : Calcule l'hypoténuse d'un triangle rectangle. |
|
|
* `nektalor.coteAdjacent(hypotenuse, cote)` : Calcule un côté adjacent. |
|
|
|
|
|
```javascript |
|
|
const nekomaths = require('nekomaths'); |
|
|
|
|
|
console.log("Hypoténuse d'un triangle 3-4 :", nekomaths.nektalor.hypotenuse(3, 4)); // Renvoie 5 |
|
|
console.log("Côté adjacent (hyp=5, côté=3) :", nekomaths.nektalor.coteAdjacent(5, 3)); // Renvoie 4 |
|
|
``` |
|
|
|
|
|
### 9.2 Théorème de Thalès (nektales) |
|
|
* `nektales.proportionnalite(a, b, c)` : Calcule la quatrième proportionnelle selon Thalès. |
|
|
* `nektales.verifierProportionnalite(a, b, c, d)` : Vérifie si quatre segments sont proportionnels. |
|
|
|
|
|
```javascript |
|
|
const nekomaths = require('nekomaths'); |
|
|
|
|
|
console.log("Quatrième proportionnelle (2,3,4) :", nekomaths.nektales.proportionnalite(2, 3, 4)); // Renvoie 6 |
|
|
console.log("Proportionnalité (2,3,4,6) :", nekomaths.nektales.verifierProportionnalite(2, 3, 4, 6)); // Renvoie true |
|
|
``` |
|
|
|
|
|
## 10. Calculs de Probabilité (nekproba) |
|
|
* `nekproba.probabiliteSimple(evenementsFavorables, evenementsPossibles)` : Calcule une probabilité simple. |
|
|
* `nekproba.probabiliteInverse(probabilite)` : Calcule la probabilité inverse. |
|
|
* `nekproba.probabiliteUnion(probA, probB, probIntersection)` : Calcule P(A ∪ B). |
|
|
|
|
|
```javascript |
|
|
const nekomaths = require('nekomaths'); |
|
|
|
|
|
console.log("Probabilité (2 sur 6) :", nekomaths.nekproba.probabiliteSimple(2, 6)); // Renvoie 0.333... |
|
|
console.log("Probabilité inverse (0.25) :", nekomaths.nekproba.probabiliteInverse(0.25)); // Renvoie 0.75 |
|
|
console.log("Probabilité union :", nekomaths.nekproba.probabiliteUnion(0.3, 0.4, 0.1)); // Renvoie 0.6 |
|
|
``` |
|
|
|
|
|
## 11. Fonctionnalités Créatives et Personnalisation |
|
|
|
|
|
### 11.1 Messages Personnalisés (nekbel) |
|
|
* `nekbel.message(contenu, type, options)` : Affiche des messages personnalisés. |
|
|
* `nekbel.executer(nom, fonction, ...args)` : Exécute des fonctions avec gestion d'erreurs. |
|
|
|
|
|
```javascript |
|
|
const nekomaths = require('nekomaths'); |
|
|
|
|
|
// Message personnalisé |
|
|
nekomaths.nekbel.message("Calcul terminé avec succès!", "success", {prefix: "🎉"}); |
|
|
|
|
|
// Exécution sécurisée |
|
|
const resultat = nekomaths.nekbel.executer("addition", nekomaths.nekadd, 5, 3); |
|
|
console.log(resultat); |
|
|
``` |
|
|
|
|
|
### 11.2 Outils Créatifs (nekcreative) |
|
|
* `nekcreative.generateId(prefix)` : Génère des identifiants uniques. |
|
|
* `nekcreative.chronometer(func, nom)` : Mesure le temps d'exécution des fonctions. |
|
|
* `nekcreative.memoize(func)` : Met en cache les résultats des fonctions. |
|
|
* `nekcreative.couleurAleatoire(format)` : Génère des couleurs aléatoires. |
|
|
|
|
|
```javascript |
|
|
const nekomaths = require('nekomaths'); |
|
|
|
|
|
// Génération d'ID |
|
|
console.log(nekomaths.nekcreative.generateId("projet")); // "projet_abc123_xyz789" |
|
|
|
|
|
// Couleur aléatoire |
|
|
console.log(nekomaths.nekcreative.couleurAleatoire("hex")); // "#a1b2c3" |
|
|
console.log(nekomaths.nekcreative.couleurAleatoire("rgb")); // "rgb(123, 45, 67)" |
|
|
``` |
|
|
|
|
|
### 11.3 Gestion d'Erreurs Personnalisée (nekorror) |
|
|
* `nekorror.definirMessage(codeErreur, message)` : Définit des messages d'erreur personnalisés. |
|
|
* `nekorror.lancerErreur(codeErreur, donnees)` : Lance des erreurs avec messages personnalisés. |
|
|
* `nekorror.executer(fonction, gestionErreur)` : Exécute des fonctions avec gestion d'erreurs. |
|
|
* `nekorror.log(niveau, message, donnees)` : Logger avec différents niveaux. |
|
|
|
|
|
```javascript |
|
|
const nekomaths = require('nekomaths'); |
|
|
|
|
|
// Définir un message d'erreur personnalisé |
|
|
nekomaths.nekorror.definirMessage("DIVISION_ZERO", "Impossible de diviser par zéro !"); |
|
|
|
|
|
// Logger des informations |
|
|
nekomaths.nekorror.log("info", "Calcul en cours..."); |
|
|
nekomaths.nekorror.log("error", "Une erreur est survenue", {valeur: 42}); |
|
|
``` |
|
|
|
|
|
## 12. Nouvelles Fonctionnalités Créatives |
|
|
|
|
|
### 12.1 Dessin ASCII (nekdraw) |
|
|
* `nekdraw.rectangle(largeur, hauteur, caractere)` : Dessine un rectangle dans la console. |
|
|
* `nekdraw.triangle(taille, caractere)` : Dessine un triangle dans la console. |
|
|
* `nekdraw.afficher(dessin)` : Affiche le dessin dans la console. |
|
|
|
|
|
```javascript |
|
|
const nekomaths = require('nekomaths'); |
|
|
|
|
|
// Dessiner un rectangle |
|
|
const rect = nekomaths.nekdraw.rectangle(5, 3, '#'); |
|
|
nekomaths.nekdraw.afficher(rect); |
|
|
// Affiche: |
|
|
// ##### |
|
|
// ##### |
|
|
// ##### |
|
|
|
|
|
// Dessiner un triangle |
|
|
const triangle = nekomaths.nekdraw.triangle(4, '*'); |
|
|
nekomaths.nekdraw.afficher(triangle); |
|
|
// Affiche: |
|
|
// * |
|
|
// *** |
|
|
// ***** |
|
|
// ******* |
|
|
``` |
|
|
|
|
|
### 12.2 Arrondi Personnalisé (nekril) |
|
|
* `nekril(nombre, decimales)` : Arrondit un nombre décimal au nombre de décimales spécifié. |
|
|
|
|
|
```javascript |
|
|
const nekomaths = require('nekomaths'); |
|
|
|
|
|
console.log(nekomaths.nekril(3.14159, 2)); // Renvoie 3.14 |
|
|
console.log(nekomaths.nekril(2.7777777, 4)); // Renvoie 2.7778 |
|
|
console.log(nekomaths.nekril(10.555, 1)); // Renvoie 10.6 |
|
|
``` |
|
|
|
|
|
### 12.3 Calculs avec Mots Anglais (nekocust) |
|
|
* `nekocust.motEnNombre(mot)` : Convertit un mot anglais en nombre. |
|
|
* `nekocust.additionMots(mot1, mot2)` : Additionne deux nombres écrits en lettres. |
|
|
* `nekocust.soustractionMots(mot1, mot2)` : Soustrait deux nombres écrits en lettres. |
|
|
|
|
|
```javascript |
|
|
const nekomaths = require('nekomaths'); |
|
|
|
|
|
console.log(nekomaths.nekocust.motEnNombre("four")); // Renvoie 4 |
|
|
console.log(nekomaths.nekocust.additionMots("three", "seven")); // Renvoie 10 |
|
|
console.log(nekomaths.nekocust.soustractionMots("ten", "four")); // Renvoie 6 |
|
|
``` |
|
|
|
|
|
### 12.4 Addition d'Objets Créatifs (nekrect) |
|
|
* `nekrect.additionObjets(objet1, objet2, propriete)` : Additionne deux objets selon une propriété. |
|
|
* `nekrect.decrireOperation(objet1, objet2, propriete)` : Décrit l'opération effectuée. |
|
|
|
|
|
```javascript |
|
|
const nekomaths = require('nekomaths'); |
|
|
|
|
|
// Addition d'aires |
|
|
console.log(nekomaths.nekrect.additionObjets("rectangle", "carre", "aire")); // Renvoie 16 |
|
|
console.log(nekomaths.nekrect.additionObjets("poule", "poire", "valeur")); // Renvoie 20 |
|
|
|
|
|
// Description de l'opération |
|
|
console.log(nekomaths.nekrect.decrireOperation("rectangle", "carre", "aire")); |
|
|
// Renvoie: "Addition de rectangle + carre (aire) = 16" |
|
|
``` |
|
|
|
|
|
## 13. Théorèmes Géométriques Avancés |
|
|
|
|
|
### 13.1 Théorème de Pappus (nekpap) |
|
|
* `nekpap.volumePappus(aire, distanceCentroide)` : Calcule le volume selon Pappus-Guldinus. |
|
|
* `nekpap.airePappus(longueur, distanceCentroide)` : Calcule l'aire selon Pappus-Guldinus. |
|
|
* `nekpap.centroideVolume(volume, aire)` : Calcule la distance du centroïde. |
|
|
|
|
|
```javascript |
|
|
const nekomaths = require('nekomaths'); |
|
|
|
|
|
console.log("Volume Pappus :", nekomaths.nekpap.volumePappus(10, 5)); // Volume généré |
|
|
console.log("Aire Pappus :", nekomaths.nekpap.airePappus(8, 3)); // Aire générée |
|
|
console.log("Centroïde :", nekomaths.nekpap.centroideVolume(100, 4)); // Distance centroïde |
|
|
``` |
|
|
|
|
|
### 13.2 Théorème de Desargues (nekdesar) |
|
|
* `nekdesar.pointsAlignes(point1, point2, point3)` : Vérifie si trois points sont alignés. |
|
|
* `nekdesar.intersectionDroites(p1, p2, p3, p4)` : Calcule l'intersection de deux droites. |
|
|
* `nekdesar.verifierDesargues(triangle1, triangle2)` : Vérifie la configuration de Desargues. |
|
|
|
|
|
```javascript |
|
|
const nekomaths = require('nekomaths'); |
|
|
|
|
|
// Vérifier l'alignement |
|
|
const p1 = {x: 0, y: 0}; |
|
|
const p2 = {x: 1, y: 1}; |
|
|
const p3 = {x: 2, y: 2}; |
|
|
console.log(nekomaths.nekdesar.pointsAlignes(p1, p2, p3)); // Renvoie true |
|
|
|
|
|
// Intersection de droites |
|
|
const intersection = nekomaths.nekdesar.intersectionDroites( |
|
|
{x: 0, y: 0}, {x: 2, y: 2}, |
|
|
{x: 0, y: 2}, {x: 2, y: 0} |
|
|
); |
|
|
console.log(intersection); // {x: 1, y: 1} |
|
|
|
|
|
// Configuration de Desargues |
|
|
const triangle1 = [{x: 0, y: 0}, {x: 2, y: 0}, {x: 1, y: 2}]; |
|
|
const triangle2 = [{x: 1, y: 1}, {x: 3, y: 1}, {x: 2, y: 3}]; |
|
|
console.log(nekomaths.nekdesar.verifierDesargues(triangle1, triangle2)); |
|
|
``` |
|
|
|
|
|
## 14. Nouvelles Fonctionnalités v1.4.0 |
|
|
|
|
|
### 14.1 Résolution d'Équations avec Variable (nekident) |
|
|
* `nekident.resoudreLineaire(a, b, resultat)` : Résout ax + b = resultat pour trouver x. |
|
|
* `nekident.verifierSolution(x, operation, operande, resultatAttendu)` : Vérifie une solution. |
|
|
* `nekident.trouverX(operation, operande, resultatAttendu)` : Trouve x pour une opération donnée. |
|
|
|
|
|
```javascript |
|
|
const nekomaths = require('nekomaths'); |
|
|
|
|
|
// Résoudre 2x + 5 = 15 (x = 5) |
|
|
console.log("Solution de 2x + 5 = 15 :", nekomaths.nekident.resoudreLineaire(2, 5, 15)); // Renvoie 5 |
|
|
|
|
|
// Vérifier si x = 4 est solution de x + 3 = 7 |
|
|
console.log("Vérification :", nekomaths.nekident.verifierSolution(4, 'add', 3, 7)); // Renvoie true |
|
|
|
|
|
// Trouver x pour x * 3 = 12 |
|
|
console.log("x pour x * 3 = 12 :", nekomaths.nekident.trouverX('mult', 3, 12)); // Renvoie 4 |
|
|
``` |
|
|
|
|
|
### 14.2 Équations Complexes (nekaqua) |
|
|
* `nekaqua.quadratique(a, b, c)` : Résout ax² + bx + c = 0. |
|
|
* `nekaqua.systeme2x2(a1, b1, c1, a2, b2, c2)` : Résout un système 2x2. |
|
|
* `nekaqua.evaluerPolynome(coefficients, x)` : Évalue un polynôme. |
|
|
|
|
|
```javascript |
|
|
const nekomaths = require('nekomaths'); |
|
|
|
|
|
// Résoudre x² - 5x + 6 = 0 |
|
|
const equation = nekomaths.nekaqua.quadratique(1, -5, 6); |
|
|
console.log("Solutions quadratique :", equation); // x1 = 3, x2 = 2 |
|
|
|
|
|
// Système d'équations 2x + 3y = 7, x - y = 1 |
|
|
const systeme = nekomaths.nekaqua.systeme2x2(2, 3, 7, 1, -1, 1); |
|
|
console.log("Solution système :", systeme); // x = 2, y = 1 |
|
|
|
|
|
// Évaluer P(x) = 2x² + 3x + 1 pour x = 2 |
|
|
console.log("P(2) =", nekomaths.nekaqua.evaluerPolynome([2, 3, 1], 2)); // Renvoie 15 |
|
|
``` |
|
|
|
|
|
### 14.3 Calculs de Fractions (nekfrac) |
|
|
* `nekfrac.simplifier(numerateur, denominateur)` : Simplifie une fraction. |
|
|
* `nekfrac.additionner(num1, den1, num2, den2)` : Additionne deux fractions. |
|
|
* `nekfrac.multiplier(num1, den1, num2, den2)` : Multiplie deux fractions. |
|
|
* `nekfrac.pgcd(a, b)` : Calcule le PGCD. |
|
|
|
|
|
```javascript |
|
|
const nekomaths = require('nekomaths'); |
|
|
|
|
|
// Simplifier 12/18 |
|
|
console.log("12/18 simplifié :", nekomaths.nekfrac.simplifier(12, 18)); // 2/3 |
|
|
|
|
|
// Additionner 1/3 + 1/4 |
|
|
const addition = nekomaths.nekfrac.additionner(1, 3, 1, 4); |
|
|
console.log("1/3 + 1/4 =", addition); // 7/12 |
|
|
|
|
|
// Multiplier 2/3 * 3/4 |
|
|
const multiplication = nekomaths.nekfrac.multiplier(2, 3, 3, 4); |
|
|
console.log("2/3 * 3/4 =", multiplication); // 1/2 |
|
|
``` |
|
|
|
|
|
### 14.4 Calculs avec Puissances (nektin) |
|
|
* `nektin.resoudreCarree(a, b)` : Résout ax² = b. |
|
|
* `nektin.resoudreCube(a, b)` : Résout ax³ = b. |
|
|
* `nektin.fractionPuissance(num, den, exposant)` : Calcule (num/den)^exposant. |
|
|
|
|
|
```javascript |
|
|
const nekomaths = require('nekomaths'); |
|
|
|
|
|
// Résoudre 2x² = 8 (x = ±2) |
|
|
console.log("Solutions de 2x² = 8 :", nekomaths.nektin.resoudreCarree(2, 8)); |
|
|
|
|
|
// Résoudre x³ = 27 (x = 3) |
|
|
console.log("Solution de x³ = 27 :", nekomaths.nektin.resoudreCube(1, 27)); |
|
|
|
|
|
// Calculer (3/4)² |
|
|
console.log("(3/4)² =", nekomaths.nektin.fractionPuissance(3, 4, 2)); |
|
|
``` |
|
|
|
|
|
### 14.5 Nombre Alpha (nekalpha) |
|
|
* `nekalpha.valeur` : Constante alpha de Feigenbaum. |
|
|
* `nekalpha.serie(n)` : Calcule une série basée sur alpha. |
|
|
* `nekalpha.transformation(x)` : Transformation alpha. |
|
|
|
|
|
```javascript |
|
|
const nekomaths = require('nekomaths'); |
|
|
|
|
|
console.log("Constante alpha :", nekomaths.nekalpha.valeur); |
|
|
console.log("Série alpha (10 termes) :", nekomaths.nekalpha.serie(10)); |
|
|
console.log("Transformation alpha(0.5) :", nekomaths.nekalpha.transformation(0.5)); |
|
|
``` |
|
|
|
|
|
### 14.6 Nombre Beta (nekbeta) |
|
|
* `nekbeta.fonction(a, b)` : Fonction beta d'Euler. |
|
|
* `nekbeta.gamma(x)` : Approximation de la fonction gamma. |
|
|
* `nekbeta.distribution(x, alpha, beta)` : Distribution beta. |
|
|
|
|
|
```javascript |
|
|
const nekomaths = require('nekomaths'); |
|
|
|
|
|
console.log("Beta(2, 3) :", nekomaths.nekbeta.fonction(2, 3)); |
|
|
console.log("Gamma(4) :", nekomaths.nekbeta.gamma(4)); |
|
|
console.log("Distribution beta :", nekomaths.nekbeta.distribution(0.5, 2, 3)); |
|
|
``` |
|
|
|
|
|
### 14.7 Nombre Omega (nekomega) |
|
|
* `nekomega.spirale(t)` : Calcule la spirale d'or. |
|
|
* `nekomega.fibonacciOmega(n)` : Fibonacci modifié avec omega. |
|
|
* `nekomega.convergence(iterations)` : Calcul de convergence. |
|
|
|
|
|
```javascript |
|
|
const nekomaths = require('nekomaths'); |
|
|
|
|
|
console.log("Spirale omega :", nekomaths.nekomega.spirale(1)); |
|
|
console.log("Fibonacci omega(10) :", nekomaths.nekomega.fibonacciOmega(10)); |
|
|
console.log("Convergence omega :", nekomega.convergence(5)); |
|
|
``` |
|
|
|
|
|
### 14.8 Comparaison de Nombres (nekcopare) |
|
|
* `nekcopare.comparer(a, b)` : Compare deux nombres. |
|
|
* `nekcopare.maximum(nombres)` : Trouve le maximum dans un tableau. |
|
|
* `nekcopare.minimum(nombres)` : Trouve le minimum dans un tableau. |
|
|
|
|
|
```javascript |
|
|
const nekomaths = require('nekomaths'); |
|
|
|
|
|
// Comparer 5 et 8 |
|
|
const comparaison = nekomaths.nekcopare.comparer(5, 8); |
|
|
console.log("Comparaison :", comparaison); // 5 < 8 |
|
|
|
|
|
// Trouver le maximum |
|
|
const nombres = [3, 7, 2, 9, 1]; |
|
|
console.log("Maximum :", nekomaths.nekcopare.maximum(nombres)); // 9 |
|
|
|
|
|
// Trouver le minimum |
|
|
console.log("Minimum :", nekomaths.nekcopare.minimum(nombres)); // 1 |
|
|
``` |
|
|
|
|
|
### 14.9 Base de Données Personnalisée (nekdone) |
|
|
* `nekdone.creerBase(nom, structure)` : Crée une base de données. |
|
|
* `nekdone.ajouterDonnee(nomBase, donnee)` : Ajoute des données. |
|
|
* `nekdone.calculer(nomBase, propriete, operation)` : Effectue des calculs. |
|
|
* `nekdone.obtenirBase(nomBase)` : Obtient les informations d'une base. |
|
|
|
|
|
```javascript |
|
|
const nekomaths = require('nekomaths'); |
|
|
|
|
|
// Créer une base de données |
|
|
nekomaths.nekdone.creerBase("ventes", ["produit", "prix", "quantite"]); |
|
|
|
|
|
// Ajouter des données |
|
|
nekomaths.nekdone.ajouterDonnee("ventes", {produit: "ordinateur", prix: 800, quantite: 2}); |
|
|
nekomaths.nekdone.ajouterDonnee("ventes", {produit: "souris", prix: 25, quantite: 5}); |
|
|
|
|
|
// Calculer la somme des prix |
|
|
const sommePrix = nekomaths.nekdone.calculer("ventes", "prix", "somme"); |
|
|
console.log("Somme des prix :", sommePrix); |
|
|
|
|
|
// Obtenir toute la base |
|
|
const base = nekomaths.nekdone.obtenirBase("ventes"); |
|
|
console.log("Base de données :", base); |
|
|
``` |
|
|
|
|
|
### 14.10 Arithmétique Personnalisée (nekarin) |
|
|
* `nekarin.enregistrerFonction(nom, fonction, description)` : Enregistre une fonction. |
|
|
* `nekarin.executer(nom, ...args)` : Exécute une fonction personnalisée. |
|
|
* `nekarin.combiner(nom1, nom2, operation, ...args)` : Combine deux fonctions. |
|
|
* `nekarin.listerFonctions()` : Liste toutes les fonctions enregistrées. |
|
|
|
|
|
```javascript |
|
|
const nekomaths = require('nekomaths'); |
|
|
|
|
|
// Enregistrer une fonction personnalisée |
|
|
nekomaths.nekarin.enregistrerFonction("double", (x) => x * 2, "Multiplie par 2"); |
|
|
nekomaths.nekarin.enregistrerFonction("carre", (x) => x * x, "Met au carré"); |
|
|
|
|
|
// Exécuter les fonctions |
|
|
console.log("Double de 5 :", nekomaths.nekarin.executer("double", 5)); // 10 |
|
|
console.log("Carré de 4 :", nekomaths.nekarin.executer("carre", 4)); // 16 |
|
|
|
|
|
// Combiner les fonctions (double + carré pour x=3) |
|
|
const resultat = nekomaths.nekarin.combiner("double", "carre", "add", 3); |
|
|
console.log("Double(3) + Carré(3) =", resultat); // 6 + 9 = 15 |
|
|
|
|
|
// Lister toutes les fonctions |
|
|
console.log("Fonctions enregistrées :", nekomaths.nekarin.listerFonctions()); |
|
|
``` |
|
|
|
|
|
## 15. Nouvelles Fonctionnalités v1.5.0 |
|
|
|
|
|
### 15.1 Tracé de Graphiques (nekgrap) |
|
|
* `nekgrap.genererPoints(func, xMin, xMax, pas)` : Génère des points pour tracer une fonction. |
|
|
* `nekgrap.afficherConsole(points, largeur, hauteur)` : Affiche un graphique ASCII dans la console. |
|
|
* `nekgrap.tracer(func, options)` : Trace et affiche une fonction directement. |
|
|
|
|
|
```javascript |
|
|
const nekomaths = require('nekomaths'); |
|
|
|
|
|
// Tracer une fonction quadratique |
|
|
const points = nekomaths.nekgrap.tracer(x => x * x, { |
|
|
xMin: -5, |
|
|
xMax: 5, |
|
|
pas: 0.1, |
|
|
largeur: 60, |
|
|
hauteur: 15 |
|
|
}); |
|
|
|
|
|
// Tracer une fonction sinus |
|
|
nekomaths.nekgrap.tracer(Math.sin, { xMin: -Math.PI, xMax: Math.PI }); |
|
|
``` |
|
|
|
|
|
### 15.2 Progressions et Séries (nekoser) |
|
|
* `nekoser.arithmetique(premier, raison, n)` : Calcule une progression arithmétique. |
|
|
* `nekoser.geometrique(premier, raison, n)` : Calcule une progression géométrique. |
|
|
|
|
|
```javascript |
|
|
const nekomaths = require('nekomaths'); |
|
|
|
|
|
// Progression arithmétique : 2, 5, 8, 11, 14 |
|
|
const arith = nekomaths.nekoser.arithmetique(2, 3, 5); |
|
|
console.log("Termes :", arith.termes); // [2, 5, 8, 11, 14] |
|
|
console.log("Somme :", arith.somme); // 40 |
|
|
|
|
|
// Progression géométrique : 1, 2, 4, 8, 16 |
|
|
const geom = nekomaths.nekoser.geometrique(1, 2, 5); |
|
|
console.log("Termes :", geom.termes); // [1, 2, 4, 8, 16] |
|
|
console.log("Somme :", geom.somme); // 31 |
|
|
``` |
|
|
|
|
|
### 15.3 Séries Infinies (neka) |
|
|
* `neka.serieGeometriqueInfinie(premier, raison)` : Calcule la somme d'une série géométrique infinie. |
|
|
* `neka.approximerSerie(termFunction, maxTermes, precision)` : Approxime une série par calcul de termes. |
|
|
|
|
|
```javascript |
|
|
const nekomaths = require('nekomaths'); |
|
|
|
|
|
// Série géométrique infinie 1 + 1/2 + 1/4 + 1/8 + ... = 2 |
|
|
const sommeInfinie = nekomaths.neka.serieGeometriqueInfinie(1, 0.5); |
|
|
console.log("Somme infinie :", sommeInfinie); // 2 |
|
|
|
|
|
// Approximer la série harmonique |
|
|
const harmonique = nekomaths.neka.approximerSerie(n => 1/n, 1000); |
|
|
console.log("Approximation :", harmonique); |
|
|
``` |
|
|
|
|
|
### 15.4 Matrices et Inversions (nekoma) |
|
|
* `nekoma.creer(donnees)` : Crée une matrice à partir d'un tableau 2D. |
|
|
* `nekoma.inverser2x2(matrice)` : Calcule l'inverse d'une matrice 2x2. |
|
|
* `nekoma.multiplier(matrice1, matrice2)` : Multiplie deux matrices. |
|
|
|
|
|
```javascript |
|
|
const nekomaths = require('nekomaths'); |
|
|
|
|
|
// Créer et inverser une matrice 2x2 |
|
|
const matrice = nekomaths.nekoma.creer([[2, 1], [1, 1]]); |
|
|
const inverse = nekomaths.nekoma.inverser2x2(matrice); |
|
|
console.log("Matrice inverse :", inverse.donnees); |
|
|
|
|
|
// Multiplication de matrices |
|
|
const produit = nekomaths.nekoma.multiplier(matrice, inverse); |
|
|
console.log("Produit (devrait être identité) :", produit.donnees); |
|
|
``` |
|
|
|
|
|
### 15.5 Déterminants (nekyu) |
|
|
* `nekyu.determinant2x2(matrice)` : Calcule le déterminant d'une matrice 2x2. |
|
|
* `nekyu.determinant3x3(matrice)` : Calcule le déterminant d'une matrice 3x3. |
|
|
* `nekyu.identite(taille)` : Crée une matrice identité. |
|
|
|
|
|
```javascript |
|
|
const nekomaths = require('nekomaths'); |
|
|
|
|
|
// Déterminant 2x2 |
|
|
const matrice2x2 = nekomaths.nekoma.creer([[3, 2], [1, 4]]); |
|
|
const det2x2 = nekomaths.nekyu.determinant2x2(matrice2x2); |
|
|
console.log("Déterminant 2x2 :", det2x2); // 10 |
|
|
|
|
|
// Créer une matrice identité 3x3 |
|
|
const identite = nekomaths.nekyu.identite(3); |
|
|
console.log("Matrice identité :", identite.donnees); |
|
|
``` |
|
|
|
|
|
### 15.6 Méthode de Newton-Raphson (nekonew) |
|
|
* `nekonew.trouverRacine(func, derivee, x0, tolerance, maxIterations)` : Trouve une racine par Newton-Raphson. |
|
|
|
|
|
```javascript |
|
|
const nekomaths = require('nekomaths'); |
|
|
|
|
|
// Trouver la racine de x² - 2 = 0 (√2) |
|
|
const func = x => x * x - 2; |
|
|
const derivee = x => 2 * x; |
|
|
const resultat = nekomaths.nekonew.trouverRacine(func, derivee, 1); |
|
|
console.log("Racine trouvée :", resultat.racine); // ≈ 1.414 |
|
|
console.log("Convergé :", resultat.converge); |
|
|
``` |
|
|
|
|
|
### 15.7 Méthode de Monte Carlo (nekcarlo) |
|
|
* `nekcarlo.estimerPi(nombrePoints)` : Estime π par simulation Monte Carlo. |
|
|
* `nekcarlo.integrer(func, a, b, nombrePoints)` : Calcule une intégrale par Monte Carlo. |
|
|
|
|
|
```javascript |
|
|
const nekomaths = require('nekomaths'); |
|
|
|
|
|
// Estimer π |
|
|
const estimationPi = nekomaths.nekcarlo.estimerPi(1000000); |
|
|
console.log("Estimation de π :", estimationPi.estimation); |
|
|
console.log("Erreur :", estimationPi.erreur); |
|
|
|
|
|
// Intégrer x² de 0 à 1 |
|
|
const integrale = nekomaths.nekcarlo.integrer(x => x * x, 0, 1, 100000); |
|
|
console.log("Intégrale de x² :", integrale.estimation); // ≈ 0.333 |
|
|
``` |
|
|
|
|
|
### 15.8 Interface Interactive (nekinterac) |
|
|
* `nekinterac.creerMenu(options)` : Crée un menu interactif. |
|
|
* `nekinterac.calculateur(operation)` : Affiche un calculateur interactif. |
|
|
|
|
|
```javascript |
|
|
const nekomaths = require('nekomaths'); |
|
|
|
|
|
// Créer un menu |
|
|
const menu = nekomaths.nekinterac.creerMenu({ |
|
|
titre: "Calculatrice", |
|
|
choix: [ |
|
|
{ nom: "Addition" }, |
|
|
{ nom: "Multiplication" }, |
|
|
{ nom: "Graphiques" } |
|
|
] |
|
|
}); |
|
|
console.log(menu); |
|
|
|
|
|
// Interface de calculateur |
|
|
const calc = nekomaths.nekinterac.calculateur('addition'); |
|
|
console.log(calc); |
|
|
``` |
|
|
|
|
|
### 15.9 Conversions Avancées (nekconvert) |
|
|
* `nekconvert.convertir(valeur, uniteSource, uniteCible, type)` : Convertit entre différentes unités. |
|
|
* `nekconvert.convertirTemperature(valeur, uniteSource, uniteCible)` : Conversions de température. |
|
|
|
|
|
```javascript |
|
|
const nekomaths = require('nekomaths'); |
|
|
|
|
|
// Conversion de longueur |
|
|
const metres = nekomaths.nekconvert.convertir(100, 'metre', 'pied', 'longueur'); |
|
|
console.log("100 mètres =", metres, "pieds"); |
|
|
|
|
|
// Conversion de température |
|
|
const fahrenheit = nekomaths.nekconvert.convertirTemperature(0, 'celsius', 'fahrenheit'); |
|
|
console.log("0°C =", fahrenheit, "°F"); // 32°F |
|
|
|
|
|
// Conversion de poids |
|
|
const livres = nekomaths.nekconvert.convertir(10, 'kilogramme', 'livre', 'poids'); |
|
|
console.log("10 kg =", livres, "livres"); |
|
|
``` |
|
|
|
|
|
### 15.10 Historique des Calculs (nekohis) |
|
|
* `nekohis.ajouter(operation, resultat, parametres)` : Ajoute un calcul à l'historique. |
|
|
* `nekohis.obtenirHistorique()` : Récupère l'historique complet. |
|
|
* `nekohis.reutiliser(id)` : Réutilise un calcul précédent. |
|
|
|
|
|
```javascript |
|
|
const nekomaths = require('nekomaths'); |
|
|
|
|
|
// Ajouter des calculs à l'historique |
|
|
nekomaths.nekohis.ajouter("Addition", 15, [10, 5]); |
|
|
nekomaths.nekohis.ajouter("Multiplication", 50, [10, 5]); |
|
|
|
|
|
// Voir l'historique |
|
|
const historique = nekomaths.nekohis.obtenirHistorique(); |
|
|
console.log("Historique :", historique); |
|
|
|
|
|
// Réutiliser un résultat |
|
|
const ancienResultat = nekomaths.nekohis.reutiliser(1); |
|
|
console.log("Ancien résultat :", ancienResultat); |
|
|
``` |
|
|
|
|
|
### 15.11 Algorithmes d'Optimisation (nekalgo) |
|
|
* `nekalgo.descenteGradient(func, gradient, x0, tauxApprentissage, maxIterations)` : Optimisation par descente de gradient. |
|
|
* `nekalgo.rechercheBruteForce(func, a, b, pas)` : Recherche par force brute. |
|
|
|
|
|
```javascript |
|
|
const nekomaths = require('nekomaths'); |
|
|
|
|
|
// Minimiser f(x) = x² - 4x + 3 |
|
|
const func = x => x * x - 4 * x + 3; |
|
|
const gradient = x => 2 * x - 4; |
|
|
const resultat = nekomaths.nekalgo.descenteGradient(func, gradient, 0, 0.1); |
|
|
console.log("Minimum trouvé en x =", resultat.minimum); // ≈ 2 |
|
|
console.log("Valeur minimum =", resultat.valeurMinimum); // ≈ -1 |
|
|
|
|
|
// Recherche par force brute |
|
|
const brutForce = nekomaths.nekalgo.rechercheBruteForce(func, 0, 5, 0.01); |
|
|
console.log("Minimum par force brute :", brutForce); |
|
|
``` |
|
|
|
|
|
### 15.12 Algorithmes Personnalisés (nekeit) |
|
|
* `nekeit.creer(nom, algorithme, description)` : Crée un algorithme personnalisé. |
|
|
* `nekeit.executer(nom, ...args)` : Exécute un algorithme. |
|
|
* `nekeit.lister()` : Liste tous les algorithmes. |
|
|
|
|
|
```javascript |
|
|
const nekomaths = require('nekomaths'); |
|
|
|
|
|
// Créer un algorithme personnalisé |
|
|
nekomaths.nekeit.creer("fibonacci", function(n) { |
|
|
if (n <= 1) return n; |
|
|
return this.executer("fibonacci", n-1) + this.executer("fibonacci", n-2); |
|
|
}, "Calcule le n-ième nombre de Fibonacci"); |
|
|
|
|
|
// Créer un algorithme de tri |
|
|
nekomaths.nekeit.creer("triRapide", function(arr) { |
|
|
if (arr.length <= 1) return arr; |
|
|
const pivot = arr[Math.floor(arr.length / 2)]; |
|
|
const left = arr.filter(x => x < pivot); |
|
|
const middle = arr.filter(x => x === pivot); |
|
|
const right = arr.filter(x => x > pivot); |
|
|
return [...this.executer("triRapide", left), ...middle, ...this.executer("triRapide", right)]; |
|
|
}, "Tri rapide (quicksort)"); |
|
|
|
|
|
// Exécuter les algorithmes |
|
|
console.log("Fibonacci(10) :", nekomaths.nekeit.executer("fibonacci", 10)); |
|
|
console.log("Tri [3,1,4,1,5] :", nekomaths.nekeit.executer("triRapide", [3,1,4,1,5])); |
|
|
|
|
|
// Lister les algorithmes |
|
|
console.log("Algorithmes :", nekomaths.nekeit.lister()); |
|
|
``` |
|
|
|
|
|
### 15.13 Coûts de Distribution (neksrar) |
|
|
* `neksrar.coutTransport(distance, coutParKm, poids)` : Calcule le coût de transport. |
|
|
* `neksrar.coutStockage(volume, duree, coutParM3Jour)` : Calcule le coût de stockage. |
|
|
|
|
|
```javascript |
|
|
const nekomaths = require('nekomaths'); |
|
|
|
|
|
// Coût de transport |
|
|
const transport = nekomaths.neksrar.coutTransport(150, 1.2, 25); |
|
|
console.log("Coût de transport :", transport); |
|
|
// { distance: 150, coutParKm: 1.2, poids: 25, coutTotal: 198 } |
|
|
|
|
|
// Coût de stockage |
|
|
const stockage = nekomaths.neksrar.coutStockage(10, 30, 2.5); |
|
|
console.log("Coût de stockage :", stockage); |
|
|
// { volume: 10, duree: 30, coutTotal: 750 } |
|
|
``` |
|
|
|
|
|
### 15.14 Gestion Financière d'Entreprise (nekgef) |
|
|
* `nekgef.calculerBFR(stocks, creancesClients, dettesFournisseurs)` : Calcule le BFR. |
|
|
* `nekgef.calculerFRNG(capitauxPermanents, immobilisations)` : Calcule le FRNG. |
|
|
* `nekgef.calculerTresorerieNette(frng, bfr)` : Calcule la trésorerie nette. |
|
|
|
|
|
```javascript |
|
|
const nekomaths = require('nekomaths'); |
|
|
|
|
|
// Calcul du BFR |
|
|
const bfr = nekomaths.nekgef.calculerBFR(50000, 30000, 20000); |
|
|
console.log("BFR :", bfr); |
|
|
// { bfr: 60000, interpretation: "Besoin de financement" } |
|
|
|
|
|
// Calcul du FRNG |
|
|
const frng = nekomaths.nekgef.calculerFRNG(200000, 150000); |
|
|
console.log("FRNG :", frng); |
|
|
// { frng: 50000, interpretation: "Équilibre financier" } |
|
|
|
|
|
// Trésorerie nette |
|
|
const tresorerie = nekomaths.nekgef.calculerTresorerieNette(50000, 60000); |
|
|
console.log("Trésorerie :", tresorerie); |
|
|
// { tresorerieNette: -10000, interpretation: "Trésorerie négative" } |
|
|
``` |
|
|
|
|
|
### 15.15 Calculs d'Immobilisations (nekpo) |
|
|
* `nekpo.amortissementLineaire(valeurInitiale, dureeVie, valeurResiduelle)` : Calcule l'amortissement linéaire. |
|
|
* `nekpo.plusMoinsValue(prixCession, valeurComptable)` : Calcule la plus ou moins-value de cession. |
|
|
|
|
|
```javascript |
|
|
const nekomaths = require('nekomaths'); |
|
|
|
|
|
// Amortissement linéaire d'un équipement |
|
|
const amortissement = nekomaths.nekpo.amortissementLineaire(100000, 5, 10000); |
|
|
console.log("Plan d'amortissement :", amortissement); |
|
|
// Annuité : 18000 par an pendant 5 ans |
|
|
|
|
|
// Plus ou moins-value de cession |
|
|
const cession = nekomaths.nekpo.plusMoinsValue(45000, 40000); |
|
|
console.log("Plus-value :", cession); |
|
|
// { plusMoinsValue: 5000, type: "Plus-value" } |
|
|
``` |
|
|
|
|
|
### 15.16 TVA et Inflation (nekia) |
|
|
* `nekia.calculerTVA(montantHT, tauxTVA)` : Calcule la TVA. |
|
|
* `nekia.calculerHT(montantTTC, tauxTVA)` : Calcule le montant HT à partir du TTC. |
|
|
* `nekia.calculerInflation(valeurInitiale, valeurFinale, annees)` : Calcule le taux d'inflation. |
|
|
|
|
|
```javascript |
|
|
const nekomaths = require('nekomaths'); |
|
|
|
|
|
// Calcul de TVA |
|
|
const tva = nekomaths.nekia.calculerTVA(1000, 20); |
|
|
console.log("Calcul TVA :", tva); |
|
|
// { montantHT: 1000, montantTVA: 200, montantTTC: 1200 } |
|
|
|
|
|
// Calcul HT à partir du TTC |
|
|
const ht = nekomaths.nekia.calculerHT(1200, 20); |
|
|
console.log("Calcul HT :", ht); |
|
|
// { montantTTC: 1200, montantHT: 1000, montantTVA: 200 } |
|
|
|
|
|
// Calcul d'inflation |
|
|
const inflation = nekomaths.nekia.calculerInflation(100, 105, 1); |
|
|
console.log("Inflation :", inflation); |
|
|
// { tauxPourcentage: 5, interpretation: "5% d'inflation par an" } |
|
|
``` |
|
|
|
|
|
**Contribution** |
|
|
|
|
|
Les contributions sont les bienvenues ! Si vous avez des idées de nouvelles fonctions, des améliorations ou des corrections de bugs, n'hésitez pas à ouvrir une issue ou à soumettre une pull request sur le dépôt GitHub. |
|
|
|
|
|
**Lien de notre documentation officielle** |
|
|
|
|
|
https://nekocute-math-tools.lovable.app |
|
|
|
|
|
**Pour télécharger la dernière version complète** : https://www.npmjs.com/package/nekomaths?activeTab=readme |