« Programmation C++/Les structures de contrôles/Exercices » : différence entre les versions

Un livre de Wikilivres.
Contenu supprimé Contenu ajouté
m occurrence
DannyS712 (discussion | contributions)
m <source> -> <syntaxhighlight> (phab:T237267)
Ligne 10 : Ligne 10 :
*Le choix d'une structure de contrôle adaptée au problème !
*Le choix d'une structure de contrôle adaptée au problème !
Voici le fichier source :
Voici le fichier source :
<source lang="cpp">
<syntaxhighlight lang="cpp">
#include<iostream>
#include<iostream>
using namespace std;
using namespace std;
Ligne 22 : Ligne 22 :
return 0;
return 0;
}
}
</syntaxhighlight>
</source>
}}
}}


Ligne 31 : Ligne 31 :
*Utilisation rudimentaire d'un for.
*Utilisation rudimentaire d'un for.
Voici le fichier source :
Voici le fichier source :
<source lang="cpp">
<syntaxhighlight lang="cpp">
#include<iostream>
#include<iostream>
using namespace std;
using namespace std;
Ligne 42 : Ligne 42 :
return 0;
return 0;
}
}
</syntaxhighlight>
</source>
}}
}}


Ligne 51 : Ligne 51 :
*Utilisation rudimentaire d'un <code>while</code>.
*Utilisation rudimentaire d'un <code>while</code>.
Voici le fichier source :
Voici le fichier source :
<source lang="cpp">
<syntaxhighlight lang="cpp">
#include<iostream>
#include<iostream>
using namespace std;
using namespace std;
Ligne 65 : Ligne 65 :
return 0;
return 0;
}
}
</syntaxhighlight>
</source>
}}
}}


Ligne 75 : Ligne 75 :
*Étude d'un algorithme usuel : calcul d'une somme.
*Étude d'un algorithme usuel : calcul d'une somme.
Voici le fichier source :
Voici le fichier source :
<source lang="cpp">
<syntaxhighlight lang="cpp">
#include<iostream>
#include<iostream>
using namespace std;
using namespace std;
Ligne 93 : Ligne 93 :
return 0;
return 0;
}
}
</syntaxhighlight>
</source>


}}
}}
Ligne 101 : Ligne 101 :
{{Boîte déroulante|titre=Solution|contenu =
{{Boîte déroulante|titre=Solution|contenu =
Voici le fichier source :
Voici le fichier source :
<source lang="cpp">
<syntaxhighlight lang="cpp">
#include<iostream>
#include<iostream>
using namespace std;
using namespace std;
Ligne 119 : Ligne 119 :
return 0;
return 0;
}
}
</syntaxhighlight>
</source>
}}
}}


Ligne 130 : Ligne 130 :
*Modélisation d'un problème simple issu des mathématiques.
*Modélisation d'un problème simple issu des mathématiques.
Voici le fichier source :
Voici le fichier source :
<source lang="cpp">
<syntaxhighlight lang="cpp">
#include<iostream>
#include<iostream>
using namespace std;
using namespace std;
Ligne 145 : Ligne 145 :
return 0;
return 0;
}
}
</syntaxhighlight>
</source>


}}
}}
Ligne 159 : Ligne 159 :
*Modélisation d'un problème issu des mathématiques.
*Modélisation d'un problème issu des mathématiques.
Voici le fichier source :
Voici le fichier source :
<source lang="cpp">
<syntaxhighlight lang="cpp">
#include<iostream>
#include<iostream>
using namespace std;
using namespace std;
Ligne 176 : Ligne 176 :
return 0;
return 0;
}
}
</syntaxhighlight>
</source>
}}
}}


Ligne 190 : Ligne 190 :
*Modélisation d'un problème simple issu des mathématiques.
*Modélisation d'un problème simple issu des mathématiques.
Voici le fichier source :
Voici le fichier source :
<source lang="cpp">
<syntaxhighlight lang="cpp">
#include<iostream>
#include<iostream>
using namespace std;
using namespace std;
Ligne 213 : Ligne 213 :
return 0;
return 0;
}
}
</syntaxhighlight>
</source>
}}
}}


