Ejercicios: Simulación y verificación
Explica qué es un simulador de circuitos o de robótica y da dos ventajas de probar en él antes de hacer el montaje real.
Explica qué es un simulador de circuitos o de robótica y da dos ventajas de probar en él antes de hacer el montaje real.
Explica con tus palabras qué significa verificar un programa y en qué se diferencia de «probarlo un poco a ver si funciona».
Explica con tus palabras qué significa verificar un programa y en qué se diferencia de «probarlo un poco a ver si funciona».
El diagrama de flujo de la figura controla una luz automática que depende de un sensor (LDR), pero falta el contenido de un bloque. Indica qué debería hacer ese bloque y…
El diagrama de flujo de la figura controla una luz automática que depende de un sensor (LDR), pero falta el contenido de un bloque. Indica qué debería hacer ese bloque y describe qué hace el sistema cuando la lectura del sensor es 150 y cuando es 800.
Explica la diferencia entre simular un circuito en la computadora y montarlo en una placa de pruebas real (protoboard): qué se gana y qué se pierde con cada método.
Explica la diferencia entre simular un circuito en la computadora y montarlo en una placa de pruebas real (protoboard): qué se gana y qué se pierde con cada método.
¿Qué es un «fallo» o bug en un programa de control? Pon dos ejemplos sencillos (una condición escrita al revés, un umbral mal puesto) y el efecto que tendría cada uno.
¿Qué es un «fallo» o bug en un programa de control? Pon dos ejemplos sencillos (una condición escrita al revés, un umbral mal puesto) y el efecto que tendría cada uno.
Escribe dos casos de prueba para un programa que hace sonar una alarma cuando se abre una puerta: qué entrada se simula y qué salida se espera en cada caso.
Escribe dos casos de prueba para un programa que hace sonar una alarma cuando se abre una puerta: qué entrada se simula y qué salida se espera en cada caso.
Explica qué significa depurar un programa y nombra una técnica sencilla para hacerlo en un simulador (ejecutar paso a paso, observar el valor de las variables).
Explica qué significa depurar un programa y nombra una técnica sencilla para hacerlo en un simulador (ejecutar paso a paso, observar el valor de las variables).
Algunos simuladores permiten «acelerar el tiempo». Explica qué ventaja tiene eso para probar el comportamiento de un termostato durante un día completo.
Algunos simuladores permiten «acelerar el tiempo». Explica qué ventaja tiene eso para probar el comportamiento de un termostato durante un día completo.
Un programa debe encender un ventilador cuando la temperatura supere los $26\ ^\circ\text{C}$. Define tres casos de prueba (dato de entrada y resultado esperado) para…
Un programa debe encender un ventilador cuando la temperatura supere los $26\ ^\circ\text{C}$. Define tres casos de prueba (dato de entrada y resultado esperado) para verificarlo, incluyendo el valor límite de $26\ ^\circ\text{C}$, y justifica por qué ese último caso es importante.
En el simulador tu programa funciona perfectamente, pero en el montaje real el motor no gira. Da tres causas posibles que un simulador no detecta y explica cómo…
En el simulador tu programa funciona perfectamente, pero en el montaje real el motor no gira. Da tres causas posibles que un simulador no detecta y explica cómo comprobarías cada una en la mesa de trabajo.
Explica qué es un «caso límite» al verificar un programa y por qué son tan importantes. Pon un ejemplo con un programa que decide si una nota es aprobatoria a partir de…
Explica qué es un «caso límite» al verificar un programa y por qué son tan importantes. Pon un ejemplo con un programa que decide si una nota es aprobatoria a partir de 5.
Un programa cuenta las personas que entran en una sala (sensor A) y las que salen (sensor B). Diseña tres casos de prueba pensados para detectar errores típicos: dos…
Un programa cuenta las personas que entran en una sala (sensor A) y las que salen (sensor B). Diseña tres casos de prueba pensados para detectar errores típicos: dos personas juntas, una que entra y sale seguida y un sensor que se activa dos veces por el rebote del contacto.
En la simulación, el LED parpadea con ritmo perfecto, pero en el montaje real parpadea de forma irregular. Da dos causas eléctricas que el simulador idealiza (tolerancia…
En la simulación, el LED parpadea con ritmo perfecto, pero en el montaje real parpadea de forma irregular. Da dos causas eléctricas que el simulador idealiza (tolerancia de las resistencias, contactos flojos del protoboard) y cómo acotar cada una.
Explica qué es una «prueba de estrés» de un sistema de control y propón una para el programa de un parqueo: qué condiciones extremas simularías y qué comportamiento…
Explica qué es una «prueba de estrés» de un sistema de control y propón una para el programa de un parqueo: qué condiciones extremas simularías y qué comportamiento correcto esperas.
Un equipo verifica su programa solo en el «camino feliz», es decir, cuando todo sale bien. Explica qué son los casos de error y escribe dos para un cajero automático de…
Un equipo verifica su programa solo en el «camino feliz», es decir, cuando todo sale bien. Explica qué son los casos de error y escribe dos para un cajero automático de juguete (tarjeta no válida, saldo insuficiente).
Diseña una tabla de verificación para un semáforo peatonal: estados (rojo, verde, ámbar intermitente), entradas (botón presionado, tiempo transcurrido) y la salida…
Diseña una tabla de verificación para un semáforo peatonal: estados (rojo, verde, ámbar intermitente), entradas (botón presionado, tiempo transcurrido) y la salida esperada en cada transición entre estados.
En la simulación de un sistema de riego para un huerto escolar, has programado este bucle de control: REPETIR SIEMPRE: humedad = leer_sensor() SI humedad < 30 %…
En la simulación de un sistema de riego para un huerto escolar, has programado este bucle de control:
REPETIR SIEMPRE:
humedad = leer_sensor()
SI humedad < 30 % ENTONCES:
activar_electroválvula()
esperar(10 segundos)
desactivar_electroválvula()
FIN REPETIR
Al ejecutarlo en un simulador que modela la absorción física del agua con un retardo de infiltración de 2 minutos, la electroválvula se abre y cierra sin parar durante decenas de ciclos seguidos, encharcando el terreno.
- a) Justifica por qué el programa genera este comportamiento en la simulación a pesar de incluir una instrucción explícita de desactivación.
- b) Rediseña el algoritmo (en pseudocódigo o diagrama de flujo) para solucionar el problema sin suprimir la lectura del sensor ni cambiar la electroválvula.
Un robot móvil utiliza un sensor de ultrasonidos frontal (rango útil: 2,0 cm a 400,0 cm) y debe detenerse y girar si detecta un obstáculo a menos de 20,0 cm. Diseña una…
Un robot móvil utiliza un sensor de ultrasonidos frontal (rango útil: 2,0 cm a 400,0 cm) y debe detenerse y girar si detecta un obstáculo a menos de 20,0 cm. Diseña una matriz de pruebas para verificar el código en el simulador antes de transferirlo al robot real. Tu plan debe contener al menos 4 casos de prueba distintos que incluyan valores frontera y anomalías de lectura. Para cada caso debes indicar: valor numérico simulado de entrada, comportamiento esperado de los motores y justificación técnica de por qué es imprescindible comprobar ese caso concreto.
Un equipo simula un robot seguidor de línea negra: en pantalla el algoritmo reacciona en 0,02 s, los motores responden de forma instantánea y el robot completa el…
Un equipo simula un robot seguidor de línea negra: en pantalla el algoritmo reacciona en 0,02 s, los motores responden de forma instantánea y el robot completa el circuito a 1,2 m/s sin ningún fallo. Sin embargo, al cargar el mismo programa en el robot real con los mismos sensores, este oscila bruscamente de lado a lado y acaba perdiendo la línea en la primera curva.
- a) Identifica y justifica tres factores del mundo físico que el simulador ha omitido o idealizado y que explican esta discrepancia.
- b) Propón dos modificaciones técnicas (una en los parámetros del software de control y otra en el montaje físico) para compensar esos efectos reales sin sustituir los sensores.