Préférences

Se reconnecter :
Votre nom (ou pseudo) :
Votre mot de passe


  Nombre de membres 23 membres
Connectés :
( personne )
Snif !!!
Recherche
Recherche
Lettre d'information
Pour avoir des nouvelles de ce site, inscrivez-vous à notre Newsletter.
ZDNGH
Recopier le code :
Visites

   visiteurs

   visiteurs en ligne

Introduction

Objectifs

  1. définir des fonctions à partir d'algorithmes, en cohérence avec les fonctions telles qu'elles sont implémentées dans Casyopée,
  2. afficher les graphes, tables et courbes de ces fonctions, dans les mêmes écrans que les autres fonctions, et permettre certains calculs.
  3. proposer une structure de programmation simple, pour une première initiation.

Situations

  1. dans un contexte géométrique: trajectoires de mobiles,
  2. dans un contexte "analyse": primitive approchée, méthode d'Euler
  3. ...à imaginer..

Dans ce texte, des situtations en analyse sont d'abord traitées, puis les trajectoires. Nous terminons par le pont du Golden Gate.

Choix

  1. Deux variables spéciales x et y sont pré déclarées. La fonction est définie comme une fonction affine par morceaux f telle que f(x)=y pour chaque couple de valeurs de (x, y) obtenus dans les itérations.
  2. Les autres variables sont identifiées par un caractère alphabétique disponible.
  3. Le programme comprend deux blocs
    • un bloc de déclaration et d'initialisation des variables
    • un bloc d'itération sous une des trois formes
  4. A l'intérieur du corps de boucle, seule l'affectation d'une formule à une variable déclarée est permise.
  5. La condition d'arrêt est du type variable >formule.
  6. Les formules sont entrées comme dans les autres modules de Casyopée. Elles peuvent comprendre une ou plusieurs variables du programme et d'autres objets symboliques définis dans Casyopée (fonctions, paramètres).
  7. La fonction est définie lorsque l'algorithme termine avec un nombre d'itération inférieur à une limite donnée.


moz-screenshot-14.jpg
Fig. 1 : un exemple de programme

Les trois formes d'itération

  • répéter
      corps de boucle
    jusqu'à condition d'arrêt

  • tant que condition 
      corps de boucle
    fin tant que

  • pour  variable allant de valeur initale à valeur finale
     corps de boucle
    fin pour

La valeur initale de variable est celle définie dans la partie initialisation.
Il ne doit pas y avoir d'affectation à variable dans le corps de boucle.

Pour choisir le mode d'itération et la définir

1. sélectionner la ligne et faites Modifier



2. Une première liste permet de choisir parmi les trois modes.

Une seconde liste permet de choisir la variable à tester.
Une troisième liste permet de choisir l'inégalité

Un champ d'entrée permet d'écrire la formule à comparer à la variable.
 

Analyse

La méthode d'Euler pour une solution approchée de l'équation différentielle y'=y

Dans cet exemple, les gestes de base pour créer et utiliser une fonction définie par un algorithme sont montrés.
Choisir l'entrée dans le menu de la fenêtre d'algèbre.

Le programme

Une fenêtre s'ouvre avec un embryon de programme.

Nous allons entrer le programme de la figure 1 ci-dessus.

Déclarations

Nous modifions la déclaration de la variable y.

Avec l'entrée de menu correspondante, un champ d'entrée s'ouvre pour la valeur initiale.

Nous remplaçons 0 par 1 puis OK.


Nous déclarons une nouvelle variable p

. Nous choisissons la lettre dans la liste à gauche et nous l'initialisons comme pour y

Corps de boucle

Nous activons l'entrée Affecter Variable dans la boucle

Une barre d'entrée similaire à l'initialisation s'affiche. La variable à affecter est à choisir parmi les variables déclarées.


La ligne s'insère après la ligne répéter
Nous introduisons de même la ligne 5.

Condition d'arrêt

Nous modifions la ligne 6 comme ci-dessus.
Nous conservons la variable x et nous modifions l'expression 0 en 2.
Ainsi, la fonction sera définie sur l'intervalle [0;2]

Exécution

Avant de définir la fonction, il faut vérifier que le programme s'exécute correctement.
Nous choisissons d'arrêter le programme après au plus 500 itérations.
Si notre programme est correct il doit s'arrêter après 200 itération ; cette limite de 500 ne sera pas atteinte.
Nous activons l'entrée Exécuter.

Nous vérifions que le programme s'éxécute correctement. Les valeurs prises par x et y au cours le l'itération s'affichent en colonne.
Nous remplissons le champ commentaire pour nous rappeler ce que fait la fonction, puis OK pour définir.

Utilisation de la fonction

La fonction apparaît dans la liste des fonctions avec le commentaire que nous avons choisi.
Un bouton avec la lettre apparaît aussi sous la fenêtre graphique. En l'activant, la fonction est graphée.
Il existe aussi une entrée dans le menu courbe du volet de géométrie.
Nous pouvons choisir de définir la fonction exponentielle sur l'intervalle [0;2] et constater que les courbes se superposent.
Une comparaison plus précise peut être faite à l'aide de la table.

Nous pouvons aussi créer la fonction g-f, pour une estimation de la différence.

Un message nous avertit que la fonction ainsi créée aura une utilisation limitée au graphisme.

Nous constatons en effet que la fonction h a un graphe correct, mais que Casyopée ne peut calculer une valeur symbolique comme h(2).
Une valeur approchée de h(2) pourrait être obtenue à l'aide de la table, ou avec l'entrée Evaluer Formule.

Primitive approchée

Dans cet exemple, nous allons montrer comment des objets de Casyopée peuvent être utilisés dans un algorithme.

Objets de casyopée

Créons un paramètre p pour le pas de la méthode, de façon à pouvoir le faire varier.

Créons une fonction u, qui elle aussi pourra être modifiée par la suite.

Modification d'une fonction définie par un algorithme

En cliquant droit dans la ligne de la liste des fonctions correspondant à la fonction f, nous allons modifier son programme.
Supprimons la déclaration de p à la ligne 2. Ainsi p est mainteant le paramètre de Casyopée.

Modifions aussi les lignes 4 et 5 ainsi que le commentaire et éxécutons l'algorithme.

Le programme termine, nous pouvons appliquer la modification à la fonction (OK).

Utilisation de la fonction

En animant le paramètre p, on observe comment la fonction obtenue s'ajuste à la fonction définie par
Ci-dessous pour les valeurs de p 1, 1/2 et 1/20.



Il est possible aussi de modifier la fonction u. Ici nous prenons simplement u(x)= x et U(x)=1+x²/2.

Trajectoires

Exemple simple:  Bip Bip et Coyotte

Le Coyote est posté à 20 m de distance de la sortie d'un tunnel.

Bip-bip sort de ce tunnel sur la voie de chemin de fer rectiligne à une vitesse de 2 m.s-1.
La fusée du Coyote lui permet d'avoir une vitesse de 3 m.s-1 .
« Étant donnée une direction choisie par le Coyote, peut-il rattraper Bip-Bip ? ».

Fonctions définissant les trajectoires

Nous définissons un paramètre pour la pente de la trajectoire de Coyotte.

et un autre pour le temps de parcours

La trajectoire de Bip Bip est la courbe de la fonction b définie par l'algorithme suivant.

La trajectoire de Coyotte est la courbe de la fonction c définie par l'algorithme suivant.

Utilisation de la fonction

Une fois les deux fonctions créées et les courbes créées dans le volet de géométrie, pour une valeur de a donnée, nous animons le paramètre T

Avec une pente de 9/10 coyotte passe devant Bip Bip ! Encore raté.

La courbe du Coyotte

Imaginons que Coyotte se dirige constamment vers Bip Bip, à la même vitesse de 2 m.s-1
Modifions l'algorithme de Coyotte. (Cet exemple est certainement difficile à traiter par les élèves)

Revenons ensuite au volet de Géométrie. Coyotte ne rattrapera pas Bip Bip ! Encore raté.

Le pont du Golden Gate

L'algorithme est repris du document donné aux élèves du Groupe C.

Une fois la fonction créée, on crée sa courbe dans le volet de éométrie en ayant au préalable placé l'image du pont dans un repère adéquat.

Il reste piloter la tension verticale H, pour que la courbe s'ajuste au câble.


Date de création : 09/02/2016 - 19h41
Dernière modification : 09/02/2016 - 19h41
Catégorie : -
Page lue 1928 fois


Réactions à cet article

Personne n'a encore laissé de commentaire.
Soyez donc le premier !