Skip to content
Snippets Groups Projects
yams.md 34.34 KiB
jupytext:
  text_representation:
    extension: .md
    format_name: myst
    format_version: 0.13
    jupytext_version: 1.15.2
kernelspec:
  display_name: C++17
  language: C++17
  name: xcpp17

+++ {"deletable": false, "editable": false, "nbgrader": {"cell_type": "markdown", "checksum": "89698a7d6552b3188af9704712e2a985", "grade": false, "grade_id": "cell-8debedfea96381b5", "locked": true, "schema_version": 3, "solution": false}}

TP : le jeu de Yams

+++ {"deletable": false, "editable": false, "nbgrader": {"cell_type": "markdown", "checksum": "975812aa49a8c47d91612ddf23aa41d9", "grade": false, "grade_id": "cell-6c2c32f5e76ffb43", "locked": true, "schema_version": 3, "solution": false}}

:::{admonition} Rappels d'utilisation des tableaux

  • Déclarer un tableau d'entiers tab :

    vector<int> tab;
  • Allouer 5 cases au tableau tab :

    tab = vector<int>(5);
  • Initialiser ses cases :

    tab[0] = 42; tab[1] = 3; ... ; tab[4] = 36;
  • Déclarer, allouer et initialiser en une seule instruction :

    vector<int> tab = {25,-3,10,7};
  • Il est également possible de construire un tableau sans lui donner de nom pour le passer à une fonction de la manière suivante :

    maFonction({17,9,-3,42});

:::

+++ {"deletable": false, "editable": false, "nbgrader": {"cell_type": "markdown", "checksum": "a7918f75f740df20c5064a2efcd7b1f7", "grade": false, "grade_id": "cell-e8fa588409cbc545", "locked": true, "schema_version": 3, "solution": false}}

:::{admonition} Astuce :class: tip

Lorsque vous avez besoin de redémarrer le noyau, utilisez le menu Noyau > Redémarrer le noyau et exécutez jusqu'à la cellule selectionnée.

Ainsi vous disposez d'un environnement d'exécution propre avec toutes les fonctions précédentes bien définies, ainsi que les instructions d'initialisation qui suivent.

:::

---
deletable: false
editable: false
nbgrader:
  cell_type: code
  checksum: 07655687e27257a54630534c6ac62c15
  grade: false
  grade_id: cell-214aa5a1f7ccaa00
  locked: true
  schema_version: 3
  solution: false
---
#include <iostream>
#include <vector>
#include <cstdlib>
using namespace std;

using tableau = vector<int>;

// Initialisation de la fonction rand (pour les nombres aléatoires) :
srand(time(0));

+++ {"deletable": false, "editable": false, "nbgrader": {"cell_type": "markdown", "checksum": "c41c8f0241a2649e0b62694e273a9e84", "grade": false, "grade_id": "cell-e8fa588409cbc546", "locked": true, "schema_version": 3, "solution": false}}

Exercice 1 : Reconnaître les yam's

+++ {"deletable": false, "editable": false, "nbgrader": {"cell_type": "markdown", "checksum": "bbe82a28d45d9dc4875a7e1822472bcd", "grade": false, "grade_id": "cell-b61f9d53913e9c53", "locked": true, "schema_version": 3, "solution": false}}

pointsFigureYams

Complétez la documentation de la fonction pointsFigureYams ébauchée dans la cellule suivante, puis implémentez cette fonction dans la cellule d'après. Pour rappel, la fonction pointsFigureYams doit vérifier si les cinq valeurs de dés fournies forment un yam's ou non. Si un yam's est trouvé on renvoie le score correspondant (somme des dés + 60), sinon on renvoie 0.

/** Fonction pointsFigureYams
 * @param des
 * @return 
 **/
---
deletable: false
nbgrader:
  cell_type: code
  checksum: a239d59a94d368ba3cf60c749ee38dcc
  grade: false
  grade_id: cell-e5c12aeafec7d057
  locked: false
  schema_version: 3
  solution: true
---
// REMPLACER CETTE LIGNE PAR VOTRE RÉPONSE