Tester l'algorithme :


(cliquer sur le bouton ci-dessus pour lancer ou relancer l'exécution de l'algorithme)
Remarque : si les messages "Algorithme lancé" et "Algorithme terminé" n'apparaissent pas au bout d'un moment dans la zone ci-dessous, c'est que l'algorithme contient une erreur.

Résultats :

Code de l'algorithme :
1     VARIABLES
2       a EST_DU_TYPE NOMBRE
3       b EST_DU_TYPE NOMBRE
4       u EST_DU_TYPE NOMBRE
5       v EST_DU_TYPE NOMBRE
6       t EST_DU_TYPE NOMBRE
7       i EST_DU_TYPE NOMBRE
8       n EST_DU_TYPE NOMBRE
9       p EST_DU_TYPE NOMBRE
10    DEBUT_ALGORITHME
11      AFFICHER "Le billard suivant est de longeur 2 et de largueur 1."
12      AFFICHER "Pour commencer, il faut choisir une position initiale de la boule dans le billard, c'est à dire 0<x<2 et 0<y<1."
13      LIRE a
14      LIRE b
15      AFFICHER "Le vecteur qui dirige le déplacement a pour coordonnées (u,v)"
16      AFFICHER "A vous de le choisir!"
17      LIRE u
18      LIRE v
19      t PREND_LA_VALEUR 1/100
20      n PREND_LA_VALEUR sqrt(u*u+v*v)
21      u PREND_LA_VALEUR u/n
22      v PREND_LA_VALEUR v/n
23      POUR i ALLANT_DE 1 A 5000
24        DEBUT_POUR
25        SI (a+t*u>=2 OU a+t*u<=0) ALORS
26          DEBUT_SI
27          u PREND_LA_VALEUR -u
28          FIN_SI
29          SINON
30            DEBUT_SINON
31            SI (b+t*v>=1 OU b+t*v<=0) ALORS
32              DEBUT_SI
33              v PREND_LA_VALEUR -v
34              FIN_SI
35            FIN_SINON
36        TRACER_SEGMENT (a,b)->(a+t*u,b+t*v)
37        AFFICHER i
38        a PREND_LA_VALEUR a+t*u
39        b PREND_LA_VALEUR b+t*v
40        i PREND_LA_VALEUR i+1
41        FIN_POUR
42    FIN_ALGORITHME