Vous êtes sur la page 1sur 2

Calcul du quotient de 2 nombres entiers.

Il est tout fait possible de calculer le quotient de 2 nombres entiers avec un nombre illimit de
dcimales. En voici la marche suivre:

Calculer et afficher la partie entire du quotient


(devant la virgule) grce la division entire
et
traiter la partie dcimale de la manire rptitive suivante:
multiplier le reste de la division prcdente par 1000
(pour des tranches de 3 chiffres)
calculer/afficher la partie entire du quotient

entier N, D, NT, Q, i
crire "Introduisez le numrateur:"
lire N
crire "Introduisez le dnominateur:"
lire D
crire "Introduisez le nombre de tranches de 3 chiffres:"
lire NT
crire N, "/", D
Q <-- N \ D
crire " = ",Q," , "
N <-- N MOD D
pour i de 1 NT faire
N <-- N*1000
Q <-- N \ D
N <-- N MOD D
si Q<10 alors crire "00"
sinon si Q<100 alors crire "0"
fsi
fsi
crire Q, " "
fpour

PROGRAM Quotient;

USES CRT;

VAR N,D,P,Q: LONGINT;


NT,i:BYTE;

BEGIN
CLRSCR;
WRITE('Introduisez le numrateur de la fraction: ');
READLN(N);
WRITE('Introduisez le dnominateur de la fraction: ');
READLN(D);
WRITE('Introduisez le nombre de tranches de 3 chiffres, dsires dans la rponse: ');
READLN(NT);
P:=1000; {Pour des tranches de 3 chiffres }
WRITE(N,' / ',D); {Affiche le calcul effectuer }
Q:=N DIV D; {Partie entire du quotient }
WRITE(' = ',Q,' , '); {Affiche la partie entire du rsultat }
N:=N MOD D; {Reste de la division }
FOR i:=1 TO NT-1 DO {Il faut arrondir le dernier chiffre ==> NT-1 }
BEGIN
N:=N*P; {N est multipli par 1000 }
Q:=N DIV D; {Partie entire du quotient }
N:=N MOD D; {Reste de la division }
IF Q<10 THEN WRITE('00',Q) {Q comporte 1 chiffre. Il faut le prcder de 00. }
ELSE IF Q<100 THEN WRITE('0',Q) {Q comporte 2 chiffres. Il faut les prcder de 0.}
ELSE WRITE(Q); {Q comporte 3 chiffres. }
WRITE(' ') {Marque la sparation des tranches de 3 chiffres. }
END;
N:=N*P; {N est multipli par 1000 }
Q:=TRUNC(N/D+0.5); {Partie entire arrondie du quotient }
IF Q<10 THEN WRITE('00',Q) {Q comporte 1 chiffre. Il faut le prcder de 00. }
ELSE IF Q<100 THEN WRITE('0',Q) {Q comporte 2 chiffres. Il faut les prcder de 0.}
ELSE WRITE(Q); {Q comporte 3 chiffres. }
END.

Page prcdente.

Page d'accueil.

Vous aimerez peut-être aussi