ChronoMath, une chronologie des MATHÉMATIQUES
à l'usage des professeurs de mathématiques, des étudiants et des élèves des lycées & collèges
Apprendre à programmer en langage JavaScript

La quasi totalité des programmes de ChronoMath est écrite en langage JavaScript ou pour Tableur. Quelques uns, d'usage graphique, sont écrits en Basic en attendant une version de JavaScript acceptant l'adressage des pixels. Tous les programmes écrits en JavaScript sont utilisables en ligne.

La liste ci-dessous de programmes JavaScript présents dans ChronoMath  n'est pas exhaustive, tant s'en faut ! Les titres indiqués renvoient à des programmes simples à vocation pédagogique en termes de programmation et d'usage d'instructions fondamentales. Le lien ci-après renvoie à l'ensemble des programmes JavaScript présents sur le site :

Index des programmes JavaScript présents dans ChronoMath : »


 !   Si vous cherchez une fonction ou instruction particulière, retrouvez-la rapidement par Ctrl + F

  1. Opérations, Relations binaires, opérateurs logiques, fonctions & constantes mathématiques
    afin de montrer l'usage et la syntaxe des fonctions et opérateurs prédéfinis.

  2. Traitement des chaînes de caractères, tableaux (matrices) et listes
    afin de montrer l'usage et la syntaxe des fonctions liées aux chaînes de caractères.

  3. Tri récursif d'une liste numérique
    fonctions opérant sur les tableaux et chaînes de caractères :  usage de [ ] pour désigner une liste (n-uplet), concat(),
    length, join(), slice(), join(), ...

  4. Casse-tête : nombre de 3
    fonctions opérant sur les chaînes de caractères : toString() , length, charAt()

  5. Casse-tête impair
    fonctions opérant sur les chaînes de caractères : toString() , test if...else , length, charAt() , eval

  6. Formule de Wallis
    boucles while élémentaire, affichage de calculs intermédiaires dans un "confirm" (Annuler, Ok).

  7. Créer une fonction d'arrondi arr(x)
    usage de Math.floor(), Math.abs() avec retour d'une valeur (return x) :
    function arr(x)
    {
    x=Math.floor(x*1000+0.5)/1000;return x
      // arrondi au 1/1000è
    }

  8. Résolution de triangles et création d'une fonction d'échange swap(x,y)
    x prend la valeur de y et y celle de x. Usage tout simple de [ ] pour désigner une liste qui distingue [a b] de [b a] :
    function swap(a,b)
    {
    return [b a]
    }

  9. Problème de Syracuse
    fonctions opérant sur les chaînes de caractères : toString() , boucles while , test if...else , affichage sur plusieurs lignes avec "\n".

  10. Suite de Hamming
    table à 1 dimension : new Array() , concaténation , toString() , boucles for , break , fonction % (modulo, reste de la division euclidienne), appel d'une fonction de deux variables.

  11. Programme JavaScript de contrôle de convergence d'une suite un =f(un-1)
    Entrée d'une fonction numérique function f(x), usage With(Math), boucle sans fin while(1), sortie avec if (!confirm().

  12. Méthode des pas décimaux (pour la résolution approchée d'une équation f(x) = 0).
    évaluation de trois données (eval, prompt), with(Math) , boucles while, arrêt des calculs par un "confirm" (Annuler, Ok), test if...else, fenêtre de message (alert), lancement des calculs par bouton (type button)

  13. Méthode dichotomique
    évaluation d'une donnée (eval, prompt), évaluation d'une chaîne utilisateur en tant que fonction, with(Math) , boucle while, fenêtre de message (alert), sortie des approximations successives dans un "confirm" (Annuler, Ok)

  14. Calcul multiprécision de n! 
    évaluation d'une donnée (eval, prompt), boucles while, boucles for, test if...else, fenêtre de message (alert), table (Array), boucle for, partie entière (Math.floor), conversion et traitement en chaînes de caractères (toString), lancement des calculs par bouton (type button).

  15. Calcul d'un PGCD par l'algorithme d'Euclide
    eval, prompt, boucle while, affichages successifs des divisions euclidiennes (usage du reste : fonction a%b) dans une fenêtre secondaire : instructions open et document.write.

  1. Calcul récursif du PGCD
    construction et appel récursifs de la fonction pgcd(a,b) : instruction return, renvoi d'une valeur au programme principal.

  2. Calcul itératif et récursif de factorielle n
    écriture d'une fonction récursive facto(n). Contrôle de l'entrée utilisateur dont l'usage de isNaN() (is Not a Number).
    » voir aussi le listing de la méthode de Simpson où les valeurs aux bornes de l'intervalle d'intégration sont contrôlées.

  3. Calcul récursif des nombres de Lucas
    écriture d'une fonction récursive Lucas(n), comparaison avec la méthode itérative équivalente;

  4. Identité de Bézout (au + bv = 1) et résolution en nombres entiers de ax + by = c
    évaluation de deux données (prompt, eval), boucle while, test if...then, appel de procédure, affichage du résultat dans une fenêtre "alert" sur plusieurs lignes ("\n").

  5. Nombre es-tu premier?
    entrée d'une donnée (eval, prompt), boucle conditionnelle while, test if...else, OU logique (||), ET logique (&&), fonction MOD : %, sortie du résultat dans une "alert" sur plusieurs lignes ("\n"), bouton (type button).

  6. Table de nombres premiers
    entrée d'une donnée (eval, prompt), boucle conditionnelle
    while, sortie de boucle avec break et continue, test if...else, usage du OU logique (||), du ET (&&), fonction MOD : %, sortie des nombres dans une fenêtre : instructions open et document.write.

  7. Nombres de Stern, conjecture de Goldbach pour les nombres impairs
    entrée d'une donnée (eval, prompt), boucle itérative for, boucle conditionnelle while, sortie de boucle avec break, OU logique (||),  ET logique (&&), fonction MOD : %, sortie des résultats par alert et !confirm()... return (si non confirm... return).

  8. Conversion degrés décimaux/degrés sexagésimaux
    entrée d'une donnée (eval, prompt), test
    if...else, boucle for, avance conditionnelle dans la boucle par l'instruction continue, partie entière (Math.floor), arrondis (routine arr), analyse d'une chaîne de caractères chaînes de caractères : length, charAt().

  9. Nombre premier de Sophie Germain
    Boucle conditionnelle while, test if...else, usage du OU logique (||), du ET (&&), de différent de (!=), fonction % (modulo, reste de la division euclidienne), appel d'une fonction et renvoi de résultat au programme principal, sortie du résultat dans un confirm, bouton (type button).

  10. Calcul d'une fraction continue
    Boucle conditionnelle
    while, affichage dans une fenêtre secondaire, fermeture de cette fenêtre.

  11. Calcul de la constante d'Euler
    Entrée d'une donnée chaîne (
    prompt, Ok ou annuler), évaluation de la donnée (eval), boucle for, sortie du résultat dans une "alert", lancement des calculs par bouton (type button).

  12. Conjecture de Waring
    Entrée d'un nombre (eval, prompt), évaluation de la donnée (eval),
    boucles for, sortie du résultat dans un confirm (Annuler, Ok), lancement des calculs par bouton (type button).

  13. Conjecture de Goldbach
    Construction d'un tableau à 1 dimension (liste), new Array(), notation p[i], instruction break et continue dans une boucle While, entrée d'un nombre (eval, prompt).

  14. Paramètres d'un couple statistique pondéré :
    Construction d'un tableau à 2 dimensions, usage d'éléments du type a[i][j], boucles for imbriquées, arrondis
    au 1000è : Math.floor(Math.abs(moy_x)*1000+0.5)/1000.

  15. Calculs de triplets pythagoriciens
    triple boucle for, boucle while, affichages successifs des triplets pythagoriciens dans une fenêtre (alert), sortie des calculs par un "confirm" (Annuler, Ok).

  16. Décomposition d'une fraction en fractions unitaires
    Boucles for, boucle while, OU logique (||), ET logique (&&), instructions switch(), case, break, affichage par alert, sortie des calculs par confirm avec usage d'un sous-programme et d'une variable en retour (return x).

  17. Partition d'un entier naturel (programme récursif)


  18. Boucles for, , OU logique (||), affichage par alert, sortie des calculs par confirm, usage d'un sous-programme récursif et d'une variable en retour (return x).
  19. Formule de Viète
    Boucle while infinie, sortie des calculs par confirm (Annuler, Ok), lancement des calculs par bouton (type button).

  20. Méthode des trapèzes pour l'intégrale approchée d'une fonction f
    Entrée de données (eval, prompt), boucle for, appel de la fonction f (1 variable)

  21. Méthode d'Euler pour l'équation différentielle y'=F(x,y)
    Entrée de données (eval, prompt), boucle while, appel de la fonction F (2 variables), affichages successifs des divisions euclidiennes dans une fenêtre secondaire : instructions open et document.write.

  22. Nombres parfaits
    évaluation d'une donnée (eval, prompt), boucles while, test if...else, sortie des calculs par un confirm (Annuler, Ok), fenêtre de message (alert), boucle for, lancement des calculs par bouton (type button).

  23. Paramètres usuels de la statistique descriptive
    évaluation d'une donnée (
    eval), boucles while, test if...else, fenêtre de message (alert), boucle for, return (sortie), appels de sous-programmes function truc_de...(), instructions switch(), case, break, retour de variable (return x).

  24. Paramètres usuels d'un couple statistique (ou aléatoires) à valeurs pondérées
    Définition et usage d'un tableau à deux dimensions type a[i][j].

  Autres programmes présents dans ChronoMath :  »


© Serge Mehl - www.chronomath.com