Chaines de caractères. Opérations de chaine. Spécification algébrique d un type de données. 1. Type abstrait

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

Download "Chaines de caractères. Opérations de chaine. Spécification algébrique d un type de données. 1. Type abstrait"

Transcription

1 Chaines de caractères 1. Type abstrait 1. Type abstrait Définition indépendante de la représentation en mémoire. Introduction à la spécification algébrique des types Opérations de comparaison On définit une liste d opérations sur les objets de ce type 2. Algorithmes de recherche de sous-chaînes 3. Implémentation Opérations concaténation élément à la position i sous-chaine de a à b modifier l élément à la position i insérer/retirer à la position i modifier l élément à la position i comparaisons 1 de 43 2 de 43 Spécification algébrique d un type de données Opérations de chaine Une technique de spécification formelle d un type de données Constructeurs --> chaine -- chaine vide Liste des opérations ajout(caractère, chaine) --> chaine constructeurs : produisent un objet de ce type concat(chaine, chaine) --> chaine sélecteurs : donnent une propriété d un objet de ce type Sélecteurs Profil des opérations car_à (entier, chaine ) --> caractère types des paramètres longueur(chaine) --> entier type du résultat sous_chaine(entier, entier, chaine) --> chaine Axiomes définition de la sémantique des opérations Expression logique => Equivalence 3 de 43 4 de 43

2 Axiomes S : chaine T : chaine C : caractère I : entier longueur(vide) == 0 longueur(ajout(c, S)) == longueur(s) + 1 Axiomes (suite) I = 1 => car_à(i, ajout(c, S)) == C I > 1 => car_à(i, ajout(c, S)) == car_à(i 1, S) longueur(concat(s, T)) == longueur(s) + longueur(t) I longueur(s) => car_à(i, concat(s, T)) == car_à(i, S) I > longueur(s) => car_à(i, concat(s, T)) == car_à(i longueur(s), T) 5 de 43 6 de 43 Utilisation des axiomes Utilisation des axiomes (suite) Calculer la longueur d une chaine longeur(ajout( b, ajout( o, ajout( n, )))) Quel est le deuxième caractère de "bon"? longueur(ajout(c, S)) == longueur(s) + 1 car_à(2, ajout( b, ajout( o, ajout( n, )))) == longeur(ajout( o, ajout( n, ))) + 1 I > 1 => car_à(i, ajout(c, S)) == car_à(i 1, S) == longeur(ajout( n, )) == car_à(1, ajout( o, ajout( n, ))) == longueur( ) I = 1 => car_à(i, ajout(c, S)) == C longueur(vide) == 0 == == o 7 de 43 8 de 43

3 Transformer concat en ajout Définition des comparaisons de chaines Axiomes Opération d égalité stricte concat(ajout(c, S), T) == ajout(c, concat(s, T)) = : chaine, chaine --> booléen concat(vide, S) == S concat(s, vide) == S Axiomes de l égalité stricte = == vrai longueur(s) longueur(t) => S = T == faux Utilisation: "bon"+"jo" C1 = C2 => ajout(c1, S) = ajout(c2, T) == S = T concat(ajout( b, ajout( o, ajout( n, ))), ajout( j, ajout( o, ))) C1 C2 => ajout(c1, S) = ajout(c2, T) == faux == ajout( b, concat(ajout( o, ajout( n, )), ajout( j, ajout( o, )))) == ajout( b, ajout( o, concat(ajout( n, ), ajout( j, ajout( o, ))))) Donc == ajout( b, ajout( o, ajout( n, concat(, ajout( j, ajout( o, )))))) "swing " = "swing" == faux == ajout( b, ajout( o, ajout( n, ajout( j, ajout( o, ))))) "swing" = "swing" == vrai "swing" = "Swing" == faux On peut désormais considérer que les chaines ne sont faites que de ajout "mel" = "mél" == faux 9 de de 43 Egalité par degré Comparaison lexicographique On suppose qu il existe des degrés d égalité sur les caractères Il doit exister un ordre ( ) sur les caractères (avec des degrés) = 0 : égalité stricte Axiomes = 1 : des car. différents selon = 0 sont considérés égaux vide S == vr ai "e" = 1 "é" ==> "fréquence" = "frequence" C1 < C2 => ajout(c1, S) ajout(c2, T) == vr ai = 2 : encore plus large C1 = C2 => ajout(c1, S1) ajout(c2, S2) == S1 S2 "e" = 2 "E" ==> "Fréquence" = "frequence" C1 > C2 => ajout(c1, S) ajout(c2, T) == faux etc. Dépend de la langue! (voir: classe java.text.collator) Donc "Zot" "aot" (si "Z" "a") Mêmes axiomes que l égalité stricte mais en remplaçant = par = D "truc" "truc " (mais pas l inverse) "1205" "205" 11 de de 43

4 2. Algorithmes de recherche d une sous-chaîne Recherche directe Problème Chercher si x apparaît dans y On a une chaîne y de taille n. On suppose que les chaînes sont stockées dans des tableaux On cherche une occurence de x (de taille m n) dans y x : tableau de m caractères y : tableau de n caractères Algorithmes Recherche directe Algorithme Automate à états Karp-Rabin (Hachage ) Boyer Moore et beaucoup d autres : tester si x se trouve au début de y : x[0.. m 1] = y[0.. m-1] tester à partir de la position 1 de y : x[0.. m 1] = y[1.. m] tester à partir de la position 2 de y : x[0.. m 1] = y[2.. m+1] tester à partir de la position k de y : x[0.. m 1] = y[k.. k+m 1] 13 de de 43 Algorithme Automate à états i := 0; position = -1; pour i := 0 jusqu àn m { j := 0; tant quej < m et ensuite x[j] = y[i+j] { --- ici on sait que x[0.. j] = y[i.. i+j] j := j+1 } si j = m { position = i sortir} ; --- ici on sait que x[0.. m 1] y[u.. u+m 1] --- pour tous les u entre 0 et i } --- si position = -1 on est sûr que x[0.. m 1] y[u.. u+m 1] --- pour tous les u entre 0 et n m, --- donc que x ne se trouve pas dans y. Technique : 1. construire un automate à états qui reconnaît la chaîne cherchée. 2. donner la chaîne à examiner comme entrée de l automate 3. simuler le fonctionnemet de l automate Complexité : O(n x m) 15 de de 43

5 Exemple : chercher "boboa" Construction de l automate Automate : ε pas b b boboa a b b b ni o ni b pas b ni a ni b bobo b o o bo b bob b Chaque état de l automate correspond à un préfixe de la chaîne x à chercher ε, x[0], x[0..1], x[0..2], Il y a une transition q a > qa si qa est un préfixe de x sinon il y a une transition q a > p où p est le plus long suffixe de qa qui est un préfixe de x 17 de de 43 Représentation de l automate Une transition q a > r est représentée par A [ nq ] [ na ] = nr nq : numéro d ordre du préfixe q na : code (entier) du caractère a nr : numéro d ordre du préfixe r A [ j ] [ k ] contient l état dans lequel il faut aller quand on rencontre k dans l état j. Exemple A 0: a 1: b... 14: o... 0 : ε : b : bo : bob : bobo : boboa Exécution de l automate etat 0 ; pour j de 1 à n { etat A[ etat ][ y[j] ]; si etat = FINAL retourner j taille(x) + 1 // début } retourner 1 19 de de 43

6 Karp-Rabin (Hachage) Algorithme Pour accélérer la recherche on teste une signature de la chaîne Si h est une fonction Chaînes --> Entiers Si x = y[j j+m 1] alors h(x) = h(y[j j+m 1]) calculer une fois pour toutes hx = h(x) pour j de 0 à n m + 1 { calculer hy = h(y[j j+m 1]) si hy = hx tester l égalité entre x et y[j j+m 1] } Donc si h(x) h(y[j j+m 1]) alors x y[j j+m 1]. Effectivement plus rapide si le calcul de hy est plus rapide que la comparaison Et si la fonction h est non triviale. 21 de de 43 Karp-Rabin (suite) Boyer Moore Astuce : calculer h(y[j+1 j+m]) à partir de h(y[j j+m 1]) On prend comme fonction h h(y[0 m 1] = (y[0]2 m y[m 1]2 0 ) mod q (pour q assez grand) Idée: déplacer la "fenêtre" de test de plusieurs cases d un coup quand c est possible. Pour chaque position à laquelle intervient une différence on a un décalage spécifique. Deux cas : bon-suffixe et mauvais-caractère. On commence les comparaisons par la fin de x. On a alors h(y[j+1 j+m]) = y[j+1]2 m y[j+m]2 0 mod q = (h(y[j j+m 1]) 2(y[j]2 m 1 ) + y[j+m]) mod q une multiplication par 2 m 1, une multiplication par 2, une soustraction, une addition et un modulo. 23 de de 43

7 Bon suffixe Mauvais caractère : Le caractère b de y ne correspond pas au a de x. On cherche la prochaine sous-chaine u dans x. S il n y en a pas on cherche le plus grand préfixe v de x qui est un suffixe de u. Tableau : caractère --> décalage. Décalage final : MAX (décalage bon suffixe, décalage mauvais car.) Ces tableaux peuvent être calculés en temps O(m + taille alphabet) Etablir un tableau : no. du caractère différent --> décalage. 25 de de 43 Données de taille variable 3. Représentation des chaînes Dans les programmes on aimerait pouvoir écrire Solution bornée Réserver l espace nécessaire à la plus grande chaîne que l on va mettre dans X. X : [ taille : Entier, contenu : tableau [1... max] de Caractère ] X "bon"... X "bonjour" Quel espace mémoire réserver pour la variable X? 1. S "abc" 3 S a b c Solutions Chaînes bornées 2. S "hahahabc" S 8 h a h a h a b c Chaînes non bornées Mutabilité et immuabilité 27 de de 43

8 Problèmes comment fixer la taille maximale d une chaîne? gaspillage de place pour la plupart des valeurs exemple : stocker des mot français dans des chaînes Solution non bornée => allocation dynamique de la mémoire et déplacement des données (impossible d agrandir sur-place une zone mémoire) ma chaine taille maximale =~ 26 (anticonstitutionnellement) taille moyenne : probablement inférieure à 7 place inoccupée : env. 70% ma nouvelle chaine mécanisme d allocation tient à jour une carte des zones occupées et libres de la mémoire est capable de trouver (rapidement) une zone libre d une taille donnée => coût 29 de de 43 Allocation dynamique de la mémoire et références Structure de données Variable de type référence chaine = [ taille : Entier, contenu : référence à tableau de Caractère ] contient l adress d un objet (entier, réel, tableau, etc.) référence = adresse mémoire d un objet de type tableau de Caractères pointeur qui contient n importe quelle adresse mémoire (év ent. à l intérieur d un objet ou en dehors de tout objet) Procédure d allocation 1. S "abcxx" S 5 a b c x x nouveau T ( new T() en Java) trouve un emplacement libre pour stocker un objet de type T fournit l adresse de cet objet 2. S "wwf" S 3 w w f p.ex. X = nouveau Tableau de 20 caractères X 3. S "hahahabcd" (allocation d un nouveau tableau) S h a h a h a b c d 8 w w f 31 de de 43

9 Propriétés Dans les langages Pas de limitation de taille Bonne utilisation de la mémoire Allocation d un nouvel espace => coût (chercher une place en mémoire) => réduire le nombre de réallocations => allouer un espace n% plus grand que nécessaire En Java String x Toute variable de type String est une référence à un objet mémoire String. En C char* x Les variables de type référence sont indiquée par une * Ce ne sont pas de vraies références à des objets mais des pointeurs -- qui peuvent pointer absolument n importe où en mémoire. 33 de de 43 Représentation immuable L objet qui contient la chaîne ne peut changer, chaque fois que l on affecte une nouvelle valeur à une variable chaîne, il faut créer (allouer) un nouvel objet. 1. x "cos" 2. y x 3. x x + "mos" Propriétés Pas besoin de prévoir des chaînes extensibles (non bornées), une fois qu une chaîne a été créée elle ne bouge plus. Deux variables peuvent faire référence à la même chaîne en mémoire si elles on la même valeur pas de problème d alias. x (3) (1) "cosmos" "cos" (2) y Toute opération qui produit un résultat de type chaîne doit créer une nouvelle chaîne pour stocker le résultat => coût. String S = "*"; for (i=1; i<=10000; i++) { S = S + "*" } => allocations + recopies de nouvelles chaînes 35 de de 43

10 Représentation mutable Un objet chaîne peut changer de valeur. => les opérations ne produisent pas forcément de nouveaux objets de stockage 1. x "hop et boum" 2. y x 3. x "zip" moins de créations d objets Propriétés des objets mutables prévoir une stratégie d extension qui minimise les réallocations, (et reréférences) effets d alias A, B : chaînes mutables x (1) Chaîne (2) "hop et boum" "zip" (3) y A = "encore"; B = A; A = A + " vous"; --- B = "encore vous" 37 de de 43 Mutabilité: Stratégies d extension Allouer un nouvel objet uniquement quand c est nécessaire (extension) - allouer plus de place que nécessaire lors de l extension de chaînes - p.ex. allouer toujours k cellules de plus. - p.ex. allouer le double de la taille précédente. [1] s "une chaîne ici" [2] s "plus court" [3] s s +"! " [4] s "de plus en plus long" s "*" pour i de 1 à { s s + "*" } Mutabilité et Performances si on alloue systématiquement k cellules de plus que nécessaire : / k allocations en tout --> voir type StringBuffer en Java s de plus en plus long une chaîne ici plus court (4) (1, 2, 3) 39 de de 43

11 Implémentation des opérations Implémentation Concaténation(s1, s2) chaînes immuables : 1. allouer un objet pour le résultat 2. copier s1 3. copier s2 complexité: allocation( s1 + s2 ) + ( s1 + s2 )copier caractère chaînes mutables si ( s2 > espace libre dans l objet s1) { allouer un objet pour le résultat copier s1 } copier s2 Insertion(s1, s2, position) Chaînes immuables : comme la concaténation Chaînes mutables s il y a réallocation : comme pour les chaînes immuables sinon ( s1 position)copies + s2 copies Conclusion: impossible de traiter de grands textes de manière efficace complexité: pire cas : comme chaînes immuables, meilleur cas : ( s1 ) copier caractèe 41 de de 43 Représentation - Résumé Les options de représentation sont : mutable immuable borné constantes non bornée avec référence peu d allocation/déallocation mémoire attention aux alias pas d alias bcp allocations mémoire 43 de 43

Définitions. Numéro à préciser. (Durée : )

Définitions. Numéro à préciser. (Durée : ) Numéro à préciser (Durée : ) On étudie dans ce problème l ordre lexicographique pour les mots sur un alphabet fini et plusieurs constructions des cycles de De Bruijn. Les trois parties sont largement indépendantes.

Plus en détail

Utilisation d objets : String et ArrayList

Utilisation d objets : String et ArrayList Chapitre 6 Utilisation d objets : String et ArrayList Dans ce chapitre, nous allons aborder l utilisation d objets de deux classes prédéfinies de Java d usage très courant. La première, nous l utilisons

Plus en détail

Suivant les langages de programmation, modules plus avancés : modules imbriqués modules paramétrés par des modules (foncteurs)

Suivant les langages de programmation, modules plus avancés : modules imbriqués modules paramétrés par des modules (foncteurs) Modularité Extensions Suivant les langages de programmation, modules plus avancés : modules imbriqués modules paramétrés par des modules (foncteurs) généricité modules de première classe : peuvent être

Plus en détail

6. Hachage. Accès aux données d'une table avec un temps constant Utilisation d'une fonction pour le calcul d'adresses

6. Hachage. Accès aux données d'une table avec un temps constant Utilisation d'une fonction pour le calcul d'adresses 6. Hachage Accès aux données d'une table avec un temps constant Utilisation d'une fonction pour le calcul d'adresses PLAN Définition Fonctions de Hachage Méthodes de résolution de collisions Estimation

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

Quelques algorithmes simples dont l analyse n est pas si simple

Quelques algorithmes simples dont l analyse n est pas si simple Quelques algorithmes simples dont l analyse n est pas si simple Michel Habib habib@liafa.jussieu.fr http://www.liafa.jussieu.fr/~habib Algorithmique Avancée M1 Bioinformatique, Octobre 2008 Plan Histoire

Plus en détail

PROJET ALGORITHMIQUE ET PROGRAMMATION II

PROJET ALGORITHMIQUE ET PROGRAMMATION II PROJET 1 ALGORITHMIQUE ET PROGRAMMATION II CONTENU DU RAPPORT A RENDRE : o Fiche signalétique du binôme o Listing des différents fichiers sources o CD sources o Il sera tenu compte de la présentation du

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

Machines virtuelles Cours 1 : Introduction

Machines virtuelles Cours 1 : Introduction Machines virtuelles Cours 1 : Introduction Pierre Letouzey 1 pierre.letouzey@inria.fr PPS - Université Denis Diderot Paris 7 janvier 2012 1. Merci à Y. Régis-Gianas pour les transparents Qu est-ce qu une

Plus en détail

Capacité d un canal Second Théorème de Shannon. Théorie de l information 1/34

Capacité d un canal Second Théorème de Shannon. Théorie de l information 1/34 Capacité d un canal Second Théorème de Shannon Théorie de l information 1/34 Plan du cours 1. Canaux discrets sans mémoire, exemples ; 2. Capacité ; 3. Canaux symétriques ; 4. Codage de canal ; 5. Second

Plus en détail

Chapitre 10. Les interfaces Comparable et Comparator 1

Chapitre 10. Les interfaces Comparable et Comparator 1 Chapitre 10: Les interfaces Comparable et Comparator 1/5 Chapitre 10 Les interfaces Comparable et Comparator 1 1 Ce chapitre a été extrait du document "Objets, Algorithmes, Patterns" de [René Lalement],

Plus en détail

Initiation à la Programmation en Logique avec SISCtus Prolog

Initiation à la Programmation en Logique avec SISCtus Prolog Initiation à la Programmation en Logique avec SISCtus Prolog Identificateurs Ils sont représentés par une suite de caractères alphanumériques commençant par une lettre minuscule (les lettres accentuées

Plus en détail

Plus courts chemins, programmation dynamique

Plus courts chemins, programmation dynamique 1 Plus courts chemins, programmation dynamique 1. Plus courts chemins à partir d un sommet 2. Plus courts chemins entre tous les sommets 3. Semi-anneau 4. Programmation dynamique 5. Applications à la bio-informatique

Plus en détail

La NP-complétude. Johanne Cohen. PRISM/CNRS, Versailles, France.

La NP-complétude. Johanne Cohen. PRISM/CNRS, Versailles, France. La NP-complétude Johanne Cohen PRISM/CNRS, Versailles, France. Références 1. Algorithm Design, Jon Kleinberg, Eva Tardos, Addison-Wesley, 2006. 2. Computers and Intractability : A Guide to the Theory of

Plus en détail

FORD C-MAX + FORD GRAND C-MAX CMAX_Main_Cover_2013_V3.indd 1-3 22/08/2012 15:12

FORD C-MAX + FORD GRAND C-MAX CMAX_Main_Cover_2013_V3.indd 1-3 22/08/2012 15:12 1 2 3 4 5 6 7 8 9 10 12,999,976 km 9,136,765 km 1,276,765 km 499,892 km 245,066 km 112,907 km 36,765 km 24,159 km 7899 km 2408 km 76 km 12 14 16 1 12 7 3 1 6 2 5 4 3 11 9 10 8 18 20 21 22 23 24 26 28 30

Plus en détail

Exercices - Polynômes : corrigé. Opérations sur les polynômes

Exercices - Polynômes : corrigé. Opérations sur les polynômes Opérations sur les polynômes Exercice 1 - Carré - L1/Math Sup - Si P = Q est le carré d un polynôme, alors Q est nécessairement de degré, et son coefficient dominant est égal à 1. On peut donc écrire Q(X)

Plus en détail

CRYPTOGRAPHIE. Signature électronique. E. Bresson. Emmanuel.Bresson@sgdn.gouv.fr. SGDN/DCSSI Laboratoire de cryptographie

CRYPTOGRAPHIE. Signature électronique. E. Bresson. Emmanuel.Bresson@sgdn.gouv.fr. SGDN/DCSSI Laboratoire de cryptographie CRYPTOGRAPHIE Signature électronique E. Bresson SGDN/DCSSI Laboratoire de cryptographie Emmanuel.Bresson@sgdn.gouv.fr I. SIGNATURE ÉLECTRONIQUE I.1. GÉNÉRALITÉS Organisation de la section «GÉNÉRALITÉS»

Plus en détail

Programmation linéaire

Programmation linéaire 1 Programmation linéaire 1. Le problème, un exemple. 2. Le cas b = 0 3. Théorème de dualité 4. L algorithme du simplexe 5. Problèmes équivalents 6. Complexité de l Algorithme 2 Position du problème Soit

Plus en détail

Table des matières. Introduction

Table des matières. Introduction Table des matières 1 Formalisation des virus informatiques 2 1.1 Les machines de Turing........................ 2 1.2 Formalisation de Fred Cohen..................... 2 1.2.1 Définition d un virus informatique..............

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

1 Recherche en table par balayage

1 Recherche en table par balayage 1 Recherche en table par balayage 1.1 Problème de la recherche en table Une table désigne une liste ou un tableau d éléments. Le problème de la recherche en table est celui de la recherche d un élément

Plus en détail

Architecture des Systèmes d Information Architecture des Systèmes d Information

Architecture des Systèmes d Information Architecture des Systèmes d Information Plan... Tableaux et tris I3 - Algorithmique et programmation 1 Rappels Nicol Delestre 2 Tableaux à n dimensions 3 Initiation aux tris Tableaux - v2.0.1 1 / 27 Tableaux - v2.0.1 2 / 27 Rappels : tableau

Plus en détail

Correction TD algorithmique

Correction TD algorithmique Affectation Correction TD algorithmique Exercice 1 algo affect1b b 5 a b+1 b 2 Il vaut faire passer la notion de variable et la notion de stockage mémoire. Une variable n a donc pas d historique et à un

Plus en détail

De même, le périmètre P d un cercle de rayon 1 vaut P = 2π (par définition de π). Mais, on peut démontrer (difficilement!) que

De même, le périmètre P d un cercle de rayon 1 vaut P = 2π (par définition de π). Mais, on peut démontrer (difficilement!) que Introduction. On suppose connus les ensembles N (des entiers naturels), Z des entiers relatifs et Q (des nombres rationnels). On s est rendu compte, depuis l antiquité, que l on ne peut pas tout mesurer

Plus en détail

TP3 : Manipulation et implantation de systèmes de fichiers 1

TP3 : Manipulation et implantation de systèmes de fichiers 1 École Normale Supérieure Systèmes et réseaux Année 2012-2013 TP3 : Manipulation et implantation de systèmes de fichiers 1 1 Répertoire de travail courant Le but de l exercice est d écrire une commande

Plus en détail

ÉPREUVE COMMUNE DE TIPE 2008 - Partie D

ÉPREUVE COMMUNE DE TIPE 2008 - Partie D ÉPREUVE COMMUNE DE TIPE 2008 - Partie D TITRE : Les Fonctions de Hachage Temps de préparation :.. 2 h 15 minutes Temps de présentation devant le jury :.10 minutes Entretien avec le jury :..10 minutes GUIDE

Plus en détail

Raisonnement par récurrence Suites numériques

Raisonnement par récurrence Suites numériques Chapitre 1 Raisonnement par récurrence Suites numériques Terminale S Ce que dit le programme : CONTENUS CAPACITÉS ATTENDUES COMMENTAIRES Raisonnement par récurrence. Limite finie ou infinie d une suite.

Plus en dé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

# let rec concat l1 l2 = match l1 with [] -> l2 x::l 1 -> x::(concat l 1 l2);; val concat : a list -> a list -> a list = <fun>

# let rec concat l1 l2 = match l1 with [] -> l2 x::l 1 -> x::(concat l 1 l2);; val concat : a list -> a list -> a list = <fun> 94 Programmation en OCaml 5.4.8. Concaténation de deux listes Définissons maintenant la fonction concat qui met bout à bout deux listes. Ainsi, si l1 et l2 sont deux listes quelconques, concat l1 l2 constitue

Plus en détail

Classes et Objets en Ocaml.

Classes et Objets en Ocaml. Classes et Objets en Ocaml. Didier Rémy 2001-2002 http://cristal.inria.fr/ remy/mot/2/ http://www.enseignement.polytechnique.fr/profs/informatique/didier.remy/mot/2/ Cours Exercices Slide 1 1. Objets 2.

Plus en dé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

OCL - Object Constraint Language

OCL - Object Constraint Language OCL - Object Constraint Language Laëtitia Matignon laetitia.matignon@univ-lyon1.fr Département Informatique - Polytech Lyon Université Claude Bernard Lyon 1 2012-2013 Laëtitia Matignon SIMA - OCL - Object

Plus en détail

Projet L1, S2, 2015: Simulation de fourmis, Soutenance la semaine du 4 mai.

Projet L1, S2, 2015: Simulation de fourmis, Soutenance la semaine du 4 mai. Projet L1, S2, 2015: Simulation de fourmis, Soutenance la semaine du 4 mai. 1 Introduction On considère une grille de 20 lignes 20 colonnes. Une case de la grille peut être vide, ou contenir une et une

Plus en détail

DM 1 : Montre Autoquartz ETA

DM 1 : Montre Autoquartz ETA Lycée Masséna DM 1 : Montre Autoquartz ETA 1 Présentation de la montre L essor de l électronique nomade s accompagne d un besoin accru de sources d énergies miniaturisées. Les contraintes imposées à ces

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

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

Differential Synchronization

Differential Synchronization Differential Synchronization Neil Fraser Google 2009 BENA Pierrick CLEMENT Lucien DIARRA Thiemoko 2 Plan Introduction Stratégies de synchronisation Synchronisation différentielle Vue d ensemble Dual Shadow

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

Jean-Philippe Préaux http://www.i2m.univ-amu.fr/~preaux

Jean-Philippe Préaux http://www.i2m.univ-amu.fr/~preaux Colonies de fourmis Comment procèdent les colonies de fourmi pour déterminer un chemin presque géodésique de la fourmilière à un stock de nourriture? Les premières fourmis se déplacent au hasard. Les fourmis

Plus en détail

Fiche n 1 : Téléverser une ressource dans la plateforme

Fiche n 1 : Téléverser une ressource dans la plateforme Fiche n 1 : Téléverser une ressource dans la plateforme 1 er temps : Mettre ses fichiers sur la plateforme (dans son espace personnel) Sur la page d accueil de la plate-forme Formagri http://efoad.educagri.fr,

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

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

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

Manuel d'installation

Manuel d'installation CyberMUT P@iement P@iement CIC P@iement OBC SERVICE SECURISE DE PAIEMENT INTERNET PAR CARTE BANCAIRE (Sécurisé par le protocole SSL) Manuel d'installation (Document 2/2) EURO Sp.Tech. 1.2.8 Octobre 2001

Plus en détail

L ALGORITHMIQUE. Algorithme

L ALGORITHMIQUE. Algorithme L ALGORITHMIQUE Inspirée par l informatique, cette démarche permet de résoudre beaucoup de problèmes. Quelques algorithmes ont été vus en 3 ième et cette année, au cours de leçons, nous verrons quelques

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

Débuter avec EXPRESS. Alain Plantec. 1 Schema 2

Débuter avec EXPRESS. Alain Plantec. 1 Schema 2 Débuter avec EXPRESS Alain Plantec Table des matières 1 Schema 2 2 Entité 2 2.1 Attributs simples................................................ 2 2.2 Attributs collection...............................................

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

Utilisez Toucan portable pour vos sauvegardes

Utilisez Toucan portable pour vos sauvegardes Utilisez Toucan portable pour vos sauvegardes Préambule Toucan est un logiciel libre et gratuit, permettant de réaliser des sauvegardes ou synchronisation de vos données. Il est possible d automatiser

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

Université Bordeaux 1, Licence Semestre 3 - Algorithmes et struct...

Université Bordeaux 1, Licence Semestre 3 - Algorithmes et struct... Université Bordeaux 1 table des matières Licence Semestre 3 - Algorithmes et structures de données 1 Dernière mise à jour effectuée le 23 Octobre 2013 Piles et Files Déitions Primitives de piles, exemples

Plus en détail

NIMEGUE V3. Fiche technique 3.07 : Sauvegarde / Restauration manuelle

NIMEGUE V3. Fiche technique 3.07 : Sauvegarde / Restauration manuelle NIMEGUE V3 Fiche technique 3.07 : Sauvegarde / Restauration manuelle Version au 2 mai 2011 Toute donnée mémorisée sur un ordinateur, quelque soit le support, peut-être supprimée/effacée suite à un dysfonctionnement

Plus en détail

Logiciel Libre Cours 3 Fondements: Génie Logiciel

Logiciel Libre Cours 3 Fondements: Génie Logiciel Logiciel Libre Cours 3 Fondements: Génie Logiciel Stefano Zacchiroli zack@pps.univ-paris-diderot.fr Laboratoire PPS, Université Paris Diderot 2013 2014 URL http://upsilon.cc/zack/teaching/1314/freesoftware/

Plus en dé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

KM2 W1 EVC1 M3~ Manuel AUTOMSIM API 24V. BP Dcy 1MINI 1MAXI. www.irai.com

KM2 W1 EVC1 M3~ Manuel AUTOMSIM API 24V. BP Dcy 1MINI 1MAXI. www.irai.com L1 L2 L3 F1 M1 KM2 0V U1 V1 M3~ W1 EVC1 Manuel AUTOMSIM 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 API 24V 0 1 2 C1MINI BP Dcy C1MAXI 1MAXI 1MINI EVC1 www.irai.com INTRODUCTION... 5 INSTALLATION... 6 PRISE EN

Plus en détail

Manuel v. 6sV Simplement surfer. Simplement cliquer. Simplement bloguer.

Manuel v. 6sV Simplement surfer. Simplement cliquer. Simplement bloguer. Manuel v. 6sV Simplement surfer. Simplement cliquer. Simplement bloguer. Sommaire 1. Se loguer 2. Ta place de travail (Tableau de bord) 3. Créer ton article 3.1«Ajouter» un article 3.2 Ta feuille de papier

Plus en détail

Approche Contract First

Approche Contract First Exemple HelpDesk Approche Contract First Développement d un premier web service en utilisant l approche contract first (ou WSDL First) Écriture du wsdl avant d écrire le code java Autre possibilité implementation

Plus en détail

Chap III : Les tableaux

Chap III : Les tableaux Chap III : Les tableaux Dans cette partie, on va étudier quelques structures de données de base tels que : Les tableaux (vecteur et matrice) Les chaînes de caractères LA STRUCTURE DE TABLEAU Introduction

Plus en détail

Souad EL Bernoussi. Groupe d Analyse Numérique et Optimisation Rabat http ://www.fsr.ac.ma/ano/

Souad EL Bernoussi. Groupe d Analyse Numérique et Optimisation Rabat http ://www.fsr.ac.ma/ano/ Recherche opérationnelle Les démonstrations et les exemples seront traités en cours Souad EL Bernoussi Groupe d Analyse Numérique et Optimisation Rabat http ://www.fsr.ac.ma/ano/ Table des matières 1 Programmation

Plus en détail

Dérivation : Résumé de cours et méthodes

Dérivation : Résumé de cours et méthodes Dérivation : Résumé de cours et métodes Nombre dérivé - Fonction dérivée : DÉFINITION (a + ) (a) Etant donné est une onction déinie sur un intervalle I contenant le réel a, est dérivable en a si tend vers

Plus en détail

Guide d implémentation. Réussir l intégration de Systempay

Guide d implémentation. Réussir l intégration de Systempay Guide d implémentation - Interface avec la plateforme de paiement - Réussir l intégration de Systempay Version 1.4b Rédaction, Vérification, Approbation Rédaction Vérification Approbation Nom Date/Visa

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

Gestion réactive des opérations de maintien et d actualisation réglementaire et technologique des systèmes complexes.

Gestion réactive des opérations de maintien et d actualisation réglementaire et technologique des systèmes complexes. Gestion réactive des opérations de maintien et d actualisation réglementaire et technologique des systèmes complexes. LE QUERE Yann, SEVAUX Marc, TRENTESAUX Damien, TAHON Christian Equipe Systèmes de Production

Plus en détail

INF 232: Langages et Automates. Travaux Dirigés. Université Joseph Fourier, Université Grenoble 1 Licence Sciences et Technologies

INF 232: Langages et Automates. Travaux Dirigés. Université Joseph Fourier, Université Grenoble 1 Licence Sciences et Technologies INF 232: Langages et Automates Travaux Dirigés Université Joseph Fourier, Université Grenoble 1 Licence Sciences et Technologies Année Académique 2013-2014 Année Académique 2013-2014 UNIVERSITÉ JOSEPH

Plus en détail

Anne Tasso. Java. Le livre de. premier langage. 10 e édition. Avec 109 exercices corrigés. Groupe Eyrolles, 2000-2015, ISBN : 978-2-212-14154-2

Anne Tasso. Java. Le livre de. premier langage. 10 e édition. Avec 109 exercices corrigés. Groupe Eyrolles, 2000-2015, ISBN : 978-2-212-14154-2 Anne Tasso Java Le livre de premier langage 10 e édition Avec 109 exercices corrigés Groupe Eyrolles, 2000-2015, ISBN : 978-2-212-14154-2 Table des matières Avant-propos Organisation de l ouvrage..............................

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

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

Projet gestion d'objets dupliqués

Projet gestion d'objets dupliqués Projet gestion d'objets dupliqués Daniel Hagimont Daniel.Hagimont@enseeiht.fr 1 Projet Service de gestion d'objets dupliqués Mise en cohérence lors de la prise d'un verrou sur un objet Pas de verrous imbriqués

Plus en détail

INTRODUCTION A JAVA. Fichier en langage machine Exécutable

INTRODUCTION A JAVA. Fichier en langage machine Exécutable INTRODUCTION A JAVA JAVA est un langage orienté-objet pur. Il ressemble beaucoup à C++ au niveau de la syntaxe. En revanche, ces deux langages sont très différents dans leur structure (organisation du

Plus en détail

Développement Logiciel

Développement Logiciel Développement Logiciel Éxamen session 1-2012-2013 (Vendedi 25 mai, 9h-11h) Seuls les documents liés directement au cours sont autorisés (comme dit sur le site) : sujets de TD, notes de cours, notes personnelles

Plus en détail

ORDINATEUR DOSSIERS FICHIERS

ORDINATEUR DOSSIERS FICHIERS SÉANCE INFORMATIQUE N 1 ORDINATEUR DOSSIERS FICHIERS Geo-phile : il y a un lien vers un site de définition des termes informatiques. 1/ ORDINATEUR - Disque dur : capacité exponentielle : actuellement plus

Plus en détail

Une dérivation du paradigme de réécriture de multiensembles pour l'architecture de processeur graphique GPU

Une dérivation du paradigme de réécriture de multiensembles pour l'architecture de processeur graphique GPU Une dérivation du paradigme de réécriture de multiensembles pour l'architecture de processeur graphique GPU Gabriel Antoine Louis Paillard Ce travail a eu le soutien de la CAPES, agence brésilienne pour

Plus en détail

GESTION DE L'ORDINATEUR

GESTION DE L'ORDINATEUR FORMATION DES NOUVEAUX DIRECTEURS GESTION DE L'ORDINATEUR L'EXPLORATEUR WINDOWS Février 2012 B. Lorne Atice CHY1 Gestion de l'ordinateur Le système d'exploitation Il ne faut pas confondre : -Système d'exploitation

Plus en détail

Powershell. Sommaire. 1) Étude du cahier des charges 2) Veille technologique 3) Administration sur site 4) Automatisation des tâches d administration

