Giter Club home page Giter Club logo

algo-factorielle's Introduction

Exercice JavaScript - Calcul de la factorielle avec récursivité

Objectif

L'objectif de cet exercice est de créer une fonction en JavaScript qui calcule la factorielle d'un nombre en utilisant la récursivité. Vous devrez également tester votre fonction à l'aide de Jest, un framework de test pour JavaScript.

Instructions

  1. Créez une fonction appelée factorielleRecursive qui prend un seul paramètre n (un nombre entier positif ou nul) et retourne la factorielle de n en utilisant la récursivité.

  2. Avant d'entrer dans le processus récursif, vérifiez que n est un nombre entier positif. Si ce n'est pas le cas, la fonction doit retourner false.

  3. Assurez-vous d'ajouter une condition de base pour mettre fin à la récursivité lorsque n est égal à 0. Dans ce cas, la fonction doit retourner 1.

  4. Sinon, la fonction doit retourner n multiplié par le résultat de l'appel récursif de factorielleRecursive avec n-1.

  5. Testez votre fonction à l'aide de Jest en écrivant au moins trois cas de test. Un cas pour vérifier que la fonction retourne false si le nombre donné en paramètre n'est pas un nombre entier positif, un cas de test pour vérifier le calcul de la factorielle d'un nombre positif et un autre cas de test pour vérifier que la factorielle de zéro est égale à 1.

Documentation

Exemple d'utilisation de la fonction

const resultat = factorielleRecursive(5);
console.log(resultat); // Output: 120

Conseils

  • Vous pouvez consulter les liens de documentation fournis pour vous aider à comprendre la factorielle et Jest.
  • N'hésitez pas à rechercher des exemples de fonctions factorielles récursives en JavaScript pour vous inspirer.

algo-factorielle's People

Contributors

vincentsureau avatar

Watchers

 avatar

algo-factorielle's Issues

Plan de test

Voici les tests à réaliser pour valider le fonctionnement de l'application:

Cas de tests

Cas de test 1 - Nombre positif

Description : Vérifier que la fonction factorielleRecursive calcule correctement la factorielle d'un nombre positif.

Code de test :

const resultat = factorielleRecursive(5);
expect(resultat).toBe(120);

Cas de test 2 - Factorielle de zéro

Description : Vérifier que la fonction factorielleRecursive renvoie 1 lorsque la factorielle de zéro est calculée.

Code de test :

const resultat = factorielleRecursive(0);
expect(resultat).toBe(1);

Cas de test 3 - Nombre négatif

Description : Vérifier que la fonction factorielleRecursive renvoie false lorsqu'un nombre négatif est passé en paramètre.

Code de test :

const resultat = factorielleRecursive(-3);
expect(resultat).toBe(false);

Cas de test 4 - Nombre décimal

Description : Vérifier que la fonction factorielleRecursive renvoie false lorsqu'un nombre décimal est passé en paramètre.

Code de test :

const resultat = factorielleRecursive(3.14);
expect(resultat).toBe(false);

Cas de test 5 - Nombre non-numérique

Description : Vérifier que la fonction factorielleRecursive renvoie false lorsqu'un argument non-numérique est passé en paramètre.

Code de test :

const resultat = factorielleRecursive("abc");
expect(resultat).toBe(false);

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.