Skip to content
Snippets Groups Projects
Commit 2073ce19 authored by Nicolas M. Thiéry's avatar Nicolas M. Thiéry
Browse files

Préparation

parent 6d2f9c5a
Branches main
No related tags found
No related merge requests found
No preview for this file type
GRAPHIC_PROGS=$(wildcard exemple-graphisme*.cpp segment*.cpp cercle*.cpp premier-dessin*.cpp disque*.cpp souris*.cpp)
OTHER_PROGS=$(wildcard factorielle-*.cpp) fibonacci-exemple fibonacci-test
OTHER_PROGS=$(wildcard factorielle-*.cpp) fibonacci-exemple.cpp fibonacci-test.cpp programme1.cpp programme2.cpp max-test.cpp puissance4.cpp
PROGS=$(GRAPHIC_PROGS) $(OTHER_PROGS)
TARGET=$(PROGS:%.cpp=%)
......@@ -30,5 +30,5 @@ $(GRAPHIC_PROGS:%.cpp=%): %: %.o primitives.o
$(CXX) $(CXXFLAGS) $(LDFLAGS) $^ -o $@ -lsfml-window -lsfml-graphics -lsfml-system
clean:
-rm -rf $(TARGET) *.o
-rm -rf $(TARGET) *.o puissance-quatre.s
......@@ -121,27 +121,3 @@ rise:
</div>
```{code-cell}
:tags: []
double f(int, double) {
return 0;
}
```
```{code-cell}
:tags: []
#include <typeinfo>
```
```{code-cell}
:tags: []
typeid(f).name()
```
```{code-cell}
```
......@@ -31,7 +31,7 @@ CONST I2 = RANDOM_INT(18, 26);
:::{admonition} Consigne
Écrivez ici le code permettant de mettre dans la variable s
Écrivez ici le code permettant de mettre dans la variable `s`
la somme des carrés des entiers compris entre I1 et I2 inclus.
:::
......
......@@ -18,6 +18,8 @@ kernelspec:
:tags: [hide-cell]
#include <iostream>
#include <typeinfo>
#include <string>
#include "jupyter_exercizer_helpers.hpp"
using namespace std;
......@@ -32,7 +34,6 @@ nom de la fonction et son utilisation.
:::
```{code-cell}
/** Teste si a divise b
* @param un entier a et un entier b
* @return true si a divise b, false sinon
......@@ -54,7 +55,6 @@ bool estDiviseur(int a, int b) {
/// END SOLUTION
return b % a == 0;
}
```
```{code-cell}
......@@ -65,8 +65,6 @@ estDiviseur(2,8)
estDiviseur(3,8)
```
+++
```{code-cell}
---
editable: false
......@@ -79,6 +77,7 @@ nbgrader:
solution: false
tags: [hide-cell]
---
CHECK( typeid(estDiviseur).name() == string("FbiiE") );
CHECK( estDiviseur(2,8) );
CHECK( !estDiviseur(3,8) );
```
......@@ -18,6 +18,8 @@ kernelspec:
:tags: [hide-cell]
#include <iostream>
#include <typeinfo>
#include <string>
#include "jupyter_exercizer_helpers.hpp"
using namespace std;
......@@ -54,7 +56,6 @@ float produit(int a, float b) {
/// END SOLUTION
return a * b;
}
```
```{code-cell}
......@@ -65,8 +66,6 @@ produit(3, 2.5)
produit(2, 5.4)
```
+++
```{code-cell}
---
editable: false
......@@ -79,6 +78,7 @@ nbgrader:
solution: false
tags: [hide-cell]
---
CHECK( typeid(produit).name() == string("FfifE") or typeid(produit).name() == string("FdidE" ))
CHECK( produit(3, 2.5) == 7.5f );
CHECK( produit(2, 5.4) == 10.8f );
```
......@@ -18,7 +18,10 @@ kernelspec:
:tags: [hide-cell]
#include <iostream>
#include <typeinfo>
#include <string>
#include "jupyter_exercizer_helpers.hpp"
using namespace std;
```
......@@ -77,6 +80,7 @@ nbgrader:
solution: false
tags: [hide-cell]
---
CHECK( string(typeid(nbCaracteres).name()).find(string("FiNSt")) != string::npos )
CHECK( nbCaracteres("bonjour") == 7 );
CHECK( nbCaracteres("aujourd'hui") == 11 );
```
---
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
---
### Objectif pédagogique : écriture d'entête de fonction
```{code-cell}
:editable: 'false'
:tags: [hide-cell]
#include <iostream>
#include <typeinfo>
#include <string>
#include "jupyter_exercizer_helpers.hpp"
using namespace std;
```
:::{admonition} Consigne
Écrivez ci-dessous l'entête de la fonction en n'oubliant pas de finir
par `{`. Regardez les appels dans les cellules suivantes pour voir le
nom de la fonction et son utilisation.
:::
```{code-cell}
/** Affiche le contenu d'un tableau d'entiers
* @param tab un tableau d'entiers
**/
```
```{code-cell}
---
editable: 'true'
nbgrader:
grade: 'false'
grade_id: init
locked: 'false'
schema_version: '3'
solution: 'true'
---
/// BEGIN SOLUTION
void affiche(vector<int> tab) {
/// END SOLUTION
for (int i=0; i<tab.size(); i++) {
cout << tab[i]<<endl;
}
}
```
```{code-cell}
affiche( {3,2,5} )
```
```{code-cell}
affiche( {7,4} )
```
+++
```{code-cell}
---
editable: false
nbgrader:
grade: true
grade_id: check
locked: true
points: 1
schema_version: 3
solution: false
tags: [hide-cell]
---
CHECK( string(typeid(affiche).name()).find(string("FvSt6vectorI")) != string::npos )
```
---
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
---
### Objectif pédagogique : écriture d'entête de fonction
```{code-cell}
:editable: 'false'
:tags: [hide-cell]
#include <iostream>
#include <typeinfo>
#include <string>
#include "jupyter_exercizer_helpers.hpp"
using namespace std;
```
:::{admonition} Consigne
Écrivez ci-dessous l'entête de la fonction en n'oubliant pas de finir
par `{`. Regardez les appels dans les cellules suivantes pour voir le
nom de la fonction et son utilisation.
:::
```{code-cell}
/** Affiche un compte à rebours commençant par l'entier pris en paramètre
* @param n un entier
**/
```
```{code-cell}
---
editable: 'true'
nbgrader:
grade: 'false'
grade_id: init
locked: 'false'
schema_version: '3'
solution: 'true'
---
/// BEGIN SOLUTION
void afficheCompteARebours(int n) {
/// END SOLUTION
for (int i=n; i>=0; i--) {
cout << i << endl;
}
}
```
```{code-cell}
afficheCompteARebours(5)
```
+++
```{code-cell}
---
editable: false
nbgrader:
grade: true
grade_id: check
locked: true
points: 1
schema_version: 3
solution: false
tags: [hide-cell]
---
CHECK( typeid(afficheCompteARebours).name() == string("FviE") );
```
......@@ -327,4 +327,3 @@ de points sera ensuite affiché.
À vous de concevoir les fonctions à introduire pour décomposer le
problème.
......@@ -7,7 +7,7 @@ using namespace std; // Pour les exceptions dans la version distribuée
int main() {
int delai = 1;
RenderWindow window(VideoMode(900, 480), "Ma super fenêtre");
RenderWindow window(VideoMode(640, 480), "Ma super fenêtre");
window.clear(Color::Green);
// Dessine un point noir de coordonnées (418, 143)
......@@ -61,22 +61,31 @@ int main() {
throw runtime_error("code non implanté ligne 56");
window.display();
sleep(seconds(delai));
// Dessine un triangle bleu entre les (0,0), (640,0) et (0,160)
// Remplacez cette ligne et la suivante par le code adéquat
throw runtime_error("code non implanté ligne 65");
window.display();
sleep(seconds(delai));
// Dessine un cercle noir de centre (415,145) et de rayon 10
// Remplacez cette ligne et la suivante par le code adéquat
throw runtime_error("code non implanté ligne 64");
throw runtime_error("code non implanté ligne 72");
window.display();
sleep(seconds(delai));
// Dessine un disque jaune de centre (700, 100) et de rayon 50
// Dessine un disque jaune de centre (550, 75) et de rayon 50
// Remplacez cette ligne et la suivante par le code adéquat
throw runtime_error("code non implanté ligne 72");
throw runtime_error("code non implanté ligne 80");
window.display();
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment