Évaluation et application des fonctions Let f = function x -> ( function y -> x+y );; Type :int -> (int ->int) int -> int ->int f int.

Slides:



Advertisements
Présentations similaires
PL/SQL : Le Langage PL/SQL est une extension du SQL, qui offre
Advertisements

Les fonctions A quoi ça sert ?
Plan : Définition L’affectation Les entrées Les sorties exercices
L’ interruption de boucle
C.
PHP mySQL Extension php_mysql. Connexion à une base de données Établir une connexion mysql_connect(string server, string username, string password) –permet.
Paramètres et pointeurs
Calcul numérique (avec Maple)
6. Les sous-programmes P. Costamagna – ISEN N1.
Faculté I&C, Claude Petitpierre, André Maurer Bases de données Javascript – SQL - LemanOS.
Points importants de la semaine Les commentaires. Les variables. Les instructions conditionnelles. Les instructions itératives (les boucles).
Semaine #1 INF155 par Frédérick Henri.
18/10/2004 P. Van Roy, InfoT4, S5 1 Informatique T4 Solutions au Test du 18 octobre Peter Van Roy Département dIngénierie Informatique, UCL
Introduction à la programmation (420-PK2-SL) cours 12 Gestion des applications Technologie de linformation (LEA.BW)
OCaml - Les listes L3 MI.
OCaml – Les arbres L3 MI.
8PRO100 Éléments de programmation Comment faire prendre une décision à un ordinateur?
Chapitre VII Généricité. POO-L3 H. Fauconnier2 Chapitre VII 1. Principes généraux 2. Types génériques imbriqués 3. Méthodes génériques 4. Types paramètres.
Python La programmation objet
Bases de la programmation en C++ 1 Les enchaînementsdinstruction Séquentiels. Exécutions dinstructions les unes à la suite des autres. Instructions séparées.
Le langage ASP Les formulaires avec Request. Les formulaires sont employés pour transmettre des informations saisies par un client à une application Web.
Les Fonctions. Définir une fonction Sections de code indépendantes que lon peut appeler à nimporte quel moment et dans nimporte quel ordre. Bout de code.
Introduction à la programmation I Fonctions Structures de contrôle Structures de données (arrays simples et indexés) Variables locales et globales.
Semaine #1 INF130 par Frédérick Henri.
Points importants de la semaine Le préprocesseur. La conversion de types. Les fonctions.
Points importants de la semaine Les sous-programmes. Les paramètres.
Points importants de la semaine Les constantes de compilation. Les fonctions.
Contrôle de types Les types en programmation Expressions de types Un contrôleur de types Equivalence de types Conversions de types Généricité.
8PRO107 Éléments de programmation
1 La récursion. Nous avons vu qu'un programme est constitué d'un ensemble de fonctions. Il est possible pour une fonction donnée d'appeler une autre fonction.
Sémantique dénotationnelle
CSI3525: Concepts des Langages de Programmation Notes # 6: Langages de Programmation Fonctionelle II: Introduction au ML.
Modélisation des opérations Spécifier les transformations détat que lon attend des services de la machine Létat dune machine entièrement déterminée par.
FONCTIONS avec paramètres en Entrée/Sortie
Chapitre X Modèles.
Animateur : Med HAIJOUBI
Javascript 1° PARTIE : LES BASES
Elodie Aaron, Gina Gitton
9ième Classe (Mardi, 4 novembre) CSI2572. H Nous avons vu comment utiliser les directives #define #ifndef #endif Pour s’assurer de l’inclusion unique.
Boucles et Tests For( in ) { } While( ) { } Les exécutions conditionnelles (if.. else) peuvent être évitées avec des indexations logiques. Exemples: y=numeric(length(x));
Scripts shell intro Un script bash est un fichier contenant une suite de commandes shell, exécutables par l'interpréteur (ici le programme /bin/bash),
Argc et argv Utilisation des paramètres de la ligne de commande.
Créer des packages.
Interactions entre Processus
Méthodes de tri.
Les tests.
420-B63 Programmation Web Avancée Auteur : Frédéric Thériault 1.
Variables et environnement utilisateur W. Barhoumi.
CSI2520 (map abs ‘( )) ( ) (map (lambda (x y) (* x y)) ‘( ) ‘( )) ( )  Permet d’appliquer une fonction aux.
LINF 1251: Introduction à l’Algorithmique et la Programmation II
Conception de Programmes - IUT de Paris - 1ère année Cours 2 – Références et passage de paramètres Les Références –Introduction aux références.
Overview %%%%%%%%%%%% %%%%%%%%%%%% %%%%%%%%%%%% %%%%%%%%%%%% %%%%%%%%%%%% %%%%%%%
Let rec f n = if n = 0 then true else g (n-1) g n = if n = 0 then false else f (n-1) val f : int -> bool = val g : int -> bool =
CPI/BTS 2 Algorithmique & Programmation La récursivité Algo – Prog CPI/BTS2 – M. Dravet – 14/09/2003 Dernière modification: 14/09/2003.
Écrire des fonctions, max et min, qui calculent le maximum, et le minimum de deux éléments x et y. Exercice 1. max (min) : fonction qui prend deux valeurs,
Patricia Renault UPMC 2005/2006
1 PHP 5 Notions fondamentales (niveau 1 cours #3) Formation continue – Cégep de Sainte-Foy François G Couillard.
Directives Ocaml Définition
Philippe Gandy – 6 octobre 2015 Basé sur les notes de cours de Daniel Morin et Roch Leclerc.
Philippe Gandy - 15 septembre 2015 Basé sur les notes de cours de Daniel Morin et Roch Leclerc.
CPI/BTS 2 Programmation Web Tableaux Prog Web CPI/BTS2 – M. Dravet – 16/10/2003 Dernière modification: 16/10/2003.
L’interactivité avec ActionScript. ActionScript Langage de programmation de Flash qui permet de : Gérer des actions et des animations sur la scène Contrôler.
Introduction à l’Informatique Licence SPI Mme Delmotte.
FACTORY systemes Module 5 Section 1 Page 5-3 Les scripts de traitement FORMATION INTOUCH 7.0.
IFT359 – Programmation fonctionnelle Thème 07 Fermeture, affectation ou monades 1.
IFT359 – Programmation fonctionnelle Thème #8 Création de nouvelles formes syntaxiques 1.
IFT359 – Programmation fonctionnelle Thème #10 Évaluation par environnement et évaluateur méta-circulaire 1.
3°) Décomposition d’un nombre entier en produit d’entiers :
Algorithme d’Euclide pour le PGCD.
Int 10. Int 6.
Transcription de la présentation:

