LICENCE SCIENCES & TECHNOLOGIES 1 re année INF121 ALGORITHMIQUE ET PROGRAMMATION FONCTIONNELLE

Save this PDF as:
 WORD  PNG  TXT  JPG

Dimension: px
Commencer à balayer dès la page:

Download "LICENCE SCIENCES & TECHNOLOGIES 1 re année INF121 ALGORITHMIQUE ET PROGRAMMATION FONCTIONNELLE"

Transcription

1 Université Joseph Fourier UFR IMA Département Licence Sciences et Technologie LICENCE SCIENCES & TECHNOLOGIES 1 re année INF121 ALGORITHMIQUE ET PROGRAMMATION FONCTIONNELLE Devoir maison 1 & 2 (à faire avant le TP2) Exercice 1 Moyenne olympique La moyenne olympique de n nombres est la moyenne des n 2 nombres restant après avoir enlevé deux nombres : le nombre qui a la valeur maximale et celui de valeur minimale. On demande de dénir une fonction calcule la moyenne olympique d'un vecteur de quatre entiers strictement positifs. Exemple La moyenne olympique des quatre nombres (10, 8, 12, 24) est 11 ; celle des nombres (12, 12, 12, 12) est 12. SPÉCIFICATION MATHÉMATIQUE moyenne olympique Prol moyol : N N N N R + Sémantique : moyol(a, b, c, d) est la moyenne olympique des nombres a, b, c, d Prol min4 : Z Z Z Z Z Sémantique : min4(a, b, c, d) est le minimum des nombres a, b, c, d Prol max4 : Z Z Z Z Z Sémantique : max4(a, b, c, d) est le maximum des nombres a, b, c, d Prol max2 : Z Z Z Sémantique : max2(x, y) est le maximum des 2 nombres x, y Prol min2 : Z Z Z Sémantique : min2(x, y) est le minimum des 2 nombres x, y 1

2 DÉFINITION MATHÉMATIQUE D'ENSEMBLES déf N = { x > 0} déf R + = {x R } DÉFINITION INFORMATIQUE DE TYPES type natpos = int... type reelpos =... (* >=0 *) RÉALISATION INFORMATIQUE moyenne olympique Algorithme : max2(x, y) = le milieu de x et y + la moitié de la distance entre x et y = min2(x, y) = si (x < y) alors x sinon y ou bien = max2( x, y) max4(a, b, c, d) = max2( (a, b), (c, d)) Implantation min4(i, j, k, l) = (i, min2(j, min2(k, l))) moyol(u, v, w, x) = u + v + w + x min4(u, v, w, x) max4(u, v, w, x) 2 let (max2 : int.. int... int) = function (x, y) -> (... + abs(...) )/2 let (... : int * int * int * int...) = function (a, b, c, d) -> max2 (max2 (...),... (c,d)) let (... :... -> int) = function (x, y) -> if (...) then x else.. let (... :... *... *... *... -> int) = function (i, j, k, l) -> min2 (i,... (j,... (k,l))) (* /! conditions d'utilisation de moyol (u,v,w,x) : u>0, v>0, w>0, x>0 *) let (moyol :... *... *... *... ->...) = function (u, v, w, x) -> (u+v+w+x - min4 (u,v,w,x) - max4 (u,v,w,x)) /

3 Exercice 2 Maximum de trois entiers (à préparer pour le TP2) Spéciez et réalisez une fonction qui détermine le maximum de trois entiers distincts deux à deux. Étudiez diverses solutions selon la manière de conduire l'analyse par cas et de la formuler. SPÉCIFICATION MATHÉMATIQUE maximum de 3 entiers Prol max3 : Z Z Z... Sémantique : max3(a, b, c) est le maximum des 3 nombres a, b, c distincts deux à deux Il existe plusieurs réalisations de cette fonction, on en présente quatre diérentes. 2.1 Réalisation basée sur une analyse en fonction du résultat (3 cas) RÉALISATION INFORMATIQUE maximum de 3 entiers (version 1) a si a b et a c Algorithme 1 : max3(a, b, c) = Implantation 1 b si et c si et let (max3 :... *... ->...) = function (a, b, c) -> if (...) then a else (if (b>=a && b>=c) then.. else ) (if (...) then.. else c (* cas impossible donc on rend ce qu'on veut *) ) 2.2 Réalisation basée sur des analyses par cas imbriquées RÉALISATION INFORMATIQUE maximum de 3 entiers (version 2) si (a > b) Algorithme 2 : max3(a, b, c) = si (b a) si a > c rendre a si rendre c si b > c rendre.. si rendre.. Remarque Cet algorithme par étude de cas imbriquée correspond à une implantation au moyen de (if.. then.. else..) imbriqués. 3

4 Implantation 2 let (max3 : int.. int.. int... int) = function (a, b, c) -> if (a>b) then (if (...) then.. else c) else (if (...) then b else c) 2.3 Réalisation par composition de fonctions RÉALISATION INFORMATIQUE maximum de 3 entiers (version 3) Algorithme 3 : max3 (a, b, c) = (a, (b,c)) L'analyse par cas de l'algorithme 2 est eectuée dans la fonction max2. Implantation 3 let (max3 : int * int * int -> int) = function (a, b, c) ->... (a,... (b,c)) 2.4 Réalisation en nommant un calcul intermédiare On utilise la construction Ocaml (let.. in..) an de donner un nom au calcul du maximum des entiers a et b. Ce procédé correspond à ce que font les mathématiciens lorsqu'ils écrivent : Posons m = le maximum de a et b et nous pourrons utiliser m dans la suite... RÉALISATION INFORMATIQUE maximum de 3 entiers (version 4) Algorithme 4 : Soit m le maximum de a et b. Le maximum des nombres (a, b, c) est le maxi- mum de m et de c. Cet algorithme peut aussi s'écrire : max3(a, b, c) = La construction (posons var = expr dans une expression utilisant var) existe en Ocaml mais s'écrit en anglais : (let var = expr in une expression utilisant var) posons m = max2(a, b) dans max2(m, c) Remarque importante : Ne pas confondre les expressions suivantes L'expression posons m = max2 (a,b) dans max2 (m,c) est une définition-utilisation. Elle dénit m puis l'utilise dans un calcul. L'expression si m = max2 (a,b) alors max2 (m,c) est un branchement conditionnel. Elle utilise un m déjà déni et teste si la valeur de ce m est égal au maximum de a et b 4

