TP Noté d'Entraînement

Exercice 1 : Test

Voici plusieurs consignes importantes à lire impérativement avant de répondre à ce test.

  • Vous disposez de toutes les ressources disponibles sur Internet pour répondre à ce test. Néanmoins, il est strictement interdit d'échanger des informations avec une tierce personne, que ce soit physiquement ou numériquement !
  • Veillez à bien respecter le format de la réponse. Pour chaque question exigeant une réponse courte, un exemple vous est donné.

Répondez aux questions du Test sur Moodle.

Exercice 2 : Programmation

Vous allez dans cet exercice devoir de créer un nouveau projet GitLab (personnel et privé), importer les fichiers d'un autre projet dans ce dépôt, puis créer une nouvelle branche, pour y réaliser un petit travail, comme l'ajout d'une fonctionnalité et d'un exécutable à ce projet.

Plus précisément, il vous faut suivre les étapes suivantes :

Étape 1

  • Commencez par créer un nouveau projet dans le GitLab du CREMI du nom de votre choix (demo dans l'exemple ci-dessous). Ce projet devra être obligatoirement privé, et se situer dans votre espace personnel. Dans ce cas, le namespace est votre login (auesnard dans l'exemple ci-dessous).

  • Ainsi, votre projet privé doit être accessible via une URL de la forme : https://gitlab.emi.u-bordeaux.fr/<login>/...
  • Ajoutez les membres suivants comme Maintainer à votre projet : (1) le responsable du cours (Aurélien Esnard) et (2) l'utilisateur Moodle Manager. Attention : si vous oubliez d'ajouter ce dernier utilisateur, l'évaluation VPL de votre projet échouera !!!
  • Importez dans votre projet tous les fichiers du projet Git https://github.com/orel33/tree et faites un premier commit.
  • Vérifiez dans VPL que ce projet compile, sinon corrigez le problème.

Étape 2

  • Ajoutez un ticket (issue) nommé sum dans GitLab.
  • Créez maintenant une branche sum, et publiez-la. Nous allons maintenant travailler uniquement dans cette nouvelle branche.
  • Ajoutez dans la bibliothèque tree fonction tree_sum_int() dont le code vous est fourni dans le fichier tree_sum_int.c.
  • Puis ajoutez à votre projet un fichier sum.c avec une simple fonction main().
  • Mettez à jour votre CMakeLists.txt pour produire l'exécutable sum à partir de ce fichier et de la bibliothèque tree fournie.
  • Vérifiez dans VPL que ce projet compile, sinon corrigez le problème.

Étape 3

Complétez maintenant le programme sum.c.

  • Le programme ./sum <filename> prend en argument le nom d'un fichier décrivant un arbre, par exemple test.tree et le charger à l'aide de la fonction tree_load_int().
  • Puis, on appliquera la fonction tree_sum_int() à cet arbre, avant d'afficher le résultat dans le terminal en respectant strictement le format imposé ci-dessous.
  • On n'oubliera pas de libérer la mémoire.

Voici un exemple d'utilisation de ce programme qui illustre la sortie attendue dans le terminal.

$ ./sum test.tree
tree sum: 33
  • N'oubliez pas de commiter votre travail quand il fonctionne correctement en fermant le ticket associé dans GitLab.
  • Rendre dans VPL votre dernier commit fonctionnel.

Attention : Un code, qui ne compile pas dans VPL recevra systématiquement la note 0 !