C++ SMP/SMC/S4 1 EXERCICES ET SOLUTIONS C++ I-A. Exercice 1 Écrire un programme
C++ SMP/SMC/S4 1 EXERCICES ET SOLUTIONS C++ I-A. Exercice 1 Écrire un programme qui affiche ceci à l'écran: Hello world! Voici un programme illustrant l'utilisation de cout! Cet exercice a pour but de vérifier le point technique suivant : l'utilisation de cout et de endl. Solution #include<iostream> using namespace std; int main(int argc, char **argv) { cout << "Hello world!" << endl; cout << "Voici un programme illustrant l'utilisation de cout!"; cout << "Appuyez sur une touche pour continuer ..." << endl; cin.ignore(); cin.get(); return EXIT_SUCCESS; } II-B. Exercice 2 Écrire un programme qui demande à l'utilisateur de taper la largeur et la longueur d'un champ et qui en affiche le périmètre et la surface. Solution #include<iostream> using namespace std; int main() { double largeur,longueur,surface, perimetre; cout << "Tapez la largeur du champ : "; cin >> largeur; cout << "Tapez la longueur du champ : "; cin >> longueur; surface = largeur * longueur; C++ SMP/SMC/S4 2 perimetre = 2 * (largeur + longueur); cout << "La surface vaut : " << surface << endl; cout << "Le perimetre vaut : " << perimetre << endl; cout << "Appuyez sur une touche pour continuer." << endl; cin.ignore(); cin.get(); return EXIT_SUCCESS; } II-C. Exercice 3 Écrire un programme qui demande à l'utilisateur de taper cinq entiers et qui affiche leur moyenne. Le programme ne devra utiliser que deux variables. Cet exercice a pour but de vérifier les points techniques suivants : la notion de variables et leur déclaration ; calcul de la moyenne ; utilisation des types int et double ; l'utilisation de cin et de cout ; l'affectation. Solution #include<iostream> using namespace std; int main() { int a;double s=0; cout<<"Tapez la valeur numero 1 : ";cin>>a;s=s+a; cout<<"Tapez la valeur numero 2 : ";cin>>a;s=s+a; cout<<"Tapez la valeur numero 3 : ";cin>>a;s=s+a; cout<<"Tapez la valeur numero 4 : ";cin>>a;s=s+a; cout<<"Tapez la valeur numero 5 : ";cin>>a;s=s+a; s=s/5.0; cout<<"La moyenne vaut : "<<s<<endl; cout << "Appuyez sur une touche pour continuer ..." << endl; cin.ignore(); cin.get(); return EXIT_SUCCESS; } II-D. Exercice 4▲ C++ SMP/SMC/S4 3 Écrire un programme qui demande à l'utilisateur de saisir deux entiers A et B, qui échange le contenu des variables A et B puis qui affiche A et B. Cet exercice a pour but de vérifier les points techniques suivants : la notion de variables et leur déclaration ; l'utilisation de cin et de cout ; l'affectation ; un "algorithme" rudimentaire : échanger le contenu de deux variables. Solution #include<iostream> using namespace std; int main() { int a,b,temp; cout<<"Tapez la valeur de a : ";cin>>a; cout<<"Tapez la valeur de b : ";cin>>b; temp=a; a=b; b=temp; cout<<"La valeur de a est "<<a<<endl; cout<<"La valeur de b est "<<b<<endl; cout << "Appuyez sur une touche pour continuer …" << endl; cin.ignore(); cin.get(); return EXIT_SUCCESS; } II-E. Exercice 5▲ Écrire un programme qui demande à l'utilisateur de taper le prix HT d'un kilo de tomates, le nombre de kilos de tomates achetés, le taux de TVA (Exemple 10 %,20 %…). Le programme affiche alors le prix TTC des marchandises. Cet exercice a pour but de vérifier les points techniques suivants : la notion de variables et leur déclaration ; le choix d'identificateurs pertinents et explicites ; l'utilisation de cin et de cout ; l'affectation ; modélisation d'un problème "économique". C++ SMP/SMC/S4 4 Solution #include<iostream> using namespace std; int main() { double prixht,poids,tva,total; cout<<"Tapez le prix HT d'un kilo de tomates : ";cin>>prixht; cout<<"Combien de kilos avez-vous achetes : ";cin>>poids; cout<<"Quel est le taux de TVA : ";cin>>tva; total=(1+tva/100)*prixht*poids; cout<<"Le prix TTC est : "<<total<<endl; cout << "Appuyez sur une touche pour continuer …" << endl; cin.ignore(); cin.get(); return EXIT_SUCCESS;; } III. IHM/Structures de contrôles▲ III-A. Exercice 1▲ Écrire un programme qui demande à l'utilisateur de taper un entier et qui affiche GAGNE si l'entier est entre 56 et 78 bornes incluses PERDU sinon. Cet exercice a pour but de vérifier les points techniques suivants : la notion de variables et leur déclaration ; l'utilisation de cin et de cout ; le choix d'une structure de contrôle adaptée au problème ! Solution #include<iostream> using namespace std; int main() { int a; cout<<"Tapez un entier : ";cin>>a; C++ SMP/SMC/S4 5 if((a>=56)&&(a<=78))cout<<"GAGNE"<<endl; else cout<<"PERDU"<<endl; cout << "Appuyez sur une touche pour continuer ..." << endl; cin.ignore(); cin.get(); return EXIT_SUCCESS; } III-B. Exercice 2▲ Écrire un programme qui affiche tous les entiers de 8 jusqu'à 23 (bornes incluses) en utilisant un for. Cet exercice a pour but de vérifier le point technique suivant : utilisation rudimentaire d'un for. Solution #include<iostream> using namespace std; int main() { int i; for(i=8;i<=23;i++)cout<<i<<endl; return 0; } III-C. Exercice 3▲ Même exercice mais en utilisant un while. Cet exercice a pour but de vérifier le point technique suivant : utilisation rudimentaire d'un while. Solution #include<iostream> using namespace std; int main() { C++ SMP/SMC/S4 6 int i=8; while(i<=23) { cout<<i<<endl; i++; } return 0; } III-D. Exercice 4▲ Écrire un programme qui demande à l'utilisateur de taper 10 entiers et qui affiche leur somme. Cet exercice a pour but de vérifier les points techniques suivants : utilisation d'un for ; étude d'un algorithme usuel : calcul d'une somme. Solution #include<iostream> using namespace std; int main() { int i,s=0,x; for(i=0;i<10;i++) { cout<<"Tapez un entier : ";cin>>x; s=s+x; } cout<<"La somme vaut : "<<s<<endl; return 0; } III-E. Exercice 5▲ Écrire un programme qui demande à l'utilisateur de taper 10 entiers et qui affiche le plus petit de ces entiers. Solution C++ SMP/SMC/S4 7 #include<iostream> using namespace std; int main() { int i,ppt,x; for(i=0;i<10;i++) { cout<<"Tapez un entier : ";cin>>x; if(i==0)ppt=x;else if(x<ppt)ppt=x; } cout<<"Le plus petit vaut vaut : "<<ppt<<endl; return 0; } III-F. Exercice 6▲ Écrire un programme qui demande à l'utilisateur de taper un entier N et qui calcule la somme des cubes de 5^3 à N^3. Cet exercice a pour but de vérifier les points techniques suivants : utilisation simple du for ; étude d'un algorithme usuel : calcul d'une somme ; modélisation d'un problème simple issu des mathématiques. Solution #include<iostream.h> using namespace std; int main() { int N; double somme; cout << "Entrer un entier : "; cin >> N; if (N>=5) { for (int i=5; i<=N; i++) somme += i*i*i; } cout << "Somme des cubes de 5^3 a " << N << "^3 = " << somme << endl; cin.ignore(); cin.get(); return EXIT_SUCCESS; } III-G. Exercice 7▲ C++ SMP/SMC/S4 8 Écrire un programme qui demande à l'utilisateur de taper un entier N et qui calcule u(N) défini par : u(0)=3 ; u(n+1)=3.u(n)+4. Cet exercice a pour but de vérifier les points techniques suivants : utilisation simple du for ; étude d'un algorithme usuel : calcul des termes d'une suite récurrente ; modélisation d'un problème issu des mathématiques. Solution #include<iostream> using namespace; int main() { int i,u=3,N; cout<<"Tapez N : ";cin>>N; for(i=0;i<N;i++) u=u*3+4; cout<<"u("<<N<<")="<<u<<endl; return 0; } III-H. Exercice 8▲ Écrire un programme qui demande à l'utilisateur de taper un entier N et qui calcule u(N) défini par : u(0)=1 ; u(1)=1 ; u(n+1)=u(n)+u(n-1). Cet exercice a pour but de vérifier les points techniques suivants : utilisation simple du for ; étude d'un algorithme usuel : calcul d'une suite récurrente ; modélisation d'un problème simple issu des mathématiques. C++ SMP/SMC/S4 9 Solution #include<iostream> using namespace std; int main() { int i,u=1,v=1,w,N; cout<<"Tapez N : ";cin>>N; w=1; for(i=2;i<=N;i++) { w=u+v; u=v; v=w; } cout<<"u("<<N<<")="<<w<<endl; return 0; } III-I. Exercice 9▲ Écrire un programme qui demande à l'utilisateur de taper un entier N entre 0 et 20 bornes incluses et qui affiche N+17. Si on tape une valeur erronée, il faut afficher "erreur" et demander de saisir à nouveau l'entier. Cet exercice a pour but de vérifier les points techniques suivants : utilisation simple du while ; validation des données saisies par l'utilisateur. Solution #include<iostream> using namespace std; int main() { int N; bool OK; do C++ SMP/SMC/S4 10 { cout<<"Tapez N entre 0 et 20 :";cin>>N; OK= N<=20 && N>=0; if(!OK)cout<<"ERREUR RECOMMENCEZ"<<endl; }while(!OK); N=N+17; cout<<"La valeur finale est : "<<N<<endl; return 0; } III-J. Exercice 10▲ Écrire un programme qui permet de faire des opérations sur un entier (valeur initiale à 0). Le programme affiche la valeur de l'entier puis affiche le menu suivant : 1. Ajouter 1 ; 2. Multiplier par 2 ; 3. Soustraire 4 ; 4. Quitter. Le programme demande alors de taper un entier entre 1 et 4. Si l'utilisateur tape une valeur entre 1 et 3, on effectue l'opération, on affiche la nouvelle valeur de l'entier puis on réaffiche le menu et ainsi de suite jusqu'à ce qu'on tape 4. Lorsqu'on tape 4, le programme se termine. Cet exercice a pour but de vérifier les points techniques suivants : utilisation du while ; utilisation du switch ; gestion d'un programme à l'aide d'un menu ; modélisation uploads/Geographie/ exercices-corrige-c.pdf
Documents similaires










-
41
-
0
-
0
Licence et utilisation
Gratuit pour un usage personnel Attribution requise- Détails
- Publié le Aoû 30, 2021
- Catégorie Geography / Geogra...
- Langue French
- Taille du fichier 0.8821MB