Critères de couverture - test structurel

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

Download "Critères de couverture - test structurel"

Transcription

1 Bureau extension M3 mirabelle.nebut at univ-lille.fr

2 2 questions récurrentes et duales pour le testeur Quand s arrête-t-on de tester? on ne peut pas tester tous les comportements ; tester ne fait qu augmenter la confiance qu on a dans le code. Comment sélectionner les bons tests? un test qui décèle un bug est bon ; et un test qui ne décèle rien?

3 Quand s arrête-t-on de tester? La meilleure réponse selon moi : vient avec l expérience. Autre réponse : calculer une mesure, une métrique, un taux ; se baser pour ce faire sur la forme du code ou de la spécification ; s arrêter quand la mesure a atteint un niveau satisfaisant (ce qui déporte le problème!). Approche théorique du test, historiquement plus ancienne, très différente de l approche TDD.

4 Comment sélectionner les bons tests? On utilise implicitement ou explicitement un critère de sélection de test. Exemples : sélection de tests pour tester une fonctionnalité (SVL jusqu à présent) ; s assurer que toutes les instructions du programme ont été exécutées. Ce sont deux critères très différents : l un est purement sémantique ; l autre est purement syntaxique.

5 Critères de sélection de test purement sémantique Par exemple test d une fonctionnalité (SVL jusqu à présent) : basé sur les comportements que décrit la spécification. souvent appelé critère de test fonctionnel ; ne s intéresse pas du tout à la forme de la spécification ; ne s intéresse pas du tout à la forme du code. ne permet pas de définir une mesure autre que j ai testé 5 fonctionnalités sur 12.

6 Critères de sélection de test syntaxiques Par exemple : exécution de toutes les instructions d un programme ; pour une condition a and b : les conditions a et b et a and b sont au moins une fois à vrai, au moins une fois à faux dans la suite de test. Critères basés sur la forme du code ou de la spécification. possible de compter tous les objets à couvrir (exécuter, valuer, etc) ; taux de couverture du genre x objets couverts sur y possibles. On parle de critères de test structurels.

7 Dans ce cours Critères de sélection de test structurels basés sur le graphe de contrôle : tous les nœuds (toutes les lignes) ; toutes les branches = critères disponibles via l outillage. Évocation d autres critères (expressions booléennes, domaines infinis). : génération de DT et exécution symbolique.

8 Introduction

9 Principes et buts test en boîte de verre basé sur l examen du code source ; basé sur un modèle du code : graphe de flot de contrôle ; graphe de flot de données ; permet de mesurer l adéquation d une suite de test en terme du pourcentage d objets sensibilisés dans ce graphe ; permet de sélectionner des données de test (DT) pour augmenter cette adéquation. N a pas pour but de trouver des oracles, absents de la théorie.

10 Graphe de flot de contrôle : noeuds Les noeuds représentent soit : un bloc d instructions séquentielles sans aucun transfert de contrôle (pas d instuctions à saut) - graphiquement un rectangle ; un prédicat (noeud de décision) qui permet le transfert du contrôle - graphiquement un losange. On peut utiliser un seul type de noeud. Deux noeuds particuliers : un unique noeud d entrée (sans prédécesseur, permet d accéder transitivement à tous les noeuds du graphe) ; un unique noeud de sortie (sans successeur, accessible transitivement à partir de tous les noeuds du graphe) ;

11 Graphe de flot de contrôle : arcs Un arc entre deux noeuds n1 et n2 représente le transfert du contrôle de n1 à n2 : avec étiquetage par une condition booléenne c : transfert si c est vraie ; sans étiquetage : transfert inconditionnel. Les structures de contrôle produisent différents graphes : conditionnelle simple ou double ; boucles while, for et do ; exceptions ; break, return, continue. Modèle peu adapté à l objet (lui est antérieur) : penser à un appel de méthodes sur un objet.

12 Exercice Construire le graphe de contrôle du calcul du triangle de Pascal : 1 int ordre = 4; 2 int [][] tp; 3 tp = new int[ordre+1][]; for (int n = 0; n <= ordre; n++) { 4 tp[n] = new int[n+1]; for (int p=0; p<=n; p++) 5 boolean caspart = (p==0) (p==n) if (caspart) 6 tp[n][p] = 1; else 7 tp[n][p] = tp[n-1][p-1] + tp[n-1][p]; }

13 Chemin de contrôle dans un graphe Suite d arcs adjacents reliant l entrée à la sortie. Il représente une exécution possible du code. Exemple pour une boucle : --- / \ (a)-->(b)-->(c) (d) L ensemble des chemins est : abd + abcbd + abcbcbd +... ; \ / a(bc + bcbc)bd +... ; / a(bc)*bd. Une DT sensibilise un chemin de contrôle si pour cette DT l exécution du contrôle suit ce chemin.

