![]() |
![]() |
![]() |
Les structures Simples
Mise à jour le : 01/11/2004
Énoncé
Écrire un programme Pascal qui lit deux entiers N1
et N2
(N1 est formé de trois chiffres, N2 est formé de deux chiffres)
puis insère N2 dans N1
càd
le 1er chiffre de N2 sera entre le 1er et le 2ème chiffre de N1
et
le 2ème de N2 sera entre le 2ème et le 3ème chiffre de
N1
Exemple : N1 = 125 N2 = 87
==> R = 18275
1ère
Méthode
2ème Méthode
![]()
1ère Méthode
I) La préanalyse de la méthode 1 :
II) L'analyse :
|
Nom = Insertion |
||
| Séquences | Liste des définitions Explicites | Objets Utilisés |
| 9 | Résultat = Ecrire(R) | N1 |
| 8 | R
ß |
N2 |
| 3 | C1
ß |
C1 |
| 1 | Répeter | D1 |
| Lire(N1) | U1 | |
| Jusqu'à (N1>=100) et (N1<=999) | D2 | |
| 6 | D2
ß |
U2 |
| 2 | Répeter | R |
| Lire(N2) | ||
| Jusqu'à (N1>=10) et (N1<=99) | ||
| 4 | D1
ß |
|
| 7 | U2
ß |
|
| 5 | U1
ß |
|
| 10 | Fin Insertion | |
III) Le tableau de déclaration des objets :
| Objets Utilisés | Code | Nature/Type | Rôle |
| N1 | N1 | variable/Entier | Recevoir le 1er entier |
| N2 | N2 | variable/Entier | Recevoir le 2ème entier |
| C1 | C1 | variable/Entier | Recevoir la centaine du 1er entier |
| D1 | D1 | variable/Entier | Recevoir la dizaine du 1er entier |
| U1 | U1 | variable/Entier | Recevoir l'unité du 1er entier |
| D2 | D2 | variable/Entier | Recevoir la dizaine du 2ème entier |
| U2 | U2 | variable/Entier | Recevoir l'unité du 2ème entier |
| R | R | variable/Entier | Recevoir le résultat de l'insertion |
IV) L'algorithme :
| 0- | Début Insertion |
| 1- | Répeter |
| Lire(N1) | |
| Jusqu'à (N1>=100) et (N1<=999) | |
| 2- | Répeter |
| Lire(N2) | |
| Jusqu'à (N2>=10) et (N2<=99) | |
| 3- | C1
ß |
| 4- | D1
ß |
| 5- | U1
ß |
| 6- | D2
ß |
| 7- | U2
ß |
| 8- | R
ß |
| 9- | Ecrire (R) |
| 10- | Fin Insertion |
V) La traduction en turbo pascal :
Program Inertion;
uses Wincrt;
Var N1, N2, U1, D1, U1, D2, U2, R : Integer;
Begin
Repeat
Write('N1 :');
Readln(N1);
Until (N1>=100) And (N1<=999);
Repeat
Write('N2 :');
Readln(N2);
Until (N2>=10) And (N2<=99);
C1: = N1 Div 100;
D1: = N1 Mod 100 Div 10;
U1 : = N1 Mod 10;
D2: = N2 Div 10;
U2 : = N2 Mod 10;
R : = C1*10000+D2*1000+D1*100+U2*10+U1;
Write('R=',R);
End.
VI) La traduction en langage C++ :
#include <stdio.h>
int main()
{int N1,N2,U1,D1,C1,D2,U2,R ;
do
{printf("N1 :");
scanf("%d",&N1);}
while ((N1<100) ÇÇ (N1>999));
do
{printf("N2 :");
scanf("%d",&N2);}
while ((N2<10) ÇÇ (N2>99));
C1 = N1 / 100;
D1 = N1 % 100 / 10;
U1 = N1 % 10;
D2 = N2 / 10;
U2 = N2 % 10;
R = C1*10000+D2*1000+D1*100+U2*10+U1;
printf("R=%d",R);
getchar();getchar();
}

| Page d'index | Série structures simples | Haut |