| Corrigé de la séance d'exercices 2, Programmation I |
| Sciences et Technologies du Vivant, Semestre 1 |
#include <iostream>
using namespace std;
int main(int argc, char **argv)
{
float yyy, ymultipliepar2;
yyy = 4;
ymultipliepar2 = yyy * 2;
cout << "2 yyyy = " << ymultipliepar2 << endl;
return 0;
}
cout "5 multiplie par 1 vaut " << 5 * 1 << endl;,
en changeant à chaque fois la valeur du facteur de 1 à 10.
n de type entier
afin de stocker la valeur dont on doit afficher la table
de multiplication. Après la déclaration de variable, on peut
demander à l'utilisateur d'entrer une valeur. Ceci s'effectue à
l'aide des commandes cin et cout.
Il s'agit ensuite de modifier les lignes d'affichage de la
table. Il faudra remplacer la constante 5 par la variable
n. Remarquez que si vous remplacez 5 par n à
l'intérieur de la chaîne de caractères, le programme
affichera le caractère n et non pas la valeur de la
variable n. Pour que le programme se déroule correctement,
il faut donc sortir n de la chaîne de caractères.
Exemple: cout << "n multiplie par 1 vaut " << n * 1 << endl;
est incorrect, alors que
cout << n << " multiplie par 1 vaut " << n * 1 << endl; est correct.
#include <iostream>
using namespace std;
int main(int argc, char **argv)
{
int n = 0;
cout << "Entrez le numero de la table a afficher: ";
cin >> n;
cout << n << " multiplie par 1 vaut " << n * 1 << endl;
cout << n << " multiplie par 2 vaut " << n * 2 << endl;
cout << n << " multiplie par 3 vaut " << n * 3 << endl;
cout << n << " multiplie par 4 vaut " << n * 4 << endl;
cout << n << " multiplie par 5 vaut " << n * 5 << endl;
cout << n << " multiplie par 6 vaut " << n * 6 << endl;
cout << n << " multiplie par 7 vaut " << n * 7 << endl;
cout << n << " multiplie par 8 vaut " << n * 8 << endl;
cout << n << " multiplie par 9 vaut " << n * 9 << endl;
cout << n << " multiplie par 10 vaut " << n * 10 << endl;
return 0;
}
moyenne la somme des notes
divisée par 3. L'affichage de la moyenne se fait bien entendu à
l'aide de la commande cout.
#include <iostream>
using namespace std;
int main(int argc, char **argv)
{
float note1, note2, note3;
float moyenne;
cout << "Entrez la note 1: ";
cin >> note1;
cout << "Entrez la note 2: ";
cin >> note2;
cout << "Entrez la note 3: ";
cin >> note3;
moyenne = (note1 + note2 + note3) / 3;
cout << "La moyenne est " << moyenne << endl;
return 0;
}
#include <iostream>
using namespace std;
int main(int argc, char **argv)
{
float note1, note2, note3, note4;
float moyenne;
cout << "Entrez la note 1: ";
cin >> note1;
cout << "Entrez la note 2: ";
cin >> note2;
cout << "Entrez la note 3: ";
cin >> note3;
cout << "Entrez la note 4: ";
cin >> note4;
moyenne = (note1 + note2 + note3 + note4) / 4;
cout << "La moyenne est " << moyenne << endl;
return 0;
}
somme initialisée à 0, et qui contiendra la somme de
toutes les notes. Chaque fois que l'utilisateur entre une note,
on la stocke provisoirement dans une variable note
et on l'ajoute à la somme. Finalement, on calcule la
moyenne en divisant simplement la somme par le nombre de
notes (4).
#include <iostream>
using namespace std;
int main(int argc, char **argv)
{
float somme = 0;
float note;
cout << "Entrez la note 1: ";
cin >> note;
somme += note;
cout << "Entrez la note 2: ";
cin >> note;
somme += note;
cout << "Entrez la note 3: ";
cin >> note;
somme += note;
cout << "Entrez la note 4: ";
cin >> note;
somme += note;
cout << "La moyenne est " << somme / 4 << endl;
return 0;
}
float avant de la diviser par le nombre de
notes (4).
#include <iostream>
using namespace std;
int main(int argc, char **argv)
{
int somme = 0;
int note;
cout << "Entrez la note 1: ";
cin >> note;
somme += note;
cout << "Entrez la note 2: ";
cin >> note;
somme += note;
cout << "Entrez la note 3: ";
cin >> note;
somme += note;
cout << "Entrez la note 4: ";
cin >> note;
somme += note;
cout << "La moyenne est " << float(somme) / 4 << endl;
return 0;
}
La structure de ce programme est classique. Tout d'abord, il
convient de demander à l'utilisateur d'entrer les 3 coéfficients
a, b et c, toujours à l'aide des commandes
cin et cout. Ensuite, le calcul d'une racine peut se
faire en une seule opération:
(-b+sqrt(b*b-4*a*c))/(2*a). La racine carrée s'effectue à
l'aide de la commande sqrt. On remarquera que celle-ci exige
un paramètre de type float. Une conversion sera donc
peut-être nécessaire. Pour élever un nombre au carré, il
suffit de le multiplier par lui-même. Finalement, il convient
d'utiliser les parenthèses correctement, de manière à ce que
les opération arithmétiques se déroulent bien dans l'ordre voulu.
#include <iostream>
#include <cmath>
using namespace std;
int main(int argc, char **argv)
{
float a, b, c;
cout << "Entrez les coefficients:" << endl << "a: ";
cin >> a;
cout << "b: ";
cin >> b;
cout << "c: ";
cin >> c;
cout << "Les deux racines sont: " << endl;
cout << "1) " << (-b + sqrt(b * b - 4 * a * c)) / (2 * a) << endl;
cout << "2) " << (-b - sqrt(b * b - 4 * a * c)) / (2 * a) << endl;
return 0;
}
L'ordinateur ne possède pas une précision de calcul
infinie. Lorsqu'un nombre excède sa précision, celui-ci est
tronqué (i.e. les dernières décimales sont ignorées). Par
exemple, si un ordinateur possède une précision de 2
décimales, le résultat de la division
sera
.
La racine carrée en est un exemple classique. La racine carré de 36 est un entier (6). Ainsi, si l'on fait l'opération inverse (élever 6 au carré), on retrouvera la valeur d'origine. Pour 37, par contre, sa racine carrée est un nombre irrationel, qui sera tronqué par l'ordinateur. Si on l'éleve au carré, on ne retrouvera plus 37, mais une valeur légèrement inférieure.
#include <iostream>
#include <math.h>
using namespace std;
int main(int argc, char **argv) {
int i;
float racine;
cout << "Entrez un entier: ";
cin >> i;
racine = sqrt(i);
cout << "Erreur d'approximation: " << i - racine * racine << endl;
return 0;
}
Pour pouvoir permuter le contenu de plusieurs variables, nous avons
besoin d'une variable annexe, que nous appellerons
temp. Ensuite, la permutation s'effectue simplement:
a ==> temp
b ==> a
c ==> b
temp ==> c
#include <iostream>
using namespace std;
int main(int argc, char **argv) {
int a, b, c;
cout << "Entrez la premiere valeur: ";
cin >> a;
cout << "Entrez la deuxieme valeur: ";
cin >> b;
cout << "Entrez la troisieme valeur: ";
cin >> c;
cout << "Les valeurs entrees sont: a = " << a << ", b = " << b <<
" et c = " << c << endl;
cout << "Permutation: a ==> b, b ==> c, c ==> a" << endl;
int temp = a;
a = c;
c = b;
b = temp;
cout << "Les valeurs permutees sont: a = " << a << ", b = " << b <<
" et c = " << c << endl;
return 0;
}
#include <iostream>
using namespace std;
int main(int argc, char **argv) {
int decimal;
cout << "Entrez un nombre entier de 0 a 15: ";
cin >> decimal;
cout << decimal % 2 << endl;
decimal = decimal / 2;
cout << decimal % 2 << endl;
decimal = decimal / 2;
cout << decimal % 2 << endl;
decimal = decimal / 2;
cout << decimal % 2 << endl;
return 0;
}