5 Implantation 4 let (max3 : int * int * int -> int) = function (a, b, c) -> let m =... in max2 (m,c) Implantation 4' (même idée mais sans utiliser la fonction max2) let (max3 : int * int * int -> int) = function (a, b, c) -> let m = (if (...) then.. else..) in (if (m>c)...) Exercice 3 Typage d'une expression 3.1 Détermination du type d'une expression Complétez les pointillés avec le type de chacune expression soulignée ainsi que le type des fonctions g : et f : let expression1... = (let a = "aeiouy"... in (let b = g(a)... in (if ( b... ) then f(a)... else 0... ))) ; ; a : , b : , g : , longueur : expression1 : Exemple d'expression non-typable Complétez les pointillés avec le type de chacune expression soulignée (dans l'ordre indiqué par les numéros) ainsi que les types des fonctions numéro : et f : Montrez qu'on aboutit à un conit de type qui justie que l'expression e n'est pas typable (donc elle n'a pas de sens). 5

6 let e = (let y = (6)... {}}{ f(0) and z = in (let x = (if ( y = 'a') then f(2) else z + 1 ) (1)... (7)... {}}{ f(1) (3)... (2)... in x < numéro(y) (5)... )) (4)... x : , y : , z : , numero : f : e :

LICENCE SCIENCES & TECHNOLOGIES 1 re ANNÉE UE INF121 ALGORITHMIQUE ET PROGRAMMATION FONCTIONNELLE

LICENCE SCIENCES & TECHNOLOGIES 1 re ANNÉE UE INF121 ALGORITHMIQUE ET PROGRAMMATION FONCTIONNELLE Université Joseph Fourier UFR IMA LICENCE SCIENCES & TECHNOLOGIES 1 re ANNÉE Département Licence Sciences et Technologie UE INF121 ALGORITHMIQUE ET PROGRAMMATION FONCTIONNELLE Devoir maison - Dénition

Plus en détail

Récursivité et Récurrence

Récursivité et Récurrence Université Joseph Fourier UFR IMAG Département Licence Sciences et Technologie LICENCE SCIENCES & TECHNOLOGIES 1 re année INF121 ALGORITHMIQUE ET PROGRAMMATION FONCTIONNELLE Récursivité et Récurrence Fonctions

Plus en détail

1 Problème : multiplication avec quantités innies (14 pt)

1 Problème : multiplication avec quantités innies (14 pt) 1 Problème : multiplication avec quantités innies (14 pt) On souhaite dénir la multiplication sur les entiers et les fractions en ajoutant la possibilité de représenter les quantités innies notées et +.

Plus en détail

INF121: Algorithmique et Programmation Fonctionnelle

INF121: Algorithmique et Programmation Fonctionnelle INF121: Algorithmique et Programmation Fonctionnelle Cours 4: Fonctions récursives Année 2013-2014 Les précédents épisodes de INF 121 Types de base : Type Opérations Constantes bool not, &&, true, false

Plus en détail

LICENCE SCIENCES & TECHNOLOGIES 1 re année INF121 ALGORITHMIQUE ET PROGRAMMATION FONCTIONNELLE. Introduction

LICENCE SCIENCES & TECHNOLOGIES 1 re année INF121 ALGORITHMIQUE ET PROGRAMMATION FONCTIONNELLE. Introduction Université Joseph Fourier UFR IMAG Département Licence Sciences et Technologie LICENCE SCIENCES & TECHNOLOGIES 1 re année INF121 ALGORITHMIQUE ET PROGRAMMATION FONCTIONNELLE Introduction Vous connaisssez

Plus en détail

TP n o 4 : Réalisation d'un interpréteur du langage minicaml. 1 Déclaration de types. Expression Logique et Fonctionnelle...

TP n o 4 : Réalisation d'un interpréteur du langage minicaml. 1 Déclaration de types. Expression Logique et Fonctionnelle... Univ. Lille1 - Licence info 3ème année 2012-2013 Expression Logique et Fonctionnelle... Évidemment TP n o 4 : Réalisation d'un interpréteur du langage minicaml Objectifs du TP Déclarations de types. Types

Plus en détail

Algorithmique - Programmation 1. Cours 1

Algorithmique - Programmation 1. Cours 1 Algorithmique - Programmation 1 Cours 1 Université Henri Poincaré CESS Epinal Automne 2008 1/ 24 Plan Introduction Introduction A propos d AP1 Quelques concepts de base Premiers pas avec Caml Le branchement

Plus en détail

INTRODUCTION AU LANGAGE C, C++ Les Conditions et les Boucles

INTRODUCTION AU LANGAGE C, C++ Les Conditions et les Boucles INTRODUCTION AU LANGAGE C, C++ Les Conditions et les Boucles La sélection alternative : Les structures de contrôle : L'instruction if évalue l'expression; si la valeur résultant de l'expression est vraie

Plus en détail

Table des matières. Types, expressions et fonctions. Un interprète est un logiciel capable d'évaluer des expressions et d'exécuter des programmes.

Table des matières. Types, expressions et fonctions. Un interprète est un logiciel capable d'évaluer des expressions et d'exécuter des programmes. Types, expressions et fonctions Environnement utilisé : The Objective Caml compiler, version 3.xx 1995-2005 INRIA Un interprète est un logiciel capable d'évaluer des expressions et d'exécuter des programmes.

Plus en détail

INF121: Algorithmique et Programmation Fonctionnelle

INF121: Algorithmique et Programmation Fonctionnelle INF121: Algorithmique et Programmation Fonctionnelle Cours 1: Identificateurs, types de base et fonctions Année 2013-2014 Identificateurs La notion d identificateur Un concept fondamental dans les langages

Plus en détail

Problème : Calcul d'échéanciers de prêt bancaire (15 pt)

Problème : Calcul d'échéanciers de prêt bancaire (15 pt) Problème : Calcul d'échéanciers de prêt bancaire (15 pt) 1 Principe d'un prêt bancaire et dénitions Lorsque vous empruntez de l'argent dans une banque, cet argent (appelé capital) vous est loué. Chaque

Plus en détail

LICENCE SCIENCES & TECHNOLOGIES 1 re ANNÉE UE INF121 ALGORITHMIQUE ET PROGRAMMATION FONCTIONNELLE 2014/2015. DEVOIR SURVEILLÉ 10 mars 2015

LICENCE SCIENCES & TECHNOLOGIES 1 re ANNÉE UE INF121 ALGORITHMIQUE ET PROGRAMMATION FONCTIONNELLE 2014/2015. DEVOIR SURVEILLÉ 10 mars 2015 Université Joseph Fourier UFR IM 2 AG Département Licence Sciences et Technologie LICENCE SCIENCES & TECHNOLOGIES 1 re ANNÉE UE INF121 ALGORITHMIQUE ET PROGRAMMATION FONCTIONNELLE 2014/2015 DEVOIR SURVEILLÉ

Plus en détail

B) Outils d'analyse et composants du langage. deux points de vues complémentaires : outils d'analyse ; composants du langage

B) Outils d'analyse et composants du langage. deux points de vues complémentaires : outils d'analyse ; composants du langage 1 deux points de vues complémentaires : outils d'analyse ; composants du langage B.I) Briques de base ; les expressions bien typées B.II) Simplification de l'analyse ; nommer une expression B.III) Analyse

