La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Sensibilisation à lAlgorithmique. 2 Algorithme Permet de résoudre un problème donné ex: Trouver la crue minimale et la crue maximale à partir dun ensemble.

Présentations similaires


Présentation au sujet: "Sensibilisation à lAlgorithmique. 2 Algorithme Permet de résoudre un problème donné ex: Trouver la crue minimale et la crue maximale à partir dun ensemble."— Transcription de la présentation:

1 Sensibilisation à lAlgorithmique

2 2 Algorithme Permet de résoudre un problème donné ex: Trouver la crue minimale et la crue maximale à partir dun ensemble de relevés Procédure de calcul bien définie Séquence d'instructions élémentaires termine en un temps fini prend une ou des valeur(s) en entrée donne une ou des valeur(s) en sortie

3 3 Etude de cas – Fil rouge Gestion des relevés dune crue dune rivière Un relevé comprend : La hauteur de la crue Le point de relevé La date du relevé Lheure du relevé Lauteur du relevé Un identifiant de relevé On stocke et analyse un ensemble de relevés

4 4 Exemple Exemple de problème à résoudre Trouver la crue minimale et/ou la crue maximale à partir dun ensemble de relevés Input: liste non triée de relevés Output: liste des relevés correspondant à la crue minimale ou maximale Algo: ???

5 5 Types de problèmes Tris d'éléments d'une liste (trier les relevés) Recherches d'un élément (trouver la hauteur de la crue à une heure donnée à un point donné) Calculs (calculer la moyenne de la crue, identifier les points critiques….) Algorithmes exacts / d'approximation

6 6 Algorithme et Programme Un algorithme est implémenté dans un langage de programmation Un même algorithme peut être implémenté dans différents langages (Java, C, Python, Caml,...) Pseudo-code

7 7 Structure de Données Moyen de stocker et organiser les données d'un algorithme accès aux données modification, mise à jour des données Tableaux nombre max de relevés est connu (le tableau incomplet) Listes la liste contient toujours le nombre de relevés courant, on ne connait pas forcément le nombre max de relevés Sets : notion densemble Les relevés nont pas besoin dêtre retrouvés selon un ordre Maps : un index unique Les relevés peuvent être retrouvés directement à partir du nom de lauteur Piles, files : gestion des accès aux données Graphes, arbres, arbres binaires de recherche

8 8 Structures de contrôle Structures de contrôle conditionnelle Si cond Alors instr FinSi Si cond Alors instr sinon instr FinSi (imbrications possibles) Structures de contrôle itératives TantQue cond Faire instr FinTantQue variantes (imbrications possibles)

9 9 Itérations int i = 0; while(i<10){ System.out.println(Coucou); i +=1; }

10 10 Itérations int i = 0; do{ System.out.println(Coucou); i +=1; }while(i<10); for (i=0; i<10; i++) System.out.println(Coucou);

11 11 Tableaux Déclaration et allocation mémoire dun tableau de 10 entiers int [] hauteurs = new int[10]; Accès au premier élément : hauteurs[0] Accès au dernier élément : hauteurs[hauteurs.length -1] i ième élément : hauteurs[i-1] init./modif. d'un élément: hauteurs[i] = 3;

12 12 Tableaux valeur tableau[i] / indice i recherche du (des) élément(s) vérifiant une certaine propriété vérification de la présence ou l'absence d'une certaine valeur dans le tableau recherche de l'indice dans le tableau d'une valeur donné tri du tableau selon un certain critère

13 13 Exemple dItération int i = 0; int somme=0; while(i

14 14 Matrices Tableau de tableaux : int [][] matrice = new int[10][15]; élément en ligne i et colonne j : matrice[i][j] Matrice carrée : int [][] matriceCarree = new int[7][7];

15 15 La classe ArrayList : Liste Déclaration et allocation mémoire ArrayList hauteurs; hauteurs = new ArrayList (); ArrayList releves; releves = new ArrayList (); Ne peuvent contenir que des objets Accès au premier élément : releves.get(0) dernier élément : releves.get(liste.size()-1) i ième élément : releves.get(i-1)

16 16 La classe ArrayList : Listes ajout d'un élt: releves.add(new Releve(3,100,10,0,26/04/2003) ); modif d'un élt: hauteurs.set(i,new Integer(4)); suppression d'un élt: releves.remove(i); mêmes algos que sur les tableaux

17 17 Exemple dItération int i = 0; int somme=0; while(i

18 18 Paires d'objets : Maps Déclaration et allocation mémoire HashMap surnoms; surnoms = new HashMap (); HashMap releves; releves = new HashMap (); paires clé/valeur, clés uniques ajout d'un couple clé/valeur : surnoms.put(tartampion, dupont); releves.put(Martin, new Releve(3,100,10,0,26/04/2003)) suppression d'un couple clé/valeur : releves.remove(Martin);

19 19 Maps plus de premier, dernier, i ième élément, récupération d'une valeur associée à une clé : Releve r = releves.get(martin); récupération directe de la valeur associée à une clé : get de l'information de présence/absence d'une valeur: releves.containsKey(dupont); d'une clé : releves.containsValue(r);

20 20 ensemble non ordonné d'objet : Sets Déclaration et allocation mémoire HashSet surnoms; surnoms = new HashSet (); ajout d'un élément : surnoms.put(tartampion); suppression : surnoms.remove(tartampion); test direct de la présence d'un élément : surnoms.contains(tartampion);

21 21 Exemple dItération int i = 0; int somme=0; while(i

22 22 Maps et Sets Les structures de Maps et de Sets ne supportent que les opérations de dictionnaire: insérer, rechercher, supprimer HashMap et HashSet sont des implémentations à base de tables de hachage qui permettent de réduire le coût de ces opérations.

23 23 Piles et Files Ordonnancements particuliers des éléments d'un tableau ou d'une liste Pile : empiler/dépiler des éléments File : enfiler /défiler des éléments :


Télécharger ppt "Sensibilisation à lAlgorithmique. 2 Algorithme Permet de résoudre un problème donné ex: Trouver la crue minimale et la crue maximale à partir dun ensemble."

Présentations similaires


Annonces Google