Mathc initiation/Fichiers c : c15g
Installer et compiler ces fichiers dans votre répertoire de travail.
![]() |
a07_mod.c |
---|
/* ------------------------------ */
/* Save as : a07_mod.c */
/* ------------------------------ */
#include "x_ahfile.h"
/* ------------------------------ */
#define LOOP 5
/* ------------------------------ */
int main(void)
{
time_t t;
int i=1,j=1,n=1,loop=LOOP+1;
srand(time(&t));
do{clrscrn();
printf("r = i %% j \n\n");
printf(" r = %d (%d) \n\n",(i%j),(n-1));
i = rndp_I (90)+9;
j = rndp_I ( 7)+2;
if(n<loop) printf(" r = %d %% %d (%d) ",i,j,n++);
else n++;
nlign(6);
stop();
}while(n<=loop);
return 0;
}
C'est un petit utilitaire pour s'entraîner à calculer le reste d'une division.
i est compris entre 10 et 99. J entre 1 et 9.
Sur l'écran on peut voir apparaître l'opération à effectué plus le résultat de l'opération précédente. Il y a aussi un compteur "n" qui donne le nombre d'opérations effectuées.
Remarque : i mod j = r
Si i est positif, il suffit de trouver le multiple de j qui se rapproche le plus de i par valeur inférieur, et de faire la soustraction pour obtenir le résultat.
Si i est négatif, il suffit de trouver le multiple de j qui se rapproche le plus de i par valeur supérieur, et de faire l'addition pour obtenir le résultat. Le résultat est un nombre positif (Des exercices quand i est négatif sont proposés dans la page suivante).
- +12 mod 5 = +12 - (5*2) = +12 - (10) = 2
- -12 mod 5 = -12 + (5*3) = -12 + (15) = 3
Exemple de sortie écran :
r = i % j
r = 0 (0)
r = 82 % 8 (1)
Press return to continue.