Ejercicios 2

Ejercicio 2.1

Considere el control de nivel de un tanque de agua de un edificio que dispone de dos sensores de nivel (alto y bajo) y una electroválvula que permite la entrada de agua (en este caso no se usa una bomba, es suficiente con la presión de OSE). Se dispone de dos botones para encender y apagar el control. Se indicará si el control está activo mediante una luz.
  1. Diseñe el control utilizando un máquina de estados.
  2. Implemente la maquina de estados:
    1. las entradas para las transiciones de estado (nivel alto, nivel bajo, botones) se leen de un byte, en el cual cada bit corresponde a una señal.
    2. las salidas se accionan a través de un byte de salida (iden anterior).
    3. se recomienda utilizar enumeraciones para especificar los posilbes estados, y un switch-case para las transiciones de estados.
  3. Para probar el control simule la interacción con el hardware y el mundo físico, tal cual se viera en la clase de "Desarrollo de software embebido".

Ejercicio 2.2

Escribir un pequeño programa que defina un arreglo y asigne valores a los elementos del mismo. Por ejemplo, definir un arreglo de enteros y asignar a cada valor el índice del mismo, utilzando un for. Cambiar el bucle for para modificar valores más allá de los límites del arreglo.
  1. ¿Al compilar se indica un error del tipo "Arreglo fuera de rango"?
  2. Pensar en la ubicación en memoria del arreglo y en función de ello trate de mostrar que sucede al escribir fuera del arreglo.


Última modificación: lunes, 16 de marzo de 2009, 12:37