Está en la página 1de 20

robomind

Ing Carlos para modificar el estilo de subttulo Haga clic Polanco

del patrn

4/27/12

Loops

repetir(n){...instructions...} repite las instrucciones entre llaves exactamente n veces.Example: # a square of 2x2 repetir(4) { adelante(2) derecha()
4/27/12

Loops

repetir(n){...instructions...} repite las instrucciones entre llaves exactamente n veces.Example: # a square of 2x2 repetir(4) { adelante(2) derecha()
4/27/12

Loops

repetirMientras(condition) {...instructions...} repite las instrucciones entre las {llaves} siempre y cuando la condicin se cumpla. La condicin debe ser siempre una instruccin bsica de percepcin (consulta la seccin sobre instrucciones bsicas) (por ejemplofrenteEsClaro()) . # keeps going adelante, # but stops when it can't go any further 4/27/12

Loops

4/27/12

Loops

Interrupcin Te permite interrumpir un bucle (por ejemplo: repetir()seccin) y as dejar de realizar las instrucciones entre las llaves. El robot reanudar la realizacin de las instrucciones que queden despus del la llave de cierre del bucle. Ejemplo: repetir()
4/27/12

Loops

4/27/12

If-structures

si(condicin){...instrucciones...} El robot realizar las instrucciones entre {llaves} si la condicin se da. Si la condicin no se da, el robot seguir realizando las instrucciones que se encuentren inmediatamente despus de la llave de cierre del bucle. La condicin debe ser una instruccin de percepcin (consulta la seccin sobre instrucciones bsicas). (por ejemplofrenteEsClaro()) Ejemplo:
4/27/12

If-structures

4/27/12

If-structures
si(condicin){...instrucciones...}sino{...instrucciones...} El robot realizar las instrucciones entre el primer par de {llaves} si la condicin existe. Las instrucciones entre las segundas {llaves} o bloquesino(segunda instruccin) no se realizarn. Cuando la condicin no existe, el robot realizar entonces las instrucciones del bloquesino(segunda instruccin). Una vez que haya realizado una de las dos instrucciones, continuar realizando las instrucciones que se encuentren despus de la ltima llave. La condicin debe ser una de las instrucciones bsicas depercepcin(consulta la seccin de instrucciones bsicas) (por ejemplofrenteEsClaro()) Ejemplo: # si you see white paint on your izquierda, make it black # otro drive a few steps adelante si(izquierdaEsBlanco()) { izquierda() adelante(1) pintarNegro()

4/27/12

If-structures

4/27/12

Logical

expresiones lgicas a las Llamamos condicionessiyrepetir si. Estas expresiones resultarn en un valor verdadero ofalso, que determinarn la reanudacin de la ejecucin en la parte apropiada del script. Una expresin lgica puede ser una instruccin de percepcin(consulta la seccin de instrucciones bsicas), por ejemplo: (izquierdaEsBlanco())). Instrucciones bsicas tambin pueden estar compuestas de 4/27/12 conectivas lgicas (lgebra de Boole) no, y, o

Logical

valoresverdaderoyfalsotambin Los pueden ser aplicados directamente como si fuesen una instruccin de percepcin. El orden en que las operaciones es importante ( tal como lo es cuando se multiplica y suma). La operacin no (~)es la ms fuerte, seguida de y (&), y por ltimo o (|). Se pueden usar parntesis para influenciar el orden de la evaluacin.
4/27/12

Logical

repetirMientras(no frenteEsClaro() y (izquierdaEsBlanco() o derechaEsBlanco())) { adelante(1) } si(lanzarMoneda() y no derechaEsBlanco()) { derecha()


4/27/12

Logical

4/27/12

Procedures
nombre(arg1, arg2, . . . , argN) es la "llamada" de procedimiento que debes escribir y usar cada vez que quieras ejecutar el nuevo procedimiento creado, con el nombre correspondiente y tantos parmetros como argumentos haya en el procedimiento. El argumento, aqui llamado arg1, arg2, ..., argN, son los valores particulares que se usaran en la definicin del procedimiento.

4/27/12

Procedures
# las instrucciones siguientes se ejecutarn: adelante(1) rectngulo(3,2) # una llamada al procedimiento 'rectngulo' adelante(3)

rectngulo(1,4) # otra llamada con otros argumentos # esta es la definicin de 'rectngulo' procedimiento rectngulo (anchura, altura) { pintarBlanco() repetir(2) { adelante(anchura) derecha() adelante(altura)

4/27/12

Procedures

4/27/12

End
fin har que todo el programa se detenga cuando esta instruccin se lleva a cabo. Example: # stop after 5 steps, o earlier when you encouter a beacon on the derecha repetir(5) { adelante(1) si(derechaEsBaliza()) { 4/27/12 fin # stops execution of the program

End

4/27/12

También podría gustarte