Informatique généralecours 5Fonctions prédéfinies1ƒƒƒƒMotivation• Limite des algorithmes écrits par le programmeurCertains traitements ne peuvent être effectués par un algorithme, aussi savant soit-il. D’autres ne peuvent l’être qu’au prix de souffrances indicibles.• Exemple : le cas du calcul de la tangente d’un anglepour obtenir une valeur approchée de tangente(30°), il faudrait appliquer une formule d’une complexité à vous glacer le sang. Aussi, que se passe-t-il sur les petites calculatrices que vous connaissez tous ? On vous fournit quelques touches spéciales, dites touches de fonctions, qui vous permettent par exemple de connaître immédiatement ce résultat. Sur votre calculatrice, si vous voulez connaître la tangente de 30°, vous taperez 30, puis la touche TAN, et vous aurez le résultat.2ƒƒƒƒƒƒƒƒƒƒƒExemple d’algorithme complexe1Approximation de la tangente d’un angle θ par l’algorithme de CORDIC• Initialisation des variables utilisées :θ, l'angle donné par l'utilisateur, que l'on ramène à 0 < θ < π/2 si besoin est ; le tableau des θ : Il faut cependant avoir préalablement en mémoire les kpremières valeurs possibles des θ . kk = 0, qui définit le plus grand angle courant de rotation θ possible ; kX = 1, abscisse du point M courant ; jY = 0, ordonnée du point M courant ; j-15ε =10 , précision voulue sur l'angle θ. • Tant que θ >= ε :Tant que θ < θ , on incrémente k d'une unité ; kθ ← θ – θktemp ← X-k X ← X – ...
Limite des algorithmes écrits par le programmeur Certains traitements ne peuvent être effectués par un algorithme, aussi savant soit-il. Dautres ne peuvent lêtre quau prix de souffrances indicibles.
Exemple : le cas du calcul de la tangente dun angle pour obtenir une valeur approchée de tangente(30°), il faudrait appliquer une formule dune complexité à vous glacer le sang. Aussi, que se passe-t-il sur les petites calculatrices que vous connaissez tous ? On vous fournit quelques touches spéciales, ditestouches de fonctions, qui vous permettent par exemple de connaître immédiatement ce résultat. calculatrice, si vous voulez connaître la tangente de 30°,Sur votre vous taperez 30, puis la touche TAN, et vous aurez le résultat.
Tant queθ>=ε: Tant queθ<θk, on incrémentekd'une unité ; θ←θθk temp←X X←X 10-Y k* Y←Y + 10-k* temp
On renvoie Y/X , valeur de tan(θ).
Initialisation des variables utilisées : θ, l'angle donné par l'utilisateur, que l'on ramène à 0 <θ<π/2 si besoin est ; le tableau desθk: Il faut cependant avoir préalablement en mémoire les premières valeurs possibles desθk. k= 0, qui définit le plus grand angle courant de rotationθkpossible ; X = 1, abscisse du point Mjcourant ; Y = 0, ordonnée du point Mjcourant ; ε= 10-15, précision voulue sur l'angleθ.
Tout langage de programmation propose un certain nombre de fonctions prédéfinies On parlera peu dalgorithmique dans ce cours Le cours présentera les fonctions essentielles de VBA/Excel.
Certaines sont indispensables, ca r elles permettent deffectuer des traitementsqui seraientimpossiblessans elles . Exemple : faire afficher un message dans une boite de dialogue. Le programmeur ne peut pas lui-même écrire un algorithme permettant de le fairesilelangagenapasprévuquecesoitpossible!
Dautres fonctions prédéfinies servent à soulager le programmeur, en luiépargnant de longs et pénibles - algorithmes. Exemple : les fonctions trigonométriques, comme le sinus, le cosinus, etc.
5Utilisationdunefonctionprédéfinie
Reprenonslexemple de la tangente. Les langages informatiques, qui se doivent tout de même de savoir faire la même chose quune calculatrice à 19F90, proposent généralement une fonction TAN. Si nous voulons stocker la tangente de 30 dans la variable A, nous écrirons :
Nom de la fonction
A←Tan(30)
Paramètres de la fonction
Une parenthèse ouvrante et une parenthèse fermante
6Utilisationdunefonctionprédéfinie
Utiliser une fonction, cest appeler la fonction en lui fournissant des valeurs.
La fonction «retourne» une valeur : lappel à une fonction produit un résultat. Si ce résultat nest pas stocké ou réutilisé, il disparaît.
Exemple : Variableresultaten Entier Variablenomen Chaîne nom←Jean Martin" ‘Extraireretourne la sous-chaîne commençant à la position donnée ‘ resultat←Extraire(8, "il fait beau " & nom)
Par exemple, comment savoir si SIN prend un angleen degré ou en radian? Si on écrit sin(πoingrdelé,xpessredneanuelgnnefoalueqrsloattasunisnoitcn/)2 sera considérée comme correcte mais le résultat sera le calcul de sin(1,57 degrés)=0,027 au lieu de sin(π/2 radians)=1.
Sil sagit dune fonction inconnue,combien de valeursfaut-il lui fournir en entrée ? Qui peut me dire combien de valeurs faut-il utiliser pour la fonctionMid(qui renvoie un extrait de chaîne de caractères )?
Pour chaque valeur dentrée de la fonction, quel estle type attendu? Si je vous dis queMidprend trois paramètres :aîch,pned(Mi,)et,solliapouvez-vous me dire comment sen servir ? Quel est le type de chaque paramètre ?
Il faut consulter la description de la fonction
9Descriptiondune
Une fonction est constituée de 4 parties :
fonctionprédéfin
lenomproprement dit de la fonction. Ce nom ne sinvente pas ! Il doit impérativement correspondre à une fonction proposée par le langage. Dans notre exemple, ce nom est SIN.
ie
deux parenthèses, une ouvrante, une fermante. Ces parenthèses sont toujours obligatoires, même lorsqu'on n'écrit rien à l'intérieur.
des arguments, ou des paramètres: une liste de valeurs à fournir en entrée à la fonction, indispensables à la bonne exécution de la fonction. Une fonction prédéfinie est un algorithme tout prêt à être utilisé Les paramètres sont les données dentrées de lalgorithme contenu dans la fonction.
Le type de la valeur de retour: lappel à la fonction produit un résultat, appelé « valeur de retour ». La valeur de retour na pas de nom. Seul le type de la valeur de retour est important.
Une parenthèse ouvrante et une parenthèse fermante
Paramètres de la fonction (le nom et le type attendu)
Le type du résultat produit par lappel de la fonction
11Descriptiondunefonctionprédéfinie
La description dune fonction permet desavoirquels sont les paramètres attendus, leurs noms et leurs types. Elle donne aussi le type de résultat calculé par une fonction. On appelle égalementsignaturela description dune fonction.
Il faut consulter laidedu langage de programmation pour avoir linformation.
Exemple de description dune fonction
La fonctionExtraireretourne une sous-chaîne extraite d’une chaînechpassée en paramètre, à partir de la positionpospassée en paramètre: