Algorithmique : Exemples (fonctions)


Exemple 1 : Calcul de l'image d'un nombre


L'algorithme suivant permet de calculer l'image de x0 = 3 par la fonction f(x) = x² + 5.
On affiche ensuite le résultat obtenu.

Algorithme

Programme JavaScript


Variables
      x0           //nombre dont on veut calculer l'image

      f la fonction définie par f(x) = x² + 5.




Initialisation
      x0 prend la valeur 3

Sortie
      Afficher f(x0)


<script language="Javascript">

var x0;

function f(x)
{
return x*x+5;
}


x0=3;


document.write(f(x0));

</script>





Exemple 2 : Calcul de l'image d'un nombre entré par l'utilisateur


L'algorithme suivant est très proche de celui de l'exemple 1.

Il permet de calculer l'image d'un nombre x0 entré par l'utilisateur par
la fonction f(x) = x³ + 2x.

On affiche ensuite le résultat obtenu.

Algorithme

Programme JavaScript


Variables
      x0           //nombre dont on veut calculer l'image

      f la fonction définie par f(x) = x³ + 2x.




Entrées
      Saisir x0

Sortie
      Afficher f(x0)


<script language="Javascript">

var x0;

function f(x)
{
return Math.pow(x,3)+2*x;
}


x0=eval(window.prompt("Entrez x0 :"));


document.write("L'image de x0="+x0+" par f est   f(x0)="+f(x0));

</script>





Exemple 3 : Comparaison de l'image de deux nombres


L'utilisateur entre deux nombres a et b.
L'algorithme compare f(a) et f(b) et affiche le résultat obtenu

Algorithme

Programme JavaScript


Variables
      a,b les nombres entrés par l'utilisateur
      f la fonction définie par f(x) = x² - .




Entrées

      Saisir a
      Saisir b

Traitement

      Si f(a) est supérieur à f(b) alors
            Afficher "f(a) est supérieur à f(b)"

      Si f(a) est égal à f(b) alors
            Afficher "f(a) est égal à f(b)"

      Si f(a) est inférieur à f(b) alors
            Afficher "f(a) est inférieur à f(b)"




<script language="Javascript">

var a,b;

function f(x)
{
return (x*x-Math.sqrt(x));
}


a=eval(window.prompt("Entrez a :"));
b=eval(window.prompt("Entrez b :"));



if (f(a)>f(b))
      {document.write("f(a) est supérieur à f(b)");}

if (f(a)==f(b))
      {document.write("f(a) est égal à f(b)");}

if (f(a)<f(b))
      {document.write("f(a) est inférieur à f(b)");}

</script>







Exemple 4 : Tracé point par point de la courbe représentative d'une fonction


L'algorithme suivant permet de tracer point par point la courbe représentative de la fonction f définie par f(x) =x² sur l'intervalle [-2 ; 3].
Les axes du repère ne sont pas tracés (pour ne pas alourdir le programme).

La calculatrice est évidemment beaucoup plus pratique pour tracer une fonction, mais la fonction point(xx0,yy0,xx,yy,zoom) ci-dessous vous permettra de faire tous types de graphiques en Javascript .

Algorithme

Programme JavaScript


Variables
      x0, y0         // les coordonées en pixels de l'origine du repère

      a,b             // les bornes de l'intervalle sur lequel on veut
                            tracer la fonction
      pas            // correspond au pas entre deux point tracés
      échelle       //permet de modifier la taille du graphique
      position     //la position du point tracé

      f la fonction à tracer






Initialisation
      x0 prend la valeur 300
      y0 prend la valeur 300
      a prend la valeur -2
      b prend la valeur 4
      pas prend la valeur 0.1
      échelle prend la valeur 20
      position prend la valeur a


Traitement

      Tant que position est inférieure ou égale à b
          |Afficher un point de coordonnées (position;f(position))
          |position prend la valeur position+pas















<script language="Javascript">

var x0,y0;
var a,b;
var pas;             // correspond au pas entre deux point tracés
var position;      //position du point tracé
var échelle;       //permet de modifier la taille du graphique



function f(x)
{
return x*x;
}




x0=300;
y0=300;
a=-2;
b=4;
pas=0.1;
échelle=20;
position = a;




while (position <= b)
{
point(x0,y0,position,f(position),échelle);
position=position+pas;
}


//La partie ci-dessous n'est pas à maîtriser !
function point(xx0,yy0,xx,yy,zoom)
{var aux="";
aux="<DIV style='font-size:50px;font-weigth:bolder;position:absolute;left:"+Math.floor(xx0+xx*zoom)+";top:"+Math.floor(yy0-yy*zoom)+";width:5;'><LEFT>"+"."+"</LEFT></DIV>";
document.write(aux);
}

</script>