Algo-Prog en Ada TD1 2 MIC Romaric GUILLERM

Slides:



Advertisements
Présentations similaires
Structures de données avancées : Principales structures de données
Advertisements

Tris.
Sommaire Définition du rapport Structurer le contenu
DTD Sylvain Salvati
Structures de données et complexité
Structures de données et complexité LIFO – FILO – FIFO – etc…
Au programme du jour …. Un peu plus de structures de données
COURS DE MATHEMATIQUES DISCRETES SM
Algorithmique et évaluation
Algorithmique Résume.
Applications sur les algorithmes récurrents avec Les Matrices
1 UMLV Optimalité des tris par comparaisons : O(n logn) Classements linéaires Tris lexicographiques Tri lexicographique.
Chap. 1 Structures séquentielles : listes linéaires
4. Les structures de tests
Lycée Louis Vincent SEANCE 6 Python Les listes Lundi 25 novembre 2013.
Utilisation des tableaux
Chapitre IV. Structures linéaires (piles, files, listes chaînées)
TD3 2 MIC Romaric GUILLERM Algo-Prog en Ada.
MAGNIN Pierre 2 MIC D MAILLARD Adrien 2 MIC D Soutenance le 17/06/09.
Cours 7 - Les pointeurs, l'allocation dynamique, les listes chaînées
Structures de données linéaires
Les méthodes en java Une méthode est un regroupement d’instructions ayant pour but de faire un traitement bien précis. Une méthode pour être utilisée.
Algorithmique et Programmation
Algo-Prog en Ada TD6 2 MIC Romaric GUILLERM
Dérécursivation Dérécursiver, c’est transformer un algorithme récursif en un algorithme équivalent ne contenant pas d’appels récursifs. Récursivité terminale.
Les éléments de base de l’algorithmique
TD3 2 IMACS Romaric GUILLERM Algo-Prog en Ada.
Bibliothèque standard du C++
TD2 2 IMACS Romaric GUILLERM Algo-Prog en Ada.
Programmation fonctionnelle Le langage LISP
Définition d’un maillon de liste
TD4 2 MIC Romaric GUILLERM Algo-Prog en Ada.
IFT-2000: Structures de Données Listes chaînées Dominic Genest, 2009.
Standard Template Library (STL)
Algo-Prog en Ada TD2 2 MIC Romaric GUILLERM
Structures de données IFT-2000
Algo-Prog en Ada TD1 2 IMACS Romaric GUILLERM
Les fichiers indexés (Les B-arbres)
Structures de données IFT-2000 Abder Alikacem Standard Template library Édition Septembre 2009 Département dinformatique et de génie logiciel.
Algorithmique et programmation Informatique Cours 10 19/11/2001.
IFT-2000: Structures de données Piles et files Dominic Genest, 2009.
TD4 2 IMACS Romaric GUILLERM Algo-Prog en Ada.
Algo-Prog en Ada TD2 2 IMACS Romaric GUILLERM
Heuristiques C. Recherche de la meilleure branche . Branch And Bound
Le langage C Structures de données
Algo-Prog en Ada TD1 2 MIC Romaric GUILLERM
ALGORITHME DE TRI Le tri par insertion.
Le Bloc Case Cours LCS N°3 Présenté par Mr: LALLALI.
Université Mohammed V-Agdal École Supérieure de Technologie Salé
La Boucle Repeat Cours LCS N°1 Présenté par Mr: LALLALI.
Algorithmes de tri et de recherche
Méthodes de tri.
Cours 4 - Trois algorithmes de recherche dans un tableau
ETNA – 1ème année Guillaume Belmas –
Méthodes et outils de conception Introduction à la programmation Paramètre de retour Appel d’une fonction Portée des variables Définition Pourquoi les.
Objets Opérateurs Listes
ISBN Chapitre 10 L'implémentation des sous- programmes.
Chapitre -3- FRACTIONS [A] MULTIPLES ET DIVISEURS (rappels de 6°: fiche n°106) jeudi 13 avril 2017  multiples  diviseurs  critères de divisibilité 
Tas et Tas Tri Exercice 1 Insérer dans un min-tas vide des numéros suivants:25, 17, 36, 2, 3, 100, 1, 19, 17 Supprimer.
CPI/BTS 2 Algorithmique & Programmation La récursivité Algo – Prog CPI/BTS2 – M. Dravet – 14/09/2003 Dernière modification: 14/09/2003.
Pour les boucles FOR on a fait intervenir la boucles TANT QUE équivalentes dont on connaît calculer le temps d’exécution. Toutes le procédures de comptage.
Cours 5 - Trois algorithmes de tri d'un tableau
Algorithmes de tri.
Algorithmique Tableaux de données
 Chaînage et LSC : motivation et principe Manipuler la LSC : exemples Variantes : LDC, liste circulaire, … Etude de cas : réalisation d’un buffer clavier.
