Université de Montpellier II — DEUG MASS — niveau 1 —
période 2 — Informatique — U1IF2A
 
Examen d’Informatique
mai 2003 – 3h
 
Il est recommandé aux étudiants de lire attentivement l’ensemble du sujet avant de commencer. Ecrire les réponses sur cette feuille. Tous documents autorisés sauf livre
 
Question I.1
 
Ecrire une fonction compte_debut(A,B) qui retourne le nombre de caractères en commun au début de deux chaînes de caractères. Faire la même chose avec une fonction compte_fin(A,B).
Exemples : compte_debut(« anti », « antimoine ») à 4
compte_debut (« aller», « antimoine ») à 1
compte_debut (« bibi », « antimoine ») à 0
 
Question I.2
 
Définir et écrire une fonction fusion(A,B) qui fusionne deux chaînes de caractères en une seule C contenant les deux chaînes A et B. On fera en sorte que C soit la plus courte possible.
Exemples : fusion(« anti », « antimoine ») à « antimoine »
fusion(« neveu », « antimoine ») à « antimoineveu »
fusion(« apprenant », « antimoine ») à « apprenantimoine »
fusion(« interne », « antimoine ») à « interneantimoine »
 
 
Question II.1
 
On souhaite remplir un tableau carré à deux dimensions (n*n) avec un texte T. Définir et écrire cette fonction remplir_matrice_carré. Par exemple :
| 
       remplir_matrice_carré (« lechatboitdulait »,
  5) à    | 
  
  
  | 
 
 
Question II.2
 
On souhaite décaler circulairement les lignes et les colonnes d’une matrice carrée de caractères, à l’aide de deux valeurs numériques. La première valeur C décale l’ensemble des colonnes, la seconde valeur L les lignes. Une valeur positive décale vers le bas ou à droite, une valeur négative vers le haut ou à gauche. Par exemple :
| 
     
   C = 2 et L = 3  | 
  
     C = 2 à        | 
  
     
      | 
  
     L = 3 à        | 
  
     
      | 
 
 
Ecrire cette fonction décaler_matrice(M : tableau , C, L : entier)
 
 
°°°°°°°°°°°°°°°°°°°°