Plus en détail

Programmation fonctionnelle : correction feuille d exercices 1

Programmation fonctionnelle : correction feuille d exercices 1 Programmation fonctionnelle : correction feuille d exercices 1 María-Virginia Aponte 28 février 2011 Exercice 1 Expressions Chacune des phrases Ocaml dans cet exercice est une expression. Rappel : Cela

Plus en détail

Étude expérimentale de la complexité de la fonction de Fibonacci (24 pt) Première partie du problème (8 pt)

Étude expérimentale de la complexité de la fonction de Fibonacci (24 pt) Première partie du problème (8 pt) Étude expérimentale de la complexité de la fonction de Fibonacci (24 pt) L'objectif de ce problème est d'étudier le nombre d'appels récursifs eectués lors du calcul des nombres de Fibonacci. C'est un exemple

Plus en détail

Structures conditionnelles. Mohamed MESSABIHI

Structures conditionnelles. Mohamed MESSABIHI Structures conditionnelles Mohamed MESSABIHI mohamed.messabihi@gmail.com Université de Tlemcen Département d'informatique 23 octobre 2014 1 / 14 Sans conditions, nos programmes informatiques feraient toujours

Plus en détail

Algorithmique et structures de données I

Algorithmique et structures de données I Algorithmique et structures de données I Riadh Ben Messaoud Université 7 novembre à Carthage Faculté des Sciences Économiques et de Gestion de Nabeul 1ère année Licence Fondamentale IAG 1ère année Licence

Plus en détail

Option Informatique Programmation dynamique : Optimisation d un produit matric

Option Informatique Programmation dynamique : Optimisation d un produit matric Programmation dynamique : Optimisation d un produit matriciel Option Informatique 2015 De quoi s agit-il? n matrices rectangulaires A 1,, A n. On veut calculer le produit B = A 1 A n. i {1,, n}, A i est

Plus en détail

Agrégation de Mathématiques option Informatique TP1

Agrégation de Mathématiques option Informatique TP1 Agrégation de Mathématiques option Informatique TP1 Loïg Jezequel loig.jezequel@irisa.fr Mardi 13 Septembre 2011 Ce TP largement inspiré des premiers chapitres du livre Le Langage Caml de Pierre Weis et

Plus en détail

Brefs rappels sur les listes. INF121: Algorithmique et Programmation Fonctionnelle

Brefs rappels sur les listes. INF121: Algorithmique et Programmation Fonctionnelle Brefs rappels sur les listes INF121: Algorithmique et Programmation Fonctionnelle Cours 8 : Listes (suite et fin) Une liste c est : une suite finie, ordonnée, de valeurs de même type pouvant contenir un

Plus en détail

Rappel. Analyse de Données Structurées - Cours 12. Un langage avec des déclaration locales. Exemple d'un programme

Rappel. Analyse de Données Structurées - Cours 12. Un langage avec des déclaration locales. Exemple d'un programme Rappel Ralf Treinen Université Paris Diderot UFR Informatique Laboratoire Preuves, Programmes et Systèmes treinen@pps.univ-paris-diderot.fr 6 mai 2015 Jusqu'à maintenant : un petit langage de programmation

Plus en détail

Faculté des sciences et ingénierie (Toulouse III) Département de mathématiques L3 MMESI Analyse numérique I

Faculté des sciences et ingénierie (Toulouse III) Département de mathématiques L3 MMESI Analyse numérique I Nom : Date : Prénom : Faculté des sciences et ingénierie (Toulouse III) Année scolaire Département de mathématiques L3 MMESI 2011-2012 Analyse numérique I TP n o 2 Initiation à l algorithmique 1 Introduction

Plus en détail

Programmation fonctionnelle avec OCaml

Programmation fonctionnelle avec OCaml Programmation fonctionnelle avec OCaml 1ère séance, 19 février 2015 6 séances de 1h30 de cours et 3h de TP 3 projets avec soutenance D autres transparents sont disponibles avec vidéo (intranet) Samuel

Plus en détail

Pourquoi faire de l informatique?

Pourquoi faire de l informatique? Pourquoi faire de l informatique? Science : discipline scientifique à part entière champ d étude, méthode, principes, objets étudiés Technique : outil scientifique dans toutes les disciplines simulation,

Plus en détail

TD ALGORITHMIQUE I Les actions simples