14 Critères de couverture : principes Un critère C est une méthode de sélection qui fournit un ensemble de chemins de contrôle à couvrir (ou plus généralement un ensemble d objets à couvrir, quand on travaille sur un autre modèle que le graphe de contrôle). À tout critère C est associé un taux de couverture : nb objets dénotés par C nb objets effectivements couverts Quantité de critères plus ou moins exotiques.

15 Critère tous les chemins Critère le plus fort. Impossible à obtenir dès la présence d une boucle. NB : différent du test exhaustif qui correspondrait à tous les chemins avec toutes les valeurs possibles (encore moins faisable).

16 Critère tous les noeuds Aussi appelé Statement Coverage ou TER1 (Test effectiveness ratio). Critère le plus faible. Principes : dénote l ens des chemins qui couvrent l ensemble des noeuds du graphe. taux de couverture = nb noeuds couverts nb noeuds total couverture 100% = toutes les instructions ont été exécutées au moins une fois. S implante facilement avec un compteur d instructions.

17 Critère tous les arcs : exemple... (a) if (x!=0) (a) x!=0 / \ x=0 x = 1; (b) (b) /... \/ y = 1/x; (c) (c) la DT {x=2} satisfait le critère tous les noeuds : elle sensibilise le chemin abc ; mais ne permet pas de détecter l erreur en (c) ; car le chemin révélateur d erreur est ac ; il aurait fallu couvrir les deux branches du if : critère tous les arcs.

18 Critère tous les arcs Appelé aussi Decision Coverage ou toutes les branches ou TER2. dénote l ens des chemins qui couvrent tout(e)s les arcs/branches ; chaque prédicat a pris au moins une fois la valeur vrai et la valeur faux ; taux de couverture : nb arcs couverts nb arcs total Souvent implanté dans les outils. tous les arcs tous les noeuds, mais pas l inverse.

19 Relation d ordre entre critères On dit que le critère C1 est plus fort que le critère C2 si : l ens d objets dénotés par C2 est inclus dans celui dénoté par C1 ; toute faute détectée par C2 l est par C1 ; toute suite de test qui passe pour C1 passe pour C2 ; un taux de couverture de X% pour C1 implique un taux au moins égal à X pour C2 ; On note C2 C1, ou C1 C2. Tous les arcs tous les noeuds, tous les noeuds tous les arcs. Il existe des critères incomparables.

20 À quoi sert le calcul de la couverture? Si on développe en TDD : par principe couverture avoisinant les 100%. peut indiquer qu on a oublié son test first Si on n est pas en test first : le test structurel s applique au niveau unitaire au niveau intégration Permet de vérifier qu une suite de tests donnée couvre l ensemble du code (en pratique, une suite de tests basée sur des critères sémantiques couvre entre 40 et 60% du code)

21 Complémentarité structurel / fonctionnel Les critères fonctionnels détectent + facilement les omissions ds la code. Les critères structurels détectent + facilement les choses exotiques ou superflues (sans rapport avec les spécifications). Toujours appliquer d abord les critères sémantiques.

22 Attention danger! Ne surtout pas faire : coder puis écrire des tests le nez sur le code, qui couvriront 100% des branches et 0% des bugs! Code couvert à 100% ne veut pas dire correct à 100%! Si test d un code étranger : pas d excès de zèle. 80% iront très bien.

23 Outillage Le plus souvent : couverture tous les noeuds et toutes les branches. Le graphe de contrôle n est pas construit, le code est instrumenté : soit au niveau du code source ; soit au niveau du byte-code. Production d un rapport de couverture. Clover : outil commercial, très bonne intégration dans les environnements de développement, très cher ; jcoverage (commercial, GPL) ou Covertura (open-source) ; emma (open-source), EclEmma (pluggin Eclipse).

24 Démo coverage

25 Remarque : prise en compte des conditions Dans le cas de prédicats composés, la décision est composée de plusieurs conditions. Ex x and y : le critère tous les arcs est satisfait : avec deux DT telles que x and y vaudra vrai, et x and y vaudra faux ; par ex {x=t,y=t}, {x=f,y=t}

26 Remarque : prise en compte des conditions Mais si on considère les conditions dans le graphe (ici avec un et paresseux Java) : (a)!x / \ x (c)!y/ \y / (d) (b) La DT {x=t,y=t}, {x=f,y=t} ne sensibilise pas tous les arcs. Vu comme ça, le critère tous les arcs dépend de la manière dont le programme est compilé. Dépend des outils.

27 Problème plus large : faire face à la combinatoire Étant donnée une décision composée de plusieurs conditions......quelles valeurs donner aux conditions? si approche fonctionnelle : quelles valeurs choisir parmi les possibles pour tester au mieux un comportement donné? si approche structurelle : en considérant syntaxiquement la décision, quelles DT choisir pour la couvrir. On parle ici de couverture (de code, de spécification) basée sur les données. Beaucoup de travaux théoriques.

