Archives de Catégorie: R1.01 – Init Dev
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.
R1.01 – TP3
Récupérer l’archive suivante.
Elle contient :
- une fonction liée à la lecture des
stringsen 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 :
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.
R1.01 – TP2 – Exo#1
Vous devez :
- Transcrire les TDs vu algorithmique #6 en C++
Faire des jeux d’essais de façon à vérifier que vos algos sont bons / corrects.
NB : on fait d’abord la trace (papier des algos), avant de faire les jeux d’essais.
#R1.01 – PROG#8 – EXERCICE 4
On souhaite réaliser une animation graphique afin de visualiser l’algorithme des tours de Hanoi (1) algorithme doublement récursif) et (2) minGL.
Faite le !
R1.01 – Prog#8 – Exercice 3
On souhaite réaliser une animation graphique mélant (1) algorithme de tri et (2) minGL.
Faite le !
R1.01 – Prog#12 – Spirale de ULAM
https://fr.wikipedia.org/wiki/Spirale_d%27Ulam
https://casali.site/wp-content/uploads/2021/01/Spirale_Ulam.pdf
D’autres implémentations de la spirale :
https://rosettacode.org/wiki/Ulam_spiral_(for_primes)
Portable pixmap :
https://fr.wikipedia.org/wiki/Portable_pixmap
Pour aller plus loin avec les premiers (c’est en anglais) :
R1.01 – Prog#12 – Exercice 1
Ecrire de corps de la fonction
vector<unsigned> generePremierPlusPetitQue (const unsigned & N);
Cette fonction génère tous les nombres premiers dans l’intervalle [2,N] en utilisant le modulo.
Ecrire de corps de la fonction
vector<unsigned> generePremierPlusPetitQueV2 (const unsigned & N);
Cette fonction génère tous les nombres premiers dans l’intervalle [2,N] en utilisant le crible d’Eratosthène.
R1.01 – Prog#12 – Exercice 2
Ecrire le corps de la fonction
void genereMatricEscargot (vector<vector<unsigned>> & mat, const unsigned & N);
Cette fonction construit la matrice d’ordre N en forme de spirale.
R1.01 – Prog#12 – Exercice 3
Ecrire le corps de la fonction
void genereMatricUlam (vector<vector<unsigned>> & mat,
const vector <unsigned> & nombresPremiers);
Cette fonction remplace toutes les valeurs de la matrice qui ne sont pas des premiers par 0.