TD ALGORITHMIQUE I Les actions simples TD ALGORITHMIQUE I Les actions simples Exercice 1 Soit l algorithme suivant : ALGORITHME EQUATION2D VAR a,b,c : REEL delta : REEL DEBUT Ecrire("Donnez la valeur du premier paramètre") Lire(a) Ecrire("Donnez

Plus en détail

I.S.N. TP 1 Découverte de Python 3

I.S.N. TP 1 Découverte de Python 3 I.S.N. TP 1 Découverte de Python 3 1 Introduction Vous avez déjà rencontré des algorithmes dans le cadre des mathématiques en seconde et en première, et vous les avez programmés sur une machine (avec la

Plus en détail

λ-calcul et typage Qu est-ce qu une fonction?

λ-calcul et typage Qu est-ce qu une fonction? λ-calcul et typage Nicolas Barnier, Pascal Brisset ENAC Avril 2009 Nicolas Barnier, Pascal Brisset (ENAC) λ-calcul et typage Avril 2009 1 / 1 Qu est-ce qu une fonction? Classiquement Pas de notation uniforme/standard

Plus en détail

Dérivation de fonctions, cours, terminale STG

Dérivation de fonctions, cours, terminale STG Dérivation de fonctions, cours, terminale STG F.Gaudon 7 mai 009 Table des matières 1 Suites arithmétiques 1.1 Propriétés des suites arithmétiques.............................. 1. Sommes de termes.......................................

Plus en détail

CH.1 ARBRES. 1.1 La terminologie 1.2 La représentation des arbres 1.3 Les arbres binaires. 1.1 La terminologie. Racine hauteur 3.

CH.1 ARBRES. 1.1 La terminologie 1.2 La représentation des arbres 1.3 Les arbres binaires. 1.1 La terminologie. Racine hauteur 3. CH. ARBRES. La terminologie.2 La représentation des arbres.3 Les arbres binaires Info S4 ch. La terminologie Livre Racine hauteur 3 CH CH2 CH3 S. S.2 S2. S2.2 S2.3 Nœud interne S2.2. S2.2.2 hauteur Nœud

Plus en détail

a) Les entrées b) Le traitement c) Les sorties

a) Les entrées b) Le traitement c) Les sorties Seconde Exemples et exercices d'algorithmique Année scolaire 2012/2013 Tout d'abord, il est indispensable de consulter le programme d'algorithmique de la classe de seconde : http://mangeard.maths.free.fr/ecole/seconde/doc_ress_algo_v25-2.pdf

Plus en détail

2 Plus grand commun diviseur

2 Plus grand commun diviseur 2 Plus grand commun diviseur PGCD DE DEUX ENTIERS NATURELS Définition Soit deux nombres entiers naturels a et b non nuls. Un nombre entier naturel δ qui divise chacun de ces nombres est appelé diviseur

Plus en détail

Devoir surveillé d'informatique UE INF121 durée : 2h00

Devoir surveillé d'informatique UE INF121 durée : 2h00 Devoir surveillé d'informatique UE INF121 durée : 2h00 Répondez sur le sujet. Ne vous ez pas à la taille des pointillés : la taille des pointillés ne correspond pas forcément à la taille de la réponse.

Plus en détail

On peut traduire directement cette définition en un algorithme récursif :

On peut traduire directement cette définition en un algorithme récursif : CHAPITRE III Programmation Dynamique III.1 Exemple introductif : la suite de Fibonacci La suite de Fibonacci est la suite d entier (u n ) n 0 définie récursivement par : u 0 = 0 u 1 = 1 u n = u n 1 + u

Plus en détail

Introduction aux systèmes informatiques. TRAVAUX PRATIQUES 4 Scripts sous Linux

Introduction aux systèmes informatiques. TRAVAUX PRATIQUES 4 Scripts sous Linux TRAVAUX PRATIQUES 4 Scripts sous Linux L objectif de ce TP est d approfondir la réalisation de programmes scripts abordée lors du précédent TP sous les systèmes d exploitation de type UNIX pour l'automatisation

Plus en détail

LES STRUCTURES DE CONTROLE

LES STRUCTURES DE CONTROLE Chapitre 5 LES STRUCTURES DE CONTROLE Objectif: Connaître les fonctions nécessaires à la manipulations des Entrées / Sorties standards. Pré requis: Les Chapitres précédents du cours de langage C PLAN I-

Plus en détail

Options. Compétences. Historique. Variables utilisées. Barème

Options. Compétences. Historique. Variables utilisées. Barème Options Méthode : devant chaque paragraphe solution : insérer un champ (fonction -paragraphe masqué) Condition "avecs" par exemple ou masquer une section contenant les paragraphes voulus. Pour modifier

Plus en détail

Plan. Langage C Conversions de type Structure de contrôles :? :, switch, while et for printf

Plan. Langage C Conversions de type Structure de contrôles :? :, switch, while et for printf Plan X, Petite classe 25 Langage C Conversions de type Structure de contrôles :? :, switch, while et for printf Algorithmique Elements de complexité Complexité des tris élémentaires Récursivité QuickSort

Plus en détail

Correction du Contrôle commun de Mathématiques - Sujet A - TS. 2 1 n. n ) n

Correction du Contrôle commun de Mathématiques - Sujet A - TS. 2 1 n. n ) n Correction du Contrôle commun de Mathématiques - Sujet A - TS Exercice 5 points. n N, u n = n n( n + = n ) n( + = n ) n + n Or par somme, on a lim n = et lim + n =. Ainsi par quotient, lim u n = réponse

Plus en détail

Objectifs: Expressions. Expressions: type, conversion et priorités. Définition d'une expression. determiner la valeur et le type d'une expression

Objectifs: Expressions. Expressions: type, conversion et priorités. Définition d'une expression. determiner la valeur et le type d'une expression : type, conversion et priorités Delannoy chap2 (partiel) chap3 (partiel) Objectifs: determiner la valeur et le type d'une expression appliquer les mécanismes de conversion de types appliquer les priorités

Plus en détail

On dit que M est l origine du vecteur et N son extrémité.