Évaluation et application des fonctions Let f = function x -> ( function y -> x+y );; Type :int -> (int ->int) int -> int ->int f int

44 Évaluation et application des fonctions ( function x -> x + x ) 4 ;; Paramètre de la fonction Corps de la fonction Résultat de l’évaluation : = 8  L’application d’une fonction à un argument consiste à remplacer, dans le corps de la fonction, toute occurrence du paramètre de la fonction par la valeur de son argument. Valeur de l’argument

let x = 3 in ( ( function x -> x + x) 4) ;; Évaluation et application des fonctions Let x = <exp1> in <exp2> = 8

let x = 3 in (( function y -> x + y ) 4 ) ;; 43 Valeur retournée Résultat de l’évaluation - : int = 7

let y = 4 in let x = 3 in (( function y -> x+y ) x ) ;; Évaluation et application des fonctions Portée de y Portée de x 333 Résultat de l’évaluation - : int = 6

let x = 7 in let f(y) = y*x in let x = true in if x then (f 3) else (f 2) ;; Évaluation et application des fonctions Valeur retournée Paramètre de la fonction true7 f 3 = 3 * 7 = 21 Résultat de l’évaluation - : int = 21 = y*7

Évaluation et application des fonctions (2) # let f = function x -> x f ‘a val f : 'a -> 'a = <fun>

# let g = function h -> function x -> (h x) ;; Évaluation et application des fonctions (2) g h ‘a * val g : (‘a -> ‘b) -> ‘a -> b’ = <fun>

Évaluation et application des fonctions (2) # let h = function x -> x + 1 h int val h : int -> int = <fun>

let g2 = function h -> function x -> (h x+1) in ( g2 h 1 ) ;; g2 h x = (h x) +1 g2 h x = h(x) +1 Appliquer g2 aux deux paramètres h et 1 h = function x -> x + 1 h(x) = x+1 let g2 = function f -> function x -> (f x+1) in ( g2 h 1 ) ;; Évaluation et application des fonctions (2)Let x = <exp1> in <exp2> g2 h x = h(x)+1 = h(1)+1 = 2+1 =3 Résultat de l’évaluation - : int = 3

let f1 = function f2 -> (function x -> f2 x) in let g = function x -> x+1 in f1 g 2 ;; Évaluer l’expression f1 g 2 avec : f1 = fun f2 x -> f2 x g = fun x -> x + 1 Prend une fonction f et une valeur x comme paramètres et revoie le résultat de l’application de f à x, ie f(x) Prend une un entier x et renvoie son successeur F1 g 2 = g(2) = (fun x->x+1)2 = 3