|
Ce chapitre aborde un ensemble de ressources qui permettent d'augmenter remarquablement les possibilités de wiris.
Il est recommandé à une bonne partie des utilisateurs de les étudier puisqu'ils pourront, peut-être, leur être utiles pour s'initier ou initier leurs élèves au monde de la programmation. Bien sûr, du fait que la programmation conduit à des questions un peu abstraites, le langage de ce chapitre peut paraître plus technique que celui des chapitres précédents.
Les différentes sections de ce chapitre sont les suivantes :
Les informations sur les booléens et les opérateurs logiques entre booléens, qui remplissent un rôle fondamental en programmation, se trouvent dans la suite de ce chapitre.
si...: icône ou
, phrase si
B
alors
A
fin si
B
alors
A
sinon
A2
fin si
B
alors
A
sinon_si
B2
alors
A2
sinon
A3
fin
Réalise les instructions de
A
en fonction du respect de la condition
B
. Si la condition n'est pas vérifiée et s'il y a un sinon, alors l'application effectue les instructions de
A2
. Il est également possible d'utiliser des conditions multiples et plusieurs groupes d'instructions, avec l'insertion de conditions du type sinon_si via le menu de l'onglet de programmation.
|
Cette partie complète la description de structures de données du chapitre Objets mathématiques.
chemins: Sont des objets de la forme a..b ou a..b..d, où a, b et d sont des nombres réels ( a..b est équivalent à a..b..1). Si d est différent de 0, le chemin
a..b..d représente la liste formée par les éléments de la suite arithmétique a, a+d, a+2d, ... tant que l'on ne dépasse pas b. Si d vaut zéro, le chemin représente la liste vide. Par exemple 1..6 représente
{1,2,3,4,5,6}, 1..6..2 représente {1,3,5} et 6..1..-3 représente {6,3}.
La fonction liste appliquée à un chemin retourne la liste que celui-ci représente.
|
booléens: Ce sont les constantes logiques vrai ou faux qui correspondent aux valeurs vrai et faux. On les obtient principalement en appliquant l'opérateur ? à des équations et des inéquations.
Les opérateurs logiques, fondamentaux pour définir des conditions dans les phrases de contrôle, sont les suivants
| opérateur logique |
symbole |
| conjonction - et |
|
| disjonction - ou |
|
| négation - non |
non |
Voici quelques exemples de leur comportement :
|
domaines: Les objets mathématiques de wiris peuvent être classés en ensembles mathématiques. Ces ensembles sont appelés des domaines. Voici certains exemples de domaines Entier, Rationnel, Irrationnel, Réel, Polynôme, ... Avec la commande est? on peut savoir si un objet appartient à un domaine.
Les opérateurs logiques ( & , | , non)agissent avec les ensembles de la même manière que les opérateurs d'intersection, d'union et complémentaire. Ceci permet de définir facilement de nouveaux domaines :
| opérateur logique |
opérateur d'ensembles |
symbole |
| conjonction - et |
intersection |
|
| disjonction - ou |
union |
|
| négation - non |
complémentaire |
& |
Enfin, il faut noter que la fonction impliquer? permet de savoir si un domaine est inclus dans un autre ou pas et que la fonction obtenir_domaine fournit le domaine auquel appartient un objet.
L'application principale des domaines consiste à permettre de définir des fonctions sur des ensembles non continus. .
|
règles et substitutions: Du point de vue de la syntaxe, une règle est une liste d'objets du type x=>y ou x:=>y.
On appelle x une variable ou un patron s'il s'agit d'une variable ou s'il a une valeur, respectivement ; on appelle y l'image et x=>y ou x:=>y se nomme le couple. Une substitution est une règle définie exclusivement par des variables. Si l'on choisit =>, on utilisera la valeur de x pour définir la règle, par contre, si l'on choisit =>, on considère x comme variable en définissant la règle.
Les symboles => et :=> peuvent être créés avec les icônes et , respectivement.
Lorsque l'on applique une règle à une expression, toutes les occurrences de chaque patron (ou variable) de cette expression sont remplacées par l'image de leur patron (ou variable). Les termes qui ne correspondent pas au patron (ou à la variable) ne sont pas modifiés.
|
diviseurs: Du point de vue de la syntaxe, un diviseur est un vecteur d'objets du type x->y. On dira que x est un indice, y sa valeur associée et x->y un couple du diviseur. Pour récupérer la valeur associée à un indice, on applique l'objet au diviseur ; s'il n'a pas d'indice associé, le résultat est 0. Le symbole -> peut être créé avec l'icône .
Les diviseurs sont particulièrement importants dans plusieurs contextes. Par exemple, la structure retournée par la fonction factoriser est un Diviseur qui a pour indices les diviseurs premiers de l'objet factorisé (comme par exemple un nombre entier ou un polynôme) et pour valeurs les exposants des diviseurs premiers cités.
|
relations: Du point de vue de la syntaxe, une relation est une liste d'objets du type x->y. On dira que x est un indice, y sa valeur associée et x->y un couple de la relation. L'aspect le plus important des relations consiste à récupérer la valeur (ou la séquence de valeurs) associée à un indice, ce qui s'effectue en appliquant l'objet à la relation. Si un objet n'a aucun indice associé dans une relation, le résultat obtenu après application de la relation est nul. Le symbole -> peut être créé avec l'icône .
|
tableaux: Du point de vue de la syntaxe, un tableau est une liste d'objets du type x=y, où x est un identificateur et y un objet quelconque. On dira que x est un indice du tableau et que y est la valeur correspondante. Les tableaux fonctionnent d'une manière similaire aux relations (voir sous-section précédente) à la différence près que les identificateurs qui servent à former le tableau peuvent être utilisés, même s'ils ont une valeur assignée (on dit qu'ils sont locaux par rapport au tableau). Autrement dit, si l'on choisit un identificateur pour construire un tableau et que celui-ci a déjà une valeur, on en fera abstraction et on conservera le nom associé. Plus d'information surTableau.
|
|