Clemylia commited on
Commit
0d2d1fc
·
verified ·
1 Parent(s): 53f1dc1

Upload 4 files

Browse files
Files changed (4) hide show
  1. README-6.md +925 -0
  2. index-2.js +0 -0
  3. package-2.json +27 -0
  4. package-lock-2.json +13 -0
README-6.md ADDED
@@ -0,0 +1,925 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+
2
+ **Nekomaths**
3
+
4
+ ![🍭💖nekomaths💖🍭](http://www.image-heberg.fr/files/17506757603536301054.webp)
5
+
6
+
7
+ 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.
8
+
9
+ **Installation**
10
+
11
+ Pour installer nekomaths dans votre projet, utilisez npm :
12
+
13
+ ```
14
+ npm install nekomaths
15
+ ```
16
+
17
+ **Utilisation**
18
+
19
+ 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.
20
+
21
+ ```
22
+ const nekomaths = require('nekomaths');
23
+ // Ou en ES Modules (si votre projet supporte) :
24
+ // import nekomaths from 'nekomaths';
25
+
26
+ // Exemple de déstructuration pour n'importer que certaines fonctions :
27
+ // const { nekadd, nekpremier } = require('nekomaths');
28
+ ```
29
+
30
+ **Fonctionnalités**
31
+
32
+ nekomaths offre les fonctions et modules suivants :
33
+
34
+ ## 1. Calculs Arithmétiques Simples
35
+ Ces fonctions effectuent les opérations mathématiques de base et retournent le résultat.
36
+ * `nekadd(a, b)` : Additionne deux nombres.
37
+ * `neksub(a, b)` : Soustrait le deuxième nombre du premier.
38
+ * `nekmult(a, b)` : Multiplie deux nombres.
39
+ * `nekdiv(a, b)` : Divise le premier nombre par le deuxième. (Gère la division par zéro).
40
+ * `nekodouble(number)` : Renvoie le double d'un nombre.
41
+ * `nekomoitie(number)` : Renvoie la moitié d'un nombre.
42
+ * `nekracine(number)` : Calcule la racine carrée d'un nombre.
43
+ * `nekopuissance(base, exposant)` : Calcule la puissance d'un nombre.
44
+
45
+ ```javascript
46
+ const nekomaths = require('nekomaths');
47
+
48
+ // Addition
49
+ console.log("4 + 5 =", nekomaths.nekadd(4, 5)); // Renvoie 9
50
+
51
+ // Soustraction
52
+ console.log("10 - 3 =", nekomaths.neksub(10, 3)); // Renvoie 7
53
+
54
+ // Multiplication
55
+ console.log("6 * 7 =", nekomaths.nekmult(6, 7)); // Renvoie 42
56
+
57
+ // Division
58
+ console.log("20 / 4 =", nekomaths.nekdiv(20, 4)); // Renvoie 5
59
+
60
+ // Gestion de la division par zéro
61
+ try {
62
+ nekomaths.nekdiv(10, 0);
63
+ } catch (error) {
64
+ console.error(error.message); // Affiche : nekdiv: Division par zéro impossible.
65
+ }
66
+
67
+ // Doubler un nombre
68
+ console.log("Le double de 7 est :", nekomaths.nekodouble(7)); // Renvoie 14
69
+
70
+ // Moitié d'un nombre
71
+ console.log("La moitié de 15 est :", nekomaths.nekomoitie(15)); // Renvoie 7.5
72
+
73
+ // Racine carrée
74
+ console.log("La racine carrée de 25 est :", nekomaths.nekracine(25)); // Renvoie 5
75
+
76
+ // Puissance
77
+ console.log("2 à la puissance 3 :", nekomaths.nekopuissance(2, 3)); // Renvoie 8
78
+ ```
79
+
80
+ ## 2. Fonctions de Vérification et Séquences
81
+ * `nekIsPairOuImpair(number)` : Vérifie si un nombre est pair ou impair et retourne une phrase explicative en français.
82
+ * `nekofibona(n)` : Retourne le n-ième nombre de la séquence de Fibonacci.
83
+ * `nekpremier(number)` : Vérifie si un nombre entier est premier. Retourne true si le nombre est premier, false sinon.
84
+ * `nekFacteurs(number)` : Retourne un tableau des facteurs premiers d'un nombre.
85
+
86
+ ```javascript
87
+ const nekomaths = require('nekomaths');
88
+
89
+ // Détection de Nombre Pair ou Impair
90
+ console.log(nekomaths.nekIsPairOuImpair(7)); // Renvoie "Le nombre 7 est impair."
91
+ console.log(nekomaths.nekIsPairOuImpair(12)); // Renvoie "Le nombre 12 est pair."
92
+
93
+ // Calcul du nombre de Fibonacci
94
+ console.log("Le 10ème nombre de Fibonacci est :", nekomaths.nekofibona(10)); // Renvoie 55
95
+
96
+ // Vérification de Nombre Premier
97
+ console.log("17 est premier ?", nekomaths.nekpremier(17)); // Renvoie true
98
+ console.log("18 est premier ?", nekomaths.nekpremier(18)); // Renvoie false
99
+
100
+ // Facteurs premiers
101
+ console.log("Facteurs premiers de 12 :", nekomaths.nekFacteurs(12)); // Renvoie [2, 2, 3]
102
+ ```
103
+
104
+ ## 3. Statistiques et Calculs sur Tableaux
105
+ * `nekmed(arr)` : Calcule la médiane d'un tableau de nombres.
106
+ * `nekmoy(arr)` : Calcule la moyenne d'un tableau de nombres.
107
+
108
+ ```javascript
109
+ const nekomaths = require('nekomaths');
110
+
111
+ const nombres = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
112
+
113
+ // Médiane
114
+ console.log("Médiane :", nekomaths.nekmed(nombres)); // Renvoie 5.5
115
+
116
+ // Moyenne
117
+ console.log("Moyenne :", nekomaths.nekmoy(nombres)); // Renvoie 5.5
118
+ ```
119
+
120
+ ## 4. Génération de Nombre Aléatoire
121
+ * `nekorandom(min, max)` : Génère un nombre entier aléatoire entre min et max (inclus).
122
+
123
+ ```javascript
124
+ const nekomaths = require('nekomaths');
125
+
126
+ // Générer un nombre aléatoire entre 5 et 10 (inclus)
127
+ const randomNumber = nekomaths.nekorandom(5, 10);
128
+ console.log(`Un nombre aléatoire entre 5 et 10 : ${randomNumber}`);
129
+ ```
130
+
131
+ ## 5. Calculs avec Pi (nekopi)
132
+ L'objet nekopi fournit la valeur de Pi et des fonctions pour les calculs géométriques courants.
133
+ * `nekopi.valeur` : La valeur de Pi (Math.PI).
134
+ * `nekopi.circonference(rayon)` : Calcule la circonférence d'un cercle.
135
+ * `nekopi.aireCercle(rayon)` : Calcule l'aire d'un cercle.
136
+ * `nekopi.degresEnRadians(degres)` : Convertit des degrés en radians.
137
+ * `nekopi.radiansEnDegres(radians)` : Convertit des radians en degrés.
138
+
139
+ ```javascript
140
+ const nekomaths = require('nekomaths');
141
+
142
+ console.log("La valeur de Pi est :", nekomaths.nekopi.valeur); // Affiche Math.PI
143
+
144
+ // Calculs de cercle
145
+ console.log("Circonférence d'un cercle de rayon 5 :", nekomaths.nekopi.circonference(5));
146
+ console.log("Aire d'un cercle de rayon 5 :", nekomaths.nekopi.aireCercle(5));
147
+
148
+ // Conversions d'angles
149
+ console.log("90 degrés en radians :", nekomaths.nekopi.degresEnRadians(90)); // Renvoie 1.57... (Pi/2)
150
+ console.log("1.5708 radians en degrés :", nekomaths.nekopi.radiansEnDegres(1.5708)); // Renvoie ~90
151
+ ```
152
+
153
+ ## 6. Calculs Trigonométriques et Angles (nekdegres)
154
+ L'objet nekdegres fournit des fonctions pour manipuler et calculer des angles en degrés.
155
+ * `nekdegres.enDegres(radians)` : Convertit des radians en degrés.
156
+ * `nekdegres.enRadians(degres)` : Convertit des degrés en radians.
157
+ * `nekdegres.sinus(degres)` : Calcule le sinus d'un angle en degrés.
158
+ * `nekdegres.cosinus(degres)` : Calcule le cosinus d'un angle en degrés.
159
+ * `nekdegres.tangente(degres)` : Calcule la tangente d'un angle en degrés.
160
+
161
+ ```javascript
162
+ const nekomaths = require('nekomaths');
163
+
164
+ // Conversions
165
+ console.log("Pi/2 radians en degrés :", nekomaths.nekdegres.enDegres(Math.PI / 2)); // Renvoie 90
166
+ console.log("45 degrés en radians :", nekomaths.nekdegres.enRadians(45)); // Renvoie 0.785... (Pi/4)
167
+
168
+ // Fonctions trigonométriques
169
+ console.log("Sinus de 90 degrés :", nekomaths.nekdegres.sinus(90)); // Renvoie 1
170
+ console.log("Cosinus de 0 degré :", nekomaths.nekdegres.cosinus(0)); // Renvoie 1
171
+ console.log("Tangente de 45 degrés :", nekomaths.nekdegres.tangente(45)); // Renvoie 1
172
+ ```
173
+
174
+ ## 7. Conversions d'Unités
175
+
176
+ ### 7.1 Conversions Métriques (neky)
177
+ * `neky.metersToKilometers(meters)` : Convertit des mètres en kilomètres.
178
+ * `neky.kilometersToMeters(kilometers)` : Convertit des kilomètres en mètres.
179
+
180
+ ```javascript
181
+ const nekomaths = require('nekomaths');
182
+
183
+ console.log("1000 mètres =", nekomaths.neky.metersToKilometers(1000), "kilomètres"); // Renvoie 1
184
+ console.log("2.5 kilomètres =", nekomaths.neky.kilometersToMeters(2.5), "mètres"); // Renvoie 2500
185
+ ```
186
+
187
+ ### 7.2 Conversions de Poids (neklet)
188
+ * `neklet.kilosToTonnes(kilos)` : Convertit des kilos en tonnes.
189
+ * `neklet.tonnesToKilos(tonnes)` : Convertit des tonnes en kilos.
190
+ * `neklet.gramsToKilograms(grams)` : Convertit des grammes en kilogrammes.
191
+ * `neklet.kilogramsToGrams(kilograms)` : Convertit des kilogrammes en grammes.
192
+
193
+ ```javascript
194
+ const nekomaths = require('nekomaths');
195
+
196
+ console.log("1500 kilos =", nekomaths.neklet.kilosToTonnes(1500), "tonnes"); // Renvoie 1.5
197
+ console.log("2.5 tonnes =", nekomaths.neklet.tonnesToKilos(2.5), "kilos"); // Renvoie 2500
198
+ console.log("1500 grammes =", nekomaths.neklet.gramsToKilograms(1500), "kg"); // Renvoie 1.5
199
+ ```
200
+
201
+ ## 8. Calculs de Pourcentage
202
+ * `nekpourcentage(total, pourcentage)` : Calcule le pourcentage d'un nombre.
203
+
204
+ ```javascript
205
+ const nekomaths = require('nekomaths');
206
+
207
+ console.log("20% de 150 =", nekomaths.nekpourcentage(150, 20)); // Renvoie 30
208
+ ```
209
+
210
+ ## 9. Théorèmes Géométriques
211
+
212
+ ### 9.1 Théorème de Pythagore (nektalor)
213
+ * `nektalor.hypotenuse(a, b)` : Calcule l'hypoténuse d'un triangle rectangle.
214
+ * `nektalor.coteAdjacent(hypotenuse, cote)` : Calcule un côté adjacent.
215
+
216
+ ```javascript
217
+ const nekomaths = require('nekomaths');
218
+
219
+ console.log("Hypoténuse d'un triangle 3-4 :", nekomaths.nektalor.hypotenuse(3, 4)); // Renvoie 5
220
+ console.log("Côté adjacent (hyp=5, côté=3) :", nekomaths.nektalor.coteAdjacent(5, 3)); // Renvoie 4
221
+ ```
222
+
223
+ ### 9.2 Théorème de Thalès (nektales)
224
+ * `nektales.proportionnalite(a, b, c)` : Calcule la quatrième proportionnelle selon Thalès.
225
+ * `nektales.verifierProportionnalite(a, b, c, d)` : Vérifie si quatre segments sont proportionnels.
226
+
227
+ ```javascript
228
+ const nekomaths = require('nekomaths');
229
+
230
+ console.log("Quatrième proportionnelle (2,3,4) :", nekomaths.nektales.proportionnalite(2, 3, 4)); // Renvoie 6
231
+ console.log("Proportionnalité (2,3,4,6) :", nekomaths.nektales.verifierProportionnalite(2, 3, 4, 6)); // Renvoie true
232
+ ```
233
+
234
+ ## 10. Calculs de Probabilité (nekproba)
235
+ * `nekproba.probabiliteSimple(evenementsFavorables, evenementsPossibles)` : Calcule une probabilité simple.
236
+ * `nekproba.probabiliteInverse(probabilite)` : Calcule la probabilité inverse.
237
+ * `nekproba.probabiliteUnion(probA, probB, probIntersection)` : Calcule P(A ∪ B).
238
+
239
+ ```javascript
240
+ const nekomaths = require('nekomaths');
241
+
242
+ console.log("Probabilité (2 sur 6) :", nekomaths.nekproba.probabiliteSimple(2, 6)); // Renvoie 0.333...
243
+ console.log("Probabilité inverse (0.25) :", nekomaths.nekproba.probabiliteInverse(0.25)); // Renvoie 0.75
244
+ console.log("Probabilité union :", nekomaths.nekproba.probabiliteUnion(0.3, 0.4, 0.1)); // Renvoie 0.6
245
+ ```
246
+
247
+ ## 11. Fonctionnalités Créatives et Personnalisation
248
+
249
+ ### 11.1 Messages Personnalisés (nekbel)
250
+ * `nekbel.message(contenu, type, options)` : Affiche des messages personnalisés.
251
+ * `nekbel.executer(nom, fonction, ...args)` : Exécute des fonctions avec gestion d'erreurs.
252
+
253
+ ```javascript
254
+ const nekomaths = require('nekomaths');
255
+
256
+ // Message personnalisé
257
+ nekomaths.nekbel.message("Calcul terminé avec succès!", "success", {prefix: "🎉"});
258
+
259
+ // Exécution sécurisée
260
+ const resultat = nekomaths.nekbel.executer("addition", nekomaths.nekadd, 5, 3);
261
+ console.log(resultat);
262
+ ```
263
+
264
+ ### 11.2 Outils Créatifs (nekcreative)
265
+ * `nekcreative.generateId(prefix)` : Génère des identifiants uniques.
266
+ * `nekcreative.chronometer(func, nom)` : Mesure le temps d'exécution des fonctions.
267
+ * `nekcreative.memoize(func)` : Met en cache les résultats des fonctions.
268
+ * `nekcreative.couleurAleatoire(format)` : Génère des couleurs aléatoires.
269
+
270
+ ```javascript
271
+ const nekomaths = require('nekomaths');
272
+
273
+ // Génération d'ID
274
+ console.log(nekomaths.nekcreative.generateId("projet")); // "projet_abc123_xyz789"
275
+
276
+ // Couleur aléatoire
277
+ console.log(nekomaths.nekcreative.couleurAleatoire("hex")); // "#a1b2c3"
278
+ console.log(nekomaths.nekcreative.couleurAleatoire("rgb")); // "rgb(123, 45, 67)"
279
+ ```
280
+
281
+ ### 11.3 Gestion d'Erreurs Personnalisée (nekorror)
282
+ * `nekorror.definirMessage(codeErreur, message)` : Définit des messages d'erreur personnalisés.
283
+ * `nekorror.lancerErreur(codeErreur, donnees)` : Lance des erreurs avec messages personnalisés.
284
+ * `nekorror.executer(fonction, gestionErreur)` : Exécute des fonctions avec gestion d'erreurs.
285
+ * `nekorror.log(niveau, message, donnees)` : Logger avec différents niveaux.
286
+
287
+ ```javascript
288
+ const nekomaths = require('nekomaths');
289
+
290
+ // Définir un message d'erreur personnalisé
291
+ nekomaths.nekorror.definirMessage("DIVISION_ZERO", "Impossible de diviser par zéro !");
292
+
293
+ // Logger des informations
294
+ nekomaths.nekorror.log("info", "Calcul en cours...");
295
+ nekomaths.nekorror.log("error", "Une erreur est survenue", {valeur: 42});
296
+ ```
297
+
298
+ ## 12. Nouvelles Fonctionnalités Créatives
299
+
300
+ ### 12.1 Dessin ASCII (nekdraw)
301
+ * `nekdraw.rectangle(largeur, hauteur, caractere)` : Dessine un rectangle dans la console.
302
+ * `nekdraw.triangle(taille, caractere)` : Dessine un triangle dans la console.
303
+ * `nekdraw.afficher(dessin)` : Affiche le dessin dans la console.
304
+
305
+ ```javascript
306
+ const nekomaths = require('nekomaths');
307
+
308
+ // Dessiner un rectangle
309
+ const rect = nekomaths.nekdraw.rectangle(5, 3, '#');
310
+ nekomaths.nekdraw.afficher(rect);
311
+ // Affiche:
312
+ // #####
313
+ // #####
314
+ // #####
315
+
316
+ // Dessiner un triangle
317
+ const triangle = nekomaths.nekdraw.triangle(4, '*');
318
+ nekomaths.nekdraw.afficher(triangle);
319
+ // Affiche:
320
+ // *
321
+ // ***
322
+ // *****
323
+ // *******
324
+ ```
325
+
326
+ ### 12.2 Arrondi Personnalisé (nekril)
327
+ * `nekril(nombre, decimales)` : Arrondit un nombre décimal au nombre de décimales spécifié.
328
+
329
+ ```javascript
330
+ const nekomaths = require('nekomaths');
331
+
332
+ console.log(nekomaths.nekril(3.14159, 2)); // Renvoie 3.14
333
+ console.log(nekomaths.nekril(2.7777777, 4)); // Renvoie 2.7778
334
+ console.log(nekomaths.nekril(10.555, 1)); // Renvoie 10.6
335
+ ```
336
+
337
+ ### 12.3 Calculs avec Mots Anglais (nekocust)
338
+ * `nekocust.motEnNombre(mot)` : Convertit un mot anglais en nombre.
339
+ * `nekocust.additionMots(mot1, mot2)` : Additionne deux nombres écrits en lettres.
340
+ * `nekocust.soustractionMots(mot1, mot2)` : Soustrait deux nombres écrits en lettres.
341
+
342
+ ```javascript
343
+ const nekomaths = require('nekomaths');
344
+
345
+ console.log(nekomaths.nekocust.motEnNombre("four")); // Renvoie 4
346
+ console.log(nekomaths.nekocust.additionMots("three", "seven")); // Renvoie 10
347
+ console.log(nekomaths.nekocust.soustractionMots("ten", "four")); // Renvoie 6
348
+ ```
349
+
350
+ ### 12.4 Addition d'Objets Créatifs (nekrect)
351
+ * `nekrect.additionObjets(objet1, objet2, propriete)` : Additionne deux objets selon une propriété.
352
+ * `nekrect.decrireOperation(objet1, objet2, propriete)` : Décrit l'opération effectuée.
353
+
354
+ ```javascript
355
+ const nekomaths = require('nekomaths');
356
+
357
+ // Addition d'aires
358
+ console.log(nekomaths.nekrect.additionObjets("rectangle", "carre", "aire")); // Renvoie 16
359
+ console.log(nekomaths.nekrect.additionObjets("poule", "poire", "valeur")); // Renvoie 20
360
+
361
+ // Description de l'opération
362
+ console.log(nekomaths.nekrect.decrireOperation("rectangle", "carre", "aire"));
363
+ // Renvoie: "Addition de rectangle + carre (aire) = 16"
364
+ ```
365
+
366
+ ## 13. Théorèmes Géométriques Avancés
367
+
368
+ ### 13.1 Théorème de Pappus (nekpap)
369
+ * `nekpap.volumePappus(aire, distanceCentroide)` : Calcule le volume selon Pappus-Guldinus.
370
+ * `nekpap.airePappus(longueur, distanceCentroide)` : Calcule l'aire selon Pappus-Guldinus.
371
+ * `nekpap.centroideVolume(volume, aire)` : Calcule la distance du centroïde.
372
+
373
+ ```javascript
374
+ const nekomaths = require('nekomaths');
375
+
376
+ console.log("Volume Pappus :", nekomaths.nekpap.volumePappus(10, 5)); // Volume généré
377
+ console.log("Aire Pappus :", nekomaths.nekpap.airePappus(8, 3)); // Aire générée
378
+ console.log("Centroïde :", nekomaths.nekpap.centroideVolume(100, 4)); // Distance centroïde
379
+ ```
380
+
381
+ ### 13.2 Théorème de Desargues (nekdesar)
382
+ * `nekdesar.pointsAlignes(point1, point2, point3)` : Vérifie si trois points sont alignés.
383
+ * `nekdesar.intersectionDroites(p1, p2, p3, p4)` : Calcule l'intersection de deux droites.
384
+ * `nekdesar.verifierDesargues(triangle1, triangle2)` : Vérifie la configuration de Desargues.
385
+
386
+ ```javascript
387
+ const nekomaths = require('nekomaths');
388
+
389
+ // Vérifier l'alignement
390
+ const p1 = {x: 0, y: 0};
391
+ const p2 = {x: 1, y: 1};
392
+ const p3 = {x: 2, y: 2};
393
+ console.log(nekomaths.nekdesar.pointsAlignes(p1, p2, p3)); // Renvoie true
394
+
395
+ // Intersection de droites
396
+ const intersection = nekomaths.nekdesar.intersectionDroites(
397
+ {x: 0, y: 0}, {x: 2, y: 2},
398
+ {x: 0, y: 2}, {x: 2, y: 0}
399
+ );
400
+ console.log(intersection); // {x: 1, y: 1}
401
+
402
+ // Configuration de Desargues
403
+ const triangle1 = [{x: 0, y: 0}, {x: 2, y: 0}, {x: 1, y: 2}];
404
+ const triangle2 = [{x: 1, y: 1}, {x: 3, y: 1}, {x: 2, y: 3}];
405
+ console.log(nekomaths.nekdesar.verifierDesargues(triangle1, triangle2));
406
+ ```
407
+
408
+ ## 14. Nouvelles Fonctionnalités v1.4.0
409
+
410
+ ### 14.1 Résolution d'Équations avec Variable (nekident)
411
+ * `nekident.resoudreLineaire(a, b, resultat)` : Résout ax + b = resultat pour trouver x.
412
+ * `nekident.verifierSolution(x, operation, operande, resultatAttendu)` : Vérifie une solution.
413
+ * `nekident.trouverX(operation, operande, resultatAttendu)` : Trouve x pour une opération donnée.
414
+
415
+ ```javascript
416
+ const nekomaths = require('nekomaths');
417
+
418
+ // Résoudre 2x + 5 = 15 (x = 5)
419
+ console.log("Solution de 2x + 5 = 15 :", nekomaths.nekident.resoudreLineaire(2, 5, 15)); // Renvoie 5
420
+
421
+ // Vérifier si x = 4 est solution de x + 3 = 7
422
+ console.log("Vérification :", nekomaths.nekident.verifierSolution(4, 'add', 3, 7)); // Renvoie true
423
+
424
+ // Trouver x pour x * 3 = 12
425
+ console.log("x pour x * 3 = 12 :", nekomaths.nekident.trouverX('mult', 3, 12)); // Renvoie 4
426
+ ```
427
+
428
+ ### 14.2 Équations Complexes (nekaqua)
429
+ * `nekaqua.quadratique(a, b, c)` : Résout ax² + bx + c = 0.
430
+ * `nekaqua.systeme2x2(a1, b1, c1, a2, b2, c2)` : Résout un système 2x2.
431
+ * `nekaqua.evaluerPolynome(coefficients, x)` : Évalue un polynôme.
432
+
433
+ ```javascript
434
+ const nekomaths = require('nekomaths');
435
+
436
+ // Résoudre x² - 5x + 6 = 0
437
+ const equation = nekomaths.nekaqua.quadratique(1, -5, 6);
438
+ console.log("Solutions quadratique :", equation); // x1 = 3, x2 = 2
439
+
440
+ // Système d'équations 2x + 3y = 7, x - y = 1
441
+ const systeme = nekomaths.nekaqua.systeme2x2(2, 3, 7, 1, -1, 1);
442
+ console.log("Solution système :", systeme); // x = 2, y = 1
443
+
444
+ // Évaluer P(x) = 2x² + 3x + 1 pour x = 2
445
+ console.log("P(2) =", nekomaths.nekaqua.evaluerPolynome([2, 3, 1], 2)); // Renvoie 15
446
+ ```
447
+
448
+ ### 14.3 Calculs de Fractions (nekfrac)
449
+ * `nekfrac.simplifier(numerateur, denominateur)` : Simplifie une fraction.
450
+ * `nekfrac.additionner(num1, den1, num2, den2)` : Additionne deux fractions.
451
+ * `nekfrac.multiplier(num1, den1, num2, den2)` : Multiplie deux fractions.
452
+ * `nekfrac.pgcd(a, b)` : Calcule le PGCD.
453
+
454
+ ```javascript
455
+ const nekomaths = require('nekomaths');
456
+
457
+ // Simplifier 12/18
458
+ console.log("12/18 simplifié :", nekomaths.nekfrac.simplifier(12, 18)); // 2/3
459
+
460
+ // Additionner 1/3 + 1/4
461
+ const addition = nekomaths.nekfrac.additionner(1, 3, 1, 4);
462
+ console.log("1/3 + 1/4 =", addition); // 7/12
463
+
464
+ // Multiplier 2/3 * 3/4
465
+ const multiplication = nekomaths.nekfrac.multiplier(2, 3, 3, 4);
466
+ console.log("2/3 * 3/4 =", multiplication); // 1/2
467
+ ```
468
+
469
+ ### 14.4 Calculs avec Puissances (nektin)
470
+ * `nektin.resoudreCarree(a, b)` : Résout ax² = b.
471
+ * `nektin.resoudreCube(a, b)` : Résout ax³ = b.
472
+ * `nektin.fractionPuissance(num, den, exposant)` : Calcule (num/den)^exposant.
473
+
474
+ ```javascript
475
+ const nekomaths = require('nekomaths');
476
+
477
+ // Résoudre 2x² = 8 (x = ±2)
478
+ console.log("Solutions de 2x² = 8 :", nekomaths.nektin.resoudreCarree(2, 8));
479
+
480
+ // Résoudre x³ = 27 (x = 3)
481
+ console.log("Solution de x³ = 27 :", nekomaths.nektin.resoudreCube(1, 27));
482
+
483
+ // Calculer (3/4)²
484
+ console.log("(3/4)² =", nekomaths.nektin.fractionPuissance(3, 4, 2));
485
+ ```
486
+
487
+ ### 14.5 Nombre Alpha (nekalpha)
488
+ * `nekalpha.valeur` : Constante alpha de Feigenbaum.
489
+ * `nekalpha.serie(n)` : Calcule une série basée sur alpha.
490
+ * `nekalpha.transformation(x)` : Transformation alpha.
491
+
492
+ ```javascript
493
+ const nekomaths = require('nekomaths');
494
+
495
+ console.log("Constante alpha :", nekomaths.nekalpha.valeur);
496
+ console.log("Série alpha (10 termes) :", nekomaths.nekalpha.serie(10));
497
+ console.log("Transformation alpha(0.5) :", nekomaths.nekalpha.transformation(0.5));
498
+ ```
499
+
500
+ ### 14.6 Nombre Beta (nekbeta)
501
+ * `nekbeta.fonction(a, b)` : Fonction beta d'Euler.
502
+ * `nekbeta.gamma(x)` : Approximation de la fonction gamma.
503
+ * `nekbeta.distribution(x, alpha, beta)` : Distribution beta.
504
+
505
+ ```javascript
506
+ const nekomaths = require('nekomaths');
507
+
508
+ console.log("Beta(2, 3) :", nekomaths.nekbeta.fonction(2, 3));
509
+ console.log("Gamma(4) :", nekomaths.nekbeta.gamma(4));
510
+ console.log("Distribution beta :", nekomaths.nekbeta.distribution(0.5, 2, 3));
511
+ ```
512
+
513
+ ### 14.7 Nombre Omega (nekomega)
514
+ * `nekomega.spirale(t)` : Calcule la spirale d'or.
515
+ * `nekomega.fibonacciOmega(n)` : Fibonacci modifié avec omega.
516
+ * `nekomega.convergence(iterations)` : Calcul de convergence.
517
+
518
+ ```javascript
519
+ const nekomaths = require('nekomaths');
520
+
521
+ console.log("Spirale omega :", nekomaths.nekomega.spirale(1));
522
+ console.log("Fibonacci omega(10) :", nekomaths.nekomega.fibonacciOmega(10));
523
+ console.log("Convergence omega :", nekomega.convergence(5));
524
+ ```
525
+
526
+ ### 14.8 Comparaison de Nombres (nekcopare)
527
+ * `nekcopare.comparer(a, b)` : Compare deux nombres.
528
+ * `nekcopare.maximum(nombres)` : Trouve le maximum dans un tableau.
529
+ * `nekcopare.minimum(nombres)` : Trouve le minimum dans un tableau.
530
+
531
+ ```javascript
532
+ const nekomaths = require('nekomaths');
533
+
534
+ // Comparer 5 et 8
535
+ const comparaison = nekomaths.nekcopare.comparer(5, 8);
536
+ console.log("Comparaison :", comparaison); // 5 < 8
537
+
538
+ // Trouver le maximum
539
+ const nombres = [3, 7, 2, 9, 1];
540
+ console.log("Maximum :", nekomaths.nekcopare.maximum(nombres)); // 9
541
+
542
+ // Trouver le minimum
543
+ console.log("Minimum :", nekomaths.nekcopare.minimum(nombres)); // 1
544
+ ```
545
+
546
+ ### 14.9 Base de Données Personnalisée (nekdone)
547
+ * `nekdone.creerBase(nom, structure)` : Crée une base de données.
548
+ * `nekdone.ajouterDonnee(nomBase, donnee)` : Ajoute des données.
549
+ * `nekdone.calculer(nomBase, propriete, operation)` : Effectue des calculs.
550
+ * `nekdone.obtenirBase(nomBase)` : Obtient les informations d'une base.
551
+
552
+ ```javascript
553
+ const nekomaths = require('nekomaths');
554
+
555
+ // Créer une base de données
556
+ nekomaths.nekdone.creerBase("ventes", ["produit", "prix", "quantite"]);
557
+
558
+ // Ajouter des données
559
+ nekomaths.nekdone.ajouterDonnee("ventes", {produit: "ordinateur", prix: 800, quantite: 2});
560
+ nekomaths.nekdone.ajouterDonnee("ventes", {produit: "souris", prix: 25, quantite: 5});
561
+
562
+ // Calculer la somme des prix
563
+ const sommePrix = nekomaths.nekdone.calculer("ventes", "prix", "somme");
564
+ console.log("Somme des prix :", sommePrix);
565
+
566
+ // Obtenir toute la base
567
+ const base = nekomaths.nekdone.obtenirBase("ventes");
568
+ console.log("Base de données :", base);
569
+ ```
570
+
571
+ ### 14.10 Arithmétique Personnalisée (nekarin)
572
+ * `nekarin.enregistrerFonction(nom, fonction, description)` : Enregistre une fonction.
573
+ * `nekarin.executer(nom, ...args)` : Exécute une fonction personnalisée.
574
+ * `nekarin.combiner(nom1, nom2, operation, ...args)` : Combine deux fonctions.
575
+ * `nekarin.listerFonctions()` : Liste toutes les fonctions enregistrées.
576
+
577
+ ```javascript
578
+ const nekomaths = require('nekomaths');
579
+
580
+ // Enregistrer une fonction personnalisée
581
+ nekomaths.nekarin.enregistrerFonction("double", (x) => x * 2, "Multiplie par 2");
582
+ nekomaths.nekarin.enregistrerFonction("carre", (x) => x * x, "Met au carré");
583
+
584
+ // Exécuter les fonctions
585
+ console.log("Double de 5 :", nekomaths.nekarin.executer("double", 5)); // 10
586
+ console.log("Carré de 4 :", nekomaths.nekarin.executer("carre", 4)); // 16
587
+
588
+ // Combiner les fonctions (double + carré pour x=3)
589
+ const resultat = nekomaths.nekarin.combiner("double", "carre", "add", 3);
590
+ console.log("Double(3) + Carré(3) =", resultat); // 6 + 9 = 15
591
+
592
+ // Lister toutes les fonctions
593
+ console.log("Fonctions enregistrées :", nekomaths.nekarin.listerFonctions());
594
+ ```
595
+
596
+ ## 15. Nouvelles Fonctionnalités v1.5.0
597
+
598
+ ### 15.1 Tracé de Graphiques (nekgrap)
599
+ * `nekgrap.genererPoints(func, xMin, xMax, pas)` : Génère des points pour tracer une fonction.
600
+ * `nekgrap.afficherConsole(points, largeur, hauteur)` : Affiche un graphique ASCII dans la console.
601
+ * `nekgrap.tracer(func, options)` : Trace et affiche une fonction directement.
602
+
603
+ ```javascript
604
+ const nekomaths = require('nekomaths');
605
+
606
+ // Tracer une fonction quadratique
607
+ const points = nekomaths.nekgrap.tracer(x => x * x, {
608
+ xMin: -5,
609
+ xMax: 5,
610
+ pas: 0.1,
611
+ largeur: 60,
612
+ hauteur: 15
613
+ });
614
+
615
+ // Tracer une fonction sinus
616
+ nekomaths.nekgrap.tracer(Math.sin, { xMin: -Math.PI, xMax: Math.PI });
617
+ ```
618
+
619
+ ### 15.2 Progressions et Séries (nekoser)
620
+ * `nekoser.arithmetique(premier, raison, n)` : Calcule une progression arithmétique.
621
+ * `nekoser.geometrique(premier, raison, n)` : Calcule une progression géométrique.
622
+
623
+ ```javascript
624
+ const nekomaths = require('nekomaths');
625
+
626
+ // Progression arithmétique : 2, 5, 8, 11, 14
627
+ const arith = nekomaths.nekoser.arithmetique(2, 3, 5);
628
+ console.log("Termes :", arith.termes); // [2, 5, 8, 11, 14]
629
+ console.log("Somme :", arith.somme); // 40
630
+
631
+ // Progression géométrique : 1, 2, 4, 8, 16
632
+ const geom = nekomaths.nekoser.geometrique(1, 2, 5);
633
+ console.log("Termes :", geom.termes); // [1, 2, 4, 8, 16]
634
+ console.log("Somme :", geom.somme); // 31
635
+ ```
636
+
637
+ ### 15.3 Séries Infinies (neka)
638
+ * `neka.serieGeometriqueInfinie(premier, raison)` : Calcule la somme d'une série géométrique infinie.
639
+ * `neka.approximerSerie(termFunction, maxTermes, precision)` : Approxime une série par calcul de termes.
640
+
641
+ ```javascript
642
+ const nekomaths = require('nekomaths');
643
+
644
+ // Série géométrique infinie 1 + 1/2 + 1/4 + 1/8 + ... = 2
645
+ const sommeInfinie = nekomaths.neka.serieGeometriqueInfinie(1, 0.5);
646
+ console.log("Somme infinie :", sommeInfinie); // 2
647
+
648
+ // Approximer la série harmonique
649
+ const harmonique = nekomaths.neka.approximerSerie(n => 1/n, 1000);
650
+ console.log("Approximation :", harmonique);
651
+ ```
652
+
653
+ ### 15.4 Matrices et Inversions (nekoma)
654
+ * `nekoma.creer(donnees)` : Crée une matrice à partir d'un tableau 2D.
655
+ * `nekoma.inverser2x2(matrice)` : Calcule l'inverse d'une matrice 2x2.
656
+ * `nekoma.multiplier(matrice1, matrice2)` : Multiplie deux matrices.
657
+
658
+ ```javascript
659
+ const nekomaths = require('nekomaths');
660
+
661
+ // Créer et inverser une matrice 2x2
662
+ const matrice = nekomaths.nekoma.creer([[2, 1], [1, 1]]);
663
+ const inverse = nekomaths.nekoma.inverser2x2(matrice);
664
+ console.log("Matrice inverse :", inverse.donnees);
665
+
666
+ // Multiplication de matrices
667
+ const produit = nekomaths.nekoma.multiplier(matrice, inverse);
668
+ console.log("Produit (devrait être identité) :", produit.donnees);
669
+ ```
670
+
671
+ ### 15.5 Déterminants (nekyu)
672
+ * `nekyu.determinant2x2(matrice)` : Calcule le déterminant d'une matrice 2x2.
673
+ * `nekyu.determinant3x3(matrice)` : Calcule le déterminant d'une matrice 3x3.
674
+ * `nekyu.identite(taille)` : Crée une matrice identité.
675
+
676
+ ```javascript
677
+ const nekomaths = require('nekomaths');
678
+
679
+ // Déterminant 2x2
680
+ const matrice2x2 = nekomaths.nekoma.creer([[3, 2], [1, 4]]);
681
+ const det2x2 = nekomaths.nekyu.determinant2x2(matrice2x2);
682
+ console.log("Déterminant 2x2 :", det2x2); // 10
683
+
684
+ // Créer une matrice identité 3x3
685
+ const identite = nekomaths.nekyu.identite(3);
686
+ console.log("Matrice identité :", identite.donnees);
687
+ ```
688
+
689
+ ### 15.6 Méthode de Newton-Raphson (nekonew)
690
+ * `nekonew.trouverRacine(func, derivee, x0, tolerance, maxIterations)` : Trouve une racine par Newton-Raphson.
691
+
692
+ ```javascript
693
+ const nekomaths = require('nekomaths');
694
+
695
+ // Trouver la racine de x² - 2 = 0 (√2)
696
+ const func = x => x * x - 2;
697
+ const derivee = x => 2 * x;
698
+ const resultat = nekomaths.nekonew.trouverRacine(func, derivee, 1);
699
+ console.log("Racine trouvée :", resultat.racine); // ≈ 1.414
700
+ console.log("Convergé :", resultat.converge);
701
+ ```
702
+
703
+ ### 15.7 Méthode de Monte Carlo (nekcarlo)
704
+ * `nekcarlo.estimerPi(nombrePoints)` : Estime π par simulation Monte Carlo.
705
+ * `nekcarlo.integrer(func, a, b, nombrePoints)` : Calcule une intégrale par Monte Carlo.
706
+
707
+ ```javascript
708
+ const nekomaths = require('nekomaths');
709
+
710
+ // Estimer π
711
+ const estimationPi = nekomaths.nekcarlo.estimerPi(1000000);
712
+ console.log("Estimation de π :", estimationPi.estimation);
713
+ console.log("Erreur :", estimationPi.erreur);
714
+
715
+ // Intégrer x² de 0 à 1
716
+ const integrale = nekomaths.nekcarlo.integrer(x => x * x, 0, 1, 100000);
717
+ console.log("Intégrale de x² :", integrale.estimation); // ≈ 0.333
718
+ ```
719
+
720
+ ### 15.8 Interface Interactive (nekinterac)
721
+ * `nekinterac.creerMenu(options)` : Crée un menu interactif.
722
+ * `nekinterac.calculateur(operation)` : Affiche un calculateur interactif.
723
+
724
+ ```javascript
725
+ const nekomaths = require('nekomaths');
726
+
727
+ // Créer un menu
728
+ const menu = nekomaths.nekinterac.creerMenu({
729
+ titre: "Calculatrice",
730
+ choix: [
731
+ { nom: "Addition" },
732
+ { nom: "Multiplication" },
733
+ { nom: "Graphiques" }
734
+ ]
735
+ });
736
+ console.log(menu);
737
+
738
+ // Interface de calculateur
739
+ const calc = nekomaths.nekinterac.calculateur('addition');
740
+ console.log(calc);
741
+ ```
742
+
743
+ ### 15.9 Conversions Avancées (nekconvert)
744
+ * `nekconvert.convertir(valeur, uniteSource, uniteCible, type)` : Convertit entre différentes unités.
745
+ * `nekconvert.convertirTemperature(valeur, uniteSource, uniteCible)` : Conversions de température.
746
+
747
+ ```javascript
748
+ const nekomaths = require('nekomaths');
749
+
750
+ // Conversion de longueur
751
+ const metres = nekomaths.nekconvert.convertir(100, 'metre', 'pied', 'longueur');
752
+ console.log("100 mètres =", metres, "pieds");
753
+
754
+ // Conversion de température
755
+ const fahrenheit = nekomaths.nekconvert.convertirTemperature(0, 'celsius', 'fahrenheit');
756
+ console.log("0°C =", fahrenheit, "°F"); // 32°F
757
+
758
+ // Conversion de poids
759
+ const livres = nekomaths.nekconvert.convertir(10, 'kilogramme', 'livre', 'poids');
760
+ console.log("10 kg =", livres, "livres");
761
+ ```
762
+
763
+ ### 15.10 Historique des Calculs (nekohis)
764
+ * `nekohis.ajouter(operation, resultat, parametres)` : Ajoute un calcul à l'historique.
765
+ * `nekohis.obtenirHistorique()` : Récupère l'historique complet.
766
+ * `nekohis.reutiliser(id)` : Réutilise un calcul précédent.
767
+
768
+ ```javascript
769
+ const nekomaths = require('nekomaths');
770
+
771
+ // Ajouter des calculs à l'historique
772
+ nekomaths.nekohis.ajouter("Addition", 15, [10, 5]);
773
+ nekomaths.nekohis.ajouter("Multiplication", 50, [10, 5]);
774
+
775
+ // Voir l'historique
776
+ const historique = nekomaths.nekohis.obtenirHistorique();
777
+ console.log("Historique :", historique);
778
+
779
+ // Réutiliser un résultat
780
+ const ancienResultat = nekomaths.nekohis.reutiliser(1);
781
+ console.log("Ancien résultat :", ancienResultat);
782
+ ```
783
+
784
+ ### 15.11 Algorithmes d'Optimisation (nekalgo)
785
+ * `nekalgo.descenteGradient(func, gradient, x0, tauxApprentissage, maxIterations)` : Optimisation par descente de gradient.
786
+ * `nekalgo.rechercheBruteForce(func, a, b, pas)` : Recherche par force brute.
787
+
788
+ ```javascript
789
+ const nekomaths = require('nekomaths');
790
+
791
+ // Minimiser f(x) = x² - 4x + 3
792
+ const func = x => x * x - 4 * x + 3;
793
+ const gradient = x => 2 * x - 4;
794
+ const resultat = nekomaths.nekalgo.descenteGradient(func, gradient, 0, 0.1);
795
+ console.log("Minimum trouvé en x =", resultat.minimum); // ≈ 2
796
+ console.log("Valeur minimum =", resultat.valeurMinimum); // ≈ -1
797
+
798
+ // Recherche par force brute
799
+ const brutForce = nekomaths.nekalgo.rechercheBruteForce(func, 0, 5, 0.01);
800
+ console.log("Minimum par force brute :", brutForce);
801
+ ```
802
+
803
+ ### 15.12 Algorithmes Personnalisés (nekeit)
804
+ * `nekeit.creer(nom, algorithme, description)` : Crée un algorithme personnalisé.
805
+ * `nekeit.executer(nom, ...args)` : Exécute un algorithme.
806
+ * `nekeit.lister()` : Liste tous les algorithmes.
807
+
808
+ ```javascript
809
+ const nekomaths = require('nekomaths');
810
+
811
+ // Créer un algorithme personnalisé
812
+ nekomaths.nekeit.creer("fibonacci", function(n) {
813
+ if (n <= 1) return n;
814
+ return this.executer("fibonacci", n-1) + this.executer("fibonacci", n-2);
815
+ }, "Calcule le n-ième nombre de Fibonacci");
816
+
817
+ // Créer un algorithme de tri
818
+ nekomaths.nekeit.creer("triRapide", function(arr) {
819
+ if (arr.length <= 1) return arr;
820
+ const pivot = arr[Math.floor(arr.length / 2)];
821
+ const left = arr.filter(x => x < pivot);
822
+ const middle = arr.filter(x => x === pivot);
823
+ const right = arr.filter(x => x > pivot);
824
+ return [...this.executer("triRapide", left), ...middle, ...this.executer("triRapide", right)];
825
+ }, "Tri rapide (quicksort)");
826
+
827
+ // Exécuter les algorithmes
828
+ console.log("Fibonacci(10) :", nekomaths.nekeit.executer("fibonacci", 10));
829
+ console.log("Tri [3,1,4,1,5] :", nekomaths.nekeit.executer("triRapide", [3,1,4,1,5]));
830
+
831
+ // Lister les algorithmes
832
+ console.log("Algorithmes :", nekomaths.nekeit.lister());
833
+ ```
834
+
835
+ ### 15.13 Coûts de Distribution (neksrar)
836
+ * `neksrar.coutTransport(distance, coutParKm, poids)` : Calcule le coût de transport.
837
+ * `neksrar.coutStockage(volume, duree, coutParM3Jour)` : Calcule le coût de stockage.
838
+
839
+ ```javascript
840
+ const nekomaths = require('nekomaths');
841
+
842
+ // Coût de transport
843
+ const transport = nekomaths.neksrar.coutTransport(150, 1.2, 25);
844
+ console.log("Coût de transport :", transport);
845
+ // { distance: 150, coutParKm: 1.2, poids: 25, coutTotal: 198 }
846
+
847
+ // Coût de stockage
848
+ const stockage = nekomaths.neksrar.coutStockage(10, 30, 2.5);
849
+ console.log("Coût de stockage :", stockage);
850
+ // { volume: 10, duree: 30, coutTotal: 750 }
851
+ ```
852
+
853
+ ### 15.14 Gestion Financière d'Entreprise (nekgef)
854
+ * `nekgef.calculerBFR(stocks, creancesClients, dettesFournisseurs)` : Calcule le BFR.
855
+ * `nekgef.calculerFRNG(capitauxPermanents, immobilisations)` : Calcule le FRNG.
856
+ * `nekgef.calculerTresorerieNette(frng, bfr)` : Calcule la trésorerie nette.
857
+
858
+ ```javascript
859
+ const nekomaths = require('nekomaths');
860
+
861
+ // Calcul du BFR
862
+ const bfr = nekomaths.nekgef.calculerBFR(50000, 30000, 20000);
863
+ console.log("BFR :", bfr);
864
+ // { bfr: 60000, interpretation: "Besoin de financement" }
865
+
866
+ // Calcul du FRNG
867
+ const frng = nekomaths.nekgef.calculerFRNG(200000, 150000);
868
+ console.log("FRNG :", frng);
869
+ // { frng: 50000, interpretation: "Équilibre financier" }
870
+
871
+ // Trésorerie nette
872
+ const tresorerie = nekomaths.nekgef.calculerTresorerieNette(50000, 60000);
873
+ console.log("Trésorerie :", tresorerie);
874
+ // { tresorerieNette: -10000, interpretation: "Trésorerie négative" }
875
+ ```
876
+
877
+ ### 15.15 Calculs d'Immobilisations (nekpo)
878
+ * `nekpo.amortissementLineaire(valeurInitiale, dureeVie, valeurResiduelle)` : Calcule l'amortissement linéaire.
879
+ * `nekpo.plusMoinsValue(prixCession, valeurComptable)` : Calcule la plus ou moins-value de cession.
880
+
881
+ ```javascript
882
+ const nekomaths = require('nekomaths');
883
+
884
+ // Amortissement linéaire d'un équipement
885
+ const amortissement = nekomaths.nekpo.amortissementLineaire(100000, 5, 10000);
886
+ console.log("Plan d'amortissement :", amortissement);
887
+ // Annuité : 18000 par an pendant 5 ans
888
+
889
+ // Plus ou moins-value de cession
890
+ const cession = nekomaths.nekpo.plusMoinsValue(45000, 40000);
891
+ console.log("Plus-value :", cession);
892
+ // { plusMoinsValue: 5000, type: "Plus-value" }
893
+ ```
894
+
895
+ ### 15.16 TVA et Inflation (nekia)
896
+ * `nekia.calculerTVA(montantHT, tauxTVA)` : Calcule la TVA.
897
+ * `nekia.calculerHT(montantTTC, tauxTVA)` : Calcule le montant HT à partir du TTC.
898
+ * `nekia.calculerInflation(valeurInitiale, valeurFinale, annees)` : Calcule le taux d'inflation.
899
+
900
+ ```javascript
901
+ const nekomaths = require('nekomaths');
902
+
903
+ // Calcul de TVA
904
+ const tva = nekomaths.nekia.calculerTVA(1000, 20);
905
+ console.log("Calcul TVA :", tva);
906
+ // { montantHT: 1000, montantTVA: 200, montantTTC: 1200 }
907
+
908
+ // Calcul HT à partir du TTC
909
+ const ht = nekomaths.nekia.calculerHT(1200, 20);
910
+ console.log("Calcul HT :", ht);
911
+ // { montantTTC: 1200, montantHT: 1000, montantTVA: 200 }
912
+
913
+ // Calcul d'inflation
914
+ const inflation = nekomaths.nekia.calculerInflation(100, 105, 1);
915
+ console.log("Inflation :", inflation);
916
+ // { tauxPourcentage: 5, interpretation: "5% d'inflation par an" }
917
+ ```
918
+
919
+ **Contribution**
920
+
921
+ 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.
922
+
923
+ **Lien de notre documentation officielle**
924
+
925
+ https://nekocute-math-tools.lovable.app
index-2.js ADDED
The diff for this file is too large to render. See raw diff
 
package-2.json ADDED
@@ -0,0 +1,27 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "name": "nekomaths",
3
+ "version": "1.5.0",
4
+ "description": "Un package utilitaire mathématique simple et convivial par Nekoclem",
5
+ "main": "index.js",
6
+ "scripts": {
7
+ "test": "echo \"Error: no test specified\" && exit 1"
8
+ },
9
+ "keywords": [
10
+ "math",
11
+ "calculations",
12
+ "numbers",
13
+ "utility",
14
+ "nekomaths",
15
+ "nekoclem"
16
+ ],
17
+ "author": "nekoclem <ton-email@exemple.com>",
18
+ "license": "MIT",
19
+ "repository": {
20
+ "type": "git",
21
+ "url": "https://github.com/clem27game/NEKOMATHS.git"
22
+ },
23
+ "bugs": {
24
+ "url": "https://github.com/clem27game/NEKOMATHS/issues"
25
+ },
26
+ "homepage": "https://github.com/nekoclem/nekomaths#readme"
27
+ }
package-lock-2.json ADDED
@@ -0,0 +1,13 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "name": "nekomaths",
3
+ "version": "1.5.0",
4
+ "lockfileVersion": 2,
5
+ "requires": true,
6
+ "packages": {
7
+ "": {
8
+ "name": "nekomaths",
9
+ "version": "1.5.0",
10
+ "license": "MIT"
11
+ }
12
+ }
13
+ }