28 Exemple aéronautique WOW = (RG and RD) or (V < 40 and AV) WOW = weight on wheel ; RG / RD : roue gauche / droite ; V : vitesse ; AV : Airspeed valid Comment choisir des valeurs pour tester la valeur de WOW? 2 types de domaines, techniques différentes : booléen (fini) : RG, RD, AV numérique infini : V On peut abstraire le V < 40 en un atome booléen Vb.

29 Critères combinatoires booléens Différents critères permettant d attribuer rigoureusement des valeurs aux conditions booléennes : tous les variants toutes les conditions MC/DC (Modified Condition / Decision Coverage) toutes les paires... Savoir que ça existe et se référer à la littérature si besoin.

30 Critère tous les variants Si n conditions alors 2 n variants : explosion combinatoire ; Dans l exemple : 16 variants (2 4 ) ; impraticable.

31 Critère toutes les conditions/décisions Critère toutes les conditions : Chaque condition doit valoir une fois V et une fois F dans la suite de test ; Deux DT suffisent (n fois V, n fois F) ; Limité. Critère toutes les décisions : idem mais impose en plus que la décision soit au moins une fois à vrai et au moins une fois à faux.

32 critère MC/DC (Modified Condition / Decision Coverage) Examine la manière dont chaque condition seule influence la décision. Modèle de faute : on vérifie que chaque variable isolément influence bien le résultat. On cherche des DT tq : chaque condition est une fois V et une fois F dans l ensemble des DT ; idem pour la décision ; pour chaque condition il existe 2 DT tq seules la valeur de la décision et celle de cette condition changent. n+1 DT suffisent.

33 Exemple : a or b table de vérité : a b a or b V V V 1 V F V 2 F V V 3 F F F 4 on garde le 4, et un variant pour a, un variant pour b : 2 et 3 On peut réorganiser le tableau pour qu entre 2 lignes consécutives une seule valeur varie côté entrées, en faisant varier le résultat : a b a or b V F V 2 F F F 4 F V V 3 WOW = (RG and RD) or (Vb and AV)? En 5 DT.

34 Critère toutes les paires Modèle de faute : erreur dans l interaction entre 2 variables. La plupart des fautes sont détectées par une combinaison de 2 valeurs de variables. Exemple typique : valeurs des options d une commande shell, domaines finis mais non booléens. Si 3 options possibles a b c, et chaque option peut prendre les valeurs : Tous les variants = 27 variants ; 9 paires (a,b), 9 paires (a,c), 9 paires (b,c) = 27 paires. Autre exemple typique : un système avec 3 paramètres importants : l OS (XP, Vista, Linux), le type de browser (Firefox, IE, Opera), et le type de réseau (IP, Wifi, VPN).

35 Critère toutes les paires But du jeu : rassembler le test des paires en le moins possible de DT. Dans l ex : on peut combiner les 27 paires en 9 tuples (a,b,c) (= 9 DT), mais ils ne sont pas facile à trouver, ça relève du sudoku. À la main, on peut faire un carré latin (= pas 2 valeurs différentes par ligne et colonne), intuitif a1 a2 a3 b1 c1 c2 c3 b2 c2 c3 c1 b3 c3 c1 c2 Si plus de 3 valeurs, ou plus de variables : plus un carré, et très difficile. Outils : tableaux orthogonaux.

36 Domaines infinis Approche catégorie / partition basée sur les limites des domaines. Savoir que ça existe et se référer à la littérature si besoin. Ex typiques : calcul de feuille d impôt, d assurance.

37 Introduction

38 Choix d une DT pour sensibiliser un chemin Le faire à la main est très difficile. Il arrive qu un chemin soit non-exécutable : aucune DT ne peut le sensibiliser. Chemins non-exécutables = casse-tête du testeur. Peuvent signaler : du code mort ; ou une erreur de codage. Seule solution : adopter des outils automatiques de sensibilisation capables de fournir les DT qui sensibilisent un chemin donné.

39 Exemple if (x <= 0) (a) (a) x = -x; (b) x<=0 / \ x > 0 else (b) (c) x = 1 - x; (c) \ / if (x == -1) (d) (d) y = 0; (e) x = -1 / \ x!= -1 else (e) (f) y = x - 1; (f) \ / S.O.P(1/y); (g) (g) // erreur en (g) si (S) // y vaut 0

40 Exemple - quelle valeur pour x? if (x <= 0) x = -x; else x = 1 - x; if (x == -1) y = 0; else y = x - 1; S.O.P(1/y); (a) (b) (c) (d) (e) (f) (g) 4 chemins possibles : ch1 = abdeg, ch2 = acdeg ch3 = abdfg ch4 = acdfg Existe-t-il une valeur de x tq en (g) on a y = 0? // erreur en (g) si // y vaut 0

