Télécharger la présentation
La présentation est en train de télécharger. S'il vous plaît, attendez
Publié parAlizée Dussault Modifié depuis plus de 8 années
1
Algorithmes sur Open Office
2
1. Ouvrir Visual Basic de Open Office
3
Ouvrir un module Visual Basic (1/3) 1) Ouvrir Open Office, créer un classeur nommé « algo » (Enregistrer sous…) 2) Faire « Outils/Macros/Gérer les macros/OpenOffice Basic »
4
Ouvrir un module Visual Basic (2/3) 3) Sélectionner votre classeur (ici « algo ») 4) Cliquer sur « Nouveau » et valider « Module1 » par OK
5
Ouvrir un module Visual Basic (3/3) La fenêtre Visual Basic s’ouvre et est présente dans la barre des tâches. Les fonctions et procédures seront créées dans ce module.
6
2. Créer une fonction dans Visual Basic de Open Office
7
Créer une fonction en Visual Basic (1/3): la fonction On veut créer une fonction qui s’appelle « signal »: signal est périodique, de période 2; la représentation graphique de signal est ci-dessous: sur [-1 ; 0], signal(x) = x + 1 et sur ]0 ; 1], signal(x) = 1 – x.
8
Créer une fonction en Visual Basic (2/3): création de la fonction On créé une fonction d’une ou plusieurs variable par Function nom(x,y,z..) A la fin de l’algorithme, il y nécessairement End Function Les commentaires sont précédés d’une apostrophe. VB gère les « for.. Next » et les « Do..loop » avec while ou until. Avant le « End function », il faut donner la valeur de l’image de x par la fonction signal par « signal =… »
9
Créer une fonction en Visual Basic (3/3): utilisation dans le tableur Maintenant on peut utiliser la nouvelle fonction comme une fonction normale du tableur.
10
Cas d’une fonction récursive
11
Créer une fonction récursive en Visual Basic : Factoriel On veut créer la fonction n n! qu’on appelle « fiel » (avec n entier naturel). On utilise la définition récurrente: fiel(0)=1 et pour tout n > 0, fiel(n) = n*fiel(n-1)
12
3. Créer une procédure dans Visual Basic de Open Office
13
Créer une procédure en Visual Basic (1/5): La procédure On veut tirer au sort 5 noms d’élèves d’une liste de 35 noms. 1) Nommer une nouvelle feuille du classeur « procedure » 2) Créer une liste de 35 noms dans la colonne A (par exemple ELEVE1 dans A1, puis « tirer »
14
Créer une procédure en Visual Basic (2/5): Créer la procédure Retourner dans le module visual basic. On créé la procédure appelée « tirage » par Sub tirage … End sub. Il suffit de mettre ce qu’il faut entre Sub et end sub!!!
15
Créer une procédure en Visual Basic (3/5): Créer un bouton sur le tableur Pour lancer la procédure depuis le tableur, on peut créer un bouton qui, lorsqu’on cliquera dessus, lancera la procédure: 1) Afficher la barre d’outil « contrôle » dans affichage/barre d’outils/contrôle de formulaire 2) Créer un bouton à l’aide de l’outil bouton et cliquer/glisser Doit être enfoncé: Activation du mode conception Créé un bouton
16
Créer une procédure en Visual Basic (4/5): Créer un bouton sur le tableur 3) Afficher le « contrôle » du bouton (clic droit sur le bouton, contrôle) 4) Dans l’onglet « général », mettre le titre: tirage de 5 élèves
17
Créer une procédure en Visual Basic (5/5): Créer un bouton sur le tableur 5) Dans l’onglet « Evènements », associer le clic sur le bouton à la macro « tirage »: 6) Valider deux fois par OK puis désactiver le mode conception du bouton 7) Maintenant, quand on clique sur le bouton, la procédure se lance et 5 élèves sont désignés…. Normalement!
18
4. Réouverture d’un classeur contenant des procédures
19
Réouverture d’un classeur contenant des procédures (1/2) Quand on ouvre un classeur contenant des macros (procédures visual basic), souvent ces macros sont « désactivées » et donc ne fonctionnent pas. Pour les activer: Outils/option OpenOffice.org/sécurité Sécurité des macros : Niveau de sécurité faible
20
Réouverture d’un classeur contenant des procédures (2/2) Pour retourner sur visual basic: ALT F11 puis choisir votre module du classeur
21
5. Travail à faire…
22
Travail (1/4): créer une fonction
23
Travail (2/4): créer une fonction En s’inspirant de la fonction signal: 1) Créer une fonction h périodique de période 2 telle que: sur [-1;1], h(x) = 1-x² 2) Tracer la représentation graphique de cette fonction sur [-5;5] dans le tableur. - L’initialisation de l’aléa s’écrit Randomize - L’aléa (nombre entre 0 et 1) est Rnd
24
Travail (3/4): créer une fonction
25
Travail (4/4): créer une procédure Créer une procédure pythagore donnant les 100 premiers triplets Pythagoriciens entiers (a,b,c) qu’on mettra dans la plage A2:C101 de l’onglet « proc » tels que a ≤ b < c et a² + b² = c². Un bouton devra lancer la procédure.
26
Réponses
27
Réponses (1/4): créer une fonction Créer la fonction g définie sur les entiers naturels par :
28
Réponses (2/4): créer une fonction En s’inspirant de la fonction signal: 1) Créer une fonction h périodique de période 2 telle que sur [-1;1], h(x) = 1-x² 2) Tracer la représentation graphique de cette fonction sur [-3;3] dans le tableur. - L’initialisation de l’aléa s’écrit Randomize - L’aléa (nombre entre 0 et 1) est Rnd
29
Réponses (3/4): créer une fonction
30
Réponses (4/4): créer une procédure Créer une procédure pythagore donnant les 100 premiers triplets Pythagoriciens entiers (a,b,c) qu’on mettra dans la plage A2:C101 de l’onglet « proc » tels que a ≤ b < c et a² + b² = c². Un bouton devra lancer la procédure.
31
Quelques fonctions et méthodes sur Visual Basic dans Open Office
32
Quelques fonctions importantes sur Visual basic de Open office Mathématiques: sin, cos, tan, atan : sinus, cosinus, tangente, arc tangente exp, log : exponentiel et logarithme népérien sqr, ^, rnd : racine carrée, puissance, aléa de ]0;1[ int, abs, sgn : partie entière, valeur absolue, signe (renvoie -1,0,1 suivant le signe) +, *, -, /, mod : opérations habituelles et modulo (reste de la division euclidienne) Textes: str, val : convertit un nombre en chaîne de caractère, et inversement str(3,5) est la chaîne « 3,5 », val(« 3,5 ») est le nombre 3,5. left(« texte »,n), right(« texte »,n) : renvoie les n caractère de gauche (droite) du « texte » left(« MATHEMATIQUES »,3) est égal à « MAT » mid(« texte »,n,p) : renvoie la partie du texte à partir du nième caractère et de longueur p « texte1 » & « texte2 » : concatène les deux textes len : donne la longueur d’un texte
33
3 méthodes importantes sur Visual basic de Open office Chercher et mettre des informations dans une feuille du classeur: truc = thisComponent.getSheets.getByName(« machin ») : place dans la variable truc « l’objet » feuille appelée machin du classeur dans lequel est la procédure. truc.getCellByPosition(col,lig).string : est le texte contenue dans la cellule repérée par la colonne col et ligne lig de la feuille désignée par truc (cf au-dessus). Par exemple: si dans la feuille appelée machin du classeur la cellule B3 contient le texte « chien », A = truc.getCellByPosition(1,2).string met dans la variable A le mot « chien » truc.getCellByPosition(1,2).string = « chat » met le mot « chat » dans la cellule B3 Attention: La colonne A correspond à la colonne 0, la colonne B correspond à la colonne 1… La ligne 1 du classeur correspond à la ligne 0 de visual basic truc.getCellByPosition(col,lig).value : est le nombre contenu dans la cellule repérée par la colonne col et ligne lig de la feuille désignée par truc. Cela marche comme précédemment: on peut récupérer un nombre d’une cellule ou bien mettre un nombre dans une cellule truc.getCellByPosition(3,2).value = 12 met le nombre 12 dans la cellule D3
34
FIN
Présentations similaires
© 2024 SlidePlayer.fr Inc.
All rights reserved.