Ce chapitre aborde un ensemble de ressources qui permettent d'augmenter les possibilités de wiris de manière remarquable. Il est recommandé à une bonne partie des utilisateurs de les étudier puisqu'elles pourront, peut-être, leur être utiles pour s'initier ou initier leurs élèves au monde de la programmation. Ce chapitre part du principe que l'utilisateur possède déjà des connaissances en programmation. Le langage employé ici peut être légèrement plus technique que dans les chapitres précédents.
Les différentes sections de ce chapitre sont les suivantes :
Les informations sur les booléens et 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
Effectue les instructions de
A
en cas de vérification de la condition
B
. Si la condition ne se vérifie pas et s'il existe une instruction sinon, sont alors effectuées les instructions de
A2
. Des conditions multiples et divers groupes d'instructions sont également possibles avec l'insertion de conditions de 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: Ce sont des objets de forme a..b ou a..b..d où a, b et d sont des nombres réels ( a..b équivaut à 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, ... en cas de non-dépassement de b. Si d est 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 qu'elle représente.
|
booléens: Ce sont les constantes logiques vrai ou faux qui correspondent aux valeurs vrai et faux, respectivement. On les obtient principalement en appliquant l'opérateur ? à des équations et 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 et Polynôme. Avec la commande est?, on peut savoir si un objet appartient à un domaine.
Pour travailler avec des domaines, wiris dispose des opérateurs (équivalents aux opérateurs logiques) &
,
| ,
non, qui agissent avec les ensembles de la même manière que les opérateurs d'intersection, d'union et complémentaire. On dispose donc de la relation suivante entre opérateurs, qui nous permet de travailler de manière similaire dans différentes structures mathématiques.
Opérateur logique |
Opérateur d'ensembles |
Symbole |
conjonction - et :
|
intersection :
|
& |
disjonction - ou :
|
union :
|
| |
négation - non |
complémentaire |
non |
Finalement, il convient de remarquer que la fonction impliquer? permet de savoir si un domaine est inclus dans un autre ou non, et que obtenir_domaine nous fournit le domaine auquel appartient un objet.
L'utilisation des domaines est particulièrement intéressante dans les définitions de fonctions. Ceci permet aussi bien de définir des fonctions par morceaux (selon le domaine) que de restreindre les valeurs pour lesquelles une fonction est définie.
|
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 variable ou patron un x , respectivement, s'il est une variable ou non. On appelle image un y et paire un x=>y ou x:=>y. Une substitution est une règle définie exclusivement par des variables. Si l'on choisit =>, on utilise la valeur de y pour définir la règle mais, en choisissant :=>, on considère y comme variable à la définition de 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. Plus d'information sur commande Règle ou Substitution.
|
diviseurs: Du point de vue de la syntaxe, un diviseur est un vecteur d'objets du type x->y. On dit que x est un indice, y sa valeur associée et x->y une paire 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éé via l'icône .
Les diviseurs sont particulièrement importants dans plusieurs contextes. Par exemple, la structure qui retourne la fonction factoriser est un Diviseur dont les indices sont les diviseurs premiers de l'objet factorisé (comme par exemple un nombre entier ou un polynôme) et dont les valeurs sont les exposants des diviseurs premiers cités.
Un autre aspect important des diviseurs est que l'on peut les additionner et que cette addition est définie de manière à ce que les valeurs d'un même indice sont additionnées. Par exemple, la factorisation d'un produit est l'addition des diviseurs donnés par la factorisation des facteurs.
Plus d'information surDiviseur.
|
relations: Du point de vue de la syntaxe, la relation est une liste d'objets du type x->y. On dit que x est un indice, y sa valeur associée et x->y une paire de la relation. L'aspect le plus important des relations est qu'il permet de 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éé via l'icône .
Plus d'information surRelation.
|
|