Les structures Simples

Mise à jour le : 01/11/2004

Énoncé
Écrire un programme Pascal qui lit un entier formé de trois chiffres et insère le chiffre zéro (0) entre les chiffres de l'entier.

Exemple : N=125         ===>    Le résultat est N=10205

 

 

I) La préanalyse :
 
II) L'analyse :

Nom = Insere_zero

Séquences Liste des définitions Explicites Objets Utilisés
6 Résultat = Ecrire(N)  
5 N ß   C * 10000 + D * 100 + U N
2 C ß   Ni Div 100 C
1 Répéter D
         Lire (N)  U
  Jusqu à  (Ni>=100) et (Ni <=999)  
3 D ß   Ni Mod 100 Div 10  
4 U ß   Ni Mod 10  
7 Fin Insere_zero  
III) Le tableau de déclaration des objets :
Objets Utilisés Nature / Type  Rôle
N variable / Entier

Recevoir la valeur à l'état initial      puis
Recevoir la valeur à l'état final après insertion

C variable / Entier Recevoir la centaine de la donnée
D variable / Entier Recevoir la dizaine de la donnée
U variable / Entier Recevoir l'unité de la donnée
IV) L'algorithme :
0- Début Insere_zero
1- Répéter
        Lire(N)
  Jusqu à  (N>=100) et (N<=999)
2- C ß    N Div 100
3- D ß   N Mod 100 Div 10
4- U ß   N Mod 10
5- N ß   C * 10000 + D * 100 + U
6- Ecrire (N)
7- Fin Insere_zero
V) La traduction en turbo pascal :
Program Insere_zero;
uses Wincrt;
Var N, C, D, U : Integer;
Begin

	Repeat
		Write('La valeur initiale de l''entier :');
		Readln(N);
	Until (N>=100) AND (N<=999);

	C : = N Div 100;
	D : = N Mod 100 Div 10;
	U : = N Mod 10;
	N : = C * 10000 + D * 100 + U;
	
	Write('La valeur finale de l''entier est :', N);
End.

VI) La traduction en langage C++ :

#include <stdio.h>
int main()
{int N, C, D, U ;
     	do
		{printf("La valeur initiale de l'entier :");
		scanf("%d",&N);}
     	while ((N<100) ÇÇ (N>999));
	 C= N / 100;
	 D  = N % 100 / 10;
	 U  = N % 10;
	 N  = C * 10000 + D * 100 + U;
	 printf("La valeur finale de l'entier est :%d", N);
      getchar();getchar();
}

 

 

Page d'index Série structures simples Haut