TD3 2 MIC Romaric GUILLERM Algo-Prog en Ada.

Slides:



Advertisements
Présentations similaires
Scénario pédagogique : FDF
Advertisements

Arbre-B+ Hypothèse initiale : clé simple et unique Nœud = bloc.
EXAO ACOUSTIQUE LE LA 3 LP ROMPSAY LA ROCHELLE.
Les polygones (1ère partie)
Les Algorithmes de tri.
Chantal Taconet, Erik Putrycz, Guy Bernard
I. Bases de logique , théorie des ensembles
Exemples = 15+6 = 21 Soit = 21 / gcd(14,21) = 3. Exemples = 5+6 = 11 Soit = 11 / gcd(11,11) = 1.
TYCOON.AGENT Simulation et analyse de coopérations entre agent logiciels C. Vignoles LIMSI-CNRS JC Martin.
L ’abscisse est la limite supérieure d ’une classe
Plan 1. Problème étudié : Job Shop 1.1. Données et contraintes
Module 6 : Programmation dynamique
Netquiz Pro Logiciel du CCDMD.
MAGNIN Pierre 2 MIC D MAILLARD Adrien 2 MIC D Soutenance le 17/06/09.
Structures collectives en Java
Algo-Prog en Ada TD1 2 MIC Romaric GUILLERM
Outil daide à la planification de visites touristiques Étudiants : Fedaouche Nabil Gautier Gilles Sabas Romaric Simon Mathieu Tuteurs : Feillet Dominique.
Algo-Prog en Ada TD6 2 MIC Romaric GUILLERM
TD3 2 IMACS Romaric GUILLERM Algo-Prog en Ada.
Généricité ?!.
Methode de Tri efficace
TD2 2 IMACS Romaric GUILLERM Algo-Prog en Ada.
TD4 2 MIC Romaric GUILLERM Algo-Prog en Ada.
Algo-Prog en Ada TD2 2 MIC Romaric GUILLERM
Le chantier politique depuis la Loi de Juillet 2011 Collectivité Territoriale de Martinique : le chantier dun Territoire.
COMMENT OBTENIR LE SCHEMA D’UN MONTAGE ELECTRIQUE?
Conception et Réalisation d’un filtre passe-bas
Algo-Prog en Ada TD1 2 IMACS Romaric GUILLERM
Les propriétés des fonctions
Les propriétés des fonctions
Échantillonnage (STT-2000) Section 2 Tirage aléatoire simple (plan SI). Version: 22 août 2003.
Quelle généricité et quelle dynamique pour un SI basé sur le WEB ? Exemple de la gestion dune conférence
Outil d’aide à la planification de visites touristiques
TD4 2 IMACS Romaric GUILLERM Algo-Prog en Ada.
Algo-Prog en Ada TD2 2 IMACS Romaric GUILLERM
Algo-Prog en Ada TD1 2 MIC Romaric GUILLERM
Diaporama 3ème partie Session 2015
Les principes de la modélisation de systèmes
Théorie du point fixe 1. Rappel Ensemble ordonné Majorant, Minorant
Méthodes de tri.
Les fonctions Leurs propriétés.
Version 2.8 Avril 2010Agrément N° RCS Ressenti de l’usager Version 2.8.
Conception du ChatSystem TP COO-POO Romaric GUILLERM
Mode, moyenne et médiane
Document des recettes. I)SITE COMMUNAUTAIRE  Fonctionnalités implémentées o Module chat: -Système de visibilité o Partie Classement: -Génération mensuel.
Modéliser avec une calculatrice TI 83 +
Titre: Produits concernés Défaut constaté Cause du défaut Comment résoudre le problème Tous les produits “froid” Pas d’enclenchement, d’arrêt et tout ce.