Ligne 223 : Ligne 223 :
*Validation des données saisies par l'utilisateur.
*Validation des données saisies par l'utilisateur.
Voici le fichier source :
Voici le fichier source :
<source lang="cpp">
<syntaxhighlight lang="cpp">
#include<iostream>
#include<iostream>
using namespace std;
using namespace std;
Ligne 243 : Ligne 243 :
return 0;
return 0;
}
}
</syntaxhighlight>
</source>


}}
}}
Ligne 263 : Ligne 263 :
*Modélisation d'un problème simple sous forme informatique.
*Modélisation d'un problème simple sous forme informatique.
Voici le fichier source :
Voici le fichier source :
<source lang="cpp">
<syntaxhighlight lang="cpp">
#include<iostream>
#include<iostream>
using namespace std;
using namespace std;
Ligne 300 : Ligne 300 :
return 0;
return 0;
}
}
</syntaxhighlight>
</source>


}}
}}
Ligne 311 : Ligne 311 :
*Etude d'un algorithme usuel : calcul d'une moyenne.
*Etude d'un algorithme usuel : calcul d'une moyenne.
Voici le fichier source :
Voici le fichier source :
<source lang="cpp">
<syntaxhighlight lang="cpp">
#include<iostream>
#include<iostream>
using namespace std;
using namespace std;
Ligne 333 : Ligne 333 :
return 0;
return 0;
}
}
</syntaxhighlight>
</source>
}}
}}


Ligne 347 : Ligne 347 :
*Modélisation d'un problème issu des mathématiques.
*Modélisation d'un problème issu des mathématiques.
Voici le fichier source :
Voici le fichier source :
<source lang="cpp">
<syntaxhighlight lang="cpp">
#include<iostream>
#include<iostream>


Ligne 368 : Ligne 368 :
return 0;
return 0;
}
}
</syntaxhighlight>
</source>
}}
}}


Ligne 378 : Ligne 378 :
*Étude d'un algorithme usuel de difficulté moyenne : calcul du nombre d’occurrence d'une valeur.
*Étude d'un algorithme usuel de difficulté moyenne : calcul du nombre d’occurrence d'une valeur.
Voici le fichier source :
Voici le fichier source :
<source lang="cpp">
<syntaxhighlight lang="cpp">
#include<iostream>
#include<iostream>
using namespace std;
using namespace std;
Ligne 400 : Ligne 400 :
return 0;
return 0;
}
}
</syntaxhighlight>
</source>


}}
}}
Ligne 412 : Ligne 412 :
*Modélisation d'un problème issu des mathématiques.
*Modélisation d'un problème issu des mathématiques.
Voici le fichier source :
Voici le fichier source :
<source lang="cpp">
<syntaxhighlight lang="cpp">
#include<iostream>
#include<iostream>
using namespace std;
using namespace std;
Ligne 428 : Ligne 428 :
return 0;
return 0;
}
}
</syntaxhighlight>
</source>
}}
}}


Ligne 439 : Ligne 439 :
*Modélisation d'un problème issu des mathématiques.
*Modélisation d'un problème issu des mathématiques.
Voici le fichier source :
Voici le fichier source :
<source lang="cpp">
<syntaxhighlight lang="cpp">
#include<iostream>
#include<iostream>
using namespace std;
using namespace std;
Ligne 462 : Ligne 462 :
return 0;
return 0;
}
}
</syntaxhighlight>
</source>




Ligne 476 : Ligne 476 :
*Modélisation assez complexe d'un problème issu des mathématiques.
*Modélisation assez complexe d'un problème issu des mathématiques.
Voici le fichier source :
Voici le fichier source :
<source lang="cpp">
<syntaxhighlight lang="cpp">
#include<iostream>
#include<iostream>
using namespace std;
using namespace std;
Ligne 503 : Ligne 503 :
return 0;
return 0;
}
}
</syntaxhighlight>
</source>
}}
}}


Ligne 515 : Ligne 515 :
*Modélisation assez complexe d'un problème issu des mathématiques.
*Modélisation assez complexe d'un problème issu des mathématiques.
Voici le fichier source :
Voici le fichier source :
<source lang="cpp">
<syntaxhighlight lang="cpp">
#include<iostream>
#include<iostream>
using namespace std;
using namespace std;
Ligne 541 : Ligne 541 :
return 0;
return 0;
}
}
</syntaxhighlight>
</source>
}}
}}


