Práctica de Programación: Batería de Pruebas y Validación con CodeGrade (PEC 2, PEC 3 y PEC 4)

Fundamentos de Programación · 1.º curso · Grado en Ingeniería Informática · Universitat Oberta de Catalunya (UOC). Práctica de Fundamentos de Programación…

Fundamentos de Programación · Universitat Oberta de Catalunya · Grado en Ingeniería Informática · 1.º curso

3 problemas · Estructuras de control: alternativa, iterativa y reglas de decisión

1. A partir de una tabla de 20 casos de prueba de CodeGrade con variables de entrada (humedad %, tipo de planta…

Estructuras de control: alternativa, iterativa y reglas de decisión

1 PEC 2: Sistema de activación de riego inteligente

Se requiere programar un módulo de control que determine si debe activarse un sistema de irrigación (1 para verdadero, 0 para falso). El programa solicita tres variables por consola en el orden indicado:

HUMIDITY PERCENTAGE? (número real, porcentaje de humedad del suelo).

PLANT TYPE (0-SUCCULENT, 1-SHRUB, 2-TROPICAL)? (entero: 0 para plantas suculentas, 1 para arbustos, 2 para especies tropicales).

OUTDOOR TEMPERATURE? (número real, temperatura ambiental exterior en °C).

La salida debe mostrar exactamente el formato: ACTIVATING IRRIGATION (0-FALSE, 1-TRUE): [0|1].

A continuación se detallan los casos de prueba provistos por la plataforma:

Test

Humedad (%)

Tipo de Planta

Temperatura (°C)

Salida Esperada

a)

Deduce y formaliza las reglas lógicas que rigen la activación del riego en función del tipo de planta, el umbral base de humedad y la compensación por alta temperatura (40.0 °C).

b)

Representa el algoritmo mediante pseudocódigo o una expresión booleana consolidada.

Enunciado: 1

2. PEC 3: Determinar los criterios de comprobación de inventario en una matriz 3x3 para los estados STOCK OUT,…

Estructuras de control: alternativa, iterativa y reglas de decisión

2. PEC 3: Monitorización del estado de inventario en almacenes

Un sistema de logística analiza ficheros de texto con el recuento de existencias distribuidas en una cuadrícula de 3×33 \times 3 sectores. El usuario introduce la ruta del archivo cuando el sistema solicita FILENAME? y el programa debe categorizar la situación del almacén mediante uno de cuatro estados de salida:

STOCK OUT

ZONE WARNING

LOW INVENTORY

OPERATIONAL

Disponemos del contenido de cuatro archivos de almacén:

warehouse1.txt:

10 20 30

5 0 40

15 15 15 warehouse2.txt:

10 2 1

20 20 20

30 30 30 warehouse3.txt:

10 10 10

10 10 10

10 10 10 warehouse4.txt:

20 10 33

10 35 10

55 10 60

Los resultados de ejecución en CodeGrade son los siguientes:

Test · Entrada (FILENAME?) · Salida del Sistema (OUTPUT)

Test 1 · warehouse1.txt · STOCK OUT

Test 2 · warehouse2.txt · ZONE WARNING

Test 3 · warehouse3.txt · LOW INVENTORY

Test 4 · warehouse4.txt · OPERATIONAL

a)

Identifica el criterio de comprobación que dispara cada una de las cuatro salidas posibles analizando las características numéricas de las matrices (presencia de ceros, umbrales por celda o fila, y suma total acumulada).

b)

Escribe la secuencia condicional recomendada para evitar conflictos de precedencia entre estados.

Enunciado: 2

3. PEC 4: Evaluación y selección óptima de paneles solares a partir de archivos de datos y baterías de pruebas.…

Estructuras de control: alternativa, iterativa y reglas de decisión

3 PEC 4: Evaluación y selección óptima de paneles solares

El programa compara pares de paneles solares a partir de archivos de configuración que contienen cuatro campos: Marca/Modelo (cadena), Potencia nominal en W (real), Superficie en m² (real) y Coste en € (real o entero). El usuario introduce dos nombres de fichero consecutivamente mediante los prompts FILENAME1? y FILENAME2?. El sistema debe imprimir el modelo ganador con el mensaje THE BEST PANEL IS [Modelo].

Se facilitan los siguientes archivos de datos:

• panel1.txt: SunPower 455.7 2.0 600

• panel2.txt: GenericSolar 400.0 2.0 400

• panel3.txt: EcoPanel 400.0 2.0 350

• panel4.txt: GenericSolar 400.0 2.0 400

• panel5.txt: EcoPanel 400.0 2.0 350

• panel6.txt: AlphaSolar 400.0 2.0 350

Los resultados de las pruebas son:

Test · FILENAME1? · FILENAME2? · Salida (OUTPUT)

Test 1 · panel1.txt · panel2.txt · THE BEST PANEL IS SunPower

Test 2 · panel3.txt · panel4.txt · THE BEST PANEL IS EcoPanel

Test 3 · panel5.txt · panel6.txt · THE BEST PANEL IS AlphaSolar

a.

Calcula las métricas habituales (eficiencia de superficie η=PotenciaSuperficie\eta = \frac{\text{Potencia}}{\text{Superficie}} y ratio coste-potencia o coste por vatio CostePotencia\frac{\text{Coste}}{\text{Potencia}}) para determinar qué métrica o criterio de desempate rige la elección en cada test.

b.

Explica detalladamente por qué resulta vencedor AlphaSolar frente a EcoPanel en el Test 3 habiendo plena coincidencia en sus atributos numéricos.

Enunciado: 3

Resuélvelo aquí mismo: corrección automática, pistas y solución paso a paso.

Más apuntes de Fundamentos de Programación

Exámenes, temas y apuntes de Fundamentos de Programación