41 Problème général Un outil peut-il répondre de manière systématique, quel que soit le programme et un chemin de ce programme, à la question : existe-t-il des valeurs pour les entrées du programme tq ce chemin est exécuté? Et si la réponse est oui, fournir les valeurs, tant qu à faire...

42 Réponse pas marrante Problème indécidable! NON

43 Réponse de normand Selon la forme du programme : parfois OUI. Outils basés sur l exécution symbolique du programme : représentation des chemins par une formule logique ; utilisation de solveurs SAT / SMT ; si la formule est satisfaisable alors le chemin est exécutable l outil sait produire des valeurs qui satisfont la formules = les DT Solveurs SMT de + en + puissants.

44 Démo avec pyexz3 Outil de proof of concept, python sans objets seulement. Se décharge sur le solveur SMT z3. Arrêt si levée d exception ou erreur.

45 Démo avec Pex

46 Conclusion Spectre très vaste pour les travaux autour du test. Approches pragmatiques, génie logiciel, TDD, mocks, etc. Approches théoriques, métriques, méthodes issues du monde de la vérification/preuve pour calculer des DT, etc. Génération automatique de cas de test à partir de spec.

Quatrième partie IV. Test. Test 15 février 2008 1 / 71

Quatrième partie IV. Test. Test 15 février 2008 1 / 71 Quatrième partie IV Test Test 15 février 2008 1 / 71 Outline Introduction 1 Introduction 2 Analyse statique 3 Test dynamique Test fonctionnel et structurel Test structurel Test fonctionnel 4 Conclusion

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

Test de logiciel dans les méthodes agiles

Test de logiciel dans les méthodes agiles Test de logiciel dans les méthodes agiles Appliqué au contexte objet (Java) 1 Aspects «théoriques» 2 Aspects pratiques le développement dirigé par les tests en partie inspiré d un cours de Laurie Williams

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

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

2.4 Représentation graphique, tableau de Karnaugh

2.4 Représentation graphique, tableau de Karnaugh 2 Fonctions binaires 45 2.4 Représentation graphique, tableau de Karnaugh On peut définir complètement une fonction binaire en dressant son tableau de Karnaugh, table de vérité à 2 n cases pour n variables

Plus en détail

Algèbre binaire et Circuits logiques (2007-2008)

Algèbre binaire et Circuits logiques (2007-2008) Université Mohammed V Faculté des Sciences Département de Mathématiques et Informatique Filière : SMI Algèbre binaire et Circuits logiques (27-28) Prof. Abdelhakim El Imrani Plan. Algèbre de Boole 2. Circuits

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

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

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

Enseignement secondaire technique

Enseignement secondaire technique Enseignement secondaire technique Régime technique Division technique générale Cycle moyen Informatique 11TG Nombre de leçons: 2.0 Nombre minimal de devoirs: - Langue véhiculaire: / Remarque générale:

Plus en détail

TP3 Intégration de pratiques agiles. 1. User Stories (1) Scénario d intégration agile. En direct-live du château

TP3 Intégration de pratiques agiles. 1. User Stories (1) Scénario d intégration agile. En direct-live du château Rappel TP3 Intégration de pratiques agiles En direct-live du château 40 41 Scénario d intégration agile 1. User Stories (1) 1. Rédiger les User Stories (exigences) 2. Planifier les Itérations (quoi / quand)

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

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

Vérification et Validation

Vérification et Validation Vérification et Validation Génie Logiciel Master 1 II Mihaela Sighireanu Objectifs I. Introduire la vérification et la validation (V&V) du logiciel et comprendre leurs différences. II.Définir le plan de

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

Cours d Algorithmique-Programmation 2 e partie (IAP2): programmation 24 octobre 2007impérative 1 / 44 et. structures de données simples

Cours d Algorithmique-Programmation 2 e partie (IAP2): programmation 24 octobre 2007impérative 1 / 44 et. structures de données simples Cours d Algorithmique-Programmation 2 e partie (IAP2): programmation impérative et structures de données simples Introduction au langage C Sandrine Blazy - 1ère année 24 octobre 2007 Cours d Algorithmique-Programmation

Plus en détail

Organigramme / Algorigramme Dossier élève 1 SI