Powershell. Sommaire. 1) Étude du cahier des charges 2) Veille technologique 3) Administration sur site 4) Automatisation des tâches d administration Powershell Powershell Sommaire 1) Étude du cahier des charges 2) Veille technologique 3) Administration sur site 4) Automatisation des tâches d administration 1) Étude du cahier des charges (1.1.1) La

Plus en détail

Programmation Linéaire - Cours 1

Programmation Linéaire - Cours 1 Programmation Linéaire - Cours 1 P. Pesneau pierre.pesneau@math.u-bordeaux1.fr Université Bordeaux 1 Bât A33 - Bur 265 Ouvrages de référence V. Chvátal - Linear Programming, W.H.Freeman, New York, 1983.

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

La programmation linéaire : une introduction. Qu est-ce qu un programme linéaire? Terminologie. Écriture mathématique

La programmation linéaire : une introduction. Qu est-ce qu un programme linéaire? Terminologie. Écriture mathématique La programmation linéaire : une introduction Qu est-ce qu un programme linéaire? Qu est-ce qu un programme linéaire? Exemples : allocation de ressources problème de recouvrement Hypothèses de la programmation

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

Algorithmique et structures de données I

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

Plus en détail

D UN BON REFERENCEMENT

D UN BON REFERENCEMENT #QUICK GUIDE LES PRINCIPES DE BASE D UN BON REFERENCEMENT EDITION DECEMBRE 2013 // UNE PUBLICATION 1 LES PRINCIPES DE BASE D UN BON RÉFÉRENCEMENT RÉFÉRENCEMENT Introduction Vous attendez beaucoup de votre

