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

Un livre de Wikilivres.
Contenu supprimé Contenu ajouté
Ligne 373 : Ligne 373 :


int main()
int main()
{
{
int nb, max, x, i;
int N, n=0;
double unm2, unm1, un;


cout<<"Tapez la valeur de N : "; cin>>N;
for(i=0;i<10;i++)
{
unm2 = 3;
unm1 = 2;
cout<<"Tapez un entier : "; cin>>x;
if(i==0) {max=x; nb=1;}
if (N==0) un=unm2;
else if(x==max) nb++;
else if (N==1) un=unm1;
else if(max<x) {max=x; nb=1;}
else for (n=2; n <= N; n++)
{ un=n*unm1+(n+1)*unm2+n; unm2=unm1; unm1=un;
}
cout<<"u("<< n << ")="<< un <<endl;
}


cout<<"le nombre d’occurrences de "<<max<<" est "<<nb<<endl;
cout<<"u("<< N <<")=" << un << endl;


return 0;
return 0;

Version du 3 octobre 2019 à 08:06

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.