Outils pour utilisateurs

Outils du site


pg108:tp3

Manipulation de tableaux d'entiers

Dans cette partie, il sera nécessaire de découper le programme en fonctions.


Construction d'un tableau

  1. Écrivez une fonction (juste la fonction, pas le programme), qui reçoit un tableau d'entiers ainsi que la taille de ce tableau comme argument, et qui affiche chacun de ces entiers à l'écran. Vous séparerez chaque valeur, au choix, par des virgules, des espaces et/ou des sauts de ligne.
  2. Testez cette fonction avec un programme simple et un tableau déclaré comme un constante dans votre programme.
  3. Ajoutez une fonction qui remplit un tableau par les n premiers nombres pairs. Comment est-il possible de communiquer les résultats à la fonction appelante ?
  4. Écrivez un programme complet qui, en utilisant les fonctions précédentes, affiche la liste des n premiers nombres pairs, n étant passé comme argument en ligne de commande.
  5. Testez votre programme

Test de tri

  1. Écrivez une fonction qui reçoit un tableau d'entiers et sa taille comme paramètres et qui renvoie 1 si le tableau est trié dans l'ordre croissant, 0 sinon.
  2. Testez cette fonction avec un tableau déclaré comme constante.
  3. Écrivez une deuxième fonction qui reçoit un tableau d'entiers et sa taille comme paramètres et qui renvoie 1 si le tableau est trié dans l'ordre décroissant, 0 sinon.
  4. Écrivez un programme complet qui reçoit plusieurs entiers en ligne de commande et qui, grâce à la fonction précédente, envoie le code retour 0 si les entiers sont entrés dans un ordre (croissant ou décroissant), ou 1 s'ils sont dans le désordre.
  5. Testez votre programme dans plusieurs cas.

Le triangle de Pascal

Le triangle de Pascal est constitué des coefficients binomiaux :

  1
  1 1
  1 2 1
  1 3 3 1
  1 4 6 4 1
  ...

Une façon aisée de calculer ce triangle est de constater que chaque élément i est la somme des éléments i et i-1 de la ligne précédente.

  1. Écrivez la fonction affiche_pascal qui reçoit un tableau d'entiers ainsi que sa taille, et qui affiche les coefficients non nuls de ce tableau, séparés par des espaces, sur une ligne (Si une est nulle dans le tableau, le reste des valeurs du tableau seront toutes nulles).
  2. Écrivez un programme pour tester votre fonction à partir d'un tableau déclaré comme une constante.
  3. Écrivez la fonction maj_pascal qui reçoit un tableau d'entiers ainsi que sa taille. Ce tableau contient les éléments du rang nn est strictement inférieur à la taille du tableau (les cases non utilisées contiennent des 0). Cette fonction doit mettre à jour ce tableau pour qu'il contienne les éléments du rang n+1.
  4. Écrivez le programme complet qui reçoit un entier n en ligne de commande et qui affiche les n premières lignes du triangle de pascal

[Facultatif] Tri (en place)

  1. Écrivez une fonction qui reçoit un tableau d'entiers et sa taille et qui modifie ce tableau de sorte que ce tableau soit trié dans l'ordre croissant.
    • Pour cela, vous pouvez utiliser l'algorithme du tri a bulle : à la première itération on cherche la plus petite valeur du tableau et on l’échange avec la valeur qui se trouve à la première position. à la deuxième itération on cherche la plus petite valeur du tableau à partir de la deuxième case et on l’échange avec la valeur qui se trouve à la deuxième position… Pour chaque itération, on recherche la plus petite valeur dans la partie non triée du tableau et on l’échange avec la valeur qui se trouve au début de cette partie non triée (qui devient alors la fin de la partie triée).
  2. Testez votre fonction dans un programme avec un tableau déclaré localement (Étant donné que votre fonction doit modifier le tableau, il ne sera pas possible d'utiliser un tableau déclaré comme une constante).
  3. Écrivez un programme complet qui reçoit plusieurs entiers en ligne de commande et qui affiche ces éléments triés dans l'ordre croissant.
pg108/tp3.txt · Dernière modification: 2020/11/15 20:56 par bornat