TP : valeurs et types#
Premiers calculs#
Lors de ces premières semaines de cours, nous allons travailler dans l'application web
Jupyter qui permet d'exécuter du code C++ interactivement, un peu comme une super
calculatrice. Plus tard, nous verrons comment créer un programme C++ indépendant en
dehors de Jupyter.
Exercice 1 : premiers calculs
Cliquez sur la cellule suivante puis exécutez la en appuyant sur les touches Maj+Entrée :
1 + 1
2
type: int
La première ligne donne le résultat du calcul. La deuxième ligne indique que ce résultat
est de type entier (int).
Techniquement parlant, le navigateur web a envoyé le contenu 1+1 de la cellule à un
noyau (kernel en anglais) qui l'a compilé et exécuté, avant de renvoyer le résultat
à afficher. Le noyau que nous utilisons (C++17) permet de travailler en C++. Il
existe des noyaux pour beaucoup d'autres langages de programmation.
Modifiez l'expression dans la cellule précédente et exécutez la de nouveau.
Utilisez la cellule suivante pour calculer la surface d'un rectangle de largeur 25 et de longueur 37 :
/// BEGIN SOLUTION
25*37
/// END SOLUTION
925
type: int
Exercice 2 : types
Vous avez vu en cours qu'il existe plusieurs types de variables (int, double, etc.).
Il est très utile de connaître le type des valeurs que l'on manipule. Exécutez les
cellules suivantes et observez les types obtenus :
3*4
12
type: int
3*4.0
12.000000
type: double
Les lignes suivantes vous présentent des exemples de calculs. Exécutez-les en observant bien la valeur du résultat et son type.
3*(1+3) + (1+4)*(2+4)
42
type: int
42 / 2
21
type: int
42 / 5
8
type: int
42. / 5
8.4000000
type: double
42 % 5
2
type: int
1 + 1.
2.0000000
type: double
42 == 6*7
true
type: bool
41 == 2*21
false
type: bool
Remarque
Dans les cellules précédentes, nous avons utilisé un double égal == qui sert à
tester l'égalité entre deux valeurs. Nous verrons bientôt la signification du
simple égal =.
1 < 2
true
type: bool
2 > 3
false
type: bool
1 < 2 and 2 > 3
false
type: bool
1 < 2 or 2 > 3
true
type: bool
Note: pour éviter de fausses manœuvres, nous configurons de nombreuses cellules, telles
celles ci-dessus, pour qu'elles soient non modifiables. Pour faire vos propres
expérimentations ou pour prendre des notes personnelles, vous pouvez à tout moment
insérer de nouvelles cellules. Insérez maintenant une cellule ci-dessous en utilisant le
bouton + sous les onglets, ou mieux avec le raccourci B vu dans la feuille
précédente. Dans la barre d'outil de cette feuille, sélectionnez Markdown à la place de
Code pour en faire une cellule de texte.
Exercice 3 :
Pour chacune des expressions suivantes, déterminez de tête le type et la valeur du
résultat, et donnez votre réponse à l'endroit indiqué sous la forme type, valeur;
puis vérifiez en exécutant les cellules.
Type : int, bool, ou double ?
Valeur : 7, 9, 11, ou 21 ?
BEGIN SOLUTION
int, 11
END SOLUTION
3 * 2 + 5
11
type: int
Type : int, bool, ou double ?
Valeur : 12 ou 12.5 ?
BEGIN SOLUTION
int, 12
END SOLUTION
25 / 2
12
type: int
Type : int, bool, ou double ?
Valeur : 6, 7, 6.0000, ou 7.0000?
BEGIN SOLUTION
double, 7.0000
END SOLUTION
3.5*2
7.0000000
type: double
Type: int, bool, ou double ?
Valeur : 5, 4, ou 4.66667 ?
BEGIN SOLUTION
double, 4.66667
END SOLUTION
14. / 3
4.6666667
type: double
Type : int, bool, ou double ?
Valeur : 3,7,21, true, ou false ?
BEGIN SOLUTION
bool, true
END SOLUTION
3*7 == 21
true
type: bool
Type : int, bool, double ?
Valeur : 21, 25, true, false ?
BEGIN SOLUTION
bool, true
END SOLUTION
(3*7 == 21) and (4.2 > 5.3 or 4*4 == 8*2)
true
type: bool
Type : int, bool, double ?
Valeur : 1, 0, true, false ?
BEGIN SOLUTION
bool, false
END SOLUTION
true and false
false
type: bool
Type : int, bool, double ?
Valeur : 1, 0, true, false ?
BEGIN SOLUTION
bool, true
END SOLUTION
true or false
true
type: bool
Type : int, bool, double ?
Valeur : 1, 0, true, false ?
BEGIN SOLUTION
bool, true
END SOLUTION
(false and false) or true
true
type: bool
Type : int, bool, double ?
Valeur : 1, 0, true, false ?
BEGIN SOLUTION
bool, false
END SOLUTION
false and (false or true)
false
type: bool
Bravo, vous avez terminé cette première feuille où vous avez exploré les expressions, valeurs, types en C++. Dans la feuille suivante, vous aborderez les variables.
Vous pouvez maintenant fermer cette feuille; utilisez pour cela le raccourci clavier Ctrl+Maj+Q.