On dit que M est l origine du vecteur et N son extrémité. ❶ - Vecteurs I-- Définition d un vecteur Définition : Lorsqu on choisit deux points distincts M et N dans cet ordre, on définit : - une direction : celle des droites parallèles à (MN) ; - un sens : de

Plus en détail

Concours blanc IPT 2016 Corrigé / Barème

Concours blanc IPT 2016 Corrigé / Barème Jore / Daudet MPSI Concours blanc 016 Concours blanc IPT 016 Corrigé / Barème Partie I Échauement Q1 Quelle application est représentée par la liste [1, 1, 1, 1]? Il s'agit de l'application constante {

Plus en détail

L ensemble R des nombres réels

L ensemble R des nombres réels L ensemble R des nombres réels Plan du chapitre 1 L ensemble des nombres réels page 11 Description géométrique des réels page 1 Inégalités dans R page 1 Distance entre deux réels Intervalles de R page

Plus en détail

Cours d Analyse I : les réels et les fonctions

Cours d Analyse I : les réels et les fonctions Introduction à R Suites numériques Cours d Analyse I : les réels et les fonctions Université Lyon 1 Institut Camille Jordan CNRS UMR 5208 FRANCE Automne 2014 - Licence L1 Introduction à R Suites numériques

Plus en détail

1 Les sous-programmes en C

1 Les sous-programmes en C Université Paul Sabatier L2 - S4 - Printemps 2005 Programmation impérative et langage C feuille de TD n 3 : Sous-programmes. 1 Les sous-programmes en C 1.1 Fonctions ou procédures Selon son utilisation,

Plus en détail

TD de révisions : Calcul matriciel

TD de révisions : Calcul matriciel TD de révisions : Calcul matriciel I. Révisions sur le calcul matriciel a) Remarques générales sur le calcul matriciel Le calcul matriciel n'a pas autant de propriétés que le calcul numérique : - On ne

Plus en détail

INF121: Algorithmique et Programmation Fonctionnelle

INF121: Algorithmique et Programmation Fonctionnelle INF121: Algorithmique et Programmation Fonctionnelle Cours 3: Compléments sur les Types Année 2013-2014 Rappel des épisodes précédents Types de base : Type Opérations Constantes bool not, &&, true, false

Plus en détail

Pré-analyse Afficher le message «racine carré existe» Test de x. Entier x. Analyse Grille d analyse NOM : RACINE_CARRE S L.D.E O.

Pré-analyse Afficher le message «racine carré existe» Test de x. Entier x. Analyse Grille d analyse NOM : RACINE_CARRE S L.D.E O. LYCEE Privé Hannibal DISCIPLINE : Informatique PROFESSEUR: Mr Bayahi Raouf CChhaapp ittrree i 88 I. FORMES SIMPLES 1 Forme simple réduite a / Activité LES STRUCTURES DE CONTROLE CONDITIONNELLES Ecrire

Plus en détail

Le candidat doit traiter 4 exercices qui sont indépendants : les deux premiers sont nationaux et les deux suivants sont académiques.

Le candidat doit traiter 4 exercices qui sont indépendants : les deux premiers sont nationaux et les deux suivants sont académiques. OLYMPIADES ACADÉMIQUES DE MATHÉMATIQUES CLASSE DE PREMIERE Durée : 4 heures SESSION 2012 Le candidat doit traiter 4 eercices qui sont indépendants : les deu premiers sont nationau et les deu suivants sont

Plus en détail

Algorithmique-Programmation

Algorithmique-Programmation Algorithmique-Programmation IAP1 Catherine Dubois Catherine Dubois () Algorithmique-Programmation 1 / 32 Bloc Algorithmique-Programmation (IAP) Fondements de la programmation (IAP1) Programmation impérative

Plus en détail

JML - TD 1 Yves LEDRU septembre 2013

JML - TD 1 Yves LEDRU septembre 2013 Université Joseph Fourier UFR IM2AG Master 2 Génie Informatique année 2013-2014 1 Logiciels utilisés 1.1 Distribution JML5.6 JML - TD 1 Yves LEDRU septembre 2013 La distribution de JML5.6 est installée

Plus en détail

Ch.N2 : Calcul littéral et équations

Ch.N2 : Calcul littéral et équations e - programme 01 mathématiques ch.n cahier élève Page 1 sur 1 Exercice n 1 page Vrai ou faux? Justifie tes réponses. x est toujours égal à x. (5x) est toujours égal à 5x. 8x est toujours égal à 5x. x =

Plus en détail

Informatique II Les structures de contrôle et instructions composées 1. Les structures de contrôle et instructions composées

Informatique II Les structures de contrôle et instructions composées 1. Les structures de contrôle et instructions composées Informatique II Les structures de contrôle et instructions composées 1 Action Fig. 4.1 Les structures de contrôle et instructions composées Les algorithmes comportent des étapes ou des action. Chaque action

Plus en détail

Cours de mathématiques M.P.S.I.

Cours de mathématiques M.P.S.I. Cours de mathématiques M.P.S.I. D'après les cours de M. De Granrut Henriet Quentin Ausseil Lucas Perard Arsène Philipp Maxime Arithmétique dans Z 1. Multiples et diviseurs Soient a,b Z. On dit que a divise

Plus en détail

Olympiades académiques de mathématiques

Olympiades académiques de mathématiques Olympiades académiques de mathématiques Académie de Bordeaux Mercredi 18 mars 2015 de 8 heures à 12 heures Les objets calculatrices sont autorisés, à l exclusion de tout autre appareil électronique. Il

Plus en détail

I Arbres binaires. Lycée Faidherbe 2014-2015. 1 Rappels 2 1.1 Définition... 2 1.2 Dénombrements... 2 1.3 Parcours... 3

I Arbres binaires. Lycée Faidherbe 2014-2015. 1 Rappels 2 1.1 Définition... 2 1.2 Dénombrements... 2 1.3 Parcours... 3 I Arbres binaires 2014-2015 Table des matières 1 Rappels 2 1.1 Définition................................................ 2 1.2 Dénombrements............................................ 2 1.3 Parcours.................................................

