Fondamentaux de la programmation JavaScript

Beginner

This tutorial is from open-source community. Access the source code

Introduction

Dans ce laboratoire, nous allons plonger dans le monde de la programmation JavaScript et apprendre à écrire du code efficace et performant. Grâce à une série d'exercices pratiques et de défis, vous acquerrez une compréhension solide des concepts de programmation fondamentaux tels que les variables, les fonctions, les boucles et les instructions conditionnelles. À la fin de ce laboratoire, vous disposerez des compétences et de la confiance nécessaires pour résoudre des problèmes de programmation du monde réel en utilisant JavaScript.

Calcul du coefficient binomial

Pour calculer le nombre de manières de choisir k éléments parmi n éléments sans répétition et sans ordre, vous pouvez utiliser la fonction JavaScript suivante :

const binomialCoefficient = (n, k) => {
  if (Number.isNaN(n) || Number.isNaN(k)) return NaN;
  if (k < 0 || k > n) return 0;
  if (k === 0 || k === n) return 1;
  if (k === 1 || k === n - 1) return n;
  if (n - k < k) k = n - k;
  let res = n;
  for (let j = 2; j <= k; j++) res *= (n - j + 1) / j;
  return Math.round(res);
};

Pour utiliser la fonction, ouvrez le Terminal/SSH et tapez node. Ensuite, appelez la fonction avec les valeurs souhaitées. Par exemple :

binomialCoefficient(8, 2); // 28

Pour vous assurer que la fonction fonctionne correctement, vous pouvez suivre ces étapes :

  1. Utilisez Number.isNaN() pour vérifier si l'une des deux valeurs est NaN.
  2. Vérifiez si k est inférieur à 0, supérieur ou égal à n, égal à 1 ou n - 1 et renvoyez le résultat approprié.
  3. Vérifiez si n - k est inférieur à k et inversez leurs valeurs en conséquence.
  4. Bouclez de 2 à k et calculez le coefficient binomial.
  5. Utilisez Math.round() pour prendre en compte les erreurs d'arrondi dans le calcul.

Sommaire

Félicitations ! Vous avez terminé le laboratoire sur le coefficient binomial. Vous pouvez pratiquer d'autres laboratoires sur LabEx pour améliorer vos compétences.