Programació de plaques controladores
Una placa controladora executa exactament les instruccions del seu programa, siguin correctes o no: no interpreta intencions. Formalitzar el pensament algorítmic abans de programar —amb pseudocodi, diagrames de flux o màquines d'estats— és el que separa un programa que funciona per casualitat d'un dissenyat per funcionar sempre.
Algorisme i programa
Explica què és un algorisme i què és un programa, i quina diferència hi ha entre descriure'l en pseudocodi (amb paraules) i amb blocs gràfics.
Explica què és un algorisme i què és un programa, i quina diferència hi ha entre descriure'l en pseudocodi (amb paraules) i amb blocs gràfics.
Les instruccions del programa d'un semàfor estan desordenades: (a) esperar 2 segons, (b) encendre la llum vermella i apagar les altres, (c) encendre la llum verda i…
Les instruccions del programa d'un semàfor estan desordenades: (a) esperar 2 segons, (b) encendre la llum vermella i apagar les altres, (c) encendre la llum verda i apagar les altres, (d) tornar al principi, (e) esperar 8 segons (apareix dues vegades en el cicle), (f) encendre la llum ambre i apagar les altres. Ordena-les correctament i descriu què fa el programa complet.
Entrades i condicionals: combinar amb I, O, NO
Explica què vol dir «llegir una entrada» en un programa de control i quina diferència hi ha entre llegir un polsador (que dona 0 o 1) i llegir un sensor de llum (que…
Explica què vol dir «llegir una entrada» en un programa de control i quina diferència hi ha entre llegir un polsador (que dona 0 o 1) i llegir un sensor de llum (que dona un nombre dins d'un interval).
Explica què és una instrucció condicional («si... llavors... si no...») i escriu la condició que necessiten aquests dos avisos: una alarma que sona quan s'obre una porta…
Explica què és una instrucció condicional («si... llavors... si no...») i escriu la condició que necessiten aquests dos avisos: una alarma que sona quan s'obre una porta i un avís que pita quan la temperatura passa de $40\ ^\circ\text{C}$.
La barrera d'un pàrquing només ha de pujar quan hi ha un cotxe esperant (sensor) i a més el conductor ha agafat el tiquet (polsador); baixa quan el cotxe ha passat (un…
La barrera d'un pàrquing només ha de pujar quan hi ha un cotxe esperant (sensor) i a més el conductor ha agafat el tiquet (polsador); baixa quan el cotxe ha passat (un segon sensor). Escriu el pseudocodi complet del cicle, combinant les dues condicions alhora.
Bucles i temporització no bloquejant
Per a què serveix la instrucció «esperar» (una pausa) en un programa de control? Posa dos exemples en què, sense aquesta pausa, el sistema no faria la seva funció.
Per a què serveix la instrucció «esperar» (una pausa) en un programa de control? Posa dos exemples en què, sense aquesta pausa, el sistema no faria la seva funció.
Explica per què gairebé tots els programes de les plaques controladores porten un bucle («repetir sempre») i descriu què faria un semàfor el programa del qual no tingués…
Explica per què gairebé tots els programes de les plaques controladores porten un bucle («repetir sempre») i descriu què faria un semàfor el programa del qual no tingués bucle.
En un semàfor amb botó per a vianants, el programa només llegeix el botó una vegada a cada cicle de 30 segons. Explica què nota el vianant en prémer i raona per què les…
En un semàfor amb botó per a vianants, el programa només llegeix el botó una vegada a cada cicle de 30 segons. Explica què nota el vianant en prémer i raona per què les pauses llargues dins del programa afecten la rapidesa de resposta del sistema.
Diagrames de flux
El diagrama de flux de la figura governa la barrera d'entrada d'un aparcament, però falta la pregunta del rombe. Escriu la condició que s'hauria de comprovar aquí i…
El diagrama de flux de la figura governa la barrera d'entrada d'un aparcament, però falta la pregunta del rombe. Escriu la condició que s'hauria de comprovar aquí i descriu el comportament complet de la barrera.
Per a automatitzar el reg d'un hort escolar es disposa d'un sensor d'humitat analògic i una electrobomba. Un primer programa aplica aquesta regla: «repetir sempre: si…
Per a automatitzar el reg d'un hort escolar es disposa d'un sensor d'humitat analògic i una electrobomba. Un primer programa aplica aquesta regla: «repetir sempre: si humitat < 30,0 %, encendre bomba; si no, apagar bomba; esperar 1 segon».
- a) Si la lectura del sensor oscil·la ràpidament entre 29,8 % i 30,2 % a causa de l'absorció localitzada o a soroll elèctric, prediu quin comportament patirà l'electrobomba i quines conseqüències mecàniques i elèctriques tindrà.
- b) Explica per què substituir l'espera per «esperar 10 minuts» tampoc garanteix un reg òptim (analitza el retard en la infiltració de l'aigua i el risc de sobreregat).
- c) Dissenya una solució mitjançant control per histèresi: defineix dos llindars lògics d'humitat diferents (arrencada i parada) i redacta el pseudocodi estructurat o descriu detalladament el diagrama de flux corresponent, justificant per què evita les commutacions constants.
Seqüències d'espera davant de màquines d'estats
Escriu en pseudocodi el programa complet d'un semàfor senzill: verd durant 8 segons, ambre durant 2, vermell durant 8, i tornar a començar. Indica a cada pas quins llums…
Escriu en pseudocodi el programa complet d'un semàfor senzill: verd durant 8 segons, ambre durant 2, vermell durant 8, i tornar a començar. Indica a cada pas quins llums estan encesos i quins apagats.
Per a controlar un semàfor de vehicles que inclou un polsador de vianants de demanda, es comparen dues estructures de programació: Opció A (seqüencial lineal): bucle amb…
Per a controlar un semàfor de vehicles que inclou un polsador de vianants de demanda, es comparen dues estructures de programació:
-
Opció A (seqüencial lineal): bucle amb crides bloquejants
esperar(t)successives (verd 30 s, ambre 3 s, vermell 15 s). -
Opció B (màquina d'estats): el sistema roman en l'estat
COTXES_VERDi només transiciona d'estat si es detecta el senyal del polsador de vianants.
- a) Justifica per què l'opció A és inadequada per a atendre amb immediatesa la pulsació d'un vianant i quin defecte de resposta provocarà.
- b) Si se sol·licita afegir una nova funció («el verd de vianants ha de parpellejar 3 vegades durant 3,0 s abans de passar a vermell, però únicament si el sensor per a invidents no està actiu»), raona quins avantatges de modularitat i manteniment presenta l'opció B enfront de l'A.
- c) Dissenya el diagrama d'estats o pseudocodi general de l'opció B identificant clarament els estats, els esdeveniments d'entrada i les accions associades a cada transició.
Depuració
Un programa compta cotxes: «repetir sempre: esperar que el sensor passi de 0 a 1; sumar 1 a la variable cotxes». Explica què fa, per a què pot servir i quin problema…
Un programa compta cotxes: «repetir sempre: esperar que el sensor passi de 0 a 1; sumar 1 a la variable cotxes». Explica què fa, per a què pot servir i quin problema apareix si un cotxe s'atura just a sobre del sensor.
Un programa de ventilador diu: «si la temperatura és més gran que $26\ ^\circ\text{C}$, apagar el ventilador; si és menor que $26\ ^\circ\text{C}$, encendre'l». Descriu…
Un programa de ventilador diu: «si la temperatura és més gran que $26\ ^\circ\text{C}$, apagar el ventilador; si és menor que $26\ ^\circ\text{C}$, encendre'l». Descriu el comportament real del ventilador i escriu el programa corregit.
El sistema de control d'una barrera automàtica de peatge disposa d'un sensor de presència 1 (just abans de la barrera) i un sensor 2 (just després). Un operari proposa…
El sistema de control d'una barrera automàtica de peatge disposa d'un sensor de presència 1 (just abans de la barrera) i un sensor 2 (just després). Un operari proposa aquest codi:
repetir sempre:
si (sensor_1 == DETECTAT) llavors:
pujar_barrera()
si (sensor_1 == DESPEJAT) llavors:
baixar_barrera()
- a) Prediu quin accident passarà físicament tan bon punt la part davantera del cotxe sobrepassi el sensor 1 si la part posterior encara es troba sota la barrera. Justifica per què la proposta de l'operari «d'afegir una pausa de 5,0 s abans de baixar» no resol el problema amb trànsit lent o vehicles articulats.
- b) Dissenya en pseudocodi un algorisme segur que utilitzi tots dos sensors per a garantir que la barrera puja en arribar el vehicle, es manté a dalt mentre qualsevol dels dos sensors detecti presència, i només baixa quan el vehicle ha alliberat totalment el sensor 2.