Chaînage et LSC : motivation et principe  Manipuler la LSC : exemples Variantes : LDC, liste circulaire, … Etude de cas : réalisation d’un buffer clavier.
Algorithmique Algorithmique  Pascal
Algorithmique Conditions et Itérations Cours de BTS/CPI 1ère année Algo – Prog CPI/BTS1 – M. Dravet – 17/09/2003 Dernière modification: 17/09/2003.
Algorithmique Boucles et Itérations
. Le B-Arbre.
Transcription de la présentation:

Algo-Prog en Ada TD1 2 MIC Romaric GUILLERM guillerm@laas.fr http://romaric.guillerm.free.fr

TD1 Pointeurs et Listes chaînées Listes simplement chaînées :

TD1 Exercice 1 : Listes identiques On considère des listes simplement chaînées. Deux listes sont dites identiques si elles sont toutes les deux vides ou si elles contiennent les mêmes valeurs dans le même ordre. Ecrire une fonction booléenne récursive qui teste si 2 listes données sont identiques.

TD1 Exercice 2 : Suppression des occurrences multiples dans une liste On considère toujours des listes simplement chaînées. Ecrire un sous-programme supprimant d'une liste toutes les occurrences multiples de chaque valeur (on obtient donc une liste contenant une seule occurrence de chaque valeur).

TD1 Exercice 2 itératif

TD1 Exercice 2 itératif

TD1 Exercice 2 récursif

TD1 Exercice 2 récursif

TD1 Exercice 3 : Insertions et suppressions dans une liste doublement chaînée On considère des listes doublement chaînées. 3.1.a Quel est l'intérêt essentiel d'une liste doublement chaînée par rapport à une liste simplement chaînée ?  Parcours possible dans les deux sens ! 3.1.b On désire construire une liste doublement chaînée à l'aide de 2 sous‐programmes d'insertion permettant respectivement : d'insérer un nouvel élément en début de liste ; d'insérer un nouvel élément en fin de liste. Proposer une structure de données permettant de modéliser une liste d'entiers doublement chaînée et telle que les algorithmes d'insertion en début et en fin n'effectuent aucun parcours de la liste.

TD1 Exercice 3 : Insertions et suppressions dans une liste doublement chaînée 3.2 Identifier les différents cas à prendre en compte pour l'insertion d'un nouvel élément en début de liste, puis écrire le sous‐programme d'insertion en début de liste.

TD1 Exercice 3 : Insertions et suppressions dans une liste doublement chaînée 3.2 Identifier les différents cas à prendre en compte pour l'insertion d'un nouvel élément en début de liste, puis écrire le sous‐programme d'insertion en début de liste.

TD1 Exercice 3 : Insertions et suppressions dans une liste doublement chaînée 3.3 Même question pour le sous‐programme d'insertion en fin de liste.

TD1 Exercice 3 : Insertions et suppressions dans une liste doublement chaînée 3.4 Identifier les différents cas à prendre en compte pour la suppression du premier élément d'une liste, puis écrire le sous‐programme de suppression.

TD1 Exercice 3 : Insertions et suppressions dans une liste doublement chaînée 3.5 Même question pour le sous‐programme de suppression du dernier élément d'une liste.

TD1 Exercice 3 : Insertions et suppressions dans une liste doublement chaînée 3.6 Ecrire un sous‐programme de suppression d'un entier donné dans une liste. Ce sous‐programme doit lever une exception Element_Inexistant si l'entier à supprimer n'appartient pas à la liste.

TD1 Exercice 3 : Insertions et suppressions dans une liste doublement chaînée 3.7 Concevoir un scenario permettant d'effectuer tous les cas de tests des sous‐programmes d'insertion et de suppression réalisés précédemment.

Travailler à la maison ! avec Windows Compilateur Ada GNAT : http://romaric.guillerm.free.fr Pour écrire le programme (fichier.adb): Bloc Note, Emacs… ou : Notepad++ Pour compiler et exécuter :