---
# System prepended metadata

title: Projet - Groupe Eco Math
tags: [upsud]

---

---
tags: upsud
---


# Projet - Groupe Eco Math

Lien vers Jupyterhub : [cliquez ici](https://jupytercloud.lal.in2p3.fr)
Page des projets : [cliquez ici](http://nicolas.thiery.name/Enseignement/Info111/projet.html)

Pour demander de l'aide :
- envoyez-moi un mail (virgile.robles@u-psud.fr)
- posez des questions sur le forum : 
    Lien vers le forum : [cliquez ici](https://ecampus.paris-saclay.fr/mod/hsuforum/view.php?id=222408)

## Instructions

**écrivez dans votre section où vous en êtes du projet**

Si vous avez besoin d'aide, attirez mon attention sur le chat. Si vous pouvez formuler le problème textuellement, vous aurez plus vite une réponse.

## Méthodes de programmation

### RAPPEL : COMMENT COMPILER

- une fois le fichier truc.cpp rempli, le sauvegarder (File->Save)
- ouvrir un terminal (New->Terminal)
- se positionner dans le dossier de la semaine avec
    `cd ProgImperative/Semaine8`
- compiler le fichier avec (en remplaçant truc par votre fichier)
    `info-111 g++ truc.cpp -o truc`
- exécuter le programme compilé avec
    `./truc`
    
### Comment créer un nouveau type de variables avec des mots (énumération)

On crée le type, comme par exemple : 
```c++
enum Volume { Faible, Moyen, Fort };
```
On peut ensuite déclarer une variable de ce type : 
```c++
Volume v = Moyen;
v = Fort;
v = 1 //Ne fonctionne pas !
```
    
## Débugguer avec GDB

Lorsqu'on compile avec l'option `-g`, on indique au compilateur de générer un exécutable qui contient toutes les informations nécessaires pour enquêter en cas de problème.

En cas d'erreur grave, le programme s'arrête subitement et dit "... (core dumped)", ce qui signifie qu'il a créé un fichier `core.XXX`, qui est un rapport d'erreur.

En l'occurence pour `calcul.cpp`, on nous dit : 
`Floating point exception (core dumped)`

Pour analyser ce rapport, on lance le débuggeur :
`gdb ./calcul`
Puis on lui indique quel rapport d'erreur analyser : 
`core core.XXXX` (remplacer XXXX par les chiffres chez vous)

Immédiatement, on nous dit à quel ligne il y a eu une erreur : 
```
#0  0x0000558372a2d228 in main () at calcul.cpp:20
20              resultat = resultat + 1/(x-i);
```
C'est à dire à la ligne 20, au moment de faire une division.

Pour savoir les valeurs de toutes les variables à ce moment-là, on utilise la commande `where full` qui nous indique : 
```
#0  0x0000558372a2d228 in main () at calcul.cpp:20
        i = 40
        x = 40
        resultat = 1
```

Or, dans notre division on divise par `(x-i)`. Mais `x` et `i` ont la même valeur, on divise donc par zéro ! D'où le plantage.

## Répartition des groupes

### Groupe 1 - Anna Mosaki / Pierre Clayton -> Données-libres

Exo 7

### Groupe 2 - Clara Baley / Laura Giménez -> Projet Puyo

Définition des fonctions de base

### Groupe 3 - Diabate Marie / Besbes Ines -> Donnees libres

exercice 5

### Groupe 4 - Roux Caroline / Foricheur Romane -> Donnees Libres
Exercices 1, 2, 3, 4, 5, 6, 7, 8 terminés

### Groupe 5 (3 sur collab) - Lorenzo Brucato / Rafael Medus -> Projet Puyo

Création du mode IA

### Groupe 6 - Théo Lebreton / Rémi Calvet -> Données libres
Exercice 6 
Ex 1,2,3,4,5,7,8 terminés
Ex 9 terminé
ex 11 q1 terminée

### Groupe 7 - Hovik Aleksanyn / Vincent Gimenes -> Données Libres
debut exercice 9

### Groupe 8 - Nolwenn Lenglet / Lina Dauvergne -> Données Libres
ex 4-5

### Groupe 9 - Hongji Zhang / Eythan Cazin -> Données Libres
Exercice 5

### Groupe 10 - Axel Sadaoui / Axel Geertsen -> Données Libres

### Groupe 11 - Xiaolin Ye -> Projet Puyo
mode simulation
##### Groupe 12 - Juliette Macchi/Baptiste Richard->Donnees libres**
ex 5