TD1 2 MIC [email protected] Romaric GUILLERM Algo-Prog en Ada.

17
TD1 2 MIC [email protected] Romaric GUILLERM Algo-Prog en Ada

Transcript of TD1 2 MIC [email protected] Romaric GUILLERM Algo-Prog en Ada.

Page 1: TD1 2 MIC guillerm@laas.fr Romaric GUILLERM Algo-Prog en Ada.

TD12 MIC

[email protected]

Romaric GUILLERM

Algo-Progen Ada

Page 2: TD1 2 MIC guillerm@laas.fr Romaric GUILLERM Algo-Prog en Ada.

TD1Pointeurs et Listes simplement chaînées

Exercice 1 : initialisation d’une liste – insertion en début – insertion en fin

1,1 Comment déclarer et initialiser la liste L directement ?

Page 3: TD1 2 MIC guillerm@laas.fr Romaric GUILLERM Algo-Prog en Ada.

TD1 Exercice 1 : initialisation d’une liste – insertion en début –

insertion en fin

1,2 Ecrire une version itérative et une version récursive permettant d’afficher une liste.

Page 4: TD1 2 MIC guillerm@laas.fr Romaric GUILLERM Algo-Prog en Ada.

Quand on écrit Pr.allavec un pointeur Pr

Pr/=null à vérifier avant !

RÈGLE D’OR N°1

Page 5: TD1 2 MIC guillerm@laas.fr Romaric GUILLERM Algo-Prog en Ada.

TD1 Exercice 1 : initialisation d’une liste – insertion en début –

insertion en fin

1,2 Ecrire une version itérative et une version récursive permettant d’afficher une liste.

Page 6: TD1 2 MIC guillerm@laas.fr Romaric GUILLERM Algo-Prog en Ada.

TD1 Exercice 1 : initialisation d’une liste – insertion en début –

insertion en fin

1,3 Ecrire un sous-programme de construction de liste (donner une version itérative) qui saisit un nombre donné d’entiers (ce nombre est passé en paramètre) et les empile un à un dans la liste.

Page 7: TD1 2 MIC guillerm@laas.fr Romaric GUILLERM Algo-Prog en Ada.

TD1 Exercice 1 : initialisation d’une liste – insertion en début –

insertion en fin

1,4 Ecrire un sous-programme de construction de liste qui saisit un nombre donné d’entiers (ce nombre est passé en paramètre) et les insère un à un en fin de liste (donner une version itérative et une version récursive).

itératif

Page 8: TD1 2 MIC guillerm@laas.fr Romaric GUILLERM Algo-Prog en Ada.

TD1 Exercice 1 : initialisation d’une liste – insertion en début –

insertion en fin

1,4 Ecrire un sous-programme de construction de liste qui saisit un nombre donné d’entiers (ce nombre est passé en paramètre) et les insère un à un en fin de liste (donner une version itérative et une version récursive).

récursif

Page 9: TD1 2 MIC guillerm@laas.fr Romaric GUILLERM Algo-Prog en Ada.

TD1 Exercice 2 : Filtrage d’une liste simplement chaînée

On veut construire une sous-liste SL contenant uniquement les nombres positifs de la liste L, rangés dans le même ordre que dans la liste initiale.

2,1 Proposez une fonction de filtrage mettant en œuvre un algorithme itératif

Page 10: TD1 2 MIC guillerm@laas.fr Romaric GUILLERM Algo-Prog en Ada.

TD1 Exercice 2 : Filtrage d’une liste simplement chaînée

On veut construire une sous-liste SL contenant uniquement les nombres positifs de la liste L, rangés dans le même ordre que dans la liste initiale.

2,2 Proposez une fonction de filtrage mettant en œuvre un algorithme récursif

Page 11: TD1 2 MIC guillerm@laas.fr Romaric GUILLERM Algo-Prog en Ada.

TD1 Exercice 3

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.

Page 12: TD1 2 MIC guillerm@laas.fr Romaric GUILLERM Algo-Prog en Ada.

TD1 Exercice 4

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

Page 13: TD1 2 MIC guillerm@laas.fr Romaric GUILLERM Algo-Prog en Ada.

TD1 Exercice 4

itératif

Page 14: TD1 2 MIC guillerm@laas.fr Romaric GUILLERM Algo-Prog en Ada.

TD1 Exercice 4

itératif

Page 15: TD1 2 MIC guillerm@laas.fr Romaric GUILLERM Algo-Prog en Ada.

TD1 Exercice 4

récursif

Page 16: TD1 2 MIC guillerm@laas.fr Romaric GUILLERM Algo-Prog en Ada.

TD1 Exercice 4

récursif

Page 17: TD1 2 MIC guillerm@laas.fr Romaric GUILLERM Algo-Prog en Ada.

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 :