![]() |
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
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.
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.
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(), ...
Casse-tête :
nombre de 3
fonctions opérant sur les chaînes
de caractères :
toString()
,
length,
charAt()
Casse-tête
impair
fonctions opérant sur les chaînes
de caractères :
toString()
, test
if...else
,
length,
charAt()
, eval
Formule de Wallis
boucles
while élémentaire, affichage de calculs intermédiaires
dans un
"confirm"
(Annuler, Ok).
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è
}
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]
}
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".
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.
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().
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)
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)
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).
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.
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.
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.
Calcul
récursif des nombres de
Lucas
écriture d'une fonction récursive Lucas(n),
comparaison avec la méthode itérative
équivalente;
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").
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).
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.
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).
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().
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).
Calcul d'une
fraction continue
Boucle conditionnelle
while,
affichage dans une fenêtre secondaire, fermeture de cette
fenêtre.
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).
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).
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).
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.
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).
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).
Formule
de Viète
Boucle
while infinie, sortie des calculs par
confirm
(Annuler, Ok), lancement des calculs par bouton (type
button).
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)
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.
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).
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).
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 : »