Previous Page

8.5 Exercices résolus

Exercice 1: Calcul de la somme des N premiers nombres entiers positifs par la formule S =N*(N+1)/2.

On obtient sans difficulté le programme suivant:

PROGRAM NSum;
USES Crt;
VAR N: Word;
BEGIN
ClrScr;
Write( 'Entrer N: '); Readln( N );
Writeln( 'La somme des N premiers nombres entiers positifs vaut:
'N*(N+1)/2 )
END; {-- NSum}

Exercice 2: Permutation des valeurs de deux variables A et B.

Undisplayed Graphic

Figure 8.3 Permutation de deux variables

On peut facilement rapprocher ce problème d'une situation comparable de la vie quotidienne: Imaginons que les deux variables A et B représentent deux verres de même capacité, le verre A plein de vin et le verre B plein d'eau. Comment permuter les contenus de ces deux verres? Il est évident pour chacun qu'un troisième verre Help est indispensable. Comme pour les verres, la permutation des valeurs de deux variables nécessite une troisième variable. Les opérations à effectuer sont donc:

Help := A;
A := B;
B := Help;

et le programme s'écrit:

PROGRAM Permute;
USES Crt;
VAR A, B, Help: Integer;
BEGIN
ClrScr;
Write( 'Entrer les variables à permuter: ' ); Readln( A, B );
Help := A;
A := B;
B := Help;
Writeln( 'Les nouvelles valeurs sont: ', A, B )
END. {-- Permute}

Exercice 3: Permutation des valeurs de trois variables A, B et C suivant le schéma ci-dessous:

Undisplayed Graphic

Figure 8.4 Permutation circulaire à droite de trois variables

Cette permutation est appelée une permutation circulaire à droite.

Undisplayed Graphic

Figure 8.5 Permutation circulaire à droite

La permutation s'effectue en quatre étapes que nous pouvons détailler comme suit:

Undisplayed Graphic

Figure 8.6 Les quatre étapes de la permutation circulaire à droite

Le programme correspondant s'écrit:

PROGRAM PermuteCircle;
USES Crt;
VAR A, B, C, Help: Integer;
BEGIN
ClrScr;
Write( 'Entrer les variables à permuter: ' ); Readln( A, B, C );
Help := C;
C := B;
B := A;
A := Help;
Writeln( 'Les nouvelles valeurs sont: ', A, B, C )
END. {-- PermuteCircle}

Previous Page


© Aflo Informatique , 2003-2004