Organigramme / Algorigramme Dossier élève 1 SI Organigramme / Algorigramme Dossier élève 1 SI CI 10, I11 ; CI 11, I10 C24 Algorithmique 8 février 2009 (13:47) 1. Introduction Un organigramme (ou algorigramme, lorsqu il est plus particulièrement appliqué

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

AC AB. A B C x 1. x + 1. d où. Avec un calcul vu au lycée, on démontre que cette solution admet deux solutions dont une seule nous intéresse : x =

AC AB. A B C x 1. x + 1. d où. Avec un calcul vu au lycée, on démontre que cette solution admet deux solutions dont une seule nous intéresse : x = LE NOMBRE D OR Présentation et calcul du nombre d or Euclide avait trouvé un moyen de partager en deu un segment selon en «etrême et moyenne raison» Soit un segment [AB]. Le partage d Euclide consiste

Plus en détail

Cours de Master Recherche

Cours de Master Recherche Cours de Master Recherche Spécialité CODE : Résolution de problèmes combinatoires Christine Solnon LIRIS, UMR 5205 CNRS / Université Lyon 1 2007 Rappel du plan du cours 16 heures de cours 1 - Introduction

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

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

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

Qu est-ce qu une probabilité?

Qu est-ce qu une probabilité? Chapitre 1 Qu est-ce qu une probabilité? 1 Modéliser une expérience dont on ne peut prédire le résultat 1.1 Ensemble fondamental d une expérience aléatoire Une expérience aléatoire est une expérience dont

Plus en détail

Big Data et Graphes : Quelques pistes de recherche

Big Data et Graphes : Quelques pistes de recherche Big Data et Graphes : Quelques pistes de recherche Hamamache Kheddouci Laboratoire d'informatique en Image et Systèmes d'information LIRIS UMR 5205 CNRS/INSA de Lyon/Université Claude Bernard Lyon 1/Université

Plus en détail

LES DIFFERENTS TYPES DE MESURE

LES DIFFERENTS TYPES DE MESURE LES DIFFERENTS TYPES DE MESURE Licence - Statistiques 2004/2005 REALITE ET DONNEES CHIFFREES Recherche = - mesure. - traduction d une réalité en chiffre - abouti à des tableaux, des calculs 1) Qu est-ce

Plus en détail

Examen Médian - 1 heure 30

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

TD 1 - Structures de Traits et Unification

TD 1 - Structures de Traits et Unification TD 1 - Structures de Traits et Unification 1 Définitions Un trait (en: feature) est un couple attribut-valeur. Une structure de traits (en: feature structure) est un ensemble de traits. On peut les représenter

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

CCI Génie Logiciel UFR - IMA. Objectifs du cours d'aujourd'hui. Génie Logiciel Validation par le test. Qu est-ce que tester un programme?

CCI Génie Logiciel UFR - IMA. Objectifs du cours d'aujourd'hui. Génie Logiciel Validation par le test. Qu est-ce que tester un programme? Validation par le test Objectifs du cours d'aujourd'hui Donner des réponses aux questions suivantes : Lydie du Bousquet 2 Qu est-ce que tester un programme? Exercice 1 : Inscrivez sur une feuille ce que

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

1 radian. De même, la longueur d un arc de cercle de rayon R et dont l angle au centre a pour mesure α radians est α R. R AB =R.

1 radian. De même, la longueur d un arc de cercle de rayon R et dont l angle au centre a pour mesure α radians est α R. R AB =R. Angles orientés Trigonométrie I. Préliminaires. Le radian Définition B R AB =R C O radian R A Soit C un cercle de centre O. Dire que l angle géométrique AOB a pour mesure radian signifie que la longueur

Plus en détail

Plan du cours 2014-2015. Cours théoriques. 29 septembre 2014

Plan du cours 2014-2015. Cours théoriques. 29 septembre 2014 numériques et Institut d Astrophysique et de Géophysique (Bât. B5c) Bureau 0/13 email:.@ulg.ac.be Tél.: 04-3669771 29 septembre 2014 Plan du cours 2014-2015 Cours théoriques 16-09-2014 numériques pour

Plus en détail

Environnements de développement (intégrés)

Environnements de développement (intégrés) Environnements de développement (intégrés) Tests unitaires, outils de couverture de code Patrick Labatut labatut@di.ens.fr http://www.di.ens.fr/~labatut/ Département d informatique École normale supérieure

Plus en détail

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

Cours 1 : Introduction Ordinateurs - Langages de haut niveau - Application

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

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

Exprimer ce coefficient de proportionnalité sous forme de pourcentage : 3,5 %

Exprimer ce coefficient de proportionnalité sous forme de pourcentage : 3,5 % 23 CALCUL DE L INTÉRÊT Tau d intérêt Paul et Rémi ont reçu pour Noël, respectivement, 20 et 80. Ils placent cet argent dans une banque, au même tau. Au bout d une année, ce placement leur rapportera une

Plus en détail

Table des matières PRESENTATION DU LANGAGE DS2 ET DE SES APPLICATIONS. Introduction

Table des matières PRESENTATION DU LANGAGE DS2 ET DE SES APPLICATIONS. Introduction PRESENTATION DU LANGAGE DS2 ET DE SES APPLICATIONS Depuis SAS 9.2 TS2M3, SAS propose un nouveau langage de programmation permettant de créer et gérer des tables SAS : le DS2 («Data Step 2»). Ces nouveautés

