1 Introduction. 2 Délimitation du langage utilisé. Expression Logique et Fonctionnelle... Évidemment. 2.1 Données de base du langage
|
|
- Thibaut Labbé
- il y a 6 ans
- Total affichages :
Transcription
1 1 Univ. Lille1 - Licence info 3ème année Expression Logique et Fonctionnelle... Évidemment Cours n o 3 : Sémantique Ces notes de cours sont très largement inspirées du chapitre 3 du livre Approche fonctionnelle de la programmation de Guy Cousineau et Michel Mauny, Ediscience, 1995, ainsi que du chapitre 2 du livre Introduction à la théorie des langages de programmation de Gilles Dowek et Jean-Jacques Lévy, Ellipses, Introduction But : dénir de façon précise la valeur associée à chaque expression (sémantique du langage). Plusieurs moyens : associer à chaque expression du langage un objet mathématique : sémantique dénotationnelle. réduire les expressions du langage : sémantique par récriture ou encore sémantique opérationnelle. La sémantique par réécriture est une sémantique opérationnelle qui montre comment on obtient la valeur d'une expression. Tandis que la sémantique dénotationnelle est une sémantique déclarative qui montre uniquement quelle est la valeur d'une expression. 2 Délimitation du langage utilisé Nous allons décrire la sémantique par réduction d'un langage fonctionnel ctif qui peut être considéré comme un sous-ensemble limité du langage Caml, et que nous appelerons donc minicaml. 2.1 Données de base du langage Ce langage ne possède que deux types de base : 1. les entiers (int) notés usuellement (en base 10), avec les quatre opérations arithmétiques de base : +,,, /, 2. et les booléens (bool) true et false accompagnés des trois opérateurs logiques de base : && (conjonction), (disjonction) et not (négation). On a aussi les deux opérateurs de comparaison : = et <=. 2.2 Expressions du langage Expressions atomiques Les entiers, les booléens, les variables sont des expressions (atomiques) du langage. Les variables sont désignées par des identicateurs avec les mêmes règles qu'en Caml Expressions composées Expressions arithmétiques Si e 1 et e 2 sont deux expressions du langage, alors (e 1 e 2 ) est aussi une expression, où est l'un des quatre opérateurs arithmétiques. Si e est une expression, alors ( e) est aussi une expression (moins unaire).
2 2 Expressions booléennes Si e 1 et e 2 sont deux expressions du langage, alors (e 1 && e 2 ), (e 1 e 2 ) et (not e 1 ) sont aussi des expressions. Expressions conditionnelles Si e 1, e 2 et e 3 sont trois expressions du langages, alors les mots-clés if, then et else permettent de construire des expressions conditionnelles sous la forme : (if e 1 then e 2 else e 3 ). Expressions fonctionnelles Si e est une expression du langage, et x une variable, alors on peut construire une fonction à l'aide du mot-clé fun avec l'expression (fun x -> e). On nomme parfois abstraction une telle construction. La variable x est nommé paramètre de la fonction, et l'expression e son corps. Enn pour terminer, l'application d'une expression e 1 à une autre ex- Application d'une fonction pression e 2 se note (e 1 e 2 ). 2.3 Déclaration de variables Le langage ore la possibilité de déclarer des variables à l'aide du mot clé let par la forme let x = e, dans laquelle e est une expression du langage, et x un identicateur de variable. Remarque : Cette forme du langage n'est pas une expression, et n'a en conséquence aucune valeur. Elle a simplement pour but de dénir une liaison entre un nom (x) et une valeur (celle de e). 2.4 Grammaire synthétique de notre langage Pour résumer, la table 1 montre une grammaire décrivant les phrases que l'on peut écrire en minicaml. P hrase ::= Declaration Expression Declaration ::= let variable = Expression Expression ::= entier booleen variable (Expr. atomiques) Expr_unaire Expr_binaire (Expr composees) Expr_cond Expr_f onc Expr_appl Expr_unaire ::= ( Op_unaire Expression ) (Expr unaires) Expr_binaire ::= ( Expression Op_binaire Expression ) (Expr binaires) Expr_cond ::= (if Expression then Expression else Expression ) (Expr conditionnelles) Expr_f onc ::= (fun variable -> Expression ) (Expr fonctionnelles) Expr_appl ::= ( Expression Expression ) (Application) Op_unaire ::= - not (Op unaires) Op_binaire ::= + - * / && = <= (Op binaires) Table 1 Grammaire du langage minicaml Exemple 1 : Voici quelques exemples de phrases syntaxiquement correctes écrites en minicaml. ((fun x -> (if (x <= 0) then (- x) else x)) (x + 1))
3 3 let a = (fun x -> (if (x <= 0) then (- x) else x)) (a (x + 1)) let f = (fun x -> (if (x = 0) then 1 else (x * (f (x - 1))))) 2.5 Variables libres, liées Les expressions peuvent contenir des variables. Lorsque une variable x n'est sous la portée d'aucune construction de la forme fun x ->, on dit qu'elle est libre. Dans le cas contraire, on dit qu'elle est liée. Exemple 2 : Par exemple, dans l'expression (x + 1), la variable x est libre. En revanche dans l'expression (fun x -> (x + 1)), elle est liée. Une même variable peut à la fois être libre est liée dans une même expression, comme dans l'exemple ((fun x -> (x + 1)) (x * 2)), dans lequel l'occurence la plus à droite de x est libre, et la plus à droite est liée. 3 Valeurs des expressions du langage 3.1 Valeurs Les valeurs que peuvent prendre les expressions de notre langage sont de trois sortes : 1. les entiers ; 2. les booléens ; 3. les fonctions. 3.2 Environnement d'évaluation Intuitivement, évaluer une expression comme (3 + 1) ne pose aucun problème : cela donne 4. Aucune information supplémentaire que l'expression n'est nécessaire pour l'évaluer. En revanche, évaluer une expression contenant des variables libres comme (x + 1) nécessite la connaissance d'un environnement d'évaluation. Un environnement d'évaluation est une liste de liaisons, une liaison étant un couple de la forme < x, v > où x est une variable et v une valeur. Nous noterons généralement Env l'environnement dans lequel doit s'évaluer une expression. Dans notre langage, si aucune déclaration n'est faite, comme c'est le cas au tout début d'un programme, l'environnement est vide, autrement dit aucune variable n'y est liée à une valeur Règles dénissant les valeurs des expressions Notations Voici quelques notations utilisées dans la suite pour décrire les valeurs des expressions. La notation Env e v 1. Dans de vrais langages, comme OCaml, l'environnement initial contient de très nombreuses variables.
4 4 signie que l'expression e a pour valeur v dans l'environnement Env. Certaines règles peuvent être décrites sans aucune hypothèse de valeurs de sous-expressions. D'autres en nécessitent. Par souci d'homogénéité, nous les noterons toutes de la même façon sous la forme d'une fraction Hypothèses Conclusion (Nom) dans laquelle le numérateur donne les hypothèses nécessaires à l'évaluation d'une expression, et le dénominateur donne l'énoncé de la valeur de cette expression. À droite de la barre de fraction gure le nom de la règle Expressions atomiques Les expressions atomiques étant par dénition atomiques, c'estàdire insécables, ne contiennent aucune sous-expression. Les règles précisant leur valeur n'ont donc aucune hypothèse sur leurs sousexpressions. La valeur d'un entier littéral n est sa propre valeur, et ceci dans n'importe quel environ- Les entiers nement Env. Env n n (int) Les booléens Comme pour les entiers, la valeur d'un booléen littéral b est sa propre valeur, et ceci dans n'importe quel environnement Env. Env b b (bool) Les variables Pour évaluer la valeur d'une variable, il faut envisager deux cas. 1. La valeur d'une variable x est v dans un environnement Env s'il existe une liaison < x, v > dans Env, et que cette liaison est la plus récente de toutes les liaisons de la variable x dans Env. Env x v (var1) si v, < x, v > Env. Ce que ne précise pas cette règle, c'est quelle liaison < x, v > doit être utilisée s'il en existe plusieurs dans l'environnement. En général, c'est la liaison la plus récente qui l'emporte. Mais cette précision n'est pas susante pour le cas des variables libres dans le corps d'une fonction (liaison statique (comme en Caml), ou dynamique (comme dans certains dialectes Lisp)?). 2. Dans le cas où aucune liaison ne porte sur la variable x dans l'environnement Env, l'expression x n'a pas de valeur. Une façon de noter cela est d'utiliser le symbole pour désigner l'absence de valeur, et la règle s'écrit alors Expressions composées Env x (var2) si v, < x, v > Env. Remarque préliminaire Dans les règles d'évaluation présentées ci-dessous, nous ne tenons pas compte des éventuelles incompatibilités de types. Expressions unaires Env e v Env (op e) v (expr unaire) où v est la valeur de (op v), et op est l'un des deux opérateurs unaires de minicaml : et not. Expressions binaires Env e 1 v 1 Env e 2 v 2 (expr binaire) Env (e 1 op e 2 ) v où v est la valeur de (v 1 op v 2 ) et op l'un des opérateurs binaires de minicaml : +,,, /, && et.
5 5 Expressions conditionnelles valeur que prend la condition. Pour les expressions conditionnelles nous avons deux règles selon la Env e 1 true Env e 2 v 2 (expr cond1) Env (if e 1 then e 2 else e 3 ) v 2 et Env e 1 false Env e 3 v 3 (expr cond2) Env (if e 1 then e 2 else e 3 ) v 3 Expressions fonctionnelles Les fonctions sont des valeurs. Elles s'évaluent en elle-même. Env (fun x -> e) (fun x -> e) (fun) Il faut toutefois préciser cette règle. En eet quelle est la valeur de la fonction (fun x -> (x + y)) dans le corps de laquelle apparaît une variable libre y? Si on nomme f cette fonction, quelle est la valeur que doit prendre un appel comme (f 2)? Autrement dit, comment doit-on calculer (2 + y)? Plusieurs points de vue sont possibles : la valeur de la variable libre y doit être cherchée dans l'environnement courant au moment de la déclaration de la fonction f. C'est le point de vue adopté par Caml, comme le montre la session qui suit # let y = 1 ;; val y : int = 1 # let f = function x -> x + y ;; val f : int -> int = <fun> # f 2 ;; - : int = 3 # let y = 5 ;; val y : int = 5 # f 2 ;; - : int = 3 la valeur de la variable libre y doit être cherchée dans l'environnement courant au moment de l'appel à la fonction f. C'est le point de vue adopté par Scheme par exemple. Voici une session avec l'interpréteur scm de Scheme : > (define y 1) #<unspecified> > (define f (lambda (x) (+ x y))) #<unspecified> > (f 2) 3 > (define y 5) #<unspecified> > (f 2) 7 Dans le premier cas (Caml), il est nécessaire d'inclure en plus de la valeur la fonction, l'environnement dans lequel elle a été introduite. C'est ce qu'on appelle une fermeture. Et l'évaluation des variables libres de la fonction lorsqu'on l'applique se fait dans l'environnement courant lors de la déclaration de la fonction. Env (fun x -> e) <Env,(fun x -> e)> (fun) Dans le second cas (Scheme), l'évaluation des variables libres se fait dans l'environnement courant lors de l'application de la fonction. Le point de vue que nous adopterons pour minicaml est le second (celui adopté par Scheme).
6 6 Substitution L'application est l'expression qui a la règle la plus compliquée. Elle repose sur la notion de substitution. On note e 1 [x e 2 ] l'expression obtenue en remplaçant toutes les occurrences libres de la variable x dans e 1 par l'expression e 2. Si x est une variable, et e une expression quelconque, x[x e] = e. Si y est une variable autre que x, Susbtitution dans une application y[x e] = y. (e 1 e 2 )[x e] = (e 1 [x e] e 2 [x e]). Substitution dans le corps d'une fonction (1) (fun x -> e 1 )[x e] =(fun x -> e 1 ). Substitution dans le corps d'une fonction (2) (fun y -> e 1 )[x e] =(fun y -> e 1 [x e]). Exemple 3 : 1. (y + (x y))[x (fun x -> x)] = (y + ((fun x -> x) y)). 2. (x + ((fun x -> x) y))[x (2 y)] = ((2 y) + ((fun x -> x) y)). Attention aux conits de noms : Si on ne fait pas attention, des conits de noms peuvent apparaître. Par exemple, la substitution (fun y -> (x y))[x (2 y)] ne doit pas donner (fun y -> ((2 y) y)) car la variable y qui est libre dans l'expression (2 y) entre sous la portée de l'abstraction. Pour obtenir une substitution correcte, il faut préalablement renommer le paramètre y de l'expression fonctionnelle, et on a alors (fun z -> (x z))[x (2 y)] = (fun z -> ((2 y) z)). Application Env e 1 (fun x -> e) Env e 2 v 2 Env e[x v 2 ] v (appl) Env (e 1 e 2 ) v Exemple 4 : Voici la preuve en appliquant les règles dénies ci-dessus que l'expression ((fun x -> (x + 1)) (x * 2)) a pour valeur 7 dans l'environnement Env = [< x, 3 >]. Env (fun x -> (x + 1)) (fun x -> (x + 1)) (fonc) (int) Env 2 2 Env 2 2 Env (x * 2) 6 Env ((fun x -> (x + 1)) (x * 2)) 7 (var1) (mult) (int) Env 6 6 Env 1 1 Env (6 + 1) 7 (appl) (int) (add) 4 Évaluation des expressions Nous avons décrit par des règles quelles sont les valeurs des expressions qui ont une valeur et quelles sont les valeurs de ces expressions. Il s'agit maintenant de décrire comment on peut calculer la valeur d'une expression si elle en a une. C'est la sémantique opérationnelle. La sémantique opérationnelle que nous allons présenter est une sémantique par réduction de termes (encore appelée sémantique opérationnelle à petits pas).
7 7 4.1 Évaluation vue comme une réécriture Évaluer une expression c'est établir une suite de transformations conduisant de cette expression à sa valeur. Chaque transformation est appelée une réduction. La valeur d'une expression e est une expression e obtenue à partir de e par réductions qu'on ne peut plus réduire. Exemple 5 : L'évaluation de l'expression e = (3 + 4) (4 + 1) peut s'eectuer en trois réductions successives : (3 + 4) (4 + 1) (3 + 5) On comprend intuitivement que la dernière expression obtenue (35) ne peut plus être réduite. C'est la valeur de e. Dans cette évaluation, la première réduction c'est la sous-expression (4 + 1) qui a été arbitrairement réduite. On aurait pu envisager de commencer par réduire la sous-expression gauche de e : (3 + 4) (4 + 1) 7 (4 + 1) Deux propriétés sont requises pour de tels calculs : Finitude : tous les calculs se terminent. Cohérence : tous les calculs conduisent au même résultat. En l'absence de calculs innis, la cohérence est assurée dès lors que les règles de réécriture forment un système conuent. La conuence d'un système de réécriture est la propriété que ce système possède si, dès qu'une expression e peut se réduire en une étape en deux expressions e 1 et e 2 distinctes, alors il existe une troisième expression e 3 telle que les deux expressions e 2 et e 3 se réduisent (en éventuellement plusieurs étapes) en e 3. La gure 1 illustre cette propriété de conuence requise. e e 1 e 2 e 3 Figure 1 Propriété de conuence d'une réduction En présence de fonctions récursives la propriété de nitude des réductions n'est plus assurée, et la conuence n'implique pas la cohérence des calculs. En revanche elle implique une propriété aaiblie : Cohérence faible : tous les calculs qui se terminent conduisent au même résultat. 4.2 Redex Intuitivement, réduire une expression c'est s'approcher de sa valeur. Voici quelques exemples de telles réductions. 1. L'expression (3 + 4) se réduit en 7 en une seule étape de réduction qui consiste à eectuer l'addition. 2. L'expression (if true then e1 else e2) se réduit en e1 en une seule étape. L'expression obtenue après cette étape peut éventuellement encore être réduite. 3. L'expression ((fun x -> (x + 1)) 4) se réduit en une seule étape en (4 + 1). Les expressions composées de l'une des formes
8 8 x où x est une variable ; (n1 n2), où n1 et n2 sont des nombres entiers, et l'un des quatre opérateurs arithmétiques ; (b1 && b2), (b1 b2) et (not b1 ) où b1 et b2 sont des booléens ; (x1 = x2) et (x1 <= x2) où x1 et x2 sont soit deux entiers soit deux booléens ; (if b then e1 else e2)) où b est un booléen et e1 et e2 deux expressions ; et ((fun x -> e1) e2) où e1 et e2 sont deux expressions sont appelés radicaux ou plus souvent redex (pour reducible ex pression). Les expressions qui ne sont pas des radicaux sont des dites irréductibles. 4.3 β-réduction On peut dénir une relation binaire sur les expressions notée e 1 e 2, qui se lit e 1 se réduit (ou se réécrit) en e 2. La règle essentielle dénissant la réduction des radicaux est celle concernant l'application, et on la nomme β-réduction. ((fun x -> e 1 ) e 2 ) e 1 [x e 2 ]. Exemple 6 : On veut calculer la valeur de l'expression ((fun x -> (x + x)) (3 * 4)) par réduction en appliquant successivement les règles ci-dessus jusqu'à obtenir un terme irreductible. Voici une telle succesion de réductions (les redex réduits à chaque étape sont soulignés) : ((fun x -> (x + x)) (3 4)) ((fun x -> (x + x)) 12) ( ) Stratégies d'évaluations Reprenons l'évaluation de l'expression de l'exemple 6. Au lieu de réduire d'abord la sous-expression (3 * 4), on aurait pu utiliser en priorité la règle de réduction d'une application, et une première réduction aurait alors amené à ce qui peut se poursuivre en ((fun x -> (x + x)) (3 * 4)) ((3 * 4) + (3 *4)) ((3 * 4) + 12) ( ) 24. Comme on le voit, il n'y a pas unicité du calcul de la valeur d'une expression. On appelle stratégie d'évaluation toute procédure déterministe xant pour chaque type d'expression la réduction à appliquer. Nous allons envisager deux stratégies : 1. la stratégie par valeur ; 2. et la stratégie par nom ou stratégie paresseuse (lazy evaluation). 5.1 Stratégie par valeurs C'est la stratégie la plus courante en particulier celle suivie par Caml. Dans cette stratégie, les arguments des applications de fonctions sont évalués avant d'être transmis à la fonction. Plus généralement les sous-expressions d'une expression composée sont évaluées d'abord. Donc dans une expression de la forme (e1 e2), on calcule d'abord les valeurs respectives f et v de e1 et e2, puis on réduit par β-réduction l'expression (f v).
9 9 Inconvénients de cette stratégie 1. Possibilité de faire des calculs inutiles : par exemple ((fun x -> 5) (3 * 4)) ((fun x -> 5) 12) 5. L'expression (3 * 4) a été inutilement évaluée. 2. Plus grave, supposons déclarée la fonction fact let fact = (fun n -> (if (n = 0) then 1 else (n * (fact (n - 1))))) Le calcul de (fact 1) donne alors naissance à un calcul inni (fact 1) ((fun n -> (if (n = 0) then 1 else (n * (fact (n - 1))))) 1) (if (1 = 0) then 1 else (1 * (fact (1-1)))) (if (1 = 0) then 1 else (1 * (fact 0))) (if (1 = 0) then 1 else (1 * ((fun n -> (if (n = 0) then 1 else (n * (fact (n - 1))))) 0)))... Ce dernier exemple montre que la stratégie par valeurs rend impossible de concevoir une expression conditionnelle comme une fonction à trois arguments. Car il est nécessaire dans une expression conditionnelle de geler l'évaluation des deux derniers arguments en attendant de voir quelle est la valeur du premier argument. 5.2 Stratégie par nom ou paresseuse Dans la stratégie par nom, la réduction d'une application d'une fonction à un argument s'eectue en passant l'expression argument à la fonction sans l'avoir évalué auparavant. (fact 1) ((fun n -> (if (n = 0) then 1 else (n * (fact (n - 1))))) 1) (if (1 = 0) then 1 else (1 * (fact (1-1)))) (if false then 1 else (1 * (fact (1-1)))) (1 * (fact (1-1))) (1 * ((fun n -> (if (n = 0) then 1 else (n * (fact (n - 1))))) (1-1))) (1 * (if ((1-1) = 0) then 1 else ((1-1) * (fact ((1-1) - 1))))) (1 * (if (0 = 0) then 1 else ((1-1) * (fact ((1-1) - 1))))) (1 * (if true then 1 else ((1-1) * (fact ((1-1) - 1))))) (1 * 1) 1. Inconvénient de la stratégie par nom Possibilité de dupliquer des calculs. Par exemple dans l'évaluation de l'expression ((fun x -> (x + x)) (fact 5)), le calcul de (fact 5) est eectué deux fois.
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étaillength : A N add : Z Z Z (n 1, n 2 ) n 1 + n 2
1 Univ. Lille1 - Licence info 3ème année 2013-2014 Expression Logique et Fonctionnelle... Évidemment Cours n o 1 : Introduction à la programmation fonctionnelle 1 Introduction La programmation fonctionnelle
Plus en détailRappel. 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étailUEO11 COURS/TD 1. nombres entiers et réels codés en mémoire centrale. Caractères alphabétiques et caractères spéciaux.
UEO11 COURS/TD 1 Contenu du semestre Cours et TDs sont intégrés L objectif de ce cours équivalent a 6h de cours, 10h de TD et 8h de TP est le suivant : - initiation à l algorithmique - notions de bases
Plus en détail# let rec concat l1 l2 = match l1 with [] -> l2 x::l 1 -> x::(concat l 1 l2);; val concat : a list -> a list -> a list = <fun>
94 Programmation en OCaml 5.4.8. Concaténation de deux listes Définissons maintenant la fonction concat qui met bout à bout deux listes. Ainsi, si l1 et l2 sont deux listes quelconques, concat l1 l2 constitue
Plus en détailCours No 3 : Identificateurs, Fonctions, Premières Structures de contrôle.
Université Montpellier-II UFR des Sciences - Département Informatique - Licence Informatique UE GLIN302 - Programmation Applicative et Récursive Cours No 3 : Identificateurs, Fonctions, Premières Structures
Plus en détailCours 1 : La compilation
/38 Interprétation des programmes Cours 1 : La compilation Yann Régis-Gianas yrg@pps.univ-paris-diderot.fr PPS - Université Denis Diderot Paris 7 2/38 Qu est-ce que la compilation? Vous avez tous déjà
Plus en détailchoisir H 1 quand H 0 est vraie - fausse alarme
étection et Estimation GEL-64943 Hiver 5 Tests Neyman-Pearson Règles de Bayes: coûts connus min π R ( ) + ( π ) R ( ) { } Règles Minimax: coûts connus min max R ( ), R ( ) Règles Neyman Pearson: coûts
Plus en détailVers l'ordinateur quantique
Cours A&G Vers l'ordinateur quantique Données innies On a vu dans les chapîtres précédents qu'un automate permet de représenter de manière nie (et même compacte) une innité de données. En eet, un automate
Plus en détailIN 102 - Cours 1. 1 Informatique, calculateurs. 2 Un premier programme en C
IN 102 - Cours 1 Qu on le veuille ou non, les systèmes informatisés sont désormais omniprésents. Même si ne vous destinez pas à l informatique, vous avez de très grandes chances d y être confrontés en
Plus en détailCHAPITRE VIII : Les circuits avec résistances ohmiques
CHAPITRE VIII : Les circuits avec résistances ohmiques VIII. 1 Ce chapitre porte sur les courants et les différences de potentiel dans les circuits. VIII.1 : Les résistances en série et en parallèle On
Plus en détailCours Informatique Master STEP
Cours Informatique Master STEP Bases de la programmation: Compilateurs/logiciels Algorithmique et structure d'un programme Programmation en langage structuré (Fortran 90) Variables, expressions, instructions
Plus en détailTP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile
TP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile Dans ce TP, vous apprendrez à définir le type abstrait Pile, à le programmer en Java à l aide d une interface
Plus en détailTravaux pratiques. Compression en codage de Huffman. 1.3. Organisation d un projet de programmation
Université de Savoie Module ETRS711 Travaux pratiques Compression en codage de Huffman 1. Organisation du projet 1.1. Objectifs Le but de ce projet est d'écrire un programme permettant de compresser des
Plus en détailProblè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étailClasses et Objets en Ocaml.
Classes et Objets en Ocaml. Didier Rémy 2001-2002 http://cristal.inria.fr/ remy/mot/2/ http://www.enseignement.polytechnique.fr/profs/informatique/didier.remy/mot/2/ Cours Exercices Slide 1 1. Objets 2.
Plus en détailBases de programmation. Cours 5. Structurer les données
Bases de programmation. Cours 5. Structurer les données Pierre Boudes 1 er décembre 2014 This work is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 3.0 License. Types char et
Plus en détailCours de Programmation 2
Cours de Programmation 2 Programmation à moyenne et large échelle 1. Programmation modulaire 2. Programmation orientée objet 3. Programmation concurrente, distribuée 4. Programmation monadique 5. Les programmes
Plus en détailMICROINFORMATIQUE NOTE D APPLICATION 1 (REV. 2011) ARITHMETIQUE EN ASSEMBLEUR ET EN C
Haute Ecole d Ingénierie et de Gestion Du Canton du Vaud MICROINFORMATIQUE NOTE D APPLICATION 1 (REV. 2011) ARITHMETIQUE EN ASSEMBLEUR ET EN C Programmation en mode simulation 1. DOCUMENTS DE RÉFÉRENCE...
Plus en détailSérie TD 3. Exercice 4.1. Exercice 4.2 Cet algorithme est destiné à prédire l'avenir, et il doit être infaillible! Exercice 4.3. Exercice 4.
Série TD 3 Exercice 4.1 Formulez un algorithme équivalent à l algorithme suivant : Si Tutu > Toto + 4 OU Tata = OK Alors Tutu Tutu + 1 Tutu Tutu 1 ; Exercice 4.2 Cet algorithme est destiné à prédire l'avenir,
Plus en détailOPÉRATIONS SUR LES FRACTIONS
OPÉRATIONS SUR LES FRACTIONS Sommaire 1. Composantes d'une fraction... 1. Fractions équivalentes... 1. Simplification d'une fraction... 4. Règle d'addition et soustraction de fractions... 5. Règle de multiplication
Plus en détailLE PROBLEME DU PLUS COURT CHEMIN
LE PROBLEME DU PLUS COURT CHEMIN Dans cette leçon nous définissons le modèle de plus court chemin, présentons des exemples d'application et proposons un algorithme de résolution dans le cas où les longueurs
Plus en détailRéalisabilité et extraction de programmes
Mercredi 9 mars 2005 Extraction de programme: qu'est-ce que c'est? Extraire à partir d'une preuve un entier x N tel que A(x). π x N A(x) (un témoin) (En fait, on n'extrait pas un entier, mais un programme
Plus en détailAlgorithmique et Programmation, IMA
Algorithmique et Programmation, IMA Cours 2 : C Premier Niveau / Algorithmique Université Lille 1 - Polytech Lille Notations, identificateurs Variables et Types de base Expressions Constantes Instructions
Plus en détailD'UN THÉORÈME NOUVEAU
DÉMONSTRATION D'UN THÉORÈME NOUVEAU CONCERNANT LES NOMBRES PREMIERS 1. (Nouveaux Mémoires de l'académie royale des Sciences et Belles-Lettres de Berlin, année 1771.) 1. Je viens de trouver, dans un excellent
Plus en détailCouples de variables aléatoires discrètes
Couples de variables aléatoires discrètes ECE Lycée Carnot mai Dans ce dernier chapitre de probabilités de l'année, nous allons introduire l'étude de couples de variables aléatoires, c'est-à-dire l'étude
Plus en détailPour signifier qu'une classe fille hérite d'une classe mère, on utilise le mot clé extends class fille extends mère
L'héritage et le polymorphisme en Java Pour signifier qu'une classe fille hérite d'une classe mère, on utilise le mot clé extends class fille extends mère En java, toutes les classes sont dérivée de la
Plus en détail2. RAPPEL DES TECHNIQUES DE CALCUL DANS R
2. RAPPEL DES TECHNIQUES DE CALCUL DANS R Dans la mesure où les résultats de ce chapitre devraient normalement être bien connus, il n'est rappelé que les formules les plus intéressantes; les justications
Plus en détailLangage SQL (1) 4 septembre 2007. IUT Orléans. Introduction Le langage SQL : données Le langage SQL : requêtes
Langage SQL (1) Sébastien Limet Denys Duchier IUT Orléans 4 septembre 2007 Notions de base qu est-ce qu une base de données? SGBD différents type de bases de données quelques systèmes existants Définition
Plus en détailPrincipes des langages de programmation INF 321. Eric Goubault
Principes des langages de programmation INF 321 Eric Goubault 24 mars 2014 2 Table des matières 1 Introduction 7 2 Programmation impérative 11 2.1 Variables et types........................... 11 2.2 Codage
Plus en détailDate : 18.11.2013 Tangram en carré page
Date : 18.11.2013 Tangram en carré page Titre : Tangram en carré Numéro de la dernière page : 14 Degrés : 1 e 4 e du Collège Durée : 90 minutes Résumé : Le jeu de Tangram (appelé en chinois les sept planches
Plus en détail1. Structure d'un programme FORTRAN 95
FORTRAN se caractérise par la nécessité de compiler les scripts, c'est à dire transformer du texte en binaire.(transforme un fichier de texte en.f95 en un executable (non lisible par un éditeur) en.exe.)
Plus en détailRaisonnement par récurrence Suites numériques
Chapitre 1 Raisonnement par récurrence Suites numériques Terminale S Ce que dit le programme : CONTENUS CAPACITÉS ATTENDUES COMMENTAIRES Raisonnement par récurrence. Limite finie ou infinie d une suite.
Plus en détailBANQUES DE DONNÉES PÉDAGOGIQUES
223 Daniel BURET, Jean-Claude BLANCHARD. HISTORIQUE L'EPI a entrepris en 1989 de créer des bases d'énoncés mathématiques destinées aux enseignants pour la production de documents et accompagnées d'un outil
Plus en détailPeut-on tout programmer?
Chapitre 8 Peut-on tout programmer? 8.1 Que peut-on programmer? Vous voici au terme de votre initiation à la programmation. Vous avez vu comment représenter des données de plus en plus structurées à partir
Plus en détailSTAGE IREM 0- Premiers pas en Python
Université de Bordeaux 16-18 Février 2014/2015 STAGE IREM 0- Premiers pas en Python IREM de Bordeaux Affectation et expressions Le langage python permet tout d abord de faire des calculs. On peut évaluer
Plus en détailProgrammation. fonctionnelle, impérative, logique et orientée objet
Programmation fonctionnelle, impérative, logique et orientée objet Introduction Les langages de programmation permettent de décrire des calculs de façon plus abstraite qu'un programme machine. Les programmes
Plus en détailLe chiffre est le signe, le nombre est la valeur.
Extrait de cours de maths de 6e Chapitre 1 : Les nombres et les opérations I) Chiffre et nombre 1.1 La numération décimale En mathématique, un chiffre est un signe utilisé pour l'écriture des nombres.
Plus en détailI. Introduction aux fonctions : les fonctions standards
Chapitre 3 : Les fonctions en C++ I. Introduction aux fonctions : les fonctions standards A. Notion de Fonction Imaginons que dans un programme, vous ayez besoin de calculer une racine carrée. Rappelons
Plus en détailChapitre 10. Les interfaces Comparable et Comparator 1
Chapitre 10: Les interfaces Comparable et Comparator 1/5 Chapitre 10 Les interfaces Comparable et Comparator 1 1 Ce chapitre a été extrait du document "Objets, Algorithmes, Patterns" de [René Lalement],
Plus en détailLe langage C++ est un langage de programmation puissant, polyvalent, on serait presque tenté de dire universel, massivement utilisé dans l'industrie
Chapitre I : Les bases du C++ Le langage C++ est un langage de programmation puissant, polyvalent, on serait presque tenté de dire universel, massivement utilisé dans l'industrie du logiciel, et ce depuis
Plus en détailExamen Médian - 1 heure 30
NF01 - Automne 2014 Examen Médian - 1 heure 30 Polycopié papier autorisé, autres documents interdits Calculatrices, téléphones, traducteurs et ordinateurs interdits! Utilisez trois copies séparées, une
Plus en détail1. Création d'un état... 2. 2. Création d'un état Instantané Colonnes... 3. 3. Création d'un état Instantané Tableau... 4
1. Création d'un état... 2 2. Création d'un état Instantané Colonnes... 3 3. Création d'un état Instantané Tableau... 4 4. Création d'un état avec plusieurs tables... 9 5. Modifier la structure d'un état...11
Plus en détailLicence ST Université Claude Bernard Lyon I LIF1 : Algorithmique et Programmation C Bases du langage C 1 Conclusion de la dernière fois Introduction de l algorithmique générale pour permettre de traiter
Plus en détailApplication 1- VBA : Test de comportements d'investissements
Application 1- VBA : Test de comportements d'investissements Notions mobilisées Chapitres 1 à 5 du cours - Exemple de récupération de cours en ligne 1ère approche des objets (feuilles et classeurs). Corps
Plus en détail6. Les différents types de démonstrations
LES DIFFÉRENTS TYPES DE DÉMONSTRATIONS 33 6. Les différents types de démonstrations 6.1. Un peu de logique En mathématiques, une démonstration est un raisonnement qui permet, à partir de certains axiomes,
Plus en détailCours 1 : Introduction Ordinateurs - Langages de haut niveau - Application
Université de Provence Licence Math-Info Première Année V. Phan Luong Algorithmique et Programmation en Python Cours 1 : Introduction Ordinateurs - Langages de haut niveau - Application 1 Ordinateur Un
Plus en détailConventions d écriture et outils de mise au point
Logiciel de base Première année par alternance Responsable : Christophe Rippert Christophe.Rippert@Grenoble-INP.fr Introduction Conventions d écriture et outils de mise au point On va utiliser dans cette
Plus en détailALGORITHMIQUE ET PROGRAMMATION En C
Objectifs ALGORITHMIQUE ET PROGRAMMATION Une façon de raisonner Automatiser la résolution de problèmes Maîtriser les concepts de l algorithmique Pas faire des spécialistes d un langage Pierre TELLIER 2
Plus en détail1.6- Génération de nombres aléatoires
1.6- Génération de nombres aléatoires 1- Le générateur aléatoire disponible en C++ 2 Création d'un générateur aléatoire uniforme sur un intervalle 3- Génération de valeurs aléatoires selon une loi normale
Plus en détailProgrammation C++ (débutant)/instructions for, while et do...while
Programmation C++ (débutant)/instructions for, while et do...while 1 Programmation C++ (débutant)/instructions for, while et do...while Le cours du chapitre 4 : le for, while et do...while La notion de
Plus en détailSHERLOCK 7. Version 1.2.0 du 01/09/09 JAVASCRIPT 1.5
SHERLOCK 7 Version 1.2.0 du 01/09/09 JAVASCRIPT 1.5 Cette note montre comment intégrer un script Java dans une investigation Sherlock et les différents aspects de Java script. S T E M M E R I M A G I N
Plus en détailAlgorithmique et programmation : les bases (VBA) Corrigé
PAD INPT ALGORITHMIQUE ET PROGRAMMATION 1 Cours VBA, Semaine 1 mai juin 2006 Corrigé Résumé Ce document décrit l écriture dans le langage VBA des éléments vus en algorithmique. Table des matières 1 Pourquoi
Plus en détailFctsAffines.nb 1. Mathématiques, 1-ère année Edition 2007-2008. Fonctions affines
FctsAffines.nb 1 Mathématiques, 1-ère année Edition 2007-2008 Fonctions affines Supports de cours de mathématiques de degré secondaire II, lien hpertete vers la page mère http://www.deleze.name/marcel/sec2/inde.html
Plus en détailTP 1. Prise en main du langage Python
TP. Prise en main du langage Python Cette année nous travaillerons avec le langage Python version 3. ; nous utiliserons l environnement de développement IDLE. Étape 0. Dans votre espace personnel, créer
Plus en détailChapitre 1 : Introduction aux bases de données
Chapitre 1 : Introduction aux bases de données Les Bases de Données occupent aujourd'hui une place de plus en plus importante dans les systèmes informatiques. Les Systèmes de Gestion de Bases de Données
Plus en détailINF2015 Développement de logiciels dans un environnement Agile. Examen intra 20 février 2014 17:30 à 20:30
Examen intra 20 février 2014 17:30 à 20:30 Nom, prénom : Code permanent : Répondez directement sur le questionnaire. Question #1 5% Quelle influence peut avoir le typage dynamique sur la maintenabilité
Plus en détailInitiation à l algorithmique
Informatique S1 Initiation à l algorithmique procédures et fonctions 2. Appel d une fonction Jacques TISSEAU Ecole Nationale d Ingénieurs de Brest Technopôle Brest-Iroise CS 73862-29238 Brest cedex 3 -
Plus en détailSuivant les langages de programmation, modules plus avancés : modules imbriqués modules paramétrés par des modules (foncteurs)
Modularité Extensions Suivant les langages de programmation, modules plus avancés : modules imbriqués modules paramétrés par des modules (foncteurs) généricité modules de première classe : peuvent être
Plus en détailChapitre 2 Devine mon nombre!
Python 3 : objectif jeux Chapitre 2 Chapitre 2 Devine mon nombre! 2.1. Thèmes abordés dans ce chapitre commentaires modules externes, import variables boucle while condition : if... elif... else la fonction
Plus en détailINITIATION AU LANGAGE C SUR PIC DE MICROSHIP
COURS PROGRAMMATION INITIATION AU LANGAGE C SUR MICROCONTROLEUR PIC page 1 / 7 INITIATION AU LANGAGE C SUR PIC DE MICROSHIP I. Historique du langage C 1972 : naissance du C dans les laboratoires BELL par
Plus en détailCours d initiation à la programmation en C++ Johann Cuenin
Cours d initiation à la programmation en C++ Johann Cuenin 11 octobre 2014 2 Table des matières 1 Introduction 5 2 Bases de la programmation en C++ 7 3 Les types composés 9 3.1 Les tableaux.............................
Plus en détailIntroduction à la programmation orientée objet, illustrée par le langage C++ Patrick Cégielski cegielski@u-pec.fr
Introduction à la programmation orientée objet, illustrée par le langage C++ Patrick Cégielski cegielski@u-pec.fr Mars 2002 Pour Irène et Marie Legal Notice Copyright c 2002 Patrick Cégielski Université
Plus en détailReprésentation d un entier en base b
Représentation d un entier en base b 13 octobre 2012 1 Prérequis Les bases de la programmation en langage sont supposées avoir été travaillées L écriture en base b d un entier est ainsi défini à partir
Plus en détailImpact des robots d indexation sur le cache de second niveau de SPIP IMBERTI Christophe - SG/SPSSI/CP2I/DO Ouest 06/06/2012 mis à jour le 05/07/2012
Impact des robots d indexation sur le cache de second niveau de SPIP IMBERTI Christophe - SG/SPSSI/CP2I/DO Ouest 06/06/2012 mis à jour le 05/07/2012 SOMMAIRE 1. LE CONSTAT... 2 2. L EXPLICATION... 2 3.
Plus en détailhttp://cri.univ-lille1.fr Sauvegarde et restauration d'un système d'exploitation Clonezilla
http://cri.univ-lille1.fr Sauvegarde et restauration d'un système d'exploitation Clonezilla Version 1.0 Septembre 2011 SOMMAIRE 1. Introduction 3 2. Définitions 3 3. Principes généraux 3 4. Clonezilla
Plus en détailPourquoi l apprentissage?
Pourquoi l apprentissage? Les SE sont basés sur la possibilité d extraire la connaissance d un expert sous forme de règles. Dépend fortement de la capacité à extraire et formaliser ces connaissances. Apprentissage
Plus en détailPar combien de zéros se termine N!?
La recherche à l'école page 79 Par combien de zéros se termine N!? par d es co llèg es An dré Do ucet de Nanterre et Victor Hugo de Noisy le Grand en seignants : Danielle Buteau, Martine Brunstein, Marie-Christine
Plus en détailInitiation à la programmation en Python
I-Conventions Initiation à la programmation en Python Nom : Prénom : Une commande Python sera écrite en caractère gras. Exemples : print 'Bonjour' max=input("nombre maximum autorisé :") Le résultat de
Plus en détailExpression des contraintes. OCL : Object C o n t r a i n t L a n g u a g e
P r o b l é m a t i q u e OCL : O b j e c t C o n s t r a i n t L a n g u a g e Le langage de contraintes d UML Les différents diagrammes d UML permettent d exprimer certaines contraintes graphiquement
Plus en détailSOMMAIRE. Travailler avec les requêtes... 3
Access Les requêtes SOMMAIRE Travailler avec les requêtes... 3 A) Créer une requête sélection en mode QBE... 3 B) Exécuter une requête à partir du mode Modifier (QBE)... 3 C) Passer du mode Feuille de
Plus en détailInitiation à la programmation OEF pour Wims (exercices).
page 1 sur 9 Initiation à la programmation OEF pour Wims (exercices). Les titres des différentes parties de ce document, en grisé, sont donnés en référence au document Wims «DocAide Exercices OEF» rédigé
Plus en détailGOL-502 Industrie de services. Travaux Pratique / Devoir #7
GOL-502 Industrie de services Travaux Pratique / Devoir #7 Version 2012 Modélisation à l'aide du langage UML 1) Diagramme de cas d'utilisation 2) Diagramme de classes 3) Diagramme de séquence 4) Diagramme
Plus en détailmodélisation solide et dessin technique
CHAPITRE 1 modélisation solide et dessin technique Les sciences graphiques regroupent un ensemble de techniques graphiques utilisées quotidiennement par les ingénieurs pour exprimer des idées, concevoir
Plus en détailACTIVITÉ DE PROGRAMMATION
ACTIVITÉ DE PROGRAMMATION The purpose of the Implementation Process is to realize a specified system element. ISO/IEC 12207 Sébastien Adam Une introduction 2 Introduction Ø Contenu Utilité de l ordinateur,
Plus en détailBaccalauréat technologique
Baccalauréat technologique Épreuve relative aux enseignements technologiques transversaux, épreuve de projet en enseignement spécifique à la spécialité et épreuve d'enseignement technologique en langue
Plus en détailL'instruction if permet d'exécuter des instructions différentes selon qu'une condition est vraie ou fausse. Sa forme de base est la suivante:
420-183 Programmation 1 8. Les structures conditionnelles Dans l'écriture de tout programme informatique, une des premières nécessités que nous rencontrons est de pouvoir faire des choix. Dans une application
Plus en détailCorrection Code nécessaire à la compilation : let bs ="\\" let nl = "\n" ;; let appliquer = List.map ;; (* affichage d'un noeud *)
Correction Code nécessaire à la compilation : let bs ="\\" let nl = "\n" let appliquer = List.map (* affichage d'un noeud *) let (noeud_vers_ch : int -> string) = function n -> "fib(" ^ (string_of_int
Plus en détailInfo0101 Intro. à l'algorithmique et à la programmation. Cours 3. Le langage Java
Info0101 Intro. à l'algorithmique et à la programmation Cours 3 Le langage Java Pierre Delisle, Cyril Rabat et Christophe Jaillet Université de Reims Champagne-Ardenne Département de Mathématiques et Informatique
Plus en détailDans la série LES TUTORIELS LIBRES présentés par le site FRAMASOFT. Compression - Décompression avec 7-Zip. Georges Silva
Dans la série LES TUTORIELS LIBRES présentés par le site FRAMASOFT Compression - Décompression avec 7-Zip Georges Silva Logiciel : 7-Zip site : http://www.7-zip.org Niveau : Débutant Auteur : Georges Silva
Plus en détailMODE D'EMPLOI DE LA CALCULATRICE POUR LES COURTS SÉJOURS DANS L'ESPACE SCHENGEN
MODE D'EMPLOI DE LA CALCULATRICE POUR LES COURTS SÉJOURS DANS L'ESPACE SCHENGEN 1. Introduction Le règlement (UE) n 610/2013 du 26 juin 2013 a modifié la convention d'application de l'accord de Schengen,
Plus en détailChapitre 1 I:\ Soyez courageux!
Chapitre 1 I:\ Soyez courageux! Pour ne rien vous cacher, le langage d'assembleur (souvent désigné sous le terme "Assembleur", bien que ce soit un abus de langage, puisque "Assembleur" désigne le logiciel
Plus en détailSub CalculAnnuite() Const TITRE As String = "Calcul d'annuité de remboursement d'un emprunt"
TD1 : traduction en Visual BASIC des exemples du cours sur les structures de contrôle de l'exécution page 1 'TRADUCTION EN VBA DES EXEMPLES ALGORITHMIQUES SUR LES STRUCTURES 'DE CONTROLE DE L'EXECUTION
Plus en détailTraitement de texte : Quelques rappels de quelques notions de base
Traitement de texte : Quelques rappels de quelques notions de base 1 Quelques rappels sur le fonctionnement du clavier Voici quelques rappels, ou quelques appels (selon un de mes profs, quelque chose qui
Plus en détailLes suites numériques
Chapitre 3 Term. STMG Les suites numériques Ce que dit le programme : Suites arithmétiques et géométriques CONTENUS CAPACITÉS ATTENDUES COMMENTAIRES Suites arithmétiques et géométriques Expression du terme
Plus en détailCRÉER UNE BASE DE DONNÉES AVEC OPEN OFFICE BASE
CRÉER UNE BASE DE DONNÉES AVEC OPEN OFFICE BASE 2 ème partie : REQUÊTES Sommaire 1. Les REQUÊTES...2 1.1 Créer une requête simple...2 1.1.1 Requête de création de listage ouvrages...2 1.1.2 Procédure de
Plus en détailChapitre 10 Arithmétique réelle
Chapitre 10 Arithmétique réelle Jean Privat Université du Québec à Montréal INF2170 Organisation des ordinateurs et assembleur Automne 2013 Jean Privat (UQAM) 10 Arithmétique réelle INF2170 Automne 2013
Plus en détailCalculons avec Albert!
Calculons avec Albert! Par : Guy Lefebvre, 1257 rue Principale, St-Prime, G8J 1V2, 418-251-2170 Guillaume Rainville, 610 8 e rue, St-Prime, G8J 1P6, 418-251-8290 Résumé : Lefebvre G. et Rainville G., 2001,
Plus en détailLogiciel Libre Cours 3 Fondements: Génie Logiciel
Logiciel Libre Cours 3 Fondements: Génie Logiciel Stefano Zacchiroli zack@pps.univ-paris-diderot.fr Laboratoire PPS, Université Paris Diderot 2013 2014 URL http://upsilon.cc/zack/teaching/1314/freesoftware/
Plus en détailSeance 2: En respectant la méthode de programmation par contrat, implémentez les autres fonctions de jeu.
Seance 2: Complétion du code de jeu. (durée max: 2h) Mot clé const et pointeurs: En respectant la méthode de programmation par contrat, implémentez les autres fonctions de jeu. Implémentez jeu_recupere_piece
Plus en détail1. Introduction... 2. 2. Création d'une macro autonome... 2. 3. Exécuter la macro pas à pas... 5. 4. Modifier une macro... 5
1. Introduction... 2 2. Création d'une macro autonome... 2 3. Exécuter la macro pas à pas... 5 4. Modifier une macro... 5 5. Création d'une macro associée à un formulaire... 6 6. Exécuter des actions en
Plus en détailChapitre 4 Pierre, papier, ciseaux
Python 3 : objectif jeux Chapitre 4 Chapitre 4 Pierre, papier, ciseaux (version graphique) 4.1. Thèmes abordés dans ce chapitre Le module tkinter : Label, Button Fenêtre Événements Réceptionnaire d'événements
Plus en détailArbres binaires de recherche
1 arbre des comparaisons 2 recherche dichotomique l'arbre est recalculé à chaque recherche 2 5 3 4 7 9 1 6 1 2 3 4 5 6 7 9 10 conserver la structure d'arbre au lieu de la reconstruire arbre binaire de
Plus en détailDéfinition 0,752 = 0,7 + 0,05 + 0,002 SYSTÈMES DE NUMÉRATION POSITIONNELS = 7 10 1 + 5 10 2 + 2 10 3
8 Systèmes de numération INTRODUCTION SYSTÈMES DE NUMÉRATION POSITIONNELS Dans un système positionnel, le nombre de symboles est fixe On représente par un symbole chaque chiffre inférieur à la base, incluant
Plus en détailReprésentation des Nombres
Chapitre 5 Représentation des Nombres 5. Representation des entiers 5.. Principe des représentations en base b Base L entier écrit 344 correspond a 3 mille + 4 cent + dix + 4. Plus généralement a n a n...
Plus en détailCompte-rendu de projet de Système de gestion de base de données
Compte-rendu de projet de Système de gestion de base de données Création et utilisation d'un index de jointure LAMBERT VELLER Sylvain M1 STIC Université de Bourgogne 2010-2011 Reponsable : Mr Thierry Grison
Plus en détailGlossaire des nombres
Glossaire des nombres Numérisation et sens du nombre (4-6) Imprimeur de la Reine pour l'ontario, 008 Nombre : Objet mathématique qui représente une valeur numérique. Le chiffre est le symbole utilisé pour
Plus en détailJava Licence Professionnelle CISII, 2009-10
Java Licence Professionnelle CISII, 2009-10 Cours 4 : Programmation structurée (c) http://www.loria.fr/~tabbone/cours.html 1 Principe - Les méthodes sont structurées en blocs par les structures de la programmation
Plus en détailLES DÉTERMINANTS DE MATRICES
LES DÉTERMINANTS DE MATRICES Sommaire Utilité... 1 1 Rappel Définition et composantes d'une matrice... 1 2 Le déterminant d'une matrice... 2 3 Calcul du déterminant pour une matrice... 2 4 Exercice...
Plus en détail