SlideShare une entreprise Scribd logo
1  sur  6
Télécharger pour lire hors ligne
Introduction au langage C++
Travaux pratiques
Youssouf EL ALLIOUI
yelallioui@uhp.ac.ma
Notions de base
Exercice 1.
Ecrire 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.
#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;
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;
}
2016
1 | 6
Exercice 2.
Ecrire un programme qui demande à l'utilisateur de taper 5 entiers et qui affiche leur moyenne.
Le programme ne devra utiliser que 2 variables.
Exercice 3.
Ecrire un programme qui demande à l’utilisateur de saisir 2 entiers A et B, qui échange le
contenu des variables A et B puis qui affiche A et B.
Exercice 4.
Ecrire 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.
Structures de contrôles
Exercice 5.
Ecrire 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.
Exercice 6.
Ecrire un programme qui demande à l’utilisateur de taper 10 entiers et qui affiche leur somme.
Exercice 7.
Ecrire un programme qui demande à l’utilisateur de taper 10 entiers et qui affiche le plus petit
de ces entiers.
Exercice 8.
Ecrire 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
Exercice 9.
Ecrire 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)
Exercice 10.
Ecrire 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 :
2 | 6
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.
Exercice 11.
Ecrire un programme qui demande à l'utilisateur de taper des entiers strictement positifs et qui
affiche leur moyenne. Lorsqu'on tape une valeur négative, le programme affiche ERREUR et
demande de retaper une valeur. Lorsqu'on tape 0, cela signifie que le dernier entier a été tapé.
On affiche alors la moyenne. Si le nombre d'entiers tapés est égal à 0, on affiche PAS DE
MOYENNE.
Exercice 12.
Ecrire un programme qui demande de saisir un entier N et qui affiche N!.
Exercice 13.
Ecrire un programme qui demande à l'utilisateur de saisir un entier N et qui affiche la figure
suivante.
N=1
*
N=2
* *
*
N=3
* * *
* *
*
Exercice 14.
Ecrire un programme qui demande à l'utilisateur de saisir un entier N et qui affiche la figure
suivante.
N=1
*
N=2
* *
*
N=3
* * *
* *
3 | 6
*
et ainsi de suite.
Les tableaux
Exercice 15.
Écrire un programme qui demande à l'utilisateur de saisir 10 entiers stockés dans un tableau.
Le programme doit afficher le nombre d'entiers supérieurs ou égaux à 10.
Exercice 16.
Ecrire un programme qui demande à l'utilisateur de saisir 10 entiers stockés dans un tableau
ainsi qu'un entier V. Le programme doit rechercher si V se trouve dans le tableau et afficher
"V se trouve dans le tableau" ou "V ne se trouve pas dans le tableau".
Exercice 17.
Ecrire un programme qui demande à l'utilisateur de saisir 10 entiers stockés dans un tableau.
Le programme doit ensuite afficher l'indice du plus grand élément.
Exercice 18.
Ecrire un programme qui demande à l'utilisateur de saisir 10 entiers stockés dans un tableau
ainsi qu'un entier V. Le programme doit rechercher si V se trouve dans le tableau et doit
supprimer la première occurrence de V en décalant d'une case vers la gauche les éléments
suivants et en rajoutant un 0 à la fin du tableau. Le programme doit ensuite afficher le tableau
final.
Exercice 19.
Ecrire un programme qui demande à l’utilisateur de taper 10 entiers qui seront stockés dans un
tableau. Le programme doit trier le tableau par ordre croissant et doit afficher le tableau.
Algorithme suggéré :
 On cherche l'indice du plus petit élément parmi les indices de 0 à 9 et on échange cet
élément avec t[0].
 On cherche l'indice du plus petit élément parmi les indices de 1 à 9 et on échange cet
élément avec t[1].
 On cherche l'indice du plus petit élément parmi les indices de 2 à 9 et on échange cet
élément avec t[2].
 ...
 On cherche l'indice du plus petit élément parmi les indices de 8 à 9 et on échange cet
élément avec t[8].
Exercice 20.
4 | 6
Ecrire un programme qui demande à l’utilisateur de taper 10 entiers qui seront stockés dans un
tableau. Le programme doit trier le tableau par ordre croissant et doit afficher le tableau.
Algorithme suggéré (tri bulle) :
 On parcourt le tableau en comparant t[0] et t[1] et en échangeant ces éléments s'ils ne
