Utiliser l'opérateur modulo en C

CBeginner
Pratiquer maintenant

Introduction

Dans ce laboratoire, vous apprendrez à utiliser l'opérateur modulo en programmation C pour calculer le reste d'une opération de division. Le laboratoire couvre les étapes suivantes :

Déclarez des variables entières et saisissez des valeurs de l'utilisateur, puis calculez le reste à l'aide de l'opérateur modulo et affichez le résultat. Cet exercice pratique vous aidera à comprendre les opérations arithmétiques de base en C et comment appliquer efficacement l'opérateur modulo.

Déclaration de variables entières et saisie de valeurs

Dans cette étape, vous apprendrez à déclarer des variables entières et à saisir des valeurs dans un programme C pour effectuer des opérations modulo. Nous allons créer un programme simple qui démontre la déclaration de variables de base et la saisie utilisateur.

Tout d'abord, créons un nouveau fichier C dans le répertoire du projet :

cd ~/project
nano modulus_example.c

Maintenant, saisissez le code C suivant :

#include <stdio.h>

int main() {
    // Déclarez des variables entières
    int dividende, diviseur;

    // Demandez à l'utilisateur d'entrer des valeurs
    printf("Entrez le dividende (le nombre à diviser) : ");
    scanf("%d", &dividende);

    printf("Entrez le diviseur (le nombre par lequel diviser) : ");
    scanf("%d", &diviseur);

    // Affichez les valeurs saisies
    printf("Dividende : %d\n", dividende);
    printf("Diviseur : %d\n", diviseur);

    return 0;
}

Décomposons le code :

  • int dividende, diviseur; déclare deux variables entières pour stocker les nombres
  • printf() est utilisé pour demander à l'utilisateur d'entrer des valeurs
  • scanf() lit les valeurs entières saisies par l'utilisateur
  • %d est le spécificateur de format pour les entiers
  • &dividende et &diviseur transmettent les adresses mémoire pour stocker les valeurs saisies

Compilez le programme :

gcc modulus_example.c -o modulus_example

Exemple de sortie lors de l'exécution du programme :

Entrez le dividende (le nombre à diviser) : 17
Entrez le diviseur (le nombre par lequel diviser) : 5
Dividende : 17
Diviseur : 5

Calculer le reste à l'aide de l'opérateur modulo

Dans cette étape, vous apprendrez à utiliser l'opérateur modulo (%) pour calculer le reste d'une opération de division en C. Nous allons modifier le programme précédent pour calculer et afficher le reste.

Ouvrez le fichier existant et mettez à jour le code :

cd ~/project
nano modulus_example.c

Remplacez le code précédent par ce qui suit :

#include <stdio.h>

int main() {
    // Déclarez des variables entières
    int dividende, diviseur, reste;

    // Demandez à l'utilisateur d'entrer des valeurs
    printf("Entrez le dividende (le nombre à diviser) : ");
    scanf("%d", &dividende);

    printf("Entrez le diviseur (le nombre par lequel diviser) : ");
    scanf("%d", &diviseur);

    // Calculez le reste à l'aide de l'opérateur modulo
    reste = dividende % diviseur;

    // Affichez les valeurs saisies et le reste
    printf("Dividende : %d\n", dividende);
    printf("Diviseur : %d\n", diviseur);
    printf("Reste : %d\n", reste);

    return 0;
}

Modifications clés de cette version :

  • Ajout d'une nouvelle variable reste pour stocker le résultat
  • Utilisation de l'opérateur modulo % pour calculer le reste
  • Ajout d'une instruction d'affichage pour afficher le reste

Compilez le programme mis à jour :

gcc modulus_example.c -o modulus_example

Exemple de sortie lors de l'exécution du programme :

Entrez le dividende (le nombre à diviser) : 17
Entrez le diviseur (le nombre par lequel diviser) : 5
Dividende : 17
Diviseur : 5
Reste : 2

Dans cet exemple, 17 divisé par 5 donne 3 avec un reste de 2. L'opérateur modulo % renvoie exactement ce reste.

Afficher le résultat

Dans cette étape, vous apprendrez à formater et afficher les résultats des opérations modulo d'une manière plus significative. Nous allons améliorer le programme précédent pour fournir une explication claire du calcul.

Ouvrez le fichier existant et mettez à jour le code :

cd ~/project
nano modulus_example.c

Remplacez le code précédent par ce qui suit :

#include <stdio.h>

int main() {
    // Déclarez des variables entières
    int dividende, diviseur, reste, quotient;

    // Demandez à l'utilisateur d'entrer des valeurs
    printf("Entrez le dividende (le nombre à diviser) : ");
    scanf("%d", &dividende);

    printf("Entrez le diviseur (le nombre par lequel diviser) : ");
    scanf("%d", &diviseur);

    // Calculez le quotient et le reste
    quotient = dividende / diviseur;
    reste = dividende % diviseur;

    // Affichez une explication détaillée de la division
    printf("\nCalcul de la division :\n");
    printf("%d ÷ %d = %d reste %d\n",
           dividende, diviseur, quotient, reste);

    // Équation de vérification
    printf("\nVérification :\n");
    printf("%d = %d × %d + %d\n",
           dividende, diviseur, quotient, reste);

    return 0;
}

Compilez le programme mis à jour :

gcc modulus_example.c -o modulus_example

Exemple de sortie lors de l'exécution du programme :

Entrez le dividende (le nombre à diviser) : 17
Entrez le diviseur (le nombre par lequel diviser) : 5

Calcul de la division :
17 ÷ 5 = 3 reste 2

Vérification :
17 = 5 × 3 + 2

Modifications clés de cette version :

  • Calcul du quotient à l'aide de la division entière
  • Sortie plus détaillée montrant le processus de division
  • Ajout d'une ligne de vérification pour démontrer la relation mathématique

Résumé

Dans ce laboratoire, vous avez appris à déclarer des variables entières et à saisir des valeurs dans un programme C pour effectuer des opérations modulo. Vous avez créé un programme simple qui demande à l'utilisateur un dividende et un diviseur, puis vous avez utilisé l'opérateur modulo pour calculer le reste de l'opération de division. Le programme a ensuite affiché les valeurs saisies et le reste calculé.

De plus, vous avez appris à compiler et exécuter le programme C, en observant la sortie du programme. Ce laboratoire a fourni une introduction pratique à l'opérateur modulo et à son application pratique dans la programmation C.