EXAO TENSION ALTERNATIVE LP ROMPSAY LA ROCHELLE.
Construire un graphique
Centre d’Intérêt (C.I.) choisi :
Format des éléments du message. Formats de éléments du message texte listes à puces, listes numérotées tableaux graphiques diagrammes images audio vidéo.
Générateur d’applications WEB de gestion de données Préférences.
MONTAGE et TRUCAGES : Jacky Mortemousque. PHOTOS : Jacky Mortemousque ORIGINE : France 2011 DUREE DIAPORAMA : 1 mn 12 Couleur. GENRE : Humour LA RETRAITE.
Il nous a tout donné… Faites tous vos efforts 1 Pierre
Organiser, traiter et représenter Variables quantitatives continues.
ANALYSE D’INTEGRATION Description des 5 étapes avec 1 diapositive par étape.
Algorithmique Tableaux de données
Bibliographie et liste de références
Files de priorité (Priority Queue)
Générateur d’applications WEB de gestion de données Module List.
Seconde 8 Module 7 M. FELT 03/11/ Module 7: Algorithmique #2  Objectifs:  AlgoBox.  Définition d’un algorithme.  Affectation de variable. 
Algorithmique Boucles et Itérations
Mode, moyenne et médiane
Les mesures de tendance centrale
La comparaison et la mise en ordre des nombres rationnels
LE CADRE D’ORDRE © Tous droits réservés - Version 2010 ECASC – FDF 3.
© Tous droits réservés - Version /9ECASC – FDF 3 LE CADRE D’ORDRE.
Médiane Moyenne Quartile Mode. Exemple 1 : Soit les données suivantes On ordonne les données Moyenne : Somme des données divisée.
CALCUL RAPIDE sur les nombres
Transcription de la présentation:

TD3 2 MIC Romaric GUILLERM Algo-Prog en Ada

TD3 – Liste Ordonnées - Généricité 1 ère partie : paquetage de listes dentiers ordonnées On convient de modéliser une collection dentiers par une liste ordonnée (par ordre croissant). On utilise la relation dordre "<=" (plusieurs occurrences dun même entier peuvent exister). On souhaite réaliser un paquetage exportant les éléments suivants : Un type Liste limité privé, Une fonction Est_Vide(L) qui renvoie TRUE si la liste L est vide, FALSE sinon, Un sous-programme Init(L) permettant de créer une liste L vide (avant toute insertion) ou bien de la vider totalement (si elle contient déjà des éléments au moment de l'appel), Une fonction Appartient(E,L) qui vérifie lappartenance dau moins une occurrence dun entier E donné dans une liste donnée L, Un sous-programme Insérer(E,L) permettant d'insérer un entier E dans une liste dentiers L ; linsertion est effectuée même si plusieurs occurrences du même entier sont déjà présentes ; la liste L doit rester ordonnée après insertion, Un sous-programme Supprimer(E,L) permettant de supprimer la 1ère occurrence dun entier E donné de la liste L, Un sous-programme permettant d Afficher une liste.

TD3 Question 1 : Ecrire la spécification de ce paquetage. fichier liste_ordonnee_entiers.ads ! Déclaration du type Liste en limité privé Spécification des sous-programmes Définition détaillée du type Liste Où sont les commentaires de la spécification ?

TD3 Question 2 : Ecrire lalgorithme et le corps des sous-programmes suivants : Le sous-programme dinsertion (version itérative ) Le sous-programme de suppression (version récursive ) Le sous-programme dinsertion (version itérative ) : On veut insérer lentier E dans la liste L : Si L est vide alors : On insère E en première position (actualisation de L ) Sinon si E est inférieur ou égal à la première valeur de L alors : On insère E en première position (actualisation de L ) Sinon : On initialise un pointeur père à la première cellule de L On initialise un pointeur fils avec le suivant du père Tant que le fils nest pas nul et puis que E est supérieur à la valeur du fils : Le père prend la position du fils On actualise le fils avec le suivant du père Fin de la boucle tant que On insère E entre le père et le fils Fin du si

TD3 Question 2 : Ecrire lalgorithme et le corps des sous-programmes suivants : Le sous-programme dinsertion (version itérative ) Le sous-programme de suppression (version récursive ) Le sous-programme dinsertion (version itérative ) : On veut insérer lentier E dans la liste L : Si L est vide alors : On insère E en première position (actualisation de L ) Sinon si E est inférieur ou égal à la première valeur de L alors : On insère E en première position (actualisation de L ) Sinon : On initialise un pointeur père à la première cellule de L On initialise un pointeur fils avec le suivant du père Tant que le fils nest pas nul et puis que E est supérieur à la valeur du fils : Le père prend la position du fils On actualise le fils avec le suivant du père Fin de la boucle tant que On insère E entre le père et le fils Fin du si EN RÉCURSIF

TD3 Question 2 : Ecrire lalgorithme et le corps des sous-programmes suivants : Le sous-programme dinsertion (version itérative ) Le sous-programme de suppression (version récursive ) Le sous-programme de suppression (version récursive ) : On veut supprimer lentier E de la liste L : Si L est vide alors On ne fait rien Sinon si E est égal à la première valeur de L alors : On supprime cette première valeur et on actualise L Sinon si E est plus grand que la première valeur de L alors : On demande la suppression de E dans le reste de la liste après L [ Sinon cela veut dire que E est plus petit que la première valeur de L et donc que E nest pas dans la liste. On na donc rien de plus à faire. ] Fin du si

TD3 Question 2 : Ecrire lalgorithme et le corps des sous-programmes suivants : Le sous-programme dinsertion (version itérative ) Le sous-programme de suppression (version récursive ) Le sous-programme de suppression (version récursive ) : On veut supprimer lentier E de la liste L : Si L est vide alors On ne fait rien Sinon si E est égal à la première valeur de L alors : On supprime cette première valeur et on actualise L Sinon si E est plus grand que la première valeur de L alors : On demande la suppression de E dans le reste de la liste après L [ Sinon cela veut dire que E est plus petit que la première valeur de L et donc que E nest pas dans la liste. On na donc rien de plus à faire. ] Fin du si

TD3 2 ème partie : paquetage générique On veut désormais manipuler des collections dobjets quelconques, dès lors qu'il est possible de les lier par une relation. Question 3 : Donner la spécification dun paquetage générique « Listes_Ordonnees_G », dont les paramètres de généricité sont les suivants : le type des objets contenus dans les listes la fonction de comparaison entre deux objets : <= la fonction dégalité entre deux objets : = la fonction de conversion dun objet en chaîne de caractères Ce paquetage doit également inclure un sous-programme générique de construction de sous-liste dobjets. Le paramètre de généricité sera une fonction booléenne (un critère de sélection) utilisé pour décider si un élément doit être retenu ou pas dans la sous-liste. Par exemple, si on veut construire la sous-liste des éléments de L qui sont pairs, le critère sera une fonction booléenne pair(E) retournant TRUE si E est pair et FALSE sinon.

TD3 Paramètres génériques de paquetage Paramètres génériques de procédure

TD3 Question 4 : Ecrire un programme client qui instancie le paquetage précédent pour gérer une liste d'activités. Une activité est caractérisée par : Un numéro, Un type de ressource (M1, M2, M3, ou M4), Une durée positive, Un nombre entier dunités de ressources requises. Utiliser linstance du paquetage créé pour : Créer une liste vide L1, Y insérer 4 activités, Créer la sous-liste L2 des activités utilisant M1 et lafficher, Créer la sous-liste L3 des activités de durée inférieure à 10 et lafficher, Supprimer une à une chaque activité de L1 et afficher la liste vide résultante.

TD3 Fonction "<=" Instanciation du paquetage Type Activite Fonction "=" Fonction Activite_To_String

TD3 …suite…

TD3 …suite et fin.