lunes, 22 de noviembre de 2010

Clase sabado 20 de noviembre

Hola
En la clase de este día hicimos dos programas, los cuales se muestran a continuación

Cima
 
Este problema trata de hacer que Karel suba una fila de zumbadores de cualquier tamaño de cualquier tamaño, los zumbadores solo están puestos de 1 en 1. Este es un mundo de ejemplo :
Y el código de la solución de este problema es muy sencilla
 
iniciar-programa
    inicia-ejecucion
        mientras junto-a-zumbador hacer inicio
           coge-zumbador;
           avanza;
        fin;
        apagate;
    termina-ejecucion
finalizar-programa
 
Tapizar
Este problema se trata de tapizar un rectángulo de cualquier tamaño con zumbadores, de 1 en 1 por todo el rectangulo donde karel esta orientado hacia cualquier lugar.
Un mundo de ejemplo para este problema es el siguiente
Y una posible solución para este problema es
 
iniciar-programa
    define-nueva-instruccion ubicar como inicio
       mientras no-orientado-al-oeste hacer inicio
           gira-izquierda;
       fin;
       mientras frente-libre hacer inicio
           avanza;
       fin;
       gira-izquierda;
       gira-izquierda;
       gira-izquierda;
    fin;
    define-nueva-instruccion llena-linea como inicio
        repetir 3 veces inicio
            gira-izquierda;
        fin;                                        
        mientras frente-libre hacer inicio
            deja-zumbador;
            avanza;
        fin;
        deja-zumbador;
        gira-izquierda;
        gira-izquierda;
        mientras frente-libre hacer inicio
            avanza;
        fin;
        repetir 3 veces inicio
            gira-izquierda;
        fin;
    fin;
    inicia-ejecucion
        ubicar;
        llena-linea;
        mientras frente-libre hacer inicio
            avanza;
            llena-linea;
        fin;
        apagate;
    termina-ejecucion
finalizar-programa
 

No hay comentarios:

Publicar un comentario