Plus en détail

Les structures de données. Rajae El Ouazzani

Les structures de données. Rajae El Ouazzani Les structures de données Rajae El Ouazzani Les arbres 2 1- Définition de l arborescence Une arborescence est une collection de nœuds reliés entre eux par des arcs. La collection peut être vide, cad l

Plus en détail

Plan du cours. Historique du langage http://www.oracle.com/technetwork/java/index.html. Nouveautés de Java 7

Plan du cours. Historique du langage http://www.oracle.com/technetwork/java/index.html. Nouveautés de Java 7 Université Lumière Lyon 2 Faculté de Sciences Economiques et Gestion KHARKIV National University of Economic Introduction au Langage Java Master Informatique 1 ère année Julien Velcin http://mediamining.univ-lyon2.fr/velcin

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

Travaux pratiques. Compression en codage de Huffman. 1.3. Organisation d un projet de programmation

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

Représentation d un entier en base b

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

Bases Java - Eclipse / Netbeans

Bases Java - Eclipse / Netbeans Institut Galilée PDJ Année 2014-2015 Master 1 Environnements Java T.P. 1 Bases Java - Eclipse / Netbeans Il existe plusieurs environnements Java. Il est ESSENTIEL d utiliser la bonne version, et un environnement

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

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

Le théorème de Thalès et sa réciproque

Le théorème de Thalès et sa réciproque Le théorème de Thalès et sa réciproque I) Agrandissement et Réduction d une figure 1) Définition : Lorsque toutes les longueurs d une figure F sont multipliées par un même nombre k on obtient une autre

Plus en détail

Évaluation et implémentation des langages

Évaluation et implémentation des langages Évaluation et implémentation des langages Les langages de programmation et le processus de programmation Critères de conception et d évaluation des langages de programmation Les fondations de l implémentation

Plus en détail

Exceptions. 1 Entrées/sorties. Objectif. Manipuler les exceptions ;

Exceptions. 1 Entrées/sorties. Objectif. Manipuler les exceptions ; CNAM NFP121 TP 10 19/11/2013 (Séance 5) Objectif Manipuler les exceptions ; 1 Entrées/sorties Exercice 1 : Lire un entier à partir du clavier Ajouter une méthode readint(string message) dans la classe

Plus en détail

Initiation à l algorithmique

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

Les Angles. I) Angles complémentaires, angles supplémentaires. 1) Angles complémentaires. 2 Angles supplémentaires. a) Définition.

Les Angles. I) Angles complémentaires, angles supplémentaires. 1) Angles complémentaires. 2 Angles supplémentaires. a) Définition. Les Angles I) Angles complémentaires, angles supplémentaires 1) Angles complémentaires Deux angles complémentaires sont deux angles dont la somme des mesures est égale à 90 41 et 49 41 49 90 donc Les angles

Plus en détail

Conventions d écriture et outils de mise au point

Conventions 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é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

Expression des contraintes. OCL : Object C o n t r a i n t L a n g u a g e

Expression 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é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

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

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

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

Résolution de systèmes linéaires par des méthodes directes

Résolution de systèmes linéaires par des méthodes directes Résolution de systèmes linéaires par des méthodes directes J. Erhel Janvier 2014 1 Inverse d une matrice carrée et systèmes linéaires Ce paragraphe a pour objet les matrices carrées et les systèmes linéaires.

Plus en détail

Introduction aux tests du logiciel

Introduction aux tests du logiciel Introduction aux tests du logiciel F.X. Fornari xavier.fornari@esterel-technologies.com P. Manoury pascal.manoury@pps.jussieu.fr 2011 Contents 1 Présentation du cours 3 2 Introduction aux tests logiciels

Plus en détail

Big Data et Graphes : Quelques pistes de recherche

Big Data et Graphes : Quelques pistes de recherche Big Data et Graphes : Quelques pistes de recherche Hamamache Kheddouci http://liris.cnrs.fr/hamamache.kheddouci Laboratoire d'informatique en Image et Systèmes d'information LIRIS UMR 5205 CNRS/INSA de

Plus en détail

Les processus légers : threads. Système L3, 2014-2015 1/31

Les processus légers : threads. Système L3, 2014-2015 1/31 Les processus légers : threads Système L3, 2014-2015 1/31 Les threads Les threads sont des processus légers exécutés à l intérieur d un processus L exécution des threads est concurrente Il existe toujours

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

TD3: tableaux avancées, première classe et chaînes

TD3: tableaux avancées, première classe et chaînes TD3: tableaux avancées, première classe et chaînes de caractères 1 Lestableaux 1.1 Élémentsthéoriques Déclaration des tableaux Pour la déclaration des tableaux, deux notations sont possibles. La première

Plus en détail

