Les 13 commandements pour la programmation
élémentaire en Maple
1
Ecole Polytechnique

  Ne pas utiliser l'aspect réflexif du langage

1- ne pas utiliser les opérateurs qui gèlent l'exécution, comme les apostrophes dans 'expression' ou la fonction evaln.

2- ne pas utiliser les fonctions qui dégèlent l'évaluation d'une expression, comme eval.

3- ne pas utiliser de variables indéfinies. En Maple, les variables indéfinies ont leur nom comme propre valeur. Du coup on peut manipuler les programmes qu'on est en train d'écrire (réflexivité). C'est parait-il commode pour faire du calcul formel, mais ce n'est pas dans l'esprit de notre épreuve.

  Ne pas utiliser les mémo-fonctions ou le hachage

4- ne pas utiliser l'option remember qui tabule les valeurs d'une fonction. On n'hésitera pas à recalculer plusieurs fois la valeur d'une fonction comme dans tout langage de programmation.

5- ne pas utiliser les tables, toujours préférer les tableaux. Les tables sont des tableaux associatifs avec hachage sur la clé de recherche. L'accès à un élément d'une table n'est pas une opération de coût unitaire.

  Arguments/résultats de fonctions

6- ne pas hésiter à passer en argument les paramètres, entiers, flottants et tableaux, et à renvoyer les tableaux comme valeurs.

7- toujours déclarer les variables scalaires ou les tableaux, avec leur qualificatif local ou global. Rappeler qu'on est forcé de mettre global à cause des déclarations implicites de variables comme locales.

8- ne pas utiliser les fonctions comme objets de première classe.

9- ne pas emboiter les définitions de fonctions.

  Types

10- ne pas faire de test dynamique sur les types. On doit s'aligner sur les autres langages de programmation qui ont plutot tendance à faire du typage statique à la compilation.

11- utiliser les types standard (integer, float). Typer autant que possible les arguments et le résultat d'une fonction, même si certaines versions de Maple n'en tiennent pas compte ou pire ne les accepte pas.

12- utiliser les scalaires comme s'ils étaient de taille fixe (ie sur 32 bits), et ainsi supposer que le cout d'une opération arithmétique est unitaire.

  Graphique

13- pour faire l'affichage graphique d'un tableau de points, on utilisera la fonction afficherPoints(t)
  afficherPoints := proc (a)
     plot (convert (a, list));
  end;
ou, mieux, on peut utiliser le paquetage quickdraw.

  Remarque générale

Il n'y a pas besoin de connaitre les fonctions de la bibliothèque standard Maple, hors les fonctions d'impression pour mettre au point les programmes en séances de TD. Pour l'épreuve du concours de l'X, si on veut utiliser une fonction de librairie (graphique ou numérique), la fonction sera toujours donnée avec sa signature et sa sémantique.


1
Pour la petite épreuve d'informatique du concours d'admission de l'Ecole Polytechnique, ces commandements ne sont nullement impératifs. Ce sont des recommandations pour rester dans l'esprit de cette épreuve.

This document was translated from LATEX by HEVEA.