viernes, 21 de enero de 2011

Clase 18 de diciembre

Hola, bueno pues este dia resolvimos un problema y medio a continuacion pongo la solucion de ellos

Problema C-1

Descripcion
Escribe un programa que, con los beepers que Karel tenga disponibles en su bolsa, construya una escalera del número apropiado de escalones.
Consideraciones
  • Karel inicia mirando al Norte, en la esquina inferior izquierda de su mundo.
  • Karel siempre tendrá un número triangular de beepers en su bolsa al iniciar el programa.
  • No hay obstáculos en tu camino
  • No importa en que posición y orientación tenga Karel al finalizar.

Ejemplo de prueba con 6 beepers

Solucion

  
Codigo
iniciar-programa
define-nueva-instruccion comienza como inicio
    si algun-zumbador-en-la-mochila entonces inicio
        deja-zumbador;
    fin;
fin;
define-nueva-instruccion subir como inicio
    mientras junto-a-zumbador hacer inicio
       avanza;
    fin;
fin;
define-nueva-instruccion cambia-fila como inicio
    gira-izquierda;
    gira-izquierda;
    gira-izquierda;
    avanza;
    gira-izquierda;
    gira-izquierda;
    gira-izquierda;
fin;
define-nueva-instruccion baja como inicio
    mientras frente-libre hacer inicio
        deja-zumbador;
        avanza;
    fin;
    deja-zumbador;
    gira-izquierda;
    gira-izquierda;
fin;
    inicia-ejecucion
        comienza;
        mientras algun-zumbador-en-la-mochila hacer inicio
            subir;
            cambia-fila;
            baja;
        fin;
        apagate;
    termina-ejecucion
finalizar-programa

El problema 2 es el siguiente:

Igualando las columnas

Descripción del problema:
Incialmente Karel se encuentra orientado al ESTE en la posición (1,6) de su mundo. Comenzando por la primera columna donde esta Karel y hacia la derecha hay 10 columnas de zumbadores de diferentes alturas. Cada columna es una secuencia ininterrumpida de posiciones con 1 zumbador (ver figura de ejemplo). Las columnas tienen alturas diferentes que pueden ir desde 1 hasta 20.
A la derecha de las 15 columnas hay una pared vertical que se eleva hasta la posición 30.
Debes escribir un programa que haga que Karel iguale la altura de todas las columnas pasando zumbadores de una columna a otra.
Importante: No debe de haber mas de un zumbador por posición.
NOTA: En los casos de prueba que se utilizarán para calificar tu programa, el número de zumbadores será tal, que siempre se podrá igualar la altura de todas las columnas.

 Solución del mundo de ejemplo:
 La solucion de este problema se dara hasta que este completa en la clase.