Plus en détail

Les différents types de données et leurs opérations de base

Les différents types de données et leurs opérations de base Séquence 2 Les différents types de données et leurs opérations de base Contenu Présentation générale... 21 Partie 1 Les 3 familles de données et l'opération d'affectation... 22 1. Les trois familles de

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

Représentation des Nombres

Représentation des Nombres Chapitre 5 Représentation des Nombres 5. Representation des entiers 5.. Principe des représentations en base b Base L entier écrit 344 correspond a 3 mille + 4 cent + dix + 4. Plus généralement a n a n...

Plus en détail

Les chaînes de caractères

Les chaînes de caractères Les chaînes de caractères Dans un programme informatique, les chaînes de caractères servent à stocker les informations non numériques comme par exemple une liste de nom de personne ou des adresses. Il

Plus en détail

Cryptographie et fonctions à sens unique

Cryptographie et fonctions à sens unique Cryptographie et fonctions à sens unique Pierre Rouchon Centre Automatique et Systèmes Mines ParisTech pierre.rouchon@mines-paristech.fr Octobre 2012 P.Rouchon (Mines ParisTech) Cryptographie et fonctions

Plus en détail

Baccalauréat ES/L Amérique du Sud 21 novembre 2013

Baccalauréat ES/L Amérique du Sud 21 novembre 2013 Baccalauréat ES/L Amérique du Sud 21 novembre 2013 A. P. M. E. P. EXERCICE 1 Commun à tous les candidats 5 points Une entreprise informatique produit et vend des clés USB. La vente de ces clés est réalisée

