Générer une Ligne du Triangle de Pascal en C

CBeginner
Pratiquer maintenant

Introduction

Dans ce laboratoire, vous apprendrez à générer une ligne du triangle de Pascal en utilisant le langage C. Le laboratoire couvre trois étapes principales : la lecture du numéro de la ligne de l'utilisateur, le calcul des coefficients binomiaux pour la ligne et l'impression de la ligne. Vous commencerez par créer un programme qui invite l'utilisateur à saisir le numéro de la ligne souhaitée, puis implémenterez une fonction pour calculer les coefficients binomiaux, et enfin afficherez la ligne du triangle de Pascal. À la fin de ce laboratoire, vous aurez une compréhension solide des concepts de théorie des nombres et de mathématiques discrètes, ainsi qu'une expérience pratique de leur application à l'aide du langage C.

Lecture du numéro de ligne

Dans cette étape, vous apprendrez à lire le numéro de ligne pour générer une ligne du triangle de Pascal en utilisant le langage C. Nous allons créer un programme qui invite l'utilisateur à saisir le numéro de ligne souhaité.

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

cd ~/project
nano pascal_triangle.c

Maintenant, ajoutez le code suivant pour lire le numéro de ligne :

#include <stdio.h>

int main() {
    int rowNumber;

    printf("Entrez le numéro de ligne pour le triangle de Pascal : ");
    scanf("%d", &rowNumber);

    printf("Vous avez entré le numéro de ligne : %d\n", rowNumber);

    return 0;
}

Compilons et exécutons le programme :

gcc pascal_triangle.c -o pascal_triangle
./pascal_triangle

Exemple de sortie :

Entrez le numéro de ligne pour le triangle de Pascal : 5
Vous avez entré le numéro de ligne : 5

Explication du code :

  • #include <stdio.h> inclut la bibliothèque d'entrée/sortie standard
  • scanf() lit une entrée entière de l'utilisateur
  • printf() affiche le numéro de ligne entré
  • Le programme valide l'entrée de base de l'utilisateur pour le numéro de ligne

Points clés :

  • Nous utilisons scanf() pour lire une entrée entière
  • Le numéro de ligne sera utilisé pour générer la ligne spécifique du triangle de Pascal
  • La validation de l'entrée sera ajoutée dans les étapes suivantes

Calcul des coefficients binomiaux

Dans cette étape, vous apprendrez à calculer les coefficients binomiaux pour générer une ligne spécifique du triangle de Pascal. Nous allons modifier le programme précédent pour calculer les coefficients à l'aide d'une fonction.

Ouvrez le fichier existant :

cd ~/project
nano pascal_triangle.c

Remplacez le code précédent par l'implémentation suivante :

#include <stdio.h>

// Fonction pour calculer le coefficient binomial
int binomialCoeff(int n, int k) {
    // Cas de base
    if (k == 0 || k == n)
        return 1;

    // Calcul récursif utilisant la propriété du triangle de Pascal
    return binomialCoeff(n-1, k-1) + binomialCoeff(n-1, k);
}

int main() {
    int rowNumber;

    printf("Entrez le numéro de ligne pour le triangle de Pascal : ");
    scanf("%d", &rowNumber);

    printf("Coefficients binomiaux pour la ligne %d :\n", rowNumber);

    // Génération et affichage des coefficients
    for (int k = 0; k < rowNumber; k++) {
        printf("%d ", binomialCoeff(rowNumber - 1, k));
    }
    printf("\n");

    return 0;
}

Compilez et exécutez le programme :

gcc pascal_triangle.c -o pascal_triangle
./pascal_triangle

Exemple de sortie :

Entrez le numéro de ligne pour le triangle de Pascal : 5
Coefficients binomiaux pour la ligne 5 :
1 4 6 4 1

Explication du code :

  • La fonction binomialCoeff() calcule les coefficients binomiaux de manière récursive
  • Les cas de base gèrent les premiers et derniers éléments de chaque ligne
  • La fonction utilise la propriété récursive du triangle de Pascal
  • La boucle imbriquée génère les coefficients pour la ligne spécifiée

Points clés :

  • Les coefficients binomiaux représentent les nombres de chaque ligne du triangle de Pascal
  • Le calcul récursif démontre la relation mathématique
  • La complexité temporelle est exponentielle en raison de l'approche récursive

Affichage de la Ligne

Dans cette étape, vous améliorerez le programme du triangle de Pascal pour formater et afficher la ligne avec des espaces et un alignement corrects, rendant la sortie plus lisible.

Ouvrez le fichier existant :

cd ~/project
nano pascal_triangle.c

Remplacez le code précédent par l'implémentation suivante :

#include <stdio.h>

// Fonction pour calculer le coefficient binomial
int binomialCoeff(int n, int k) {
    if (k == 0 || k == n)
        return 1;
    return binomialCoeff(n-1, k-1) + binomialCoeff(n-1, k);
}

// Fonction pour afficher la ligne du triangle de Pascal
void printPascalRow(int rowNumber) {
    // Affichage d'espaces pour l'alignement
    for (int space = 0; space < rowNumber; space++) {
        printf("   ");
    }

    // Génération et affichage des coefficients
    for (int k = 0; k < rowNumber; k++) {
        int coefficient = binomialCoeff(rowNumber - 1, k);
        printf("%4d ", coefficient);
    }
    printf("\n");
}

int main() {
    int rowNumber;

    printf("Entrez le numéro de ligne pour le triangle de Pascal (1-10) : ");
    scanf("%d", &rowNumber);

    if (rowNumber < 1 || rowNumber > 10) {
        printf("Veuillez entrer un numéro de ligne compris entre 1 et 10.\n");
        return 1;
    }

    printf("Ligne %d du triangle de Pascal :\n", rowNumber);

    // Affichage de la ligne spécifiée
    printPascalRow(rowNumber);

    return 0;
}

Compilez et exécutez le programme :

gcc pascal_triangle.c -o pascal_triangle
./pascal_triangle

Exemple de sortie :

Entrez le numéro de ligne pour le triangle de Pascal (1-10) : 5
Ligne 5 du triangle de Pascal :
            1    4    6    4    1

Explication du code :

  • La fonction printPascalRow() gère le formatage de la ligne
  • Des espaces sont ajoutés pour l'alignement visuel
  • Le spécificateur de format %4d est utilisé pour une largeur de colonne constante
  • Une validation d'entrée est ajoutée pour limiter les numéros de ligne
  • Affiche la ligne entière avec des espaces appropriés

Points clés :

  • Le formatage améliore la lisibilité du triangle de Pascal
  • La validation d'entrée prévient les comportements inattendus
  • Démonstration des techniques de formatage de base en C

Résumé

Dans ce laboratoire, vous apprendrez à lire le numéro de ligne pour générer une ligne du triangle de Pascal en utilisant le langage C, et comment calculer les coefficients binomiaux pour afficher cette ligne. Tout d'abord, vous créerez un programme qui invite l'utilisateur à saisir le numéro de ligne souhaité. Ensuite, vous implémenterez une fonction pour calculer les coefficients binomiaux en utilisant la propriété récursive du triangle de Pascal. Enfin, vous afficherez la ligne du triangle de Pascal en fonction des coefficients calculés. Les points clés abordés dans ce laboratoire incluent l'utilisation de scanf() pour lire l'entrée utilisateur, l'implémentation d'une fonction récursive pour calculer les coefficients binomiaux et l'affichage de la ligne générée.