PS 3.39

Función F(X, Y, Z) con Factoriales

Desarrolla un programa que evalúe K veces la función F(X, Y, Z) definida por casos: si X > 0 ∧ Y > 0 ∧ Z > 0 entonces F = Z!/Y!, si solo X > 0 entonces F = X!, en cualquier otro caso F = 1. El algoritmo lee K, ejecuta un ciclo (I ← 1 hasta I ≤ K), lee X, Y, Z en cada iteración, evalúa las condiciones anidadas y calcula el resultado correspondiente.

Requisitos

  • Leer K (número de veces que se calculará la función)
  • Ejecutar ciclo I ← 1 hasta I ≤ K: leer X, Y, Z
  • Evaluar condiciones: Si X > 0 ∧ Y > 0 ∧ Z > 0 → F ← Z!/Y!, sino si X > 0 → F ← X!, sino F ← 1
  • Mostrar F para cada iteración
  • Implementar función auxiliar para calcular factoriales

Ejemplo de uso esperado

// Entrada:
========================================
Función F(X, Y, Z) con Factoriales
========================================
Ingrese el número de veces que se calculará la función (K): 3

--- Cálculo #1 ---
Ingrese el valor de X: 5
Ingrese el valor de Y: 3
Ingrese el valor de Z: 4
El resultado de F(5, 3, 4) es: 8.0000
  // 4!/3! = 24/6 = 4.0 (pero con todos positivos)

--- Cálculo #2 ---
Ingrese el valor de X: 4
Ingrese el valor de Y: 0
Ingrese el valor de Z: 2
El resultado de F(4, 0, 2) es: 24.0000
  // Solo X > 0, entonces F = 4! = 24

--- Cálculo #3 ---
Ingrese el valor de X: -2
Ingrese el valor de Y: 5
Ingrese el valor de Z: 3
El resultado de F(-2, 5, 3) es: 1.0000
  // X ≤ 0, entonces F = 1

Notas rápidas

Detalles importantes:

  • La función tiene 3 casos mutuamente excluyentes (if-else if-else)
  • Caso 1: X > 0 AND Y > 0 AND Z > 0 → F = Z! / Y!
  • Caso 2: X > 0 (pero no se cumple caso 1) → F = X!
  • Caso 3: Cualquier otro caso (X ≤ 0) → F = 1
  • Implementa una función auxiliar calcularFactorial(int n) que retorne long
  • Usa double para F para manejar divisiones con decimales

📊 Diagrama de Flujo

Diagrama de Flujo - Función F(X, Y, Z) con Factoriales

Diagrama de flujo del algoritmo