INF121:
Algorithmique et Programmation Fonctionnelle
Cours 2: Identificateurs et fonctions
Année 2012 - 2013
Identificateurs
La notion d’identificateur
Un concept fondamental dans les langages de programmation : associer un
nom à une valeur (un identificateur)
Quelques règles de définition des identificateurs en OCaml :
Ilongueur maximale : 256 caracères
Idoivent débuter par une lettre minuscule
Ipas d’espace
Isensible à la casse
Idoivent avoir un nom significatif
Example (Identificateurs (valides et non valides))
Ivitesse X
IVitesse 7
Ivitesse moyenne 7
Ivitesse_moyenne X
IsX7
I3m 7
Itemporaire3 X
1 / 11
Identificateurs : définition globale
Syntaxe d’une définition globale
let identificateur =expression
,la valeur de expression est attachée/liée à identificateur
Le type de identificateur est le type de expression
Cette définition est globale : elle peut être utilisée
Idans d’autres définitions
Idans le reste du programme
Définitions simultanées :
let ident1 =expr1
and ident2 =expr2
...
and identn =exprn
Example
Ilet x= 1
Ilet y=2+12
Ilet i= 1
Ilet i=i+1
DEMO: Définitions globales
2 / 11
Identificateurs : définition locale
Example (Comment calculer e=(234)(234)+(234)+2 ?)
,prod= (234)
,e=prod prod +prod + 2
,prod est locale àe
Syntaxe d’une définition locale :
let identificateur =expression1 in expression2
,la valeur de expression1 est attachée/liée de manière permanente à
identificateur mais seulement lors de l’évaluation de expression2
Possibilité d’imbrications : Compatible avec des définitions simul-
tanées :
let id1=expr1 in
let id2=expr2 in
...
let idn =exprn ... in expr
let id1=expr1
and id2=expr2
...
and idn =exprn ... in expr
DEMO: Définitions locales
3 / 11
Fonctions
Introduction
Jusqu’ici nous avons considéré :
Ides expressions
Ides opérateurs prédéfinis
Définir une fonction = une portion de code pour un calcul spécifique
Motivations:
Ilisibilité du code
Idéfinir un calcul plus élaboré que celui fourni par des opérateurs
existants
Ipouvoir effectuer ce calcul à plusieurs endroits d’un programme
Fonction
f
Entrées
args
Sorties
f(args)
Les fonctions dans les langages fonctionnels
IPas d’effets de bords (contrairement à C)
IProches des fonctions mathématiques
IDes expressions comme les autres, avec une valeur et un type
4 / 11
1 / 12 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !