Está en la página 1de 5

RESUMEN R-INFO

1 ESTRUCTURA DE LA PROGRAMACIÓN

Debemos declarar una única ciudad que tenga


programa Ejemplo1 100 avenidas y 100 calles
areas
ciudad: AreaC(1,1,100,100)
robots Vamos a utilizar un único robot
robot robot1
comenzar Única variable del tipo robot
….
fin
variables Nuestro robot Rinfo solo puede moverse
Rinfo: robot1 dentro del área que comprende la ciudad
comenzar
AsignarArea(Rinfo,ciudad) Se indica la esquina inicial desde donde el
Iniciar(Rinfo,1,1)
robot comienza su ejecución. (En nuestro caso,
fin
será siempre (1,1) )

2 ESTRUCTURAS DE CONTROL

2.1 SELECCIÓN
si (condición)
acción o bloque de acciones a realizar en caso de que la condición sea verdadera
sino
acción o bloque de acciones a realizar en caso de que la condición sea falsa

2.2 REPETICION

repetir N
acción o bloque de acciones a realizar

2.3 ITERACION

while (condición)
acción o bloque de acciones a realizar mientras la condición sea verdadera
3 FUNCIONES DEL ROBOT
Sintaxis Semántica Tipo de Intruccion
Posiciona al robot en la esquina indicada
Iniciar(robot,posición) Instrucción primitiva
orientado hacia el norte.
Cambia la orientación del robot en 90° en
derecha sentido horario respecto de la orientación Instrucción Primitiva
actual.
Conduce al robot de la esquina en la que se
mover encuentra a la siguiente, respetando la Instrucción Primitiva
dirección en la que esta orientado.
Le permite al robot recoger una flor de la
esquina en la que se encuentra y ponerla en
tomarFlor su bolsa. Instrucción Primitiva
(Producirá error si no existe al menos una flor
en la esquina).
Le permite al robot recoger un papel de la
esquina en la que se encuentra y ponerlo en
tomarPapel su bolsa. Instrucción Primitiva
(Producirá error si no existe al menos un
papel en la esquina).
Le permite al robot depositar una flor de su
bolsa en la esquina en la que se encuentra.
depositarFlor Instrucción Primitiva
(Producirá error si no existe al menos una flor
en su bolsa).
Le permite al robot depositar un papel de su
bolsa en la esquina en la que se encuentra.
depositarPapel Instrucción Primitiva
(Producirá error si no existe al menos un
papel en su bolsa).
Representa el número de avenida en la que el
PosAv Identificador
robot está actualmente posicionado.
Representa el número de calle en la que el
PosCa Identificador
robot está actualmente posicionado.
Devuelve V si hay al menos una flor en la
HayFloresEnLaEsquina esquina en la que el robot está posicionado, Proposición Atómica
caso contrario, devuelve F.
Devuelve V si hay al menos un papel en la
HayPapelEnLaEsquina esquina en la que el robot está posicionado, Proposición Atómica
caso contrario, devuelve F.
Devuelve V si hay al menos una flor en la
HayFlorEnLaBolsa Proposición Atómica
bolsa, caso contrario, devuelve F.
Devuelve V si hay al menos un papel en la
HayPapelEnLaBolsa Proposición Atómica
bolsa, caso contrario, devuelve F.
Posiciona al robot en la esquina determinada
Pos(Avenida,Calle) por el par (Avenida,Calle) sin modificar la Instrucción
orientación del robot.
Instrucción que permite visualizar en pantalla
Informar contenido almacenado en alguna variable o Instrucción
valores literales.
4 PROPOSICIONES ATÓMICAS Y MOLECULARES

4.1 DEFINICIONES

Una proposición es considerada atómica si no puede ser descompuesta en otras


proposiciones

Cuando en una expresión se unen varias Conectivo Ambiente Rinfo


proposiciones atómicas, se forma una proposición Y &
Molecular o Compuesta. Dicha unión se realiza O |
mediante conectivos lógicos. No ~

5 VARIABLES

Donde los tipos de datos son:


Programa Ejemplo2
areas Ambiente Rinfo Tipo y Valores
ciudad: AreaC(1,1,100,100)
numero Valores Enteros
robots
boolean Verdadero o Falso
robot robot1
variables
nombreVariable: tipoVariable Y los operadores de Comparacion y Asignacion:
comenzar
…. Ambiente Rinfo Operador
fin = Igualdad
variables < Menor
Rinfo: robot1 > Mayor
comenzar <= Menor o Igual
AsignarArea(Rinfo,ciudad) >= Mayor o igual
Iniciar(Rinfo,1,1) <> Distinto
fin := Asignacion
6 PROGRAMACIÓN ESTRUCTURADA
Los procesos pueden tener variables, estas deben
Los Procesos (también llamados “funciones”) declararse como vimos antes, estas variables que
deben colocarse antes de la sección areas. se declaran en un proceso, no se pueden acceder o
modificar desde otro proceso.

programa Ejemplo3 programa Ejemplo4


procesos procesos
proceso juntarFlores proceso juntarFlores
comenzar variables
mientras (HayFlorEnLaEsquina) cantFlores: numero
tomarFlor comenzar
fin cantFlores := 0
areas mientras (HayFlorEnLaEsquina)
ciudad: AreaC(1,1,100,100) tomarFlor
robots cantFlores := cantFlores + 1
robot robot1 Informar(cantFlores)
comenzar fin
Pos(1,1) areas
repetir 10 ciudad: AreaC(1,1,100,100)
juntarFlores robots
fin robot robot1
variables comenzar
Rinfo: robot1 Pos(1,1)
comenzar repetir 10
AsignarArea(Rinfo,ciudad) juntarFlores
Iniciar(Rinfo,1,1) fin
fin variables
Rinfo: robot1
comenzar
AsignarArea(Rinfo,ciudad)
Iniciar(Rinfo,1,1)
fin

6.1 PARAMETROS DE ENTRADA


programa Ejemplo5
procesos
proceso mostrar( E valor: numero)
comenzar
valor := 50
Informar(1,valor)
fin
areas
ciudad: AreaC(1,1,100,100)
robots
robot robot1
variables
original: numero
comenzar
original := 15 Los procesos pueden recibir parámetros, para
mostrar( 15 ) que este parámetro no modifique el valor que
Informar(2,original) se le paso originalmente, debe agregarse la
fin letra E antes de la variable como parametro.
variables
Rinfo: robot1 En el ejemplo, primero Informa el valor que
comenzar intenta modificar dentro del proceso y luego el
AsignarArea(Rinfo,ciudad) valor originalmente enviado.
Iniciar(Rinfo,1,1)
fin
6.2 PARAMETROS DE ENTRADA/SALIDA

programa Ejemplo6
procesos
proceso mostrar( ES valor: numero)
comenzar
valor := 50
Informar(1,valor)
fin
areas
ciudad: AreaC(1,1,100,100)
robots
robot robot1
variables
Los procesos también pueden modificar las
original: numero
comenzar variables que se le envían, para lograr esto, se
original := 15 debe anteponer las letras ES antes del
mostrar( 15 ) parámetro.
Informar(2,original)
En el ejemplo, primero Informa el valor que
fin
intenta modificar dentro del proceso y luego el
variables
Rinfo: robot1 valor originalmente enviado. Como se ve, el
comenzar valor de la variable “original” se modifico
AsignarArea(Rinfo,ciudad) mediante el proceso.
Iniciar(Rinfo,1,1)
Nota: Solo se pueden pasar variables, no se
fin
puede enviar valores como números o datos
booleanos si no son variables.

También podría gustarte