Introdución á Programación – O robot e o labirinto – Sobre 1



Introdución á Programación – O robot e o labirinto – Sobre 1

0 0


prog-tpeso


On Github chavaone / prog-tpeso

Introdución á Programación

O robot e o labirinto

Conectase ao principio do nivel e debemos programalo para que chegue ao final

Dúas formas, puzzle (diagrama de fluxo), linguaxe robot (código)

Sobre 1

  • Avanzar
  • Deterse
  • Activar
  • Xirar
  • Flechitas

Avanzar, Deterse e Activar

Son operacións que causan un efecto no robot.

  • Avanzar -> o robot avanza unha casilla.
  • Deterse -> o robot espera.
  • Activar -> o robot activa un elemento do labirinto.

Xirar

Tamén é unha operación. O robot xirará 90º nun sentido.

Este sentido indicaselle proporcionandolle a operación un parámetro. Este paramentro é un valor. Os valores que acepta a operación xirar son "Esquerda" e "Dereita".

Como se escribe en linguaxe robot?

avanzar()
xirar("dereita")

Flechiñas

As flechas permiten secuencializar as operacións e que unhas se executen despois doutras.

E como se escribe en linguaxe robot?

avanzar()
xirar("esquerda")
avanzar()

Problema 1

Problema 1: Solución

Problema 1: Código

avanzar()
avanzar()
xirar("dereita")
avanzar()
xirar("esquerda")
avanzar()

Sobre 2

  • Sentencias Condicionales.
  • mirar
  • =
  • valores
    • "parede"
    • "camiño"
    • "trampa activada"
    • "trampa desactivada"
    • certo
    • falso

certo e falso

Son valores que indican que algo é certo ou falso

Mirar

Mirar é unha operación que non ten ningún efecto externo pero que devolve un valor que indica o que hai na seguinte posición.

Algún dos valores que pode devolver mirar son:

  • "parede"
  • "camiño"
  • "trampa activada"
  • "trampa desactivada"

Sentencias condicionales

Permiten executar unha serie de operacións se unha condición que se lle proporciona é certa.

Código

if True:
    avanzar()
avanzar()

E as condicións?

As condicións poden ser os valores certo e falso ou comparacións empregando = ou ≠.

Exemplo: esquerda ou dereita

Exemplo: esquerda ou dereita(solución)

Exemplo: esquerda ou dereita (código)

avanzar()
xirar("dereita")
if mirar() == "parede":
    xirar("esquerda")
    xirar("esquerda")
avanzar()

Problema 2

Problema 2: solución

Problema 3: código

avanzar()
if mirar == "trampa activada":
    activar()
avanzar()
avanzar()
xirar("dereita")
avanzar()

Sobre 3

  • Sentencias repetitivas

Sentencias repetitivas

Executan unha serie de instrucións un determinado número de veces mentras se cumpra unha condición.

Comproban a condición. Se non se cumpre pasa a executar as seguintes instrucións (rama non). Se se cumpre executa as instrucións da rama SI. Logo, volve ao paso 1.

Exemplo

Exemplo: código

while True:
   avanzar()

Exemplo 2

Exemplo 2: recorre os camiños...

Problema 3

Hai unha trampa no medio do mapa pero non hai botón. Teremos que esperar a que se desactive sola.

Problema 3: Solución

Problema 3: Código

avanzar()
avanzar()
while mirar() == "trampa activada":
    deterse()
avanzar()
avanzar()

Problema xenérico...

Código

while True:
    if mirar() == camiño:
        avanzar()
    if mirar() == parede:
        xirar("dereita")
        if mirar() == parede:
	    xirar("esquerda")
	    xirar("esquerda")
    if mirar() == "trampa activada":
        activar()
    if mirar() == "trampa desactivada":
        avanzar()
Introdución á Programación