Plus en détail

Etude d une fonction numérique

Etude d une fonction numérique 0 Cours - Etude d'une fonction numérique.nb 1/6 Etude d une fonction numérique I) Généralités 1) Rappels ) Exemples 3) Interprétation géométrique 4) Conséquence : réduction du domaine d étude 5) Quelques

Plus en détail

Algorithmes et programmation II : Les fonctions

Algorithmes et programmation II : Les fonctions Algorithmes et programmation II : Les fonctions Souheib Baarir 1 1 Université Paris Ouest Nanterre La Défense. Laboratoire d'informatique de Paris 6. Souheib.Baarir@u-paris10.fr Licence Mia - 2010/2011

Plus en détail

Chapitre 8 : Les nombres relatifs.

Chapitre 8 : Les nombres relatifs. Chapitre 8 : Les nombres relatifs. I Notion de nombre relatif. 1 Utilisation des nombres relatifs. Les nombres relatifs permettent de donner une réponse à toutes les soustractions de nombres décimaux.

Plus en détail

LES STRUCTURES ALGORITHMIQUES DE CONTROLES

LES STRUCTURES ALGORITHMIQUES DE CONTROLES LYCEE Moknine DISCIPLINE : PROGRAMMATION PROFESSEUR : Mr Grich Mourad LES STRUCTURES ALGORITHMIQUES DE CONTROLES A. LES STRUCTURES DE CONTROLES CONDITIONNELLES : I. INTRODUCTION Une structure est dite

Plus en détail

Ecole des Mines de Nantes. Rappels. Rappels : Portes logiques. Rappels : Simplifications d équations. FI3a : module 12E électronique numérique

Ecole des Mines de Nantes. Rappels. Rappels : Portes logiques. Rappels : Simplifications d équations. FI3a : module 12E électronique numérique Ecole des Mines de Nantes FI3a : module 12E électronique numérique Rappels 06/09/2004 R. Berny - Subatech 1 Rappels : Portes logiques 06/09/2004 R. Berny - Subatech 2 Rappels : Simplifications d équations

Plus en détail

Vous travaillerez à partir du chier premier-squelette.ml.

Vous travaillerez à partir du chier premier-squelette.ml. Univ. Lille 1 - Licence STS 1ère année 2011-2012 Objectifs du TP Initiation à la programmation TP : Divisibilité et nombres premiers Ce TP a pour but de vous faire manipuler la notion de fonction en Caml.

Plus en détail

2 ) Fib[n]

2 ) Fib[n] 1 ) Dessiner un arbre qui illustre bien la situation des 6 premiers mois en utilisant types de branches : > (pour indiquer qu'un couple continue à vivre ) et ---- > (pour indiquer qu'un couple donne naissance

Plus en détail

Why Scientists and Engineers Must Learn Programming

Why Scientists and Engineers Must Learn Programming API2 prime Why Scientists and Engineers Must Learn Programming Jean-Stéphane Varré Année 201-2014 Billet de blog accessible à http://cacm.acm.org/blogs/blog-cacm/ 166115-why-scientists-and-engineers-must-learn-programming/

Plus en détail

Exercice I : fonctions sur les listes

Exercice I : fonctions sur les listes Université Pierre et Marie Curie DEUG MIAS première année Informatique-1 Année 2002-2003 Examen septembre 1 septembre 2003 2 heures Remarques : Aucun document ni machine électronique n est permis à l exception

Plus en détail

Sémantiques pour un langage impératif

Sémantiques pour un langage impératif Sémantiques pour un langage impératif Dominique Duval XLIM, colloquium du LACO Université de Limoges, 23 février 2007 Outline Introduction Syntaxe Sémantique dénotationnelle Sémantique opérationnelle SémantiqueS

Plus en détail

NFP119 : corrigé de la feuille d exercices 3

NFP119 : corrigé de la feuille d exercices 3 NFP119 : corrigé de la feuille d exercices 3 María-Virginia Aponte 20 mars 2010 Exercice 1 Tapez ces phrases en TP et expliquez les réponses données par Ocaml. # [1;2;3];; - : int list = [1; 2; 3] # [];;

Plus en détail

Les sous-programmes. Chapitre 6. 6.1 Définition d un sous-programme. Déclaration algorithmique d un sous-programme

Les sous-programmes. Chapitre 6. 6.1 Définition d un sous-programme. Déclaration algorithmique d un sous-programme Chapitre 6 Les sous-programmes 6.1 Définition d un sous-programme Un sous-programme est un élément de programme nommé et éventuellement paramétré, que l on définit afin de pouvoir ensuite l appeler par

Plus en détail

CONCOURS COMMUNS POLYTECHNIQUES 2008 MP MATHEMATIQUES 2

CONCOURS COMMUNS POLYTECHNIQUES 2008 MP MATHEMATIQUES 2 CONCOURS COMMUNS POLYTECHNIQUES 8 MP MATHEMATIQUES I EXEMPLES Le polynôme caractéristique de M() est P M() (X) = Si on fait C C on voit que se factorise Si on fait L + L on voit que se factorise la trace

Plus en détail

Algorithmique & Langage C IUT GEII S1

Algorithmique & Langage C IUT GEII S1 Algorithmique & Langage C IUT GEII S1 2 Notes de cours cours_algo_lgc2.10.odp deuxième partie : Bases Algorithmiques 1 Licence Vous êtes libres : Paternité - Pas d'utilisation Commerciale - Partage des

Plus en détail

Induction sur les arbres

Induction sur les arbres Induction sur les arbres Planning Motivations Comment définir les arbres? Équations récursives sur les arbres Complexité de fonctions sur les arbres Recherche dans un arbre binaire de recherche Recherche

Plus en détail

CORRIGÉ DU DEVOIR COMMUN N 3 DE MATHÉMATIQUES DES CLASSES DE SECONDES EXERCICE

CORRIGÉ DU DEVOIR COMMUN N 3 DE MATHÉMATIQUES DES CLASSES DE SECONDES EXERCICE Lycée Jacques Prévert. Saint-Christol-les-Alès Mercredi 0 mai 01 CORRIGÉ DU DEVOIR COMMUN N DE MATHÉMATIQUES DES CLASSES DE SECONDES EXERCICE 1 : ( 6 points). Une fonction et sa courbe représentative.

Plus en détail

Pierre-Louis CAYREL 2008-2009. Tableaux

Pierre-Louis CAYREL 2008-2009. Tableaux Pierre-Louis CAYREL 2008-2009 Prépa HEC 2 disponible sur www.cayrel.net Lycée Lavoisier Feuille n 3 Tableaux Exercice 1 On déclare un tableau T d entiers indicés de 1 à 100. 1. Écrire un programme qui

Plus en détail

Pour cela, on pourra compléter le tableau ci-dessous afin de reporter les valeurs obtenues sur le graphique.

Pour cela, on pourra compléter le tableau ci-dessous afin de reporter les valeurs obtenues sur le graphique. Mathématiques 3e - Devoir n 10 (à la maison) pour le 16 décembre2011. Objectifs : Fonctions et découverte des probabilités par la simulation. Ce devoir sera effectué en deux étapes : Une première étape

Plus en détail

8 Novembre PPE 1.6: Création d'un algorithme. U n U 0. n: l'indice (n est entier naturel). r: est la raison.

8 Novembre PPE 1.6: Création d'un algorithme. U n U 0. n: l'indice (n est entier naturel). r: est la raison. PPE 1.6: Création d'un algorithme La demande La création d'un algorithme (1) avec un logiciel open source, et cet Algorithme devra calculer La somme (2) des termes d'une suite (3) : (d'une suite arithmétique

Plus en détail

2 L'algorithme programmé version 1

2 L'algorithme programmé version 1 Univ. Lille 1 - IREM de Lille. 2010-2011 Stage Algorithmique Séance n o 1 : Autour de l'algorithme d'euclide Éric Wegrzynowski. (Eric.Wegrzynowski (a) univ-lille1.fr) 1 Rappels sur l'algorithme d'euclide

Plus en détail

Le langage Scilab. 2) Les types structurés Les listes Les tableaux (ou matrices)