sont pas dans le bon ordre.
 on recommence le processus en comparant t[1] et t[2],
 … et ainsi de suite jusqu'à t[8] et t[9].
 On compte lors de ce parcours le nombre d'échanges effectués.
 On fait autant de parcours que nécessaire jusqu'à ce que le nombre d'échanges soit nul :
le tableau sera alors trié.
Ecrire un programme qui saisit 2 tableaux de 10 entiers a et b. c est un tableau de 20 entiers. Le
programme doit mettre dans c la fusion des tableaux a et b. On copiera dans les 10 premières
cases de c le tableau a, dans les dix dernières le tableau b. Le programme affiche ensuite le
tableau c.
Exercice 21.
Ecrire un programme qui gère une liste d'entiers grâce au menu suivant :
1. Ajouter un entier
2. Afficher la liste des entiers
3. Supprimer dernier entier de la liste.
4. Afficher la dernière note tapée
5. Quitter
Il y aura au maximum 10 entiers. Lorsqu'on rajoute un entier, il sera rajouté à la fin de la liste.
Exercice 22.
Ecrire un programme qui gère une liste d'entiers grâce au menu suivant :
1 - Ajouter un entier
2 - Afficher la liste des entiers
3 - Supprimer le premier entier ayant une valeur donnée.
4 - Supprimer tous les entiers ayant une valeur donnée
5 - Quitter
Il y aura au maximum 10 entiers. La liste devra être en permanence triée : lorsqu’on rajoute un
entier, il sera inséré au bon endroit dans la liste pour que celle-ci reste triée.
Les fonctions
Exercice 23.
Ecrire une fonction distance ayant comme paramètres 4 doubles (xa, ya) et (xb, yb) qui
représentent les coordonnées de deux points A et B et qui renvoie la distance AB. Tester cette
fonction.
Exercice 24.
Ecrire une fonction f ayant en paramètre un entier et qui renvoie par un return un booléen : true
si l'entier est premier false sinon. Tester cette fonction.
5 | 6
Exercice 25.
Ecrire une fonction f ayant comme paramètre un entier n et qui renvoie le nième nombre premier :
cette fonction utilisera la fonction du 3). Tester cette fonction.
Exercice 26.
Ecrire une fonction swap ayant en paramètres 2 entiers a et b et qui échange les contenus de a et
de b. Tester cette fonction.
Exercice 27.
Ecrire une fonction f ayant en paramètres un tableau t de taille quelconque et un entier n
indiquant la taille du tableau. f doit renvoyer par un return un entier égal à l'indice de la première
case du tableau (parmi les n premières) comprise entre 0 et 10. S'il n'existe pas de telle valeur,
la fonction renvoie -1. Tester cette fonction.
Exercice 28.
Réalisez un programme C++ permettant de calculer les solutions de l'équation
(E) : 𝒂𝒙 𝟐
+ 𝒃𝒙 + 𝒄 = 𝟎 a, b et c sont des réels
On prendra garde à bien tester tous les cas possibles :
 a est nul, et l'équation est en fait une équation du premier degré. Exemple : 4x-2=0 donne
une unique solution x=0.5.
 le discriminant Δ=(b²- 4ac) est nul, et il n'y a qu'une seule solution, appelée racine
double, au problème. Exemple : 2x²+4x+2=0 donne x=-1.
 le discriminant Δ est positif, et deux solutions existent : x1=(-b-Δ1/2
)/2a et x2=(-
b+Δ1/2
)/2a. Exemple : 2x²+x-6=0 donne x1=1.5 et x2=-2.
 le discriminant est négatif, et il n'existe pas de solutions (réelles) au problème.
NB : Afin d'utiliser la fonction prédéfinie racine carrée sqrt() de la bibliothèque C, vous
prendrez garde à bien rajouter #include <cmath> en tête de votre programme.

Contenu connexe

Tendances

Examen principal - Algorithme & Structures de données
Examen principal - Algorithme & Structures de donnéesExamen principal - Algorithme & Structures de données
Examen principal - Algorithme & Structures de donnéesInes Ouaz
 
exercices-corriges-dalgorithmique
exercices-corriges-dalgorithmiqueexercices-corriges-dalgorithmique
exercices-corriges-dalgorithmiquefast xp
 
Exercice 1 java Héritage
Exercice 1 java HéritageExercice 1 java Héritage
Exercice 1 java HéritageNadaBenLatifa
 
Exercices en turbo pascal sur les nombres
Exercices en turbo pascal sur les nombresExercices en turbo pascal sur les nombres
Exercices en turbo pascal sur les nombressalah fenni
 
Chapitre 4 récursivité
Chapitre 4 récursivitéChapitre 4 récursivité
Chapitre 4 récursivitéSana Aroussi
 
Série sous programmes (bac scientifique)
Série sous programmes (bac scientifique)Série sous programmes (bac scientifique)
Série sous programmes (bac scientifique)Hichem Kemali
 
Devoirs Algorithme + correction pour 4 si
Devoirs Algorithme + correction pour 4 siDevoirs Algorithme + correction pour 4 si
Devoirs Algorithme + correction pour 4 siNarûtö Bàl'Sèm
 
Bac info 2000-2015 (Tunisie)
Bac info 2000-2015 (Tunisie)Bac info 2000-2015 (Tunisie)
Bac info 2000-2015 (Tunisie)salah fenni
 
Théorie des langages - 01 - Compilation
Théorie des langages - 01 - CompilationThéorie des langages - 01 - Compilation
Théorie des langages - 01 - CompilationYann Caron
 
Corrige exercices pascal_fenni_2018
Corrige exercices pascal_fenni_2018Corrige exercices pascal_fenni_2018
Corrige exercices pascal_fenni_2018salah fenni
 
Algorithme & structures de données Chap III
Algorithme & structures de données Chap IIIAlgorithme & structures de données Chap III
Algorithme & structures de données Chap IIIInes Ouaz
 
TD sur les fonctions en Python
TD sur  les fonctions en PythonTD sur  les fonctions en Python
TD sur les fonctions en PythonABDESSELAM ARROU
 
Cours algorithmique et complexite complet
Cours algorithmique et complexite completCours algorithmique et complexite complet
Cours algorithmique et complexite completChahrawoods Dmz
 

Tendances (20)

Examen principal - Algorithme & Structures de données
Examen principal - Algorithme & Structures de donnéesExamen principal - Algorithme & Structures de données
Examen principal - Algorithme & Structures de données
 
exercices-corriges-dalgorithmique
exercices-corriges-dalgorithmiqueexercices-corriges-dalgorithmique
exercices-corriges-dalgorithmique
 
Exercice 1 java Héritage
Exercice 1 java HéritageExercice 1 java Héritage
Exercice 1 java Héritage
 
Exercices en turbo pascal sur les nombres
Exercices en turbo pascal sur les nombresExercices en turbo pascal sur les nombres
Exercices en turbo pascal sur les nombres
 
Chapitre 4 récursivité
Chapitre 4 récursivitéChapitre 4 récursivité
Chapitre 4 récursivité
 
Série sous programmes (bac scientifique)
Série sous programmes (bac scientifique)Série sous programmes (bac scientifique)
Série sous programmes (bac scientifique)
 
Devoirs Algorithme + correction pour 4 si
Devoirs Algorithme + correction pour 4 siDevoirs Algorithme + correction pour 4 si
Devoirs Algorithme + correction pour 4 si
 
Bac info 2000-2015 (Tunisie)
Bac info 2000-2015 (Tunisie)Bac info 2000-2015 (Tunisie)
Bac info 2000-2015 (Tunisie)
 
Exercices algo
Exercices algoExercices algo
Exercices algo
 
Chapitre 01 - Notions de base
Chapitre 01 - Notions de baseChapitre 01 - Notions de base
Chapitre 01 - Notions de base
 
Théorie des langages - 01 - Compilation
Théorie des langages - 01 - CompilationThéorie des langages - 01 - Compilation
Théorie des langages - 01 - Compilation
 
Corrige exercices pascal_fenni_2018
Corrige exercices pascal_fenni_2018Corrige exercices pascal_fenni_2018
Corrige exercices pascal_fenni_2018
 
Chapitre05 : Les tableaux
Chapitre05 : Les tableauxChapitre05 : Les tableaux
Chapitre05 : Les tableaux
 
Chapitre 03 : Structures de contrôle
Chapitre 03 : Structures de contrôleChapitre 03 : Structures de contrôle
Chapitre 03 : Structures de contrôle
 
Algorithme & structures de données Chap III
Algorithme & structures de données Chap IIIAlgorithme & structures de données Chap III
Algorithme & structures de données Chap III
 
TD sur les fonctions en Python
TD sur  les fonctions en PythonTD sur  les fonctions en Python
TD sur les fonctions en Python
 
Introduction à Python
Introduction à PythonIntroduction à Python
Introduction à Python
 
Serie
SerieSerie
Serie
 
Les algorithmes de tri
Les algorithmes de triLes algorithmes de tri
Les algorithmes de tri
 
