R1.01 – TP4

Ce Tp est l’inverse du TP précédant.
Dans le TP précédant (ie TP3), nous vous demandions d’écrire  les protocoles de test en utilisant :

  • EASY_ASSERT ()
  • assert ()
  • Les tests via fichiers oracles

Cette fois-ci, vous devez passez tous les tests (et j’ai générer jusqu’à plusieurs milliards de test d’un coup).

Votre projet est à télécharger ici.

Warning : normalement, vous n’avez pas accès au code de ces fonctions de test.
Actuellement, j’ai certaines difficultés à faire fonctionner ce TP (et c’est très bien ainsi) :

  • Je suis sur un environnent basé sur OSX avec des puces Apple;
  • Si je compile mes bibliothèques (ie je ne vous donne que les signatures des fonctions), ça n’est pas compatible : les instructions entre les proc “Intel” et “Apple” ne sont pas les mêmes;
  • Si je compile mes bibliothèques dans un environnement fourni par la DirNum AMU, ça ne passe pas car les bibliothèques fournies ne sont pas signées numériquement (ça se comprend aussi d’un point de vue cyber-sécu).

=> c’est pourquoi je ne vous fournirai pas de bibliothèque pré-complilée, mais tout le code source.

 

 

 

R5-05 Projet

Pour ce projet :

  • Vous devez constituer des équipes de 4 ou 5 étudiants;
  • Chaque équipe devra coder un des problème présents dans le document Little book of semaphores (partie 4.5 et partie 5);
  • Vous devrez changer le lore du problème que vous allez coder (autrement dit, vous devez trouver un autre problème qui se résout de la même manière que votre choix);
  • Votre rendu, au format zip, devra contenir :
    • les 2 projets sous QT Creator :
      • L’un contenant, au moins, un interblocage de thread;
      • L’autre étant thread safe.
    • un rapport au format pdf, contenant :
      • un rappel et une explication du problème d’origine;
      • votre lore;
      • un algorithme qui fonctionne;
      • un algorithme qui ne fonctionne pas (dead-lock, l’inter-bloquage, …);
      • dire quelle est l’utilité informatique de ce problème;
    • un fichier texte avec les discussions de l’IA (HAL9001).

La date de rendu du projet est le jeudi 15 octobre à 23h59, sur Ametice.

Vous devrez faire une soutenance (10 minutes de présentation + 10 minutes de questions / réponses) lundi 19 octobre afin d’exposer vos travaux à vos collègues.

 

R1.01 – TP3

Récupérer l’archive suivante.

Elle contient :

  • une fonction liée à la lecture des strings en C++;
  • une fonction vous permettant de copier un fichier texte;
  • la correction du TD7 (exercice 1);
  • la signature des fonctions de tests de ces fonctions;

Le cours correspondant à cette séance est le suivant :

Télécharger (PPTX, Inconnu)

Exercice 1

Ouvrir le projet lié à cette séance.

Exercice 2

A l’aide d’un terminal, placez vous à l’endroit où situer l’exécutable de votre projet.
Tester la fonction lectureDUneLigneAuClavier().

Exercice 3

Tester la fonction testCopieFichier().
Utilisez les redirections d’entrées / sorties avec votre exécutable.
Quel est l’outil du shell qui vous permet de garantir que la copie du fichier est parfaite ?

Exercice 4

Regardez (lisez) la correction de l’exercice 1 du TD7.

Exercice 5

Codez les fonctions de tests qui vous sont demandées (dans l’ordre du main).

Exercice 6

  • Coder les fonctions liées à l’exercice 2 du TD7;
  • Réécrire toutes les fonctions de test.