Le langage Scilab. 2) Les types structurés Les listes Les tableaux (ou matrices) Le langage Scilab I. Les objets du langage( constantes ou variables) 1) Les types élémentaires Les nombres entiers (signés ou non, codés sur 1 octet, 2 octets ou 4 octets). Par exemple, un entier codé

Plus en détail

Introduction au langage C

Introduction au langage C Introduction au langage C Objectif: acquérir les bases d un langage de programmation évolué Les éléments abordés seront: - Organisation d un programme - Les variables - Les opérations sur les variables

Plus en détail

Université des Sciences et Technologies de Lille U.F.R. de Mathématiques Pures et Appliquées. Fiche de T.D. n o 2

Université des Sciences et Technologies de Lille U.F.R. de Mathématiques Pures et Appliquées. Fiche de T.D. n o 2 Université des Sciences et Technologies de Lille U.F.R. de Mathématiques Pures et Appliquées CAPES-M1 Année 2010-2011 Fiche de T.D. n o 2 Ex 1. Urne à composition évolutive Dans une urne contenant au départ

Plus en détail

Les opérateurs et les expressions. Langages objets. originalité des notions d'opérateur et d'expression. les opérateurs arithmétiques

Les opérateurs et les expressions. Langages objets. originalité des notions d'opérateur et d'expression. les opérateurs arithmétiques Langages objets Les opérateurs et les expressions Opérateurs et expressions Instructions de contrôle Débugage M2 Pro CCI, Informatique Emmanuel Waller, LRI, Orsay classiques : arithmétiques, relationnels,

Plus en détail

Variables aléatoires : loi et espérance.

Variables aléatoires : loi et espérance. Université Pierre et Marie Curie 2010-2011 Probabilités et statistiques - LM345 Feuille 4 Variables aléatoires : loi et espérance. 1. Dans une population de n oiseaux, on en capture m que l'on bague puis

Plus en détail

Algorithmique-Programmation : IAP1 - feuille d exercices numéro 1 : corrigé

Algorithmique-Programmation : IAP1 - feuille d exercices numéro 1 : corrigé Algorithmique-Programmation : IAP1 - feuille d exercices numéro 1 : corrigé Les exercices proposés sont volontairement nombreux, de manière à ce que chacun puisse y trouver son compte. Les prendre dans

Plus en détail

Sémantique opérationnelle

Sémantique opérationnelle Evaluation d'une expression Sans variable libre Vu dans le châpitre 2 Avec variables libres #pi *. r *. r ;; #let f = fun x -> if v > 3*2 then x+3 else x*x*3 + v;; Les variables qui apparaissent libres

Plus en détail

Les vecteurs. Année 2014/2015. Lycée du golfe de Saint Tropez

Les vecteurs. Année 2014/2015. Lycée du golfe de Saint Tropez Les vecteurs Lycée du golfe de Saint Tropez Année 2014/2015 Seconde ( Lycée du golfe de Saint Tropez) Vecteurs Année 2014/2015 1 / 21 1 Notion de vecteur s Égalité de deux vecteurs 2 s Propriétés 3 Construction

Plus en détail

FORMATION INTERMÉDIAIRE MAT 2021 CAHIER 2 ET CORRIGÉ

FORMATION INTERMÉDIAIRE MAT 2021 CAHIER 2 ET CORRIGÉ FORMATION INTERMÉDIAIRE MAT 01 ET CORRIGÉ MAT 01 TABLE DES MATIÈRES I 1.0 NOTIONS ALGÉBRIQUES... 1 1.1 Présenter le terme?algèbre... 1 1. Définir les termes de base... Exercice 1... 7 1.3 Calculer la

Plus en détail

Programmation en C++ C++ de base. Programme C++ Variables, objets, types Fonctions Namespace Tests Boucles Pointeurs, références

