Generar una Fila del Triángulo de Pascal en C

CBeginner
Practicar Ahora

Introducción

En este laboratorio, aprenderás a generar una fila del Triángulo de Pascal utilizando programación en C. El laboratorio cubre tres pasos principales: leer el número de la fila del usuario, calcular los coeficientes binomiales para la fila y mostrar la fila. Empezarás creando un programa que solicita al usuario el número de fila deseado, luego implementarás una función para calcular los coeficientes binomiales y, finalmente, mostrarás la fila del Triángulo de Pascal. Al final de este laboratorio, tendrás una sólida comprensión de los conceptos de teoría de números y matemáticas discretas, así como experiencia práctica en su aplicación utilizando programación en C.

Leer el Número de Fila

En este paso, aprenderás a leer el número de fila para generar una fila del Triángulo de Pascal utilizando programación en C. Crearemos un programa que solicita al usuario que ingrese el número de fila deseado.

Primero, creemos un nuevo archivo C en el directorio del proyecto:

cd ~/project
nano pascal_triangle.c

Ahora, agrega el siguiente código para leer el número de fila:

#include <stdio.h>

int main() {
    int rowNumber;

    printf("Ingrese el número de fila para el Triángulo de Pascal: ");
    scanf("%d", &rowNumber);

    printf("Número de fila ingresado: %d\n", rowNumber);

    return 0;
}

Compilamos y ejecutamos el programa:

gcc pascal_triangle.c -o pascal_triangle
./pascal_triangle

Ejemplo de salida:

Ingrese el número de fila para el Triángulo de Pascal: 5
Número de fila ingresado: 5

Explicación del código:

  • #include <stdio.h> incluye la biblioteca de entrada/salida estándar.
  • scanf() lee una entrada de entero del usuario.
  • printf() muestra el número de fila ingresado.
  • El programa valida la entrada básica del usuario para el número de fila.

Puntos clave:

  • Usamos scanf() para leer una entrada de entero.
  • El número de fila se utilizará para generar la fila específica del Triángulo de Pascal.
  • La validación de la entrada se agregará en pasos posteriores.

Calcular Coeficientes Binomiales

En este paso, aprenderás a calcular los coeficientes binomiales para generar una fila específica del Triángulo de Pascal. Modificaremos el programa anterior para calcular los coeficientes usando una función.

Abre el archivo existente:

cd ~/project
nano pascal_triangle.c

Reemplaza el código anterior con la siguiente implementación:

#include <stdio.h>

// Función para calcular el coeficiente binomial
int binomialCoeff(int n, int k) {
    // Casos base
    if (k == 0 || k == n)
        return 1;

    // Cálculo recursivo utilizando la propiedad del Triángulo de Pascal
    return binomialCoeff(n-1, k-1) + binomialCoeff(n-1, k);
}

int main() {
    int rowNumber;

    printf("Ingrese el número de fila para el Triángulo de Pascal: ");
    scanf("%d", &rowNumber);

    printf("Coeficientes Binomiales para la Fila %d:\n", rowNumber);

    // Generar e imprimir los coeficientes
    for (int k = 0; k < rowNumber; k++) {
        printf("%d ", binomialCoeff(rowNumber - 1, k));
    }
    printf("\n");

    return 0;
}

Compila y ejecuta el programa:

gcc pascal_triangle.c -o pascal_triangle
./pascal_triangle

Ejemplo de salida:

Ingrese el número de fila para el Triángulo de Pascal: 5
Coeficientes Binomiales para la Fila 5:
1 4 6 4 1

Explicación del código:

  • La función binomialCoeff() calcula los coeficientes binomiales de forma recursiva.
  • Los casos base manejan los primeros y últimos elementos de cada fila.
  • La función utiliza la propiedad recursiva del Triángulo de Pascal.
  • El bucle anidado genera los coeficientes para la fila especificada.

Puntos clave:

  • Los coeficientes binomiales representan los números en cada fila del Triángulo de Pascal.
  • El cálculo recursivo demuestra la relación matemática.
  • La complejidad de tiempo es exponencial debido al enfoque recursivo.

Imprimir la Fila

En este paso, mejorarás el programa del Triángulo de Pascal para formatear e imprimir la fila con espaciado y alineación adecuados, haciendo que la salida sea visualmente atractiva.

Abre el archivo existente:

cd ~/project
nano pascal_triangle.c

Reemplaza el código anterior con la siguiente implementación:

#include <stdio.h>

// Función para calcular el coeficiente binomial
int binomialCoeff(int n, int k) {
    if (k == 0 || k == n)
        return 1;
    return binomialCoeff(n-1, k-1) + binomialCoeff(n-1, k);
}

// Función para imprimir la fila del Triángulo de Pascal
void printPascalRow(int rowNumber) {
    // Imprime espacios iniciales para la alineación
    for (int space = 0; space < rowNumber; space++) {
        printf("   ");
    }

    // Genera e imprime los coeficientes
    for (int k = 0; k < rowNumber; k++) {
        int coefficient = binomialCoeff(rowNumber - 1, k);
        printf("%4d ", coefficient);
    }
    printf("\n");
}

int main() {
    int rowNumber;

    printf("Ingrese el número de fila para el Triángulo de Pascal (1-10): ");
    scanf("%d", &rowNumber);

    if (rowNumber < 1 || rowNumber > 10) {
        printf("Por favor, ingrese un número de fila entre 1 y 10.\n");
        return 1;
    }

    printf("Fila %d del Triángulo de Pascal:\n", rowNumber);

    // Imprime la fila especificada
    printPascalRow(rowNumber);

    return 0;
}

Compila y ejecuta el programa:

gcc pascal_triangle.c -o pascal_triangle
./pascal_triangle

Ejemplo de salida:

Ingrese el número de fila para el Triángulo de Pascal (1-10): 5
Fila 5 del Triángulo de Pascal:
            1    4    6    4    1

Explicación del código:

  • La función printPascalRow() maneja el formateo de la fila.
  • Se agregan espacios iniciales para la alineación visual.
  • Se utiliza el especificador de formato %4d para un ancho de columna consistente.
  • Se agregó validación de entrada para limitar los números de fila.
  • Imprime la fila completa con espaciado adecuado.

Puntos clave:

  • El formateo mejora la legibilidad del Triángulo de Pascal.
  • La validación de entrada previene comportamientos inesperados.
  • Demuestra técnicas básicas de formateo en C.

Resumen

En este laboratorio, aprenderás a leer el número de fila para generar una fila en el Triángulo de Pascal utilizando programación en C, y cómo calcular los coeficientes binomiales para imprimir la fila. Primero, crearás un programa que solicita al usuario que ingrese el número de fila deseado. Luego, implementarás una función para calcular los coeficientes binomiales utilizando la propiedad recursiva del Triángulo de Pascal. Finalmente, imprimirás la fila del Triángulo de Pascal basada en los coeficientes calculados. Los puntos clave cubiertos en este laboratorio incluyen el uso de scanf() para leer la entrada del usuario, la implementación de una función recursiva para calcular los coeficientes binomiales y la impresión de la fila generada.