Programmation impérative : TP 3

Rappel : appel par valeur, par référence

  1. Écrire une procédure qui incrémente une variable, c'est-à-dire qui ajoute 1 à son contenu. Comme toujours, on n'oubliera pas de tester dans main.
  2. Écrire une procédure qui prend en paramètres une variable et un entier et qui incrémente la variable de la valeur de l'entier.

Enregistrements

Un rationnel p/q peut être représenté à l'aide d'un enregistrement précisant numérateur et dénominateur.

Tableaux, base

  1. Proposez une procédure 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.
  2. Proposez une procédure 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
  3. 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é au plus N-1 à l'aide de tableaux de N cases tels que l'indice représente le degré du monôme et la valeur à cet indice représente le coefficient associé.

  1. 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.
  2. Proposez une procédure 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. On pourra supposer que les trois polynômes sont de même degré (en ajoutant des coefficients égaux à 0 le cas échéant).

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.

  1. Proposez une fonction qui teste si un article est référencé dans cette base.
  2. Proposez une fonction qui retourne le prix d'un article de référence donnée.
  3. Proposez une procédure qui affiche les références de tous les articles correspondant à un prix donné.