Plus en détail

Objets Combinatoires élementaires

Objets Combinatoires élementaires Objets Combinatoires élementaires 0-0 Permutations Arrangements Permutations pour un multi-ensemble mots sous-ensemble à k éléments (Problème du choix) Compositions LE2I 04 1 Permutations Supposons que

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

Programmation Orientée Objet Java

Programmation Orientée Objet Java Programmation Orientée Objet Java Bertrand Estellon Département Informatique et Interactions Aix-Marseille Université 12 novembre 2014 Bertrand Estellon (DII AMU) Programmation Orientée Objet Java 12 novembre

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

Transférer une licence AutoCAD monoposte

Transférer une licence AutoCAD monoposte TRUCS & ASTUCES AutoCAD Transférer une licence AutoCAD monoposte Il peut vous arriver de devoir transférer votre licence Auto- CAD d un poste à un autre poste pour plusieurs raisons : soit parce que vous

Plus en détail

Plateforme PAYZEN. Définition de Web-services

Plateforme PAYZEN. Définition de Web-services Plateforme PAYZEN Définition de Web-services Ordre de paiement Version 1.1 Rédaction, Vérification, Approbation Rédaction Vérification Approbation Nom Date/Visa Nom Date/Visa Nom Date/Visa Lyra-Network

Plus en détail