Programmation en C++ C++ de base. Programme C++ Variables, objets, types Fonctions Namespace Tests Boucles Pointeurs, références Programmation en C++ C++ de base Programme C++ Variables, objets, types Fonctions Namespace Tests Boucles Pointeurs, références 1 Programme C++ Le programme C++ le plus simple int main() { return 0;...

Plus en détail

Exercice 1 (niveau 1):Tailles des variables des types de base avec sizeof() Voici le résultat de l'exécution du programme (depuis la VM ):

Exercice 1 (niveau 1):Tailles des variables des types de base avec sizeof() Voici le résultat de l'exécution du programme (depuis la VM ): Serie 6 Corrigé Exercice 1 (niveau 1):Tailles des variables des types de base avec sizeof() Voici le résultat de l'exécution du programme (depuis la VM 2015-16): Taille d'un char : 1 Taille d'un short

Plus en détail

Algorithmique Programmation Objet Python

Algorithmique Programmation Objet Python Algorithmique Programmation Objet Python Andrea G. B. Tettamanzi Université de Nice Sophia Antipolis Département Informatique andrea.tettamanzi@unice.fr Andrea G. B. Tettamanzi, 2015 1 CM - Séance 6 Tableaux

Plus en détail

Exercices Corrigés Matrices 1 2 A = 2 1

Exercices Corrigés Matrices 1 2 A = 2 1 Exercices Corrigés Matrices Exercice Considérons les matrices à coefficients réels : A =, B = 4 C =, D = 0, E = Si elles ont un sens, calculer les matrices AB, BA, CD, DC, AE, CE Exercice extrait partiel

Plus en détail

Recherche dans un tableau

Recherche dans un tableau Chapitre 3 Recherche dans un tableau 3.1 Introduction 3.1.1 Tranche On appelle tranche de tableau, la donnée d'un tableau t et de deux indices a et b. On note cette tranche t.(a..b). Exemple 3.1 : 3 6

Plus en détail

Exercice 1 : Typage et valeur d une expression (35 points = )

Exercice 1 : Typage et valeur d une expression (35 points = ) CORRIGÉ INF121 : CONTRÔLE FINAL (3h00) Mai 2012 DOCUMENTS AUTORISÉS : Uniquement une feuille A4 recto-verso de notes personnelles manuscrites. Notes : Vous répondrez aux exercices et au problème dans l

Plus en détail

Mines-Ponts Option Informatique. Exercice sur les langages rationnels. Problème d algorithmique et programmation.

Mines-Ponts Option Informatique. Exercice sur les langages rationnels. Problème d algorithmique et programmation. Mines-Ponts 2012. Option Informatique. Corrigé pour serveur UPS par JL. Lamard (jean-louis.lamard@prepas.org) 1) L 1 est décrit par l expression rationnelle Σ fσ Exercice sur les langages rationnels. 2)

Plus en détail

10' - LES ARBRES BINAIRES

10' - LES ARBRES BINAIRES Ch 10' - LES ARBRES BINAIRES On va restreindre les capacités des arbres en obligeant les nœuds à posséder au maximum deux sous-arbres. Ces nouveaux arbres seront plus faciles à maîtriser que les arbres

Plus en détail

Décomposition d'une fraction rationnelle. en éléments simples

Décomposition d'une fraction rationnelle. en éléments simples Décomposition d'une fraction rationnelle en éléments simples REPÈRES 2 Repères 1. Introduction............................................... 3 2. Préliminaires..............................................

Plus en détail

Examen du 9 janvier 2009

Examen du 9 janvier 2009 Algorithmique M1 9/1/9 corrigé Examen du 9 janvier 2009 Université Paris Diderot On applique les algorithmes de cours Exercice 1 Les reines Placer les 4 reines sur un tableau 4 4 en utilisant l algorithme

Plus en détail

Composition n 2 de Mathématiques Seconde. Mercredi 30 Janvier 2013 Classe : NOTE : Nom : Signature : Prénom : /20. Observations :

Composition n 2 de Mathématiques Seconde. Mercredi 30 Janvier 2013 Classe : NOTE : Nom : Signature : Prénom : /20. Observations : Nom : Composition n 2 de Mathématiques Seconde Mercredi 30 Janvier 2013 Classe : NOTE : Signature : Prénom : /20 Observations : 1 La calculatrice est autorisée. Il sera tenu compte de la rigueur et du

Plus en détail

Université de Nice-Sophia Antipolis École Supérieure en Sciences Informatiques

Université de Nice-Sophia Antipolis École Supérieure en Sciences Informatiques Université de Nice-Sophia Antipolis École Supérieure en Sciences Informatiques 20042005 Controle de Mathématiques Discrètes du 24 Janvier 2005 Nom : Prénom : Groupe: Durée : 2 heures 1 2 3 4 5 Tous documents

Plus en détail

TP 8 : Arbres binaires de recherche

TP 8 : Arbres binaires de recherche TP 8 : Arbres binaires de recherche Semaine du 17 Mars 2008 Exercice 1 Dénir une structure struct noeud_s permettant de coder un n ud d'un arbre binaire contenant une valeur entière. Ajouter des typedef

Plus en détail

Cours numéro 8 : Piles et files

Cours numéro 8 : Piles et files LI213 Types et Structures de données Licence d Informatique Université Paris 6 Définition Pile Une pile est une structure de données représentant un ensemble de données unitaires (homogènes), permettant

Plus en détail

... instructions... (corps de la procédure) end;

... instructions... (corps de la procédure) end; Maple TP n 3 : Les procédures Maple intègre une méthode de création de fonctions "simples" via l opérateur ->. Par exemple : f:=x->sin(x)+x+1; f(0); f(a); g:=(x,y)->x*sin(y)+y*cos(x); g(1,a); Néanmoins,

Plus en détail

Vecteurs. Christophe ROSSIGNOL. Année scolaire 2015/2016

Vecteurs. Christophe ROSSIGNOL. Année scolaire 2015/2016 Vecteurs Christophe ROSSIGNOL Année scolaire 2015/2016 Table des matières 1 Notion de vecteur Coordonnées 3 1.1 Définitions................................................. 3 1.2 Égalité de deux vecteurs.........................................

Plus en détail