Cours algorithmique et complexite complet
Cours algorithmique et complexite completCours algorithmique et complexite complet
Cours algorithmique et complexite complet
 

Similaire à TP C++ : enoncé

Exercicescorrigesdivers
ExercicescorrigesdiversExercicescorrigesdivers
ExercicescorrigesdiversKarim Amane
 
eExercices corrigesdivers
eExercices corrigesdiverseExercices corrigesdivers
eExercices corrigesdiversHajar Yazine
 
exercices en C
exercices en Cexercices en C
exercices en Ccoursuniv
 
Exemples for1
Exemples for1Exemples for1
Exemples for1salmazen
 
Examen organigrame
Examen organigrameExamen organigrame
Examen organigramenabildekess
 
Examen organigrame
Examen organigrameExamen organigrame
Examen organigramenabildekess
 
Examen organigrame
Examen organigrameExamen organigrame
Examen organigramenabildekess
 
Fiche3 ex-sous-programme
Fiche3 ex-sous-programmeFiche3 ex-sous-programme
Fiche3 ex-sous-programmeBaghdadi Wajih
 
Cours Algorithmique (Echange de valeurs, Expressions, structure de choix et s...
Cours Algorithmique (Echange de valeurs, Expressions, structure de choix et s...Cours Algorithmique (Echange de valeurs, Expressions, structure de choix et s...
Cours Algorithmique (Echange de valeurs, Expressions, structure de choix et s...Fatima Zahra Fagroud
 
Exemples for
Exemples forExemples for
Exemples forsalmazen
 
Exercices pascal fenni_2018
Exercices pascal fenni_2018Exercices pascal fenni_2018
Exercices pascal fenni_2018salah fenni
 
Ch5-les tableaux et les pointeurs.pdf
Ch5-les tableaux et les pointeurs.pdfCh5-les tableaux et les pointeurs.pdf
Ch5-les tableaux et les pointeurs.pdfFadouaBouafifSamoud
 
mis
mismis
misISIG
 
Les structures de données.pptx
Les structures de données.pptxLes structures de données.pptx
Les structures de données.pptxPROFPROF11
 
Exercices en turbo pascal sur la récursivité
Exercices en turbo pascal sur la récursivitéExercices en turbo pascal sur la récursivité
Exercices en turbo pascal sur la récursivitésalah fenni
 

Similaire à TP C++ : enoncé (20)

Exercicescorrigesdivers
ExercicescorrigesdiversExercicescorrigesdivers
Exercicescorrigesdivers
 
eExercices corrigesdivers
eExercices corrigesdiverseExercices corrigesdivers
eExercices corrigesdivers
 
C
CC
C
 
exercices en C
exercices en Cexercices en C
exercices en C
 
Cours d'algorithmique
Cours d'algorithmiqueCours d'algorithmique
Cours d'algorithmique
 
La série 3 en pascal
La série 3 en pascalLa série 3 en pascal
La série 3 en pascal
 
Exemples for1
Exemples for1Exemples for1
Exemples for1
 
Exo algo
Exo algoExo algo
Exo algo
 
Examen organigrame
Examen organigrameExamen organigrame
Examen organigrame
 
Examen organigrame
Examen organigrameExamen organigrame
Examen organigrame
 
Examen organigrame
Examen organigrameExamen organigrame
Examen organigrame
 
Fiche3 ex-sous-programme
Fiche3 ex-sous-programmeFiche3 ex-sous-programme
Fiche3 ex-sous-programme
 
Cours Algorithmique (Echange de valeurs, Expressions, structure de choix et s...
Cours Algorithmique (Echange de valeurs, Expressions, structure de choix et s...Cours Algorithmique (Echange de valeurs, Expressions, structure de choix et s...
Cours Algorithmique (Echange de valeurs, Expressions, structure de choix et s...
 
Exemples for
Exemples forExemples for
Exemples for
 
Exercices pascal fenni_2018
Exercices pascal fenni_2018Exercices pascal fenni_2018
Exercices pascal fenni_2018
 
Ch5-les tableaux et les pointeurs.pdf
Ch5-les tableaux et les pointeurs.pdfCh5-les tableaux et les pointeurs.pdf
Ch5-les tableaux et les pointeurs.pdf
 
syntax-matlab.pdf
syntax-matlab.pdfsyntax-matlab.pdf
syntax-matlab.pdf
 
mis
mismis
mis
 
Les structures de données.pptx
Les structures de données.pptxLes structures de données.pptx
Les structures de données.pptx
 
Exercices en turbo pascal sur la récursivité
Exercices en turbo pascal sur la récursivitéExercices en turbo pascal sur la récursivité
Exercices en turbo pascal sur la récursivité
 

Dernier

SciencesPo_Aix_InnovationPédagogique_Atelier_IA.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_IA.pdfSciencesPo_Aix_InnovationPédagogique_Atelier_IA.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_IA.pdfSKennel
 
Vulnérabilité numérique d’usage : un enjeu pour l’aide à la réussitepdf
Vulnérabilité numérique d’usage : un enjeu pour l’aide à la réussitepdfVulnérabilité numérique d’usage : un enjeu pour l’aide à la réussitepdf
Vulnérabilité numérique d’usage : un enjeu pour l’aide à la réussitepdfSylvianeBachy
 
Le Lean sur une ligne de production : Formation et mise en application directe
Le Lean sur une ligne de production : Formation et mise en application directeLe Lean sur une ligne de production : Formation et mise en application directe
Le Lean sur une ligne de production : Formation et mise en application directeXL Groupe
 
SciencesPo_Aix_InnovationPédagogique_Atelier_EtudiantActeur.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_EtudiantActeur.pdfSciencesPo_Aix_InnovationPédagogique_Atelier_EtudiantActeur.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_EtudiantActeur.pdfSKennel
 
SciencesPo_Aix_InnovationPédagogique_Conférence_SK.pdf
SciencesPo_Aix_InnovationPédagogique_Conférence_SK.pdfSciencesPo_Aix_InnovationPédagogique_Conférence_SK.pdf
SciencesPo_Aix_InnovationPédagogique_Conférence_SK.pdfSKennel
 
Bernard Réquichot.pptx Peintre français
Bernard Réquichot.pptx   Peintre françaisBernard Réquichot.pptx   Peintre français
Bernard Réquichot.pptx Peintre françaisTxaruka
 
Pas de vagues. pptx Film français
Pas de vagues.  pptx      Film   françaisPas de vagues.  pptx      Film   français
Pas de vagues. pptx Film françaisTxaruka
 
SciencesPo_Aix_InnovationPédagogique_Atelier_FormationRecherche.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_FormationRecherche.pdfSciencesPo_Aix_InnovationPédagogique_Atelier_FormationRecherche.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_FormationRecherche.pdfSKennel
 
Faut-il avoir peur de la technique ? (G. Gay-Para)
Faut-il avoir peur de la technique ? (G. Gay-Para)Faut-il avoir peur de la technique ? (G. Gay-Para)
Faut-il avoir peur de la technique ? (G. Gay-Para)Gabriel Gay-Para
 
Pas de vagues. pptx Film français
Pas de vagues.  pptx   Film     françaisPas de vagues.  pptx   Film     français
Pas de vagues. pptx Film françaisTxaruka
 
PIE-A2-P 5- Supports stagiaires.pptx.pdf
PIE-A2-P 5- Supports stagiaires.pptx.pdfPIE-A2-P 5- Supports stagiaires.pptx.pdf
PIE-A2-P 5- Supports stagiaires.pptx.pdfRiDaHAziz
 
Presentation de la plateforme Moodle - avril 2024
Presentation de la plateforme Moodle - avril 2024Presentation de la plateforme Moodle - avril 2024
Presentation de la plateforme Moodle - avril 2024Gilles Le Page
 
LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...
LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...
LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...Faga1939
 
Bibdoc 2024 - Ecologie du livre et creation de badge.pdf
Bibdoc 2024 - Ecologie du livre et creation de badge.pdfBibdoc 2024 - Ecologie du livre et creation de badge.pdf
Bibdoc 2024 - Ecologie du livre et creation de badge.pdfBibdoc 37
 
Zotero avancé - support de formation doctorants SHS 2024
Zotero avancé - support de formation doctorants SHS 2024Zotero avancé - support de formation doctorants SHS 2024
Zotero avancé - support de formation doctorants SHS 2024Alain Marois
 
Bibdoc 2024 - Les maillons de la chaine du livre face aux enjeux écologiques.pdf
Bibdoc 2024 - Les maillons de la chaine du livre face aux enjeux écologiques.pdfBibdoc 2024 - Les maillons de la chaine du livre face aux enjeux écologiques.pdf
Bibdoc 2024 - Les maillons de la chaine du livre face aux enjeux écologiques.pdfBibdoc 37
 
Cours de Management des Systèmes d'information
Cours de Management des Systèmes d'informationCours de Management des Systèmes d'information
Cours de Management des Systèmes d'informationpapediallo3
 
PIE-A2-P4-support stagiaires sept 22-validé.pdf
PIE-A2-P4-support stagiaires sept 22-validé.pdfPIE-A2-P4-support stagiaires sept 22-validé.pdf
PIE-A2-P4-support stagiaires sept 22-validé.pdfRiDaHAziz
 
Pharmacologie des cardiotoniques pour Pharmacie
Pharmacologie des cardiotoniques pour PharmaciePharmacologie des cardiotoniques pour Pharmacie
Pharmacologie des cardiotoniques pour PharmacieLoloshka
 

Dernier (20)

SciencesPo_Aix_InnovationPédagogique_Atelier_IA.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_IA.pdfSciencesPo_Aix_InnovationPédagogique_Atelier_IA.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_IA.pdf
 
Vulnérabilité numérique d’usage : un enjeu pour l’aide à la réussitepdf
Vulnérabilité numérique d’usage : un enjeu pour l’aide à la réussitepdfVulnérabilité numérique d’usage : un enjeu pour l’aide à la réussitepdf
Vulnérabilité numérique d’usage : un enjeu pour l’aide à la réussitepdf
 
Le Lean sur une ligne de production : Formation et mise en application directe
Le Lean sur une ligne de production : Formation et mise en application directeLe Lean sur une ligne de production : Formation et mise en application directe
Le Lean sur une ligne de production : Formation et mise en application directe
 
SciencesPo_Aix_InnovationPédagogique_Atelier_EtudiantActeur.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_EtudiantActeur.pdfSciencesPo_Aix_InnovationPédagogique_Atelier_EtudiantActeur.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_EtudiantActeur.pdf
 
SciencesPo_Aix_InnovationPédagogique_Conférence_SK.pdf
SciencesPo_Aix_InnovationPédagogique_Conférence_SK.pdfSciencesPo_Aix_InnovationPédagogique_Conférence_SK.pdf
SciencesPo_Aix_InnovationPédagogique_Conférence_SK.pdf
 
Bernard Réquichot.pptx Peintre français
Bernard Réquichot.pptx   Peintre françaisBernard Réquichot.pptx   Peintre français
Bernard Réquichot.pptx Peintre français
 
Pas de vagues. pptx Film français
Pas de vagues.  pptx      Film   françaisPas de vagues.  pptx      Film   français
Pas de vagues. pptx Film français
 
SciencesPo_Aix_InnovationPédagogique_Atelier_FormationRecherche.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_FormationRecherche.pdfSciencesPo_Aix_InnovationPédagogique_Atelier_FormationRecherche.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_FormationRecherche.pdf
 
Faut-il avoir peur de la technique ? (G. Gay-Para)
Faut-il avoir peur de la technique ? (G. Gay-Para)Faut-il avoir peur de la technique ? (G. Gay-Para)
Faut-il avoir peur de la technique ? (G. Gay-Para)
 
Pas de vagues. pptx Film français
Pas de vagues.  pptx   Film     françaisPas de vagues.  pptx   Film     français
Pas de vagues. pptx Film français
 
DO PALÁCIO À ASSEMBLEIA .
DO PALÁCIO À ASSEMBLEIA                 .DO PALÁCIO À ASSEMBLEIA                 .
DO PALÁCIO À ASSEMBLEIA .
 
PIE-A2-P 5- Supports stagiaires.pptx.pdf
PIE-A2-P 5- Supports stagiaires.pptx.pdfPIE-A2-P 5- Supports stagiaires.pptx.pdf
PIE-A2-P 5- Supports stagiaires.pptx.pdf
 
Presentation de la plateforme Moodle - avril 2024
Presentation de la plateforme Moodle - avril 2024Presentation de la plateforme Moodle - avril 2024
Presentation de la plateforme Moodle - avril 2024
 
LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...
LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...
LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...
 
Bibdoc 2024 - Ecologie du livre et creation de badge.pdf
Bibdoc 2024 - Ecologie du livre et creation de badge.pdfBibdoc 2024 - Ecologie du livre et creation de badge.pdf
Bibdoc 2024 - Ecologie du livre et creation de badge.pdf
 
Zotero avancé - support de formation doctorants SHS 2024
Zotero avancé - support de formation doctorants SHS 2024Zotero avancé - support de formation doctorants SHS 2024
Zotero avancé - support de formation doctorants SHS 2024
 
Bibdoc 2024 - Les maillons de la chaine du livre face aux enjeux écologiques.pdf
Bibdoc 2024 - Les maillons de la chaine du livre face aux enjeux écologiques.pdfBibdoc 2024 - Les maillons de la chaine du livre face aux enjeux écologiques.pdf
Bibdoc 2024 - Les maillons de la chaine du livre face aux enjeux écologiques.pdf
 
Cours de Management des Systèmes d'information
Cours de Management des Systèmes d'informationCours de Management des Systèmes d'information
Cours de Management des Systèmes d'information
 
PIE-A2-P4-support stagiaires sept 22-validé.pdf
PIE-A2-P4-support stagiaires sept 22-validé.pdfPIE-A2-P4-support stagiaires sept 22-validé.pdf
PIE-A2-P4-support stagiaires sept 22-validé.pdf
 
Pharmacologie des cardiotoniques pour Pharmacie
Pharmacologie des cardiotoniques pour PharmaciePharmacologie des cardiotoniques pour Pharmacie
Pharmacologie des cardiotoniques pour Pharmacie
 

TP C++ : enoncé

  • 1. Introduction au langage C++ Travaux pratiques Youssouf EL ALLIOUI yelallioui@uhp.ac.ma Notions de base Exercice 1. Ecrire 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. #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; 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; } 2016
  • 2. 1 | 6 Exercice 2. Ecrire un programme qui demande à l'utilisateur de taper 5 entiers et qui affiche leur moyenne. Le programme ne devra utiliser que 2 variables. Exercice 3. Ecrire un programme qui demande à l’utilisateur de saisir 2 entiers A et B, qui échange le contenu des variables A et B puis qui affiche A et B. Exercice 4. Ecrire 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. Structures de contrôles Exercice 5. Ecrire 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. Exercice 6. Ecrire un programme qui demande à l’utilisateur de taper 10 entiers et qui affiche leur somme. Exercice 7. Ecrire un programme qui demande à l’utilisateur de taper 10 entiers et qui affiche le plus petit de ces entiers. Exercice 8. Ecrire 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 Exercice 9. Ecrire 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) Exercice 10. Ecrire 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 :
  • 3. 2 | 6 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. Exercice 11. Ecrire un programme qui demande à l'utilisateur de taper des entiers strictement positifs et qui affiche leur moyenne. Lorsqu'on tape une valeur négative, le programme affiche ERREUR et demande de retaper une valeur. Lorsqu'on tape 0, cela signifie que le dernier entier a été tapé. On affiche alors la moyenne. Si le nombre d'entiers tapés est égal à 0, on affiche PAS DE MOYENNE. Exercice 12. Ecrire un programme qui demande de saisir un entier N et qui affiche N!. Exercice 13. Ecrire un programme qui demande à l'utilisateur de saisir un entier N et qui affiche la figure suivante. N=1 * N=2 * * * N=3 * * * * * * Exercice 14. Ecrire un programme qui demande à l'utilisateur de saisir un entier N et qui affiche la figure suivante. N=1 * N=2 * * * N=3 * * * * *
  • 4. 3 | 6 * et ainsi de suite. Les tableaux Exercice 15. Écrire un programme qui demande à l'utilisateur de saisir 10 entiers stockés dans un tableau. Le programme doit afficher le nombre d'entiers supérieurs ou égaux à 10. Exercice 16. Ecrire un programme qui demande à l'utilisateur de saisir 10 entiers stockés dans un tableau ainsi qu'un entier V. Le programme doit rechercher si V se trouve dans le tableau et afficher "V se trouve dans le tableau" ou "V ne se trouve pas dans le tableau". Exercice 17. Ecrire un programme qui demande à l'utilisateur de saisir 10 entiers stockés dans un tableau. Le programme doit ensuite afficher l'indice du plus grand élément. Exercice 18. Ecrire un programme qui demande à l'utilisateur de saisir 10 entiers stockés dans un tableau ainsi qu'un entier V. Le programme doit rechercher si V se trouve dans le tableau et doit supprimer la première occurrence de V en décalant d'une case vers la gauche les éléments suivants et en rajoutant un 0 à la fin du tableau. Le programme doit ensuite afficher le tableau final. Exercice 19. Ecrire un programme qui demande à l’utilisateur de taper 10 entiers qui seront stockés dans un tableau. Le programme doit trier le tableau par ordre croissant et doit afficher le tableau. Algorithme suggéré :  On cherche l'indice du plus petit élément parmi les indices de 0 à 9 et on échange cet élément avec t[0].  On cherche l'indice du plus petit élément parmi les indices de 1 à 9 et on échange cet élément avec t[1].  On cherche l'indice du plus petit élément parmi les indices de 2 à 9 et on échange cet élément avec t[2].  ...  On cherche l'indice du plus petit élément parmi les indices de 8 à 9 et on échange cet élément avec t[8]. Exercice 20.
  • 5. 4 | 6 Ecrire un programme qui demande à l’utilisateur de taper 10 entiers qui seront stockés dans un tableau. Le programme doit trier le tableau par ordre croissant et doit afficher le tableau. Algorithme suggéré (tri bulle) :  On parcourt le tableau en comparant t[0] et t[1] et en échangeant ces éléments s'ils ne sont pas dans le bon ordre.  on recommence le processus en comparant t[1] et t[2],  … et ainsi de suite jusqu'à t[8] et t[9].  On compte lors de ce parcours le nombre d'échanges effectués.  On fait autant de parcours que nécessaire jusqu'à ce que le nombre d'échanges soit nul : le tableau sera alors trié. Ecrire un programme qui saisit 2 tableaux de 10 entiers a et b. c est un tableau de 20 entiers. Le programme doit mettre dans c la fusion des tableaux a et b. On copiera dans les 10 premières cases de c le tableau a, dans les dix dernières le tableau b. Le programme affiche ensuite le tableau c. Exercice 21. Ecrire un programme qui gère une liste d'entiers grâce au menu suivant : 1. Ajouter un entier 2. Afficher la liste des entiers 3. Supprimer dernier entier de la liste. 4. Afficher la dernière note tapée 5. Quitter Il y aura au maximum 10 entiers. Lorsqu'on rajoute un entier, il sera rajouté à la fin de la liste. Exercice 22. Ecrire un programme qui gère une liste d'entiers grâce au menu suivant : 1 - Ajouter un entier 2 - Afficher la liste des entiers 3 - Supprimer le premier entier ayant une valeur donnée. 4 - Supprimer tous les entiers ayant une valeur donnée 5 - Quitter Il y aura au maximum 10 entiers. La liste devra être en permanence triée : lorsqu’on rajoute un entier, il sera inséré au bon endroit dans la liste pour que celle-ci reste triée. Les fonctions Exercice 23. Ecrire une fonction distance ayant comme paramètres 4 doubles (xa, ya) et (xb, yb) qui représentent les coordonnées de deux points A et B et qui renvoie la distance AB. Tester cette fonction. Exercice 24. Ecrire une fonction f ayant en paramètre un entier et qui renvoie par un return un booléen : true si l'entier est premier false sinon. Tester cette fonction.
  • 6. 5 | 6 Exercice 25. Ecrire une fonction f ayant comme paramètre un entier n et qui renvoie le nième nombre premier : cette fonction utilisera la fonction du 3). Tester cette fonction. Exercice 26. Ecrire une fonction swap ayant en paramètres 2 entiers a et b et qui échange les contenus de a et de b. Tester cette fonction. Exercice 27. Ecrire une fonction f ayant en paramètres un tableau t de taille quelconque et un entier n indiquant la taille du tableau. f doit renvoyer par un return un entier égal à l'indice de la première case du tableau (parmi les n premières) comprise entre 0 et 10. S'il n'existe pas de telle valeur, la fonction renvoie -1. Tester cette fonction. Exercice 28. Réalisez un programme C++ permettant de calculer les solutions de l'équation (E) : 𝒂𝒙 𝟐 + 𝒃𝒙 + 𝒄 = 𝟎 a, b et c sont des réels On prendra garde à bien tester tous les cas possibles :  a est nul, et l'équation est en fait une équation du premier degré. Exemple : 4x-2=0 donne une unique solution x=0.5.  le discriminant Δ=(b²- 4ac) est nul, et il n'y a qu'une seule solution, appelée racine double, au problème. Exemple : 2x²+4x+2=0 donne x=-1.  le discriminant Δ est positif, et deux solutions existent : x1=(-b-Δ1/2 )/2a et x2=(- b+Δ1/2 )/2a. Exemple : 2x²+x-6=0 donne x1=1.5 et x2=-2.  le discriminant est négatif, et il n'existe pas de solutions (réelles) au problème. NB : Afin d'utiliser la fonction prédéfinie racine carrée sqrt() de la bibliothèque C, vous prendrez garde à bien rajouter #include <cmath> en tête de votre programme.