Programmation impérative : TP 3
Ressources (à regarder chez vous)
On peut avoir besoin de récupérer des valeurs de l'entrée standard,
  par exemple pour entrer facilement des tableaux. Regardez donc le
  manuel à la page de scanf… Cette fonction prend en
  paramètre un format, un peu à la manière de printf, et
  autant de pointeurs (bien typés) que de conversions dans le format,
  son effet est d'affecter aux emplacements pointés les valeurs tapées
  sur l'entrée standard. On peut entrer les valeurs les unes après les
  autres ou en une seule fois (pourvu qu'on les sépare par des
  espaces).
  Exemple de récupération de deux valeurs :
  int a;
    int b;
    scanf("%d %d",&a,&b);
    printf("La valeur de a est : %d et celle de b est %d \n",a,b);
  affecte aux deux variables les valeurs respectivement reçues
  depuis l'entrée standard puis les affiche.
Enregistrements
Un rationnel p/q peut être représenté
à l'aide d'un enregistrement précisant numérateur et dénominateur.
  -  Proposer un type pour les rationnels.
-  Écrire une fonction réalisant l'addition de deux
  rationnels (sans chercher à réduire la fraction
  obtenue).
-  Écrire une fonction réalisant l'addition de deux
  rationnels (en réduisant la fraction
  obtenue).
Tableaux, base
  - Proposez une fonction qui affiche (sur une ligne) les
    éléments d'un tableau d'int (correctement
    espacés, sur 5 caractères), dans l'ordre des
    indices.
  
- Proposez une fonction qui affiche les éléments
  d'un tableau d'int, un par ligne,
  précédés de l'indice leur correspondant entre
  crochets.
 Exemple : [42] : 666
- Proposez une fonction qui retourne la moyenne (double)
  des éléments (int) d'un tableau.
  
Tableaux comme type concret
On se propose de représenter des polynômes de
degré N-1 à l'aide de tableaux de N
cases tels que l'indice représente de degré du
monôme et la valeur à cet indice représente le
coefficient associé.
  - Proposez une fonction qui sur la donnée de trois
  polynômes p1, p2 et p3
  modifie p3 afin qu'il soit égal à la somme
  de p1 et p2.
- Proposez une fonction qui retourne la valeur d'un polynôme
  en un point donné, d'abord naïvement puis en
  schéma de Horner.
Recherche en tables
 
On peut travailler sur deux tableaux pour associer par exemple des
prix à des références (et vice versa).
Considérons deux tableaux de même taille ref
et price. On range dans ref les
références des articles, on range dans price
les prix correspondants dans le même ordre. Par
hypothèse toutes les références doivent
être distinctes deux-à-deux.
  - Proposez une fonction qui teste si un article est
  référencé dans cette base.
  
- Proposez une fonction qui retourne le prix d'un article de
    référence donnée.
  
- Proposez une fonction qui affiche les références
  de tous les articles correspondant à un prix donné.
  
Tris (par ordre croissant)
  - Implantez un tri par sélection (vu en cours). De toute
  façon vous devez toujours coder ce que vous avez vu en
  cours… Codez-le d'abord comme en cours, puis en deux boucles
  imbriquées.
- Le tri à bulles consiste à emmener les
  éléments les plus gros à la fin du tableau en
  permutant leur place avec leurs successeurs dans le tableau tant que
  ceux-ci sont plus petits. Implantez un tri à bulles.