Skip to content

Instantly share code, notes, and snippets.

@delucas
Created May 11, 2012 02:30
Show Gist options
  • Save delucas/2657134 to your computer and use it in GitHub Desktop.
Save delucas/2657134 to your computer and use it in GitHub Desktop.
UNTreF - Lenguaje de Programación 1 - 2012 - Consigna del trabajo práctico
package ar.edu.untref.lp1.plomeria.grupoN;
import ar.edu.untref.lp1.plomeria.Material;
import ar.edu.untref.lp1.plomeria.Plomero;
/**
* Ejemplo de implemetación de la interfaz Plomero.
*/
public class MarioBros implements Plomero {
@Override
public void construirCañeria(Material[][] pared) {
// Implementación
}
}
package ar.edu.untref.lp1.plomeria;
public enum Material {
LADRILLO,
CAÑO_VERTICAL,
CAÑO_HORIZONTAL,
CAÑO_ARRIBA_DERECHA,
CAÑO_ARRIBA_IZQUIERDA,
CAÑO_ABAJO_DERECHA,
CAÑO_ABAJO_IZQUIERDA
}
package ar.edu.untref.lp1.plomeria;
public interface Plomero {
/**
* pre : pared tiene:
* - un elemento Material.CAÑO_HORIZONTAL en la primer columna
* - un elemento Material.CAÑO_HORIZONTAL en la última columna
*
* pared puede tener:
* - a lo sumo un elemento Material.CAÑO_HORIZONTAL por columna,
* en columnas no contiguas.
*
* y en las posiciones restantes:
* - elementos Material.LADRILLO
*
* post: cambia pared para que tenga una cañería que conecte todos los caños preexistentes,
* solo modificando aquellas posiciones en las que preexista un elemento Material.LADRILLO.
*
* @param pared : arreglo regular, donde la primera dimesión corresponde
* con el ancho y la segunda con alto.
*
*/
public void construirCañeria(Material[][] pared);
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment