Exercicis: Simulació i verificació
Explica què és un simulador de circuits o de robòtica i dona dos avantatges de provar-hi abans de fer el muntatge real.
Explica què és un simulador de circuits o de robòtica i dona dos avantatges de provar-hi abans de fer el muntatge real.
Explica amb les teves paraules què vol dir verificar un programa i en què es diferencia de «provar-lo una mica a veure si funciona».
Explica amb les teves paraules què vol dir verificar un programa i en què es diferencia de «provar-lo una mica a veure si funciona».
El diagrama de flux de la figura controla un llum automàtic que depèn d'un sensor (LDR), però falta el contingut d'un bloc. Indica què hauria de fer aquest bloc i…
El diagrama de flux de la figura controla un llum automàtic que depèn d'un sensor (LDR), però falta el contingut d'un bloc. Indica què hauria de fer aquest bloc i descriu què fa el sistema quan la lectura del sensor és 150 i quan és 800.
Explica la diferència entre simular un circuit a l'ordinador i muntar-lo en una placa de proves real: què es guanya i què es perd amb cada mètode.
Explica la diferència entre simular un circuit a l'ordinador i muntar-lo en una placa de proves real: què es guanya i què es perd amb cada mètode.
Què és una «fallada» o bug en un programa de control? Posa dos exemples senzills (una condició escrita al revés, un llindar mal posat) i l'efecte que tindria cadascun.
Què és una «fallada» o bug en un programa de control? Posa dos exemples senzills (una condició escrita al revés, un llindar mal posat) i l'efecte que tindria cadascun.
Escriu dos casos de prova per a un programa que fa sonar una alarma quan s'obre una porta: quina entrada es simula i quina sortida s'espera en cada cas.
Escriu dos casos de prova per a un programa que fa sonar una alarma quan s'obre una porta: quina entrada es simula i quina sortida s'espera en cada cas.
Explica què vol dir depurar un programa i anomena una tècnica senzilla per fer-ho en un simulador (executar pas a pas, observar el valor de les variables).
Explica què vol dir depurar un programa i anomena una tècnica senzilla per fer-ho en un simulador (executar pas a pas, observar el valor de les variables).
Alguns simuladors permeten «accelerar el temps». Explica quin avantatge té això per provar el comportament d'un termòstat durant un dia complet.
Alguns simuladors permeten «accelerar el temps». Explica quin avantatge té això per provar el comportament d'un termòstat durant un dia complet.
Un programa ha d'encendre un ventilador quan la temperatura superi els $26\ ^\circ\text{C}$. Defineix tres casos de prova (dada d'entrada i resultat esperat) per…
Un programa ha d'encendre un ventilador quan la temperatura superi els $26\ ^\circ\text{C}$. Defineix tres casos de prova (dada d'entrada i resultat esperat) per verificar-lo, incloent-hi el valor límit de $26\ ^\circ\text{C}$, i justifica per què aquest darrer cas és important.
Al simulador el teu programa funciona perfectament, però en el muntatge real el motor no gira. Dona tres causes possibles que un simulador no detecta i explica com…
Al simulador el teu programa funciona perfectament, però en el muntatge real el motor no gira. Dona tres causes possibles que un simulador no detecta i explica com comprovaries cadascuna a la taula de treball.
Explica què és un «cas límit» en verificar un programa i per què són tan importants. Posa un exemple amb un programa que decideix si una nota és apta a partir de 5.
Explica què és un «cas límit» en verificar un programa i per què són tan importants. Posa un exemple amb un programa que decideix si una nota és apta a partir de 5.
Un programa compta les persones que entren en una sala (sensor A) i les que en surten (sensor B). Dissenya tres casos de prova pensats per caçar errors típics: dues…
Un programa compta les persones que entren en una sala (sensor A) i les que en surten (sensor B). Dissenya tres casos de prova pensats per caçar errors típics: dues persones juntes, una que entra i surt seguida i un sensor que es dispara dues vegades pel rebot del contacte.
En la simulació, el LED parpelleja amb ritme perfecte, però en el muntatge real parpelleja de manera irregular. Dona dues causes elèctriques que el simulador idealitza…
En la simulació, el LED parpelleja amb ritme perfecte, però en el muntatge real parpelleja de manera irregular. Dona dues causes elèctriques que el simulador idealitza (tolerància de les resistències, contactes fluixos de la placa de proves) i com acotar cadascuna.
Explica què és una «prova d'estrès» d'un sistema de control i proposa'n una per al programa d'un aparcament: quines condicions extremes simularies i quin comportament…
Explica què és una «prova d'estrès» d'un sistema de control i proposa'n una per al programa d'un aparcament: quines condicions extremes simularies i quin comportament correcte esperes.
Un equip verifica el seu programa només en el «camí feliç», és a dir, quan tot surt bé. Explica què són els casos d'error i escriu-ne dos per a un caixer automàtic de…
Un equip verifica el seu programa només en el «camí feliç», és a dir, quan tot surt bé. Explica què són els casos d'error i escriu-ne dos per a un caixer automàtic de joguina (targeta no vàlida, saldo insuficient).
Dissenya una taula de verificació per a un semàfor de vianants: estats (vermell, verd, ambre intermitent), entrades (botó premut, temps transcorregut) i la sortida…
Dissenya una taula de verificació per a un semàfor de vianants: estats (vermell, verd, ambre intermitent), entrades (botó premut, temps transcorregut) i la sortida esperada en cada transició entre estats.
En la simulació d'un sistema de reg per a un bancal escolar, has programat aquest bucle de control: REPETIR SEMPRE: humitat = llegir_sensor() SI humitat < 30 %…
En la simulació d'un sistema de reg per a un bancal escolar, has programat aquest bucle de control:
REPETIR SEMPRE:
humitat = llegir_sensor()
SI humitat < 30 % ALESHORES:
activar_electrovàlvula()
esperar(10 segons)
desactivar_electrovàlvula()
FI REPETIR
En executar-lo en un simulador que modela l'absorció física de l'aigua amb un retard d'infiltració de 2 minuts, l'electrovàlvula s'obre i es tanca sense parar durant desenes de cicles seguits, entollant el terreny.
- a) Justifica per què el programa genera aquest comportament en la simulació malgrat incloure una instrucció explícita de desactivació.
- b) Redissenya l'algorisme (en pseudocodi o diagrama de flux) per solucionar el problema sense suprimir la lectura del sensor ni canviar l'electrovàlvula.
Un robot mòbil utilitza un sensor d' ultrasons frontal (rang útil: 2,0 cm a 400,0 cm) i s'ha d'aturar i girar si detecta un obstacle a menys de 20,0 cm. Dissenya una…
Un robot mòbil utilitza un sensor d' ultrasons frontal (rang útil: 2,0 cm a 400,0 cm) i s'ha d'aturar i girar si detecta un obstacle a menys de 20,0 cm. Dissenya una matriu de proves per verificar el codi en el simulador abans de transferir-lo al robot real. El teu pla ha de contenir almenys 4 casos de prova diferents que incloguin valors frontera i anomalies de lectura. Per a cada cas has d'indicar: valor numèric simulat d'entrada, comportament esperat dels motors i justificació tècnica de per què és imprescindible comprovar aquest cas concret.
Un equip simula un robot seguidor de línia negra: en pantalla l'algorisme reacciona en 0,02 s, els motors responen de manera instantània i el robot completa el circuit a…
Un equip simula un robot seguidor de línia negra: en pantalla l'algorisme reacciona en 0,02 s, els motors responen de manera instantània i el robot completa el circuit a 1,2 m/s sense cap fallada. Tanmateix, en carregar el mateix programa al robot real amb els mateixos sensors, aquest oscil·la bruscament d'un costat a l'altre i acaba perdent la línia al primer revolt.
- a) Identifica i justifica tres factors del món físic que el simulador ha omès o idealitzat i que expliquen aquesta discrepància.
- b) Proposa dues modificacions tècniques (una en els paràmetres del programari de control i una altra en el muntatge físic) per compensar aquests efectes reals sense substituir els sensors.
El sensor de llum d'una persiana automàtica registra aquests valors en un tram de 6 minuts durant una tarda amb núvols i clarianes: t = 0 min: 780 lx t = 1 min: 805 lx t…
El sensor de llum d'una persiana automàtica registra aquests valors en un tram de 6 minuts durant una tarda amb núvols i clarianes:
-
t = 0 min: 780 lx
-
t = 1 min: 805 lx
-
t = 2 min: 795 lx
-
t = 3 min: 812 lx
-
t = 4 min: 798 lx
-
t = 5 min: 815 lx
-
t = 6 min: 820 lx
El sistema té programada la regla simple: «Si llum ≥ 800 lx, abaixar persiana; si llum < 800 lx, apujar persiana».
- a) Determina quantes ordres de moviment rep el motor en aquest interval i justifica quines conseqüències mecàniques i energètiques té aquest funcionament.
- b) Dissenya una solució basada en doble llindar (histèresi) definint valors numèrics concrets per a l'ordre de baixada i de pujada, i demostra pas a pas com respon la teva solució davant de la mateixa sèrie de dades.
Un hivernacle compta amb dues zones de reg independents (Zona A: planter delicat; Zona B: conreu general) gestionades per un microcontrolador que rep dades de dos…
Un hivernacle compta amb dues zones de reg independents (Zona A: planter delicat; Zona B: conreu general) gestionades per un microcontrolador que rep dades de dos sensors d'humitat del sòl, un sensor digital de pluja i un sensor de cabal a la canonada general. Dissenya un pla de verificació per simular el sistema abans de la seva posada en marxa. Has de definir 5 casos de prova exhaustius que incloguin situacions de conflicte de prioritats i fallades de subministrament. Per a cada cas detalla: entrades simulades exactes, estat previst de les electrovàlvules i de les alarmes, i quin dany material o agronòmic prevé aquesta prova.
Un equip programa un robot transportador per a un magatzem. En executar el pla de proves al simulador, el robot esquiva el 100 % dels obstacles i frena davant de…
Un equip programa un robot transportador per a un magatzem. En executar el pla de proves al simulador, el robot esquiva el 100 % dels obstacles i frena davant de qualsevol persona, però l'algorisme sempre resol les esquivades fent la maniobra marxa enrere, recorrent els passadissos en sentit contrari al flux de treball del magatzem. El professor afirma: «El programari està perfectament verificat, però el sistema no està validat».
- a) Justifica tècnicament l'afirmació del professor aplicant les definicions operatives de verificació i validació a aquest cas concret.
- b) Reformula el plec de requisits tècnics del robot per garantir que una futura verificació asseguri també la seva correcta validació en l'entorn de treball.
En un simulador com Tinkercad, un alumne connecta directament un LED vermell entre un pin de sortida digital de 5,0 V d'una placa programable i terra (GND), sense…
En un simulador com Tinkercad, un alumne connecta directament un LED vermell entre un pin de sortida digital de 5,0 V d'una placa programable i terra (GND), sense col·locar cap resistència. A la pantalla el simulador mostra el LED encès amb un corrent de 115,0 mA i no indica cap missatge d'error.
- a) Si el fabricant del LED fixa el seu corrent continu màxim en 20,0 mA i una caiguda de tensió directa de 2,0 V, i la placa té un límit de 40,0 mA per pin, prediu què passarà en els components reals si muntes aquest circuit físic i quina simplificació matemàtica irreal comet el simulador.
- b) Calcula el valor normalitzat comercial (sèrie E12) de la resistència que has d'intercalar perquè el LED funcioni en condicions segures a un corrent de 15,0 mA.
Un robot rastrejador s'atura de manera erràtica després de funcionar correctament durant uns cinc minuts. Per diagnosticar la fallada, s'activa el registre per port…
Un robot rastrejador s'atura de manera erràtica després de funcionar correctament durant uns cinc minuts. Per diagnosticar la fallada, s'activa el registre per port sèrie (log) i s'extreuen aquestes línies clau abans de la parada:
-
t = 295,0 s | Distància: 35,0 cm | Temp_controlador: 50,0 °C | V_bateria: 7,4 V | Estat: AVANÇAR
-
t = 298,5 s | Distància: 34,0 cm | Temp_controlador: 78,0 °C | V_bateria: 7,2 V | Estat: AVANÇAR
-
t = 300,0 s | Distància: 35,0 cm | Temp_controlador: 92,0 °C | V_bateria: 6,1 V | Estat: PARADA_EMERGÈNCIA
- a) Interpreta les dades del registre per determinar la causa física de la fallada, rebatent l'informe inicial de l'equip que afirmava que la fallada es devia a un defecte del sensor d'ultrasons.
- b) Dissenya quines variables addicionals o condicions d'alerta primerenca hauries d'incloure en el registre i en el codi de control per gestionar aquest problema de manera progressiva sense arribar a la desconnexió abrupta.