Université de la Polynésie

Française

 

 

Partiel Algo et programmation C

Deug MIAS 2

Année 2001-02

Jeudi 4 Octobre

 

 

0.                Modalités

1.Vous disposez de une heure trente minutes,

2.vos documents personnels sont autorisés,

3.le code C sera commenté (en particulier avec votre nom en début de programme),

4.le barème est donné à titre indicatif et est susceptible d'être modifié,

5.vous rendrez une copie officielle d’examen non anonymée sur laquelle vous aurez répondu aux questions d’algorithmiques et contenant le listing papier de votre programme.

1.                Opérations sur une liste d’entiers

Algorithmique

1.1.           Ecrire, sous forme de pseudo-code un algorithme d’inversion, en copie, d’une liste (env 1,5 pts)

Il s’agit de construire une nouvelle liste à partir de la liste d’origine.

1.2.           Ecrire, sous forme de pseudo-code un algorithme d’inversion, en place, d’une liste (env. 2,5 pts)

Il s’agit cette fois de permuter les éléments de la liste (premier avec dernier, second avec avant dernier, …) sans jamais utiliser une autre liste.

1.3.           Ecrire un algorithme de suppression, en copie, des éléments pairs d’une liste d’entiers (env. 1,5 pts)

1.4.           Ecrire un algorithme de suppression, en place, des éléments pairs d’une liste d’entiers (env. 2,5 pts)

Attention ceci est nettement plus délicat car il faut décaler tous les éléments de la liste à chaque suppression d’un élément pair.


 

 

Programmation

1.5.           Définir un type struct Liste_entier représentant une liste et contenant deux champs, un pour la taille de la liste, l’autre pour les éléments de la liste (env. 1 pts)

1.6.           Ecrire une procédure C de saisie des éléments d’une liste (env. 1 pts)

1.7.           Ecrire une procédure C d’affichage des éléments d’une liste (env. 1 pts)

1.8.           Ecrire une procédure C utilisant l’algorithme d’inversion en copie ci-dessus (env. 1,5 pts)

1.9.           Ecrire une procédure C utilisant l’algorithme d’inversion en place ci-dessus (env. 2 pts)

1.10.      Ecrire une procédure C utilisant l’algorithme de suppression des entiers pairs en copie (env. 1,5 pts)

1.11.      Ecrire une procédure C utilisant l’algorithme de suppression des entiers pairs en place (env. 2 pts)

1.12.      Ecrire un programme principal effectuant successivement les opérations ci-dessous (env. 2 pts) :

·        saisie des éléments d’une liste

·        inversion en copie de la liste et affichage du résultat

·        suppression en copie des éléments pairs et affichage

·        inversion en place de la liste sans les éléments pairs et affichage