Algorithmes récursifs

Algorithmes récursifs Licence 1 MASS - Algorithmique et Calcul Formel S. Verel, M.-E. Voge www.i3s.unice.fr/ verel 23 mars 2007 Objectifs de la séance 3 écrire des algorithmes récursifs avec un seul test rechercher un élément

Plus en détail

Traduction des Langages : Le Compilateur Micro Java

Traduction des Langages : Le Compilateur Micro Java BARABZAN Jean-René OUAHAB Karim TUCITO David 2A IMA Traduction des Langages : Le Compilateur Micro Java µ Page 1 Introduction Le but de ce projet est d écrire en JAVA un compilateur Micro-Java générant

Plus en détail

MIS 102 Initiation à l Informatique

MIS 102 Initiation à l Informatique MIS 102 Initiation à l Informatique Responsables et cours : Cyril Gavoille Catherine Pannier Matthias Robine Marc Zeitoun Planning : 6 séances de cours 5 séances de TD (2h40) 4 séances de TP (2h40) + environ

Plus en détail

Olivier Mondet http://unidentified-one.net

Olivier Mondet http://unidentified-one.net T-GSI Ch.4 Le Langage SQL LDD, LCD Cet exercice guidé reprend le plan suivis lors de l intervention de formation faite pour l académie de Versailles. L objectif principal visait en la présentation du langage

Plus en détail

Cryptographie RSA. Introduction Opérations Attaques. Cryptographie RSA NGUYEN Tuong Lan - LIU Yi 1

Cryptographie RSA. Introduction Opérations Attaques. Cryptographie RSA NGUYEN Tuong Lan - LIU Yi 1 Cryptographie RSA Introduction Opérations Attaques Cryptographie RSA NGUYEN Tuong Lan - LIU Yi 1 Introduction Historique: Rivest Shamir Adleman ou RSA est un algorithme asymétrique de cryptographie à clé

Plus en détail

Génie Logiciel avec Ada. 4 février 2013

Génie Logiciel avec Ada. 4 février 2013 Génie Logiciel 4 février 2013 Plan I. Généralités II. Structures linéaires III. Exceptions IV. Structures arborescentes V. Dictionnaires I. Principes II. Notions propres à la POO I. Principes Chapitre

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