pyensae StockPrices September 1, 2015 1 Manipulation de séries financières avec la classe StockPrices

pyensae StockPrices September 1, 2015 1 Manipulation de séries financières avec la classe StockPrices pyensae StockPrices September 1, 2015 1 Manipulation de séries financières avec la classe StockPrices La classe StockPrices facilite la récupération de données financières via le site Yahoo Finance ainsi

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

RAPPELS SUR LES METHODES HERITEES DE LA CLASSE RACINE Object ET LEUR SPECIALISATION (i.e. REDEFINITION)

RAPPELS SUR LES METHODES HERITEES DE LA CLASSE RACINE Object ET LEUR SPECIALISATION (i.e. REDEFINITION) CLASSE RACINE Object ancêtre de toutes les classes RAPPELS SUR LES METHODES HERITEES DE LA CLASSE RACINE Object ET LEUR SPECIALISATION (i.e. REDEFINITION) définit donc des méthodes héritées par toutes

Plus en détail

Les droites (d 1 ) et (d 2 ) sont sécantes en A Le point A est le point d intersection des 2 droites

Les droites (d 1 ) et (d 2 ) sont sécantes en A Le point A est le point d intersection des 2 droites I Droites perpendiculaires Lorsque deux droites se coupent, on dit qu elles sont sécantes Les droites (d 1 ) et (d 2 ) sont sécantes en A Le point A est le point d intersection des 2 droites Lorsque deux

Plus en détail

SSTIC 2009. Désobfuscation automatique de binaires. Alexandre Gazet. Yoann Guillot. Et autres idyles bucoliques...

SSTIC 2009. Désobfuscation automatique de binaires. Alexandre Gazet. Yoann Guillot. Et autres idyles bucoliques... Désobfuscation automatique de binaires Et autres idyles bucoliques... Alexandre Gazet Sogeti / ESEC R&D alexandre.gazet(at)sogeti.com Yoann Guillot Sogeti / ESEC R&D yoann.guillot(at)sogeti.com SSTIC 2009

Plus en détail

1. Structure d'un programme FORTRAN 95

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

EP 2 071 505 A1 (19) (11) EP 2 071 505 A1 (12) DEMANDE DE BREVET EUROPEEN. (43) Date de publication: 17.06.2009 Bulletin 2009/25

EP 2 071 505 A1 (19) (11) EP 2 071 505 A1 (12) DEMANDE DE BREVET EUROPEEN. (43) Date de publication: 17.06.2009 Bulletin 2009/25 (19) (12) DEMANDE DE BREVET EUROPEEN (11) EP 2 071 0 A1 (43) Date de publication: 17.06.09 Bulletin 09/2 (1) Int Cl.: G06Q /00 (06.01) (21) Numéro de dépôt: 0817092.3 (22) Date de dépôt: 03.12.08 (84)

Plus en détail

Langage propre à Oracle basé sur ADA. Offre une extension procédurale à SQL

Langage propre à Oracle basé sur ADA. Offre une extension procédurale à SQL Cours PL/SQL Langage propre à Oracle basé sur ADA Offre une extension procédurale à SQL PL/SQL permet d utiliser un sous-ensemble du langage SQL des variables, des boucles, des alternatives, des gestions

Plus en détail

Plan. 1 Cycles de développement. 2 Méthodes agiles, principes généraux. 3 Comment se passe un Sprint?

Plan. 1 Cycles de développement. 2 Méthodes agiles, principes généraux. 3 Comment se passe un Sprint? Plan nitiation au Génie Logiciel Cours 5 ntroduction au π développement agile T. Genet (genet@irisa.fr) (STC/RSA) GEN-5 1/ 28 T. Genet (genet@irisa.fr) (STC/RSA) GEN-5 2/ 28 Bibliographie Plan L informatique

Plus en détail

Module Administration BD Chapitre 1 : Surcouche procédurale dans les SGBDS

Module Administration BD Chapitre 1 : Surcouche procédurale dans les SGBDS Module Administration BD Chapitre 1 : Surcouche procédurale dans les SGBDS 1. Introduction Nous allons aborder la notion de surcouche procédurale au sein des SGBDS relationnels tels que Oracle (PLSQL)

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

1 Lecture de fichiers

1 Lecture de fichiers Programmation 1 Cours n 6 GB3, 2 nd semestre 2014-2015 Cours de Python Gilles Bernot 1 Lecture de fichiers Un fichier est une suite de caractères mémorisés sur le disque dur de la machine dans un endroit

Plus en détail

DG-ADAJ: Une plateforme Desktop Grid

DG-ADAJ: Une plateforme Desktop Grid DG-ADAJ: Une plateforme pour Desktop Grid Olejnik Richard, Bernard Toursel Université des Sciences et Technologies de Lille Laboratoire d Informatique Fondamentale de Lille (LIFL UMR CNRS 8022) Bât M3

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

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

