Algorithmes et méthodes pour la fiabilité numérique : Partie 3 : transformation de programmes

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

Download "Algorithmes et méthodes pour la fiabilité numérique : Partie 3 : transformation de programmes"

Transcription

1 Algorithmes et méthodes pour la fiabilité numérique : Partie 3 : transformation de programmes Matthieu Martel Laboratoire ELIAUS-DALI Université de Perpignan Via Domitia matthieu.martel@univ-perp.fr 1 / 37

2 Objectif Définition d une nouvelle transformation de programmes Exemple : aire d un parallélépipède rectangle allongé a A = 2 ( (a b) + (b c) + (c a) ) b implémentation directe : 2*(((a*b)+(b*c))+(c*a)) c transformé en : (((c*a)*2)+(2*(b*c)))+(2*(a*b)) plus petites valeurs sommées d abord, produit distribué 2 / 37

3 Principe Transformation sémantique pour améliorer la précision de l évaluation des expressions arithmétiques Modèle x 2 +2x+1=(x+1) 2 =... Implémentation ((x*x)+(2*x))+1 (x+1)*(x+1) Première sémantique : expression décrit une formule mathématique usuelle l évaluation en précision donne résultat exact lois algébriques autorisées (associativité, commutativité, etc.) Seconde sémantique : les expressions suivent l arithmétique des nombres flottants erreurs d arrondi, lois algébriques non-valides But : transformer une expression e en une expression e t.q. : e et e sont mathématiquement égales (modèle) e s évalue plus précisément que e sur ordinateur 3 / 37

4 Example (floating-point) E l = (a + l 2 (b + l 1 (c + l 0 d))) l 3 e E l float = `[ 3, 4], [ , ], [ , ], [ , ], [ , ] 4 / 37

5 Example (fixed-point) E l = (a + l 2 (b + l 1 (c + l 0 d))) l 3 e Local max: E l fixed = ( [ 3, 4], 5, 4, 2, 3 ) Global max: E l fixed = ( [ 3, 4], 5, 5, 5, 5 ) 5 / 37

6 Example E float = (a + (b + (c + d))) e Floating-point arithmetics: E float = ((a + b) e) + ((c + d) e) E float = ( [ 3, 4], [ , 0] ) E float = ( [ 3, 4], [ , ] ) Fixed-point arithmetics: E fixed = e ((a + d) + (b + c)) E fixed = ( [ 3, 4], 5 ) E fixed = ( [ 3, 4], 4 ) 6 / 37

7 Transformation sémantique : principe Programme source P Analyse statique S P, S(P) Transformation syntaxique t Programme transformé t(p) P(t(S(P),!(S(P)))) S P S P S P Sémantique du programme source S(P) Abstraction sémantique! P),!(S(P)) Transformation sémantique t Sémantique du programme transformé t(s(p),!(s(p))) S(t(P))! O " O! O " O " O! O! O (S(P)) =! O (t(s(p),!(! O (S(P)))) =! O (S(t(P))) Patrick et Radhia Cousot : Systematic Design of Program Transformation Frameworks by Abstract Interpretation, 2002, POPL 7 / 37

8 1 Introduction 2 Deux sémantiques concrètes 3 Interprétation abstraite 4 Transformation sémantique 5 Résultats expérimentaux 6 Conclusion 8 / 37

9 Sémantique (modèle) Modèle x 2 +2x+1=(x+1) 2 =... Implémentation ((x*x)+(2*x))+1 (x+1)*(x+1) 9 / 37

10 Sémantique (modèle) Sémantique fondée sur l arithmétique des réels : R v = v 1 + R v 2 v 1 + v 2 v v = v 1 R v 2 v 1 v 2 v e 1 e 1 e 1 + e 2 e 1 + e 2 e 1 e 1 e 1 e 2 e 1 e 2 e e 1 e 1 e 1 e 1 e e e Modèle x 2 +2x+1=(x+1) 2 =... Implémentation ((x*x)+(2*x))+1 (x+1)*(x+1) (e 1 + e 2 ) + e 3 e 1 + (e 2 + e 3 ) e 1 + e 2 e 2 + e 1 e e + 0 (e 1 e 2 ) e 3 e 1 (e 2 e 3 ) e 1 e 2 e 2 e 1 e e 1 e 1 (e 2 + e 3 ) e 1 e 2 + e 1 e 3 Propriété (confluence faible) Soit e une expression arithmétique. Si e R e 1 et e R e 2 alors il existe e t.q. e 1 R e et e 2 R e 10 / 37

11 Sémantique (machine) Modèle x 2 +2x+1=(x+1) 2 =... Implémentation ((x*x)+(2*x))+1 (x+1)*(x+1) 11 / 37

12 La norme IEEE754 : arrondis 4 modes d arrondi : vers, vers +, au plus près, vers 0 : R F spécifie l arrondi d un nombre réel pour les opérations élémentaires {+,,,, }: x 1 F, x 2 = (x 1 R x 2 ) : R R donne l erreur d arrondi : (r) = r (r) 12 / 37

13 Arithmétique pour l estimation des erreurs Estimation des erreurs : l arithmétique E (Fluctuat) E = F R. Dans (x, µ) E, µ mesure la distance entre le résultat machine x et le résultat exact pour v 1 = (x 1, µ 1 ) et v 2 = (x 2, µ 2 ) : v 1 + E v 2 = ( (x 1 + R x 2 ), [µ 1 + µ 2 + (x 1 + R x 2 )]) v 1 E v 2 = ( (x 1 R x 2 ), [µ 1 µ 2 + (x 1 R x 2 )]) v 1 E v 2 = ( (x 1 R x 2 ), [µ 1 x 2 + R µ 2 x 1 + R µ 1 µ 2 + R (x 1 R x 2 )]) R F μ 13 / 37

14 Sémantique (machine) La sémantique E v = v 1 + E v 2 v 1 + v 2 v v = v 1 E v 2 v 1 v 2 v e 1 e 1 e 1 + e 2 e 1 + e 2 e 1 e 1 e 1 e 2 e 1 e 2 e e 1 e 1 e 1 e 1 e e e Modèle x 2 +2x+1=(x+1) 2 =... Implémentation ((x*x)+(2*x))+1 (x+1)*(x+1) (e 1 + e 2 ) + e 3 e 1 + (e 2 + e 3 ) e 1 + e 2 e 2 + e 1 e e + 0 (e 1 e 2 ) e 3 e 1 (e 2 e 3 ) e 1 e 2 e 2 e 1 e e 1 e 1 (e 2 + e 3 ) e 1 e 2 + e 1 e 3 Propriété (absence de confluence) En général, pour une expression arithmétique e, il existe des pas de réduction e E e 1 et e E e 2 t.q. il n existe pas d expression e t.q. e 1 E e et e 2 E e F R μ 14 / 37

15 Bilan Sémantique machine (E) Sémantique abstraite Sémantique idéale (R) F R μ μ Etape suivante : objectif: utiliser E pour trouver le meilleur chemin trop de chemins! abstraction de E fondée sur une sémantique non-standard 15 / 37

16 Bilan (2) Programme source P Analyse statique S P, S(P) Transformation syntaxique t Programme transformé t(p) P(t(S(P),!(S(P)))) S P S P S P! F R! Sémantique du programme source S(P) Abstraction sémantique! P),!(S(P)) Transformation sémantique t Sémantique du programme transformé t(s(p),!(s(p))) S(t(P)) " O " O! O! O " O! O! O (S(P)) =! O (t(s(p),!(! O (S(P)))) =! O (S(t(P))) 16 / 37

17 1 Introduction 2 Deux sémantiques concrètes 3 Interprétation abstraite 4 Transformation sémantique 5 Résultats expérimentaux 6 Conclusion 17 / 37

18 Sémantique non-standard (fondée sur E ) Principe se souvenir de comment chaque valeur a été obtenue une étiquette l L est attachée à chaque valeur des expressions deux environnements : ρ : L Expr ρ(l) = e si e v l σ : Expr E σ(e) = v si e v v = v 1 + E v 2 l Dom(ρ) ρ, σ, v l v l 2 2 ρ[l ρ(l 1) + ρ(l 2 )], σ[ρ(l 1 ) + ρ(l 2 ) v], v l e e 1 ρ, σ, e 1 ρ, σ, e 1 e 1 e ρ, σ, e ρ, σ, e (1 a +(3 b +5 c )) 2 d (1 a +8 e ) 2 d 9 f 2 d 18 g ρ σ e 3 b +5 c f 1 a +(3 b +5 c ) g 2 d (1 a +(3 b +5 c )) 3 b +5 c 8 1 a +(3 b +5 c ) 9 2 d (1 a +(3 b +5 c )) / 37

19 Sémantique abstraite Principe Fusionner des traces dans lesquelles des sous-expressions ont été évaluées à peu près de la même manière Expr k ensemble des expressions de hauteur au plus k e k remplace par tous les sous-arbres de niveau k qui ne sont pas des valeurs (1+(3+5))*2 = (1+(5+3))*2 = (1+T)* T k les valeurs des environnements abstraits sont des intervalles 19 / 37

20 Sémantique abstraite (2) (1+(3+5))*2 = (1+(5 3))*2 = (1+T)* T k σ σ σ # [18,32] v = σ (η 1 ) + E σ (η 2 ) η 1 ρ (l 1 ) η 2 ρ (l 2 ) E = η 1 + η 2 k σ = σ η 1 ρ (l 1 ) η 2 ρ (l 2 ) η 1 ρ (l 1 ), η 2 ρ (l 2 ) η = η 1 + η 2 k ν = σ (η 1 ) + σ (η 2 ) ρ, σ, v l v l 1 1 l=l 1 +l 2 k ρ [l ρ (l) E], σ, v l [η σ (η) ν] 20 / 37

21 Sémantique abstraite : exemple Sémantique non-standard (1 a +(3 b +5 c )) 2 d (1 a +8 e ) 2 d 9 f 2 d 18 g ρ σ e 3 b +5 c f 1 a +(3 b +5 c ) g 2 d (1 a +(3 b +5 c )) 3 b +5 c 8 1 a +(3 b +5 c ) 9 2 d (1 a +(3 b +5 c )) 18 Sémantique abstraite (1 a +(3 b +5 c )) 2 d (1 a +8 e ) 2 d 9 f 2 d 18 g ρ # σ # e 3 b +5 c f 1 a +(3 b +5 c ) g 2 d (1 a +T) 3 b +5 c [8] 1 a +(3 b +5 c ) [9] 2 d (1 a +T) [18] 21 / 37

22 Nouvelle relation d équivalence Dans la sémantique non-standard : utilisation de (équivalence mathématique) à partir de e, une transition par expression e t.q. e e nombre exponentiel de transitions (pire cas: n i=1 x i) Dans la sémantique abstraite : nouvelle relation d équivalence e k e ssi e k = e k la sémantique abstraite utilise la relation quotient k ssi / k e k e 1 e 1 e 1 e 1 k e e e Au pire, la classe par k de e contient O(n k ) éléments e e 22 / 37

23 1 Introduction 2 Deux sémantiques concrètes 3 Interprétation abstraite 4 Transformation sémantique 5 Résultats expérimentaux 6 Conclusion 23 / 37

24 Transformation sémantique Programme source P Analyse statique S P, S(P) Transformation syntaxique t Programme transformé t(p) P(t(S(P),!(S(P)))) S P S P S P! F R! Sémantique du programme source S(P) Abstraction sémantique! P),!(S(P)) Transformation sémantique t Sémantique du programme transformé t(s(p),!(s(p))) S(t(P)) " O " O! O! O " O! O! O (S(P)) =! O (t(s(p),!(! O (S(P)))) =! O (S(t(P))) Transformation R! F! 24 / 37

25 Transformation sémantique Principe : 1 choisir la trace abstraite qui minimise l erreur 2 construire une nouvelle trace qui n utilise pas Transformation R des actions sont attachées aux transitions abstraites les actions indiquent comment de nouvelles étiquettes ont été générées μ F! Exemple 2 (1+(3+5)) 4=1+3 2 (4+5)) 8= = = (1+3) / 37

26 Transformation sémantique (correction) Correction : la trace d origine et la trace transformée sont égales à observation près intuitivement les deux traces mènent au même résultat réel α O abstraction observationnelle : α O : E R (x, µ) x + µ 26 / 37

27 1 Introduction 2 Deux sémantiques concrètes 3 Interprétation abstraite 4 Transformation sémantique 5 Résultats expérimentaux 6 Conclusion 27 / 37

28 Résultats expérimentaux En simple précision, e 8 = 1.0 tandis que (2 5e 8 ) 1.0 avec e = a ((b + c) + d) a = [56789, 98765] b = [0, 1] c = [0, 5e 8 ] d = [0, 5e 8 ] (a*((b+c)+d)) -> ((a*b)+(a*(c+d))) k=2 borne d erreur sur borne d erreur sur (a*((b+c)+d)) : [ E-2,1.5680E-2] ((a*b)+(a*(c+d))) : [ E-3,7.8126E-3] 28 / 37

29 Résultats expérimentaux s = 4 i=0 x i, avec x i = [2 i, 2 i+1 ] : a, b, c, d et e remplacent x 0, x 1, x 2, x 3 et x 4 k Expression Borne d erreur expression source (((e+d)+c)+b)+a [ E-6,7.6294E-6] k = 1 (b+a)+(c+(e+d)) [ E-6,5.9605E-6] k = 2 (c+(b+a))+(e+d) [ E-6,4.5300E-6] k = 3 (d+(c+(a+b)))+e [ E-6,3.5763E-6] 29 / 37

30 Résultats expérimentaux (2) Polynômes, x = ([0, 2], [0, ]) : Cas Expression Borne d erreur expression source x+(x*x) [ E-3, E-3] k = 2 (1.0+x)*x [ E-4, E-4] expression source (x*(x*x))+(x*x) [ E-3, E-3] k = 3 (x+1.0)*(x*x) [ E-4, E-3] k = 4 ((1.0+x)*x)*x [ E-5, E-3] 30 / 37

31 Résultats expérimentaux (3) (a + b) 2 avec b a, a = [5, 10] et b = [0, 0.001] Cas Expression Borne d erreur Source (a+b)*(a+b) [ E-5, E-5] k = 2 ((b*(a+b))+(a*b))+(a*a) [ E-6, E-6] k = 3 (((b*a)+(b*b))+(b*a))+(a*a) [ E-6, E-6] k = 3 transformation = identité remarquable k = 2 autre formule qui améliore sensiblement la précision 31 / 37

32 Résultats expérimentaux : x i = [2 i, 2 i+1 ] int i=0; int i=0; float s=0.0; float s=0.0; while (i<n) { while (i<n/2) { s=s+x[i]; l=x[i]+x[i+1]; i=i+1; s=s+l; } i=i+2; } Case Error for p Error for p t N=4 [0.0, E-6] [0.0, E-6] N=6 [0.0, E-5] [0.0, E-5] N=8 [0.0, E-4] [0.0, E-5] N=10 [0.0, E-4] [0.0, E-4] 32 / 37

33 Résultats expérimentaux : autre programme float a=[0.0,100.0]; float a=[0.0,100.0]; float b=[0.0,0.001]; float b=[0.0,0.001]; float c=[5.0,10.0]; float c=[5.0,10.0]; float d=2.0; float d=2.0; if (a>0.1) { if (a>0.1) { r=d*(a+(b+c)); r=d*(a+(b+c)); } else { } else { r=d*(a+(b+c)); r=d*((a+b)+c); } } Case Error bound on r p, a > 0.1 [ E-6, E-6] p t, a 0.1 [ E-6, E-7] p, a > 0.1 [ E-6, E-6] p t, a 0.1 [ E-7, E-7] 33 / 37

34 1 Introduction 2 Deux sémantiques concrètes 3 Interprétation abstraite 4 Transformation sémantique 5 Résultats expérimentaux 6 Conclusion 34 / 37

35 Conclusion sous l hypothèse qu un programme fonctionnerait correctement dans les réels : possibilité de corriger automatiquement (en partie) les erreurs d arrondi résultats expérimentaux encourageants possibilité de retrouver les meilleurs schémas d évaluation en général (Horner, tri, etc.)? utilité des transformations sémantiques vs transformation syntaxique 35 / 37

36 Perspectives Traiter un langage complet (boucles, affectations, conditions, etc.) Calculs définis sur plusieurs lignes de code Dépliage de boucles, modification des affectations Amélioration de l abstraction (optimisaton globale) Amélioration de la relation d équivalence (plus de lois) Développement d autres applications : calculs en virgule fixe offuscation de code sans perte de précision Vers un outil (langage source? destination?) 36 / 37

37 questions? 37 / 37

Grandes lignes ASTRÉE. Logiciels critiques. Outils de certification classiques. Inspection manuelle. Definition. Test

Grandes lignes ASTRÉE. Logiciels critiques. Outils de certification classiques. Inspection manuelle. Definition. Test Grandes lignes Analyseur Statique de logiciels Temps RÉel Embarqués École Polytechnique École Normale Supérieure Mercredi 18 juillet 2005 1 Présentation d 2 Cadre théorique de l interprétation abstraite

Plus en détail

Algorithmique et Programmation, IMA

Algorithmique 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étail

Présentation du langage et premières fonctions

Présentation du langage et premières fonctions 1 Présentation de l interface logicielle Si les langages de haut niveau sont nombreux, nous allons travaillé cette année avec le langage Python, un langage de programmation très en vue sur internet en

Plus en détail

Analyse de sécurité de logiciels système par typage statique

Analyse de sécurité de logiciels système par typage statique Contexte Modélisation Expérimentation Conclusion Analyse de sécurité de logiciels système par typage statique Application au noyau Linux Étienne Millon UPMC/LIP6 Airbus Group Innovations Sous la direction

Plus en détail

1. Structure d un programme C. 2. Commentaire: /*..texte */ On utilise aussi le commentaire du C++ qui est valable pour C: 3.

1. Structure d un programme C. 2. Commentaire: /*..texte */ On utilise aussi le commentaire du C++ qui est valable pour C: 3. 1. Structure d un programme C Un programme est un ensemble de fonctions. La fonction "main" constitue le point d entrée pour l exécution. Un exemple simple : #include int main() { printf ( this

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

Algorithmique I. Augustin.Lux@imag.fr Roger.Mohr@imag.fr Maud.Marchal@imag.fr. Algorithmique I 20-09-06 p.1/??

Algorithmique I. Augustin.Lux@imag.fr Roger.Mohr@imag.fr Maud.Marchal@imag.fr. Algorithmique I 20-09-06 p.1/?? Algorithmique I Augustin.Lux@imag.fr Roger.Mohr@imag.fr Maud.Marchal@imag.fr Télécom 2006/07 Algorithmique I 20-09-06 p.1/?? Organisation en Algorithmique 2 séances par semaine pendant 8 semaines. Enseignement

Plus en détail

Contexte et motivations Les techniques envisagées Evolution des processus Conclusion

Contexte et motivations Les techniques envisagées Evolution des processus Conclusion Vérification de logiciels par analyse statique Contexte et motivations Les techniques envisagées Evolution des processus Conclusion Contexte et motivations Specification Design architecture Revues and

Plus en détail

Logiciel de Base. I. Représentation des nombres

Logiciel de Base. I. Représentation des nombres Logiciel de Base (A1-06/07) Léon Mugwaneza ESIL/Dépt. Informatique (bureau A118) mugwaneza@univmed.fr I. Représentation des nombres Codage et représentation de l'information Information externe formats

Plus en détail

Des réels aux flottants : préservation automatique de preuves de stabilité de Lyapunov

Des réels aux flottants : préservation automatique de preuves de stabilité de Lyapunov Des réels aux flottants : préservation automatique de preuves de stabilité de Lyapunov Olivier Hermant et Vivien Maisonneuve CRI, MINES ParisTech, PSL Research University prenom.nom@mines-paristech.fr

Plus en détail

Cours 1 : La compilation

Cours 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étail

Introduction au langage C

Introduction au langage C Introduction au langage C Cours 1: Opérations de base et premier programme Alexis Lechervy Alexis Lechervy (UNICAEN) Introduction au langage C 1 / 23 Les premiers pas Sommaire 1 Les premiers pas 2 Les

Plus en détail

Bases de programmation. Cours 5. Structurer les données

Bases 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étail

STAGE IREM 0- Premiers pas en Python

STAGE 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étail

1/24. I passer d un problème exprimé en français à la réalisation d un. I expressions arithmétiques. I structures de contrôle (tests, boucles)

1/24. I passer d un problème exprimé en français à la réalisation d un. I expressions arithmétiques. I structures de contrôle (tests, boucles) 1/4 Objectif de ce cours /4 Objectifs de ce cours Introduction au langage C - Cours Girardot/Roelens Septembre 013 Du problème au programme I passer d un problème exprimé en français à la réalisation d

Plus en détail

Université du Québec à Chicoutimi. Département d informatique et de mathématique. Plan de cours. Titre : Élément de programmation.

Université du Québec à Chicoutimi. Département d informatique et de mathématique. Plan de cours. Titre : Élément de programmation. Université du Québec à Chicoutimi Département d informatique et de mathématique Plan de cours Titre : Élément de programmation Sigle : 8inf 119 Session : Automne 2001 Professeur : Patrice Guérin Local

Plus en détail

Maple: premiers calculs et premières applications

Maple: premiers calculs et premières applications TP Maple: premiers calculs et premières applications Maple: un logiciel de calcul formel Le logiciel Maple est un système de calcul formel. Alors que la plupart des logiciels de mathématiques utilisent

Plus en détail

Informatique Générale

Informatique Générale Informatique Générale Guillaume Hutzler Laboratoire IBISC (Informatique Biologie Intégrative et Systèmes Complexes) guillaume.hutzler@ibisc.univ-evry.fr Cours Dokeos 625 http://www.ens.univ-evry.fr/modx/dokeos.html

Plus en détail

Introduction à l algorithmique et à la programmation M1102 CM n 3

Introduction à l algorithmique et à la programmation M1102 CM n 3 Introduction à l algorithmique et à la programmation M1102 CM n 3 DUT Informatique 1 re année Eric REMY eric.remy@univ-amu.fr IUT d Aix-Marseille, site d Arles Version du 2 octobre 2013 E. Remy (IUT d

Plus en détail

Initiation à la programmation en Python

Initiation à 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étail

Pour signifier qu'une classe fille hérite d'une classe mère, on utilise le mot clé extends class fille extends mère

Pour 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étail

Éléments d informatique Cours 3 La programmation structurée en langage C L instruction de contrôle if

Éléments d informatique Cours 3 La programmation structurée en langage C L instruction de contrôle if Éléments d informatique Cours 3 La programmation structurée en langage C L instruction de contrôle if Pierre Boudes 28 septembre 2011 This work is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike

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

SHERLOCK 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 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étail

Objets et Programmation. origine des langages orientés-objet

Objets et Programmation. origine des langages orientés-objet Objets et Programmation origine des langages orientés-objet modularité, encapsulation objets, classes, messages exemples en Java héritage, liaison dynamique G. Falquet, Th. Estier CUI Université de Genève

Plus en détail

UEO11 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. 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

TP 1. Prise en main du langage Python

TP 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étail

Algorithmique et programmation : les bases (VBA) Corrigé

Algorithmique 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étail

Calcul Formel et Numérique, Partie I

Calcul Formel et Numérique, Partie I Calcul Formel et Numérique N.Vandenberghe nvdb@irphe.univ-mrs.fr Table des matières 1 Introduction à Matlab 2 1.1 Quelques généralités.......................... 2 2 Où trouver des informations 2 3 Opérations

Plus en détail

Les arbres binaires de recherche

Les arbres binaires de recherche Institut Galilée Année 2010-2011 Algorithmique et arbres L2 TD 6 Les arbres binaires de recherche Type en C des arbres binaires (également utilisé pour les ABR) : typedef struct noeud_s { struct noeud_s

Plus en détail

DE L ALGORITHME AU PROGRAMME INTRO AU LANGAGE C 51

DE L ALGORITHME AU PROGRAMME INTRO AU LANGAGE C 51 DE L ALGORITHME AU PROGRAMME INTRO AU LANGAGE C 51 PLAN DU COURS Introduction au langage C Notions de compilation Variables, types, constantes, tableaux, opérateurs Entrées sorties de base Structures de

Plus en détail

Programmer en JAVA. par Tama (tama@via.ecp.fr( tama@via.ecp.fr)

Programmer en JAVA. par Tama (tama@via.ecp.fr( tama@via.ecp.fr) Programmer en JAVA par Tama (tama@via.ecp.fr( tama@via.ecp.fr) Plan 1. Présentation de Java 2. Les bases du langage 3. Concepts avancés 4. Documentation 5. Index des mots-clés 6. Les erreurs fréquentes

Plus en détail

V- Manipulations de nombres en binaire

V- Manipulations de nombres en binaire 1 V- Manipulations de nombres en binaire L ordinateur est constitué de milliards de transistors qui travaillent comme des interrupteurs électriques, soit ouverts soit fermés. Soit la ligne est activée,

Plus en détail

TP 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 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étail

Notes du cours MTH1101 Calcul I Partie II: fonctions de plusieurs variables

Notes du cours MTH1101 Calcul I Partie II: fonctions de plusieurs variables Notes du cours MTH1101 Calcul I Partie II: fonctions de plusieurs variables Guy Desaulniers Département de mathématiques et de génie industriel École Polytechnique de Montréal Automne 2014 Table des matières

Plus en détail

IN 102 - Cours 1. 1 Informatique, calculateurs. 2 Un premier programme en C

IN 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étail

Principes des langages de programmation INF 321. Eric Goubault

Principes 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étail

ARBRES BINAIRES DE RECHERCHE

ARBRES BINAIRES DE RECHERCHE ARBRES BINAIRES DE RECHERCHE Table de symboles Recherche : opération fondamentale données : éléments avec clés Type abstrait d une table de symboles (symbol table) ou dictionnaire Objets : ensembles d

Plus en détail

Cours d algorithmique pour la classe de 2nde

Cours d algorithmique pour la classe de 2nde Cours d algorithmique pour la classe de 2nde F.Gaudon 10 août 2009 Table des matières 1 Avant la programmation 2 1.1 Qu est ce qu un algorithme?................................. 2 1.2 Qu est ce qu un langage

Plus en détail

Cours de C++ François Laroussinie. 2 novembre 2005. Dept. d Informatique, ENS de Cachan

Cours de C++ François Laroussinie. 2 novembre 2005. Dept. d Informatique, ENS de Cachan Cours de C++ François Laroussinie Dept. d Informatique, ENS de Cachan 2 novembre 2005 Première partie I Introduction Introduction Introduction Algorithme et programmation Algorithme: méthode pour résoudre

Plus en détail

Utilisation de l analyse statique comme outil d aide au développement. par. Yves Gauthier

Utilisation de l analyse statique comme outil d aide au développement. par. Yves Gauthier Utilisation de l analyse statique comme outil d aide au développement par Yves Gauthier essai présenté au Département d'informatique en vue de l'obtention du grade de maître en technologies de l information

Plus en détail

Machines virtuelles fonctionnelles (suite) Compilation ML Java

Machines virtuelles fonctionnelles (suite) Compilation ML Java Machines virtuelles fonctionnelles (suite) Compilation ML Java Cours de Compilation Avancée (MI190) Benjamin Canou Université Pierre et Maire Curie Année 2011/2012 Semaine 3 Machines virtuelles fonctionnelles

Plus en détail

Cours d introduction à l informatique. Partie 2 : Comment écrire un algorithme? Qu est-ce qu une variable? Expressions et instructions

Cours d introduction à l informatique. Partie 2 : Comment écrire un algorithme? Qu est-ce qu une variable? Expressions et instructions Cours d introduction à l informatique Partie 2 : Comment écrire un algorithme? Qu est-ce qu une variable? Expressions et instructions Qu est-ce qu un Une recette de cuisine algorithme? Protocole expérimental

Plus en détail

Structure d un programme et Compilation Notions de classe et d objet Syntaxe

Structure d un programme et Compilation Notions de classe et d objet Syntaxe Cours1 Structure d un programme et Compilation Notions de classe et d objet Syntaxe POO 1 Programmation Orientée Objet Un ensemble d objet qui communiquent Pourquoi POO Conception abstraction sur les types

Plus en détail

Langage Java. Classe de première SI

Langage Java. Classe de première SI Langage Java Table des matières 1. Premiers pas...2 1.1. Introduction...2 1.2. Mon premier programme...2 1.3. Les commentaires...2 2. Les variables et les opérateurs...2 3. La classe Scanner...3 4. Les

Plus en détail

Rappels Entrées -Sorties

Rappels Entrées -Sorties Fonctions printf et scanf Syntaxe: écriture, organisation Comportement Données hétérogènes? Gestion des erreurs des utilisateurs 17/11/2013 Cours du Langage C ibr_guelzim@yahoo.fr ibrahimguelzim.atspace.co.uk

Plus en détail

ACTIVITÉ DE PROGRAMMATION

ACTIVITÉ 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étail

Manuel d utilisation 26 juin 2011. 1 Tâche à effectuer : écrire un algorithme 2

Manuel d utilisation 26 juin 2011. 1 Tâche à effectuer : écrire un algorithme 2 éducalgo Manuel d utilisation 26 juin 2011 Table des matières 1 Tâche à effectuer : écrire un algorithme 2 2 Comment écrire un algorithme? 3 2.1 Avec quoi écrit-on? Avec les boutons d écriture........

Plus en détail

Algorithmique et Programmation Fonctionnelle

Algorithmique et Programmation Fonctionnelle Algorithmique et Programmation Fonctionnelle RICM3 Cours 9 : Lambda-calcul Benjamin Wack Polytech 2014-2015 1 / 35 La dernière fois Typage Polymorphisme Inférence de type 2 / 35 Plan Contexte λ-termes

Plus en détail

Programmation Web. Madalina Croitoru IUT Montpellier

Programmation Web. Madalina Croitoru IUT Montpellier Programmation Web Madalina Croitoru IUT Montpellier Organisation du cours 4 semaines 4 ½ h / semaine: 2heures cours 3 ½ heures TP Notation: continue interrogation cours + rendu à la fin de chaque séance

Plus en détail

Déroulement. Evaluation. Préambule. Définition. Définition. Algorithmes et structures de données 28/09/2009

Déroulement. Evaluation. Préambule. Définition. Définition. Algorithmes et structures de données 28/09/2009 Déroulement Algorithmes et structures de données Cours 1 et 2 Patrick Reuter http://www.labri.fr/~preuter/asd2009 CM mercredi de 8h00 à 9h00 (Amphi Bât. E, 3 ème étage) ED - Groupe 3 : mercredi, 10h30

Plus en détail

Découverte de Python

Découverte de Python Découverte de Python Python est un des langages informatiques au programme des concours à partir de la session 2015. Ce tutoriel vous permettra de vous mettre à peu près à niveau de ce qui a été fait en

Plus en détail

ALGORITHMIQUE ET PROGRAMMATION En C

ALGORITHMIQUE 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étail

Arithmétique réelle. Introduction à l arithmétique flottante La précision des calculs: analyse et améliorations. Valérie Ménissier-Morain

Arithmétique réelle. Introduction à l arithmétique flottante La précision des calculs: analyse et améliorations. Valérie Ménissier-Morain Arithmétique réelle Introduction à l arithmétique flottante La précision des calculs: analyse et améliorations Valérie Ménissier-Morain Université Pierre et Marie Curie - Paris 6 LIP6 - Département CALSCI

Plus en détail

Qualité du logiciel: Méthodes de test

Qualité du logiciel: Méthodes de test Qualité du logiciel: Méthodes de test Matthieu Amiguet 2004 2005 Analyse statique de code Analyse statique de code Étudier le programme source sans exécution Généralement réalisée avant les tests d exécution

Plus en détail

Info0101 Intro. à l'algorithmique et à la programmation. Cours 3. Le langage Java

Info0101 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étail

Programmes des classes préparatoires aux Grandes Ecoles

Programmes des classes préparatoires aux Grandes Ecoles Programmes des classes préparatoires aux Grandes Ecoles Filière : scientifique Voies : Mathématiques, physique et sciences de l'ingénieur (MPSI) Physique, chimie et sciences de l ingénieur (PCSI) Physique,

Plus en détail

Introduction à 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 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étail

INITIATION AU LANGAGE C SUR PIC DE MICROSHIP

INITIATION 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étail

Introduction à Java. Matthieu Herrb CNRS-LAAS. Mars 2014. http://homepages.laas.fr/matthieu/cours/java/java.pdf

Introduction à Java. Matthieu Herrb CNRS-LAAS. Mars 2014. http://homepages.laas.fr/matthieu/cours/java/java.pdf Introduction à Java Matthieu Herrb CNRS-LAAS http://homepages.laas.fr/matthieu/cours/java/java.pdf Mars 2014 Plan 1 Concepts 2 Éléments du langage 3 Classes et objets 4 Packages 2/28 Histoire et motivations

Plus en détail

MATLAB : COMMANDES DE BASE. Note : lorsqu applicable, l équivalent en langage C est indiqué entre les délimiteurs /* */.

MATLAB : COMMANDES DE BASE. Note : lorsqu applicable, l équivalent en langage C est indiqué entre les délimiteurs /* */. Page 1 de 9 MATLAB : COMMANDES DE BASE Note : lorsqu applicable, l équivalent en langage C est indiqué entre les délimiteurs /* */. Aide help, help nom_de_commande Fenêtre de travail (Command Window) Ligne

Plus en détail

Corrigé des TD 1 à 5

Corrigé des TD 1 à 5 Corrigé des TD 1 à 5 1 Premier Contact 1.1 Somme des n premiers entiers 1 (* Somme des n premiers entiers *) 2 program somme_entiers; n, i, somme: integer; 8 (* saisie du nombre n *) write( Saisissez un

Plus en détail

UE C avancé cours 1: introduction et révisions

UE C avancé cours 1: introduction et révisions Introduction Types Structures de contrôle Exemple UE C avancé cours 1: introduction et révisions Jean-Lou Desbarbieux et Stéphane Doncieux UMPC 2004/2005 Introduction Types Structures de contrôle Exemple

Plus en détail

Centre CPGE TSI - Safi 2010/2011. Algorithmique et programmation :

Centre CPGE TSI - Safi 2010/2011. Algorithmique et programmation : Algorithmique et programmation : STRUCTURES DE DONNÉES A. Structure et enregistrement 1) Définition et rôle des structures de données en programmation 1.1) Définition : En informatique, une structure de

Plus en détail

UE Programmation Impérative Licence 2ème Année 2014 2015

UE Programmation Impérative Licence 2ème Année 2014 2015 UE Programmation Impérative Licence 2 ème Année 2014 2015 Informations pratiques Équipe Pédagogique Florence Cloppet Neilze Dorta Nicolas Loménie prenom.nom@mi.parisdescartes.fr 2 Programmation Impérative

Plus en détail

TP1 : Initiation à Java et Eclipse

TP1 : Initiation à Java et Eclipse TP1 : Initiation à Java et Eclipse 1 TP1 : Initiation à Java et Eclipse Systèmes d Exploitation Avancés I. Objectifs du TP Ce TP est une introduction au langage Java. Il vous permettra de comprendre les

Plus en détail

IFT2880 Organisation des ordinateurs et systèmes

IFT2880 Organisation des ordinateurs et systèmes Représentation des nombres flottants Notation exponentielle Représentations équivalentes dans la base 10 de 1,234 1 2 3, 4 0 0. 0 x 1 0-2 1 2, 3 4 0. 0 x 1 0-1 1, 2 3 4. 0 x 1 0 1 2 3. 4 x 1 0 1 2. 3 4

Plus en détail

Gestion de projets logiciels. Xavier Dubuc

Gestion de projets logiciels. Xavier Dubuc Gestion de projets logiciels Résumé blocus Xavier Dubuc 16 janvier 2011 1 Table des matières 1 Planification (PERT-GANTT) 3 1.1 Définitions............................................. 3 1.2 Analyse un

Plus en détail

Cours de Programmation 2

Cours 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étail

Nouveautés CRM 2015 & Migration. By Tanguy Touzard MVP CRM

Nouveautés CRM 2015 & Migration. By Tanguy Touzard MVP CRM Nouveautés CRM 2015 & Migration By Tanguy Touzard MVP CRM Nouvelles fonctionnalités Sécurité Recherche Hiérarchies Champs calculés/agrégés Règles métier Processus métier Catalogue produit SLA Information

Plus en détail

Cours: Administration d'une Base de Données

Cours: Administration d'une Base de Données Bases de Données Avancées Module A IUT Lumière, License CE-STAT 2006-2007 Pierre Parrend Cours: Administration d'une Base de Données Table of Contents Principes...1 Structure d'un Base de Données...1 Architecture...1

Plus en détail

Licence 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étail

L informatique en BCPST

L informatique en BCPST L informatique en BCPST Présentation générale Sylvain Pelletier Septembre 2014 Sylvain Pelletier L informatique en BCPST Septembre 2014 1 / 20 Informatique, algorithmique, programmation Utiliser la rapidité

Plus en détail

Séquence 3. Expressions algébriques Équations et inéquations. Sommaire

Séquence 3. Expressions algébriques Équations et inéquations. Sommaire Séquence 3 Expressions algébriques Équations et inéquations Sommaire 1. Prérequis. Expressions algébriques 3. Équations : résolution graphique et algébrique 4. Inéquations : résolution graphique et algébrique

Plus en détail

Montage non-linéaire. Techniques et méthodes

Montage non-linéaire. Techniques et méthodes Montage non-linéaire Techniques et méthodes Le montage Montage linéaire et non-linéaire On parle de montage non-linéaire lorsque les différentes opérations de montage peuvent se faire dans un ordre quelconque.

Plus en détail

Exemple d implantation de fonction mathématique sur ST240

Exemple d implantation de fonction mathématique sur ST240 Exemple d implantation de fonction mathématique sur ST240 Guillaume Revy Encadrants : Claude-Pierre Jeannerod et Gilles Villard Équipe INRIA Arénaire Laboratoire de l Informatique du Parallélisme - ENS

Plus en détail

Programmation. fonctionnelle, impérative, logique et orientée objet

Programmation. 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étail

Solutions du chapitre 4

Solutions du chapitre 4 Solutions du chapitre 4 Structures de contrôle: première partie 4.9 Identifiez et corrigez les erreurs (il peut y en avoir plus d une par segment de code) de chacune des proposition suivantes: a) if (

Plus en détail

Java Licence Professionnelle CISII, 2009-10

Java 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étail

Diagramme de classes

Diagramme de classes Diagramme de classes Un diagramme de classes décrit les classes et leurs relations (associations, généralisation/spécialisation, ). classe association méthodes attributs héritage Diagramme de classes :

Plus en détail

Programmation C. Apprendre à développer des programmes simples dans le langage C

Programmation C. Apprendre à développer des programmes simples dans le langage C Programmation C Apprendre à développer des programmes simples dans le langage C Notes de cours sont disponibles sur http://astro.u-strasbg.fr/scyon/stusm (attention les majuscules sont importantes) Modalités

Plus en détail

INF 321 : mémento de la syntaxe de Java

INF 321 : mémento de la syntaxe de Java INF 321 : mémento de la syntaxe de Java Table des matières 1 La structure générale d un programme 3 2 Les composants élémentaires de Java 3 2.1 Les identificateurs.................................. 3 2.2

Plus en détail

Compilation (INF 564)

Compilation (INF 564) Présentation du cours Le processeur MIPS Programmation du MIPS 1 Compilation (INF 564) Introduction & architecture MIPS François Pottier 10 décembre 2014 Présentation du cours Le processeur MIPS Programmation

Plus en détail

Environnements et Outils de Développement Cours 1 Introduction

Environnements et Outils de Développement Cours 1 Introduction Environnements et Outils de Développement Cours 1 Introduction Stefano Zacchiroli zack@pps.univ-paris-diderot.fr Laboratoire PPS, Université Paris Diderot - Paris 7 URL http://upsilon.cc/~zack/teaching/1112/ed6/

Plus en détail

Cours No 3 : Identificateurs, Fonctions, Premières Structures de contrôle.

Cours 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étail

Gestion mémoire et Représentation intermédiaire

Gestion mémoire et Représentation intermédiaire Gestion mémoire et Représentation intermédiaire Pablo de Oliveira March 23, 2015 I Gestion Memoire Variables locales Les variables locales sont stockées: Soit dans un registre,

Plus en détail

Programmation C++ (débutant)/instructions for, while et do...while

Programmation 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étail

Rappels sur les suites - Algorithme

Rappels sur les suites - Algorithme DERNIÈRE IMPRESSION LE 14 septembre 2015 à 12:36 Rappels sur les suites - Algorithme Table des matières 1 Suite : généralités 2 1.1 Déition................................. 2 1.2 Exemples de suites............................

Plus en détail

3. SPÉCIFICATIONS DU LOGICIEL. de l'expression des besoins à la conception. Spécifications fonctionnelles Analyse fonctionnelle et méthodes

3. SPÉCIFICATIONS DU LOGICIEL. de l'expression des besoins à la conception. Spécifications fonctionnelles Analyse fonctionnelle et méthodes PLAN CYCLE DE VIE D'UN LOGICIEL EXPRESSION DES BESOINS SPÉCIFICATIONS DU LOGICIEL CONCEPTION DU LOGICIEL LA PROGRAMMATION TESTS ET MISE AU POINT DOCUMENTATION CONCLUSION C.Crochepeyre Génie Logiciel Diapason

Plus en détail

Cours d Algorithmique et de Langage C 2005 - v 3.0

Cours d Algorithmique et de Langage C 2005 - v 3.0 Cours d Algorithmique et de Langage C 2005 - v 3.0 Bob CORDEAU cordeau@onera.fr Mesures Physiques IUT d Orsay 15 mai 2006 Avant-propos Avant-propos Ce cours en libre accès repose sur trois partis pris

Plus en détail

TP, première séquence d exercices.

TP, première séquence d exercices. TP, première séquence d exercices. Benoît Valiron benoit.valiron@lipn.univ-paris13.fr 7 novembre 2010 Introduction Vous écrirez les réponses aux questions courtes sur une feuille à rendre à la fin de la

Plus en détail

Notes du cours MTH1101N Calcul I Partie II: fonctions de plusieurs variables

Notes du cours MTH1101N Calcul I Partie II: fonctions de plusieurs variables Notes du cours MTH1101N Calcul I Partie II: fonctions de plusieurs variables Fausto Errico Département de mathématiques et de génie industriel École Polytechnique de Montréal Automne 2012 Table des matières

Plus en détail

Introduction à la programmation Travaux pratiques: séance d introduction INFO0201-1

Introduction à la programmation Travaux pratiques: séance d introduction INFO0201-1 Introduction à la programmation Travaux pratiques: séance d introduction INFO0201-1 B. Baert & F. Ludewig Bruno.Baert@ulg.ac.be - F.Ludewig@ulg.ac.be Qu est-ce que la programmation? Programmer Ecrire un

Plus en détail

LES TYPES DE DONNÉES DU LANGAGE PASCAL

LES TYPES DE DONNÉES DU LANGAGE PASCAL LES TYPES DE DONNÉES DU LANGAGE PASCAL 75 LES TYPES DE DONNÉES DU LANGAGE PASCAL CHAPITRE 4 OBJECTIFS PRÉSENTER LES NOTIONS D ÉTIQUETTE, DE CONS- TANTE ET DE IABLE DANS LE CONTEXTE DU LAN- GAGE PASCAL.

Plus en détail

http://cermics.enpc.fr/scilab

http://cermics.enpc.fr/scilab scilab à l École des Ponts ParisTech http://cermics.enpc.fr/scilab Introduction à Scilab Graphiques, fonctions Scilab, programmation, saisie de données Jean-Philippe Chancelier & Michel De Lara cermics,

Plus en détail

Programmation en langage C

Programmation en langage C Programmation en langage C Anne CANTEAUT INRIA - projet CODES B.P. 105 78153 Le Chesnay Cedex Anne.Canteaut@inria.fr http://www-rocq.inria.fr/codes/anne.canteaut/cours C 2 Table des matières 3 Table des

Plus en détail

Licence Sciences et Technologies Examen janvier 2010

Licence Sciences et Technologies Examen janvier 2010 Université de Provence Introduction à l Informatique Licence Sciences et Technologies Examen janvier 2010 Année 2009-10 Aucun document n est autorisé Les exercices peuvent être traités dans le désordre.

Plus en détail

Projet de programmation (IK3) : TP n 1 Correction

Projet de programmation (IK3) : TP n 1 Correction Projet de programmation (IK3) : TP n 1 Correction Semaine du 20 septembre 2010 1 Entrées/sorties, types de bases et structures de contrôle Tests et types de bases Tests et types de bases (entiers) public

Plus en détail

Corrigés des premiers exercices sur les classes

Corrigés des premiers exercices sur les classes Corrigés des premiers exercices sur les classes Exercice 2.1.1 utilisation d une classe Voici le texte d une classe représentant de façon sommaire un compte bancaire et les opérations bancaires courantes.

Plus en détail