Cours Apl 03 : Un peu de vocabulaire,
notions fondamentales |
|
Une variable, comme en mathématiques, est le contraire d'une constante. Par exemple dans X=5 X est une variable de valeur 5. X peut prendre des valeurs différentes, mais 5 sera toujours 5.
Fonctions primitives ou utilisateur : Une fonction dite "primitive" est une fonction naturellement fournie dans Apl. Ces fonctions font partie des briques de base du langage Apl. Par exemple l'addition est une primitive : + Une fonction fait une action et rend généralement un résultat. 2 x 3 calcule 2 multiplié par 3 et rend donc 6. Vous pouvez le tester en le tapant en en faisant "Entrée". Apl étant un langage de programmation, vous pouvez assembler des fonctions primitives pour écrire vos propres fonctions.
Votre première fonction : Moyenne Entrez la commande suivante : )ed Moyenne Un nouvel écran s'ouvre (l'éditeur), vous permettant de saisir les instructions qui composeront votre fonction de calcul d'une moyenne. Modifiez la première ligne de manière à obtenir ceci : r„ Moyenne d Ce qui signifie qu'on affectera à r le résultat de la fonction "Moyenne". Les valeurs dont on calculera la moyenne sont portées par l'argument droit qu'on nommera "d". r et d ne sont pas des noms obligatoires, mais il peut être intéressant d'adopter une norme et de l'appliquer dans toutes les fonctions. Entrez alors cette expression sur la ligne suivante : r„ (+/,d)÷½,d Elle signifie que le résultat de la fonction est la somme des éléments de d divisée par son nombre d'éléments. Pour sortir de l'éditeur de fonction en validant votre saisie, utilisez la touche "escape".
On appelle espace de travail ou Workspace, les variables (données), écrans, et fonctions que vous avez écrits, tout comme un document excel peut se composer de feuilles avec des données, et éventuellement des fonctions Visual Basic.
Types des variables
Concernant les types de variables, Apl a le mérite d'être
très simple.
- Alphabétiques
: le mot 'bonjour' est de type alphabétique. - Numériques : les variables numériques sont composées exclusivement de nombres.
Dimensions des objets et variables Apl étant un langage très puissant pour manipuler des objets de dimensions diverses, il sera intéressant de les parcourir préalablement.
Fonctions Monadiques, Dyadiques, arguments Nous venons de voir que la fonction ½(rhô) a été utilisée de 2 manières. Avec un seul argument à droite (mode monadique), elle rend la dimension de l'argument. Avec 2 arguments (mode dyadique) elle rend un objet dont la taille est donnée en argument gauche, et est rempli avec ce qui est dans l'argument droit. Exemple : 3 ½ 5 rend 5 5 5
- Toutes les primitives Apl possèdent les 2 modes de fonctionnement. - Si une fonction n'a qu'un argument, il est forcément à droite.
Affectation Les fonctions rendent généralement un résultat. Si celui-ci est affecté à une variable ou utilisé comme argument droit par une fonction immédiatement à gauche, aucun résultat n'est affiché dans la session. En revanche, si il n'est ni affecté, ni réutilisé, Apl l'affiche dans la session. Exemples : 2 + 3 6 res „ 4 × 4 rien ne s'affiche 2 + res „ 4 × 4 18 Apl a calculé 4 × 4, l'a affecté à res, auquel il a ajouté 2. Comme le résultat de 2 + res n'est affecté à rien, Apl l'a affiché dans la session. Travaux pratiques : 1. Créez le vecteur Monvec composé des nombres 10 20 30 40 et affichez-en la taille. 2. Créez le vecteur Coeff 2 1 10 100 et multipliez le par Monvec. 3. En utilisant la fonction Moyenne, calculez la moyenne de Monvec. Si vous n'aviez pas écrit la fonction, écrivez-la comme indiqué dans le cours. 4. Qu'indique ½½ Monvec ?
5. Que se passe-t-il si on fait :
puis :
Pourquoi cette dernière expression ne fonctionne-t-elle pas ?
6. Créez une matrice Mnum1 de 3 lignes et 4 colonnes composée des nombres suivants : 10 20 30 40 1 2 3 4 1 1 1 1
7. Affichez la taille de Mnum1. 8. Affichez la moyenne de Mnum1. 9. Affichez la taille du mot 'Bonjour' 10. Additionnez Monvec et Coeff. 11. Sauvez votre travail dans un workspace 'pratique-apl' )wsid c:\Mes documents\pratique-apl )save Solutions : 1. Créez le vecteur Monvec composé des nombres 10 20 30 40 et affichez-en la taille en utilisant la fonction ½. Monvec„10 20 30 40 ½Monvec
2. Créez le vecteur Coeff 2 1 10 100 et multipliez le par Monvec. Coeff „2 1 10 100 Monvec x Coeff
3. En utilisant la fonction Moyenne, calculez la moyenne de Monvec. Moyenne Monvec
4. En utilisant la fonction ½ affichez la taille de Monvec. ½Monvec
5. Que se passe-t-il si on fait :
on obtient Monvec avec chacun de ses éléments multipliés par 3. 30 60 90 120 puis :
Pourquoi cette dernière expression ne fonctionne-t-elle pas ? On a un message d'erreur : Domain Error En effet, dans ce cas, 'Monvec' n'est pas un nom de variable mais une simple chaîne de caractères, puisqu'il est placé entre quotes. Et en Apl, multiplier une chaîne par un nombre n'a aucun sens.
6. Créez une matrice Mnum1 de 3 lignes et 4 colonnes composée des nombres suivants : 10 20 30 40 1 2 3 4 1 1 1 1
Mnum1 „3 4½10 20 30 40 1 2 3 4 1 1 1 1
7. Affichez la taille de Mnum1. ½Mnum1
8. Affichez la moyenne de Mnum1. Moyenne Mnum1
9. Affichez la taille du mot 'Bonjour' ½'Bonjour'
10. Additionnez Monvec et Coeff. Monvec + Coeff |
|