Présentation du PL/SQL

Présentation du PL/SQL I Présentation du PL/ Copyright Oracle Corporation, 1998. All rights reserved. Objectifs du Cours A la fin de ce chapitre, vous saurez : Décrire l intéret du PL/ Décrire l utilisation du PL/ pour le développeur

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

Compression Compression par dictionnaires

Compression Compression par dictionnaires Compression Compression par dictionnaires E. Jeandel Emmanuel.Jeandel at lif.univ-mrs.fr E. Jeandel, Lif CompressionCompression par dictionnaires 1/25 Compression par dictionnaire Principe : Avoir une

Plus en détail

Cours d initiation à la programmation en C++ Johann Cuenin

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

Introduction à MATLAB R

Introduction à MATLAB R Introduction à MATLAB R Romain Tavenard 10 septembre 2009 MATLAB R est un environnement de calcul numérique propriétaire orienté vers le calcul matriciel. Il se compose d un langage de programmation, d

Plus en détail

Lambda! Rémi Forax Univ Paris-Est Marne-la-Vallée

Lambda! Rémi Forax Univ Paris-Est Marne-la-Vallée Lambda! Rémi Forax Univ Paris-Est Marne-la-Vallée forax at univ-mlv dot fr - ParisJUG Java.next() - Mars 2012 What Else? Lambda == Inner class? Java a des lambdas depuis la version 1.1 Exemple utilisant

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

Calcul matriciel. Définition 1 Une matrice de format (m,n) est un tableau rectangulaire de mn éléments, rangés en m lignes et n colonnes.

Calcul matriciel. Définition 1 Une matrice de format (m,n) est un tableau rectangulaire de mn éléments, rangés en m lignes et n colonnes. 1 Définitions, notations Calcul matriciel Définition 1 Une matrice de format (m,n) est un tableau rectangulaire de mn éléments, rangés en m lignes et n colonnes. On utilise aussi la notation m n pour le

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

Mesurer les performances (CPU) sous Linux

Mesurer les performances (CPU) sous Linux Titre : Mesurer les performances (CPU) sous Linux Date : 22/07/2015 Page : 1/7 Mesurer les performances (CPU) sous Linux Résumé : Il existe des outils permettant de tracer les temps CPU utilisés (profiling).

Plus en détail

td3a correction session7az

td3a correction session7az td3a correction session7az August 19, 2015 1 Séance 7 : PIG et JSON et streaming avec les données vélib (correction avec Azure) Plan Récupération des données Connexion au cluster et import des données

Plus en détail

Java Licence Professionnelle CISII, 2009-2010. Cours 2 : Classes et Objets

Java Licence Professionnelle CISII, 2009-2010. Cours 2 : Classes et Objets Licence Professionnelle CISII, 2009-2010 Cours 2 : Classes et Objets 1 Classes et Objets Objectifs des LOO : - Manipuler des objets - Découper les programmes suivant les types des objets manipulés - Regrouper

Plus en détail

Cours 1 : Qu est-ce que la programmation?

Cours 1 : Qu est-ce que la programmation? 1/65 Introduction à la programmation Cours 1 : Qu est-ce que la programmation? Yann Régis-Gianas yrg@pps.univ-paris-diderot.fr Université Paris Diderot Paris 7 2/65 1. Sortez un appareil qui peut se rendre

Plus en détail

1S Modèles de rédaction Enoncés

1S Modèles de rédaction Enoncés Par l équipe des professeurs de 1S du lycée Parc de Vilgénis 1S Modèles de rédaction Enoncés Produit scalaire & Corrigés Exercice 1 : définition du produit scalaire Soit ABC un triangle tel que AB, AC

Plus en détail

Assurance Qualité. Cours de génie logiciel. Renaud Marlet. LaBRI / INRIA http://www.labri.fr/~marlet. (d'après A.-M. Hugues) màj 23/04/2007

Assurance Qualité. Cours de génie logiciel. Renaud Marlet. LaBRI / INRIA http://www.labri.fr/~marlet. (d'après A.-M. Hugues) màj 23/04/2007 1 Cours de génie logiciel (d'après A.-M. Hugues) Assurance Qualité Renaud Marlet LaBRI / INRIA http://www.labri.fr/~marlet màj 23/04/2007 2 Les deux facettes de la qualité Conformité avec la définition

Plus en détail

Logique binaire. Aujourd'hui, l'algèbre de Boole trouve de nombreuses applications en informatique et dans la conception des circuits électroniques.

Logique binaire. Aujourd'hui, l'algèbre de Boole trouve de nombreuses applications en informatique et dans la conception des circuits électroniques. Logique binaire I. L'algèbre de Boole L'algèbre de Boole est la partie des mathématiques, de la logique et de l'électronique qui s'intéresse aux opérations et aux fonctions sur les variables logiques.

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