Ligne 564 : Ligne 564 :
*Imbrication de boucles assez complexe.
*Imbrication de boucles assez complexe.
Voici le fichier source :
Voici le fichier source :
<source lang="cpp">
<syntaxhighlight lang="cpp">
#include<iostream>
#include<iostream>
using namespace std;
using namespace std;
Ligne 581 : Ligne 581 :
return 0;
return 0;
}
}
</syntaxhighlight>
</source>
}}
}}


Ligne 604 : Ligne 604 :
*Imbrication de boucles.
*Imbrication de boucles.
*Voici le fichier source :
*Voici le fichier source :
<source lang="cpp">
<syntaxhighlight lang="cpp">
#include<iostream>
#include<iostream>
using namespace std;
using namespace std;
Ligne 622 : Ligne 622 :
return 0;
return 0;
}
}
</syntaxhighlight>
</source>
}}
}}


Ligne 640 : Ligne 640 :
*Modélisation assez complexe d'un problème issu des mathématiques.
*Modélisation assez complexe d'un problème issu des mathématiques.
Voici le fichier source :
Voici le fichier source :
<source lang="cpp">
<syntaxhighlight lang="cpp">
#include<iostream>
#include<iostream>
using namespace std;
using namespace std;
Ligne 659 : Ligne 659 :
return 0;
return 0;
}
}
</syntaxhighlight>
</source>
}}
}}


Ligne 672 : Ligne 672 :
*Modélisation assez complexe d'un problème issu des mathématiques.
*Modélisation assez complexe d'un problème issu des mathématiques.
Voici le fichier source :
Voici le fichier source :
<source lang="cpp">
<syntaxhighlight lang="cpp">
#include<iostream>
#include<iostream>
using namespace std;
using namespace std;
Ligne 699 : Ligne 699 :
return 0;
return 0;
}
}
</syntaxhighlight>
</source>
}}
}}

Version du 16 avril 2020 à 10:09

Exercices sur les structures de contrôle

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.

EXERCICE 2

Ecrire un programme qui affiche tous les entiers de 8 jusqu’à 23 (bornes incluses) en utilisant un for.

EXERCICE 3

Même exercice mais en utilisant un while.

EXERCICE 4

Écrire un programme qui demande à l’utilisateur de taper 10 entiers et qui affiche leur somme.

EXERCICE 5

Écrire un programme qui demande à l’utilisateur de taper 10 entiers et qui affiche le plus petit de ces entiers.

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.

EXERCICE 7

É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

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)

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.

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.

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 à l'utilisateur de taper un entier N et qui calcule u(N) défini par :
u(0)=3
u(1)=2
u(n)=n.u(n-1)+(n+1).u(n-2)+n

EXERCICE 13

Écrire un programme qui demande de saisir 10 entiers et qui affiche le nombre d'occurrences de la note la plus haute.

EXERCICE 14

Écrire un programme qui demande de saisir un entier N et qui affiche N!.

EXERCICE 15

Écrire un programme qui demande de saisir un entier et qui indique si cet entier est premier ou non.

EXERCICE 16

Ecrire un programme qui demande à l'utilisateur de saisir un entier N et qui affiche le nombre de nombres premiers inférieurs ou égaux à N.

EXERCICE 17

Ecrire un programme qui demande à l'utilisateur de saisir un entier N et qui affiche le N-ième nombre premier.

EXERCICE 18

Ecrire un programme qui demande à l'utilisateur de saisir un entier N et qui affiche la figure suivante.

N=1
*
N=2
**
*
N=3
***
**
*

et ainsi de suite

EXERCICE 19

Ecrire un programme qui demande à l'utilisateur de saisir un entier N et qui affiche la figure suivante.

N=1
*
N=2
**
 *
N=3
***
 **
  *

et ainsi de suite.

EXERCICE 20

On considère la suite hongroise : u(0)=a (a entier)
si u(n) pair alors u(n+1)=u(n)/2 sinon u(n+1)=3*u(n)+1

Pour toutes les valeurs a, il existe un entier N tel que u(N)=1 (conjecture admise).

a) Ecrire un programme qui demande à l'utilisateur de taper a et qui affiche toutes les valeurs de u(n) de n=1 à n=N.

b) Ecrire un programme qui demande à l'utilisateur de taper un entier M puis qui cherche la valeur de a comprise entre 2 et M qui maximise la valeur de N. On appelle A cette valeur. Le programme doit afficher la valeur A et la valeur N correspondante.