\"Accueil\"






UniversitySurf.net
Votre portail e-Learning


CultureMATH
ENSup. et Minist. EN

Séminaire MaMuX
Mathématiques, musique et relations avec d'autres disciplines






Worst EU Lobbying Awards 2007






JavaScript - Fonctions


Cliquez sur le titre de l'exemple pour que le code s'inscrive dans la fenêtre en bas de page
Cliquez sur le bouton [Exécute le code] pour que le code inscrit dans la fenêtre soit exécuté.
[Exec. 1] charge et exécute l'exemple 1.
Modifiez le code ou composez votre propre code pour vous exercer.

Créer des fonctions


[Exec. 1]  Somme des entiers de 0 à n :
La déclaration d'une fonction commence par le mot clé function suivi du nom de la fonction et de la liste de ses paramètres, vient ensuite le corps de la fonction entre deux accolades

function somme(n) {...} Le nom de la fonction est 'somm', le seul paramètre est n
Lorsque la fonction retourne une valeur on retrouve en un ou plusieurs endroits une instruction du type return s;
function somme(n) {
  var sum=0;
  for(var i=0;i<=n;i++) {
    sum += i;
  }
  return sum;
}
var k= prompt("valeur du paramètre n = ","100");
var z = somme(k);
alert("somme(" + k + ")=" + z);

[Exec. 2]  Factorielle n (récursive) :
factorielle(n) = 1×2×3×4×...×n = n!
Est définie récursivement par 0! = 1 et lorsque n>0 par n! = n × (n-1)!
function factorielle(n) {
  if(n==0) return 1;
  else return n*factorielle(n-1);
}
var k= prompt("valeur du paramètre n = ","10");
var p = factorielle(k);
alert("factorielle(" + k + ")=" + p);

[Exec. 3]  PGCD de deux entiers :
Calcule le reste r = a - q×b de la division du plus grand a par le plus petit b, en effet ce reste est divisible par le pgcd d. On remplace a par r et on recommence tant que le reste n'est pas nul.
function pgcd(a, b) {
  var u=a,v=b, w;
  if(u<v) { 
    w = u; u=v; v=w; 
  }
  while(v != 0) {
    w = u%v; u=v; v=w;
  }
  return u;
}
var x = prompt("Premier  entier",""),
    y = prompt("Deuxième entier","");
var z = pgcd(x, y);
    alert("Le pgcd de "+x+" et de "+ y +" est " + z);

[Exec. 4]  Fraction continue :
Le réel x donne la fraction continue x = a0 + 1/(a1 + 1/(a2 + 1/a3 + ... )) = [a0, a1, a2, a3, ...]
var u = 5*Math.random();
function fcont(t) {
  var x = t, a = new Array();
  for(var i=0; i <10;i++) {
    a[i] = Math.floor(x);
    x -=  a[i];
    if(x==0) break;
    x = 1/x;
  }
  return a;
}
var c = fcont(u);
alert(u+"=["+c+" ?]");

function collatz(n) {
  var i=0, a = new Array(), u=n;
  do {
    a[i] = u;
    i++;
    if(u%2 == 0) u = u/2;
    else u = 3*u+1;
  } while(u != 1);
  a[i] = u;
  return a;
}
var m = 1+Math.floor(100*Math.random());
var c = collatz(m);
alert("Syracuse\n"+c+"\n"+c.length+" termes");



       



[Sommaire]  [Début]  [Fin]      <-  1  2  3  4  5  6  7  8  -> 














Pour un premier contact, écrivez-moi en utilisant ce formulaire.
Les correspondances suivantes pourront se faire par messagerie électronique.
Important : Si votre question a un quelconque rapport avec un travail personnel (Devoir TIPE Master...) , vous devez absolument me le préciser dès maintenant et m'indiquer très précisément les limites des informations demandées. Vous devez aussi avertir la personne qui dirige votre travail ou le corrige de cette communication et lui montrer les documents fournis.

© (Copyright) Jean-Paul Davalan 2002-2008




J-P. Liens Th. des Jeux liens Location maison vacances Île Balanec Bretagne Jeux de Nim et autres