Documentos de Académico
Documentos de Profesional
Documentos de Cultura
=
=
e
h
h
a p
1
7
Algoritmos Jos ngel Acosta Rodrguez
Problema 6.
i
Se ha desarrollado un algoritmo para incluirlo en un cierto programa de dibujo.
El algoritmo resuelve el problema de relleno de una figura cerrada en dos
dimensiones. La figura viene descrita por un mapa de bits en blanco y negro
(ver recuadro abajo). Dicha figura se describe con una matriz A de dimensiones
m x n, cuyos elementos a
ij
pueden valer 0 (color blanco) 1 (color negro).
El algoritmo completo se muestra en el recuadro del margen derecho, el cual
contiene un mdulo interno, PUNTO INTERIOR, que determina si un elemento
a
ij
est en el interior de la figura o no. Dicho mdulo se subdivide en otros
cuatro, denominados ARRIBA, ABAJO, IZQUIERDA y DERECHA. Cada uno
de estos mdulos recorre la figura desde un elemento a
ij
cualquiera hacia
donde indica su nombre y hasta que encuentra un borde de la figura (ver
recuadro explicativo abajo), si es que dicho borde existe. Cada mdulo
ARRIBA, ABAJO, IZQUIERDA y DERECHA, modifica el valor de cierta
variable F. As el primer mdulo, ARRIBA, si encuentra un borde incrementa el
valor de la variable F. Despus el segundo mdulo, ABAJO, hara lo mismo, y
as sucesivamente. Si cualquiera de los mdulos no detecta borde alguno, no
incrementa dicha variable. De este modo, si al pasar por los cuatro mdulos el
punto considerado est en el interior de la figura (es decir dentro de los
bordes), F deber valer 4.
NOTA: Para la confeccin del diagrama de flujo utilice nicamente las
operaciones +,-, , /, asignacin (), comparaciones <, >, , , =, lgicas y,
o, acceso a memoria con subndices y expresiones literales en lenguaje
natural. El diagrama de flujo ha de estar estructurado, ser claro y legible y
ocupar slo el espacio interior del recuadro.
Figura original
0 0 0 0 0 1 0 0
0 1 1 0 1 0 1 0
0 1 1 0 1 0 1 0
0 1 1 0 1 0 0 1
0 1 0 1 1 0 0 1
0 1 0 0 0 0 0 1
0 0 1 0 0 1 1 0
0 0 0 1 1 1 0 0
0 0 0 0 0 0 0 0
Figura rellenada
0 0 0 0 0 1 0 0
0 1 1 0 1 1 1 0
0 1 1 0 1 1 1 0
0 1 1 0 1 1 1 1
0 1 1 1 1 1 1 1
0 1 1 1 1 1 1 1
0 0 1 1 1 1 1 0
0 0 0 1 1 1 0 0
0 0 0 0 0 0 0 0
a
ij
j
SI
SI
FIN
F = 4
a
ij
1
PUNTO
INTERIOR
j>n
NO
NO
INICIO
i>m
jj+1
NO
ii+1
j1
i1
SI
INICIO PUNTO INTERIOR
FIN PUNTO INTERIOR
F 0
ARRIBA
ABAJO
IZQUIERDA
DERECHA
ARRIBA
ABAJO
IZQUIERDA DERECHA
a) Realizar los diagramas de flujo de
los mdulos ARRIBA y
DERECHA. Ntese que son
mdulos y no subprogramas. Se
aconseja utilizar bucles con salida
en cabeza o en medio.
b) El diagrama del mdulo PUNTO
INTERIOR, puede optimizarse, ya
que si cualquiera de sus mdulos
detecta que no existe un borde, el
elemento a
ij
no ser un punto
interior. Optimcelo usando los
mdulos ARRIBA, ABAJO,
IZQUIERDA y DERECHA.
8
Algoritmos Jos ngel Acosta Rodrguez
a)
b)
NOMBRE VALOR
DESCRIPCIN DEL
OBJETO
m
Constante
entera
Nmero de filas
n
Constante
entera
Nmero de columnas
A
Matriz m x n
entera
Describe la figura a
rellenar
a
ij
Enteros
Elementos 0 o 1 de la
matriz A
i Entera ndice de filas
j Entera ndice de columnas
F Entera
Variable que describe si
un punto es interior
INICIO ARRIBA
FIN ARRIBA
INICIO DERECHA
FIN DERECHA
FIN PUNTO INTERIOR OPTIMIZADO
INICIO PUNTO INTERIOR OPTIMIZADO
9
Algoritmos Jos ngel Acosta Rodrguez
Problema 7.
El cdigo de cuenta corriente de una cuenta bancaria est compuesto por el cdigo de entidad (4 dgitos),
el cdigo de sucursal (4 dgitos), el cdigo de control (2 dgitos) y en nmero de cuenta (10 dgitos), como
se muestra en la figura adjunta:
Para el clculo de los 2 dgitos del cdigo de control se utiliza el siguiente algoritmo, el cual calcula un
dgito de control dado un nmero cualquiera de 10 dgitos:
1. Calcular el nmero N dado por la frmula siguiente:
=
=
11 11
10
1 i
i i
p d mod N
donde d
i
el es el dgito i-simo del nmero del que se desea calcular su dgito de control, p
i
es la
componente i-sima de un vector dado p de 10 componentes, y mod es la operacin de resto de
divisin entera (vase nota abajo).
2. Segn el valor de N, el dgito de control valdr:
a. Si N = 11, entonces el dgito de control es 0.
b. Si N = 10, entonces el dgito de control es 1.
c. En cualquier otro caso el dgito de control es el propio nmero N.
Para obtener el primer dgito de control se utilizan los cdigos de entidad y de sucursal del cdigo de
cuenta corriente aadindoles dos cero por la izquierda, y despus se le aplica el algoritmo dado. Para el
segundo dgito de control se le aplica el algoritmo a los 10 ltimos dgitos correspondientes al nmero de
cuenta.
Se pide:
a) Realizar el diagrama de flujo del algoritmo dado para un nmero cualquiera cuyos dgitos estn
almacenados como un vector U de 10 componentes. Dicho algoritmo debe almacenar en una
variable denominada DC el valor del dgito de control obtenido.
b) Usar el diagrama de flujo del apartado anterior como un mdulo y realizar el diagrama de flujo para
comprobar que los dgitos de control de un cdigo de cuenta corriente dado, son correctos. El
cdigo de cuenta corriente est almacenado en un vector V. Es obligatorio usar el mdulo creado
en el apartado anterior tantas veces como sea necesario.
NOTA: Para la confeccin del diagrama de flujo utilice nicamente las operaciones +,-, , /, asignacin (),
comparaciones <, >, , , =, lgicas y, o, acceso a memoria con subndices y expresiones literales en
lenguaje natural. Adems dispone de la operacin resto de divisin y represntela como mod(X/Y), es
decir resto de dividir la cantidad X entre la cantidad Y. El diagrama de flujo ha de estar estructurado,
ser claro y legible y ocupar slo el espacio interior del recuadro correspondiente.
Cdigo
entidad
Cdigo
sucursal
Nmero de
cuenta
Cdigo
control
10
Algoritmos Jos ngel Acosta Rodrguez
a) b)
NOMBRE VALOR
DESCRIPCIN DEL
OBJETO
N
Constante
entera
Nmero resultado del
algoritmo
DC
Constante
entera
Valor del dgito de
control obtenido
U
Vector de
dimensin 10
Contiene el nmero dato
para el algoritmo
V Vector
Contiene el cdigo de
cuenta corriente
i ndice Para vectores
FIN MDULO
INICIO
FIN
INICIO MDULO
11
Algoritmos Jos ngel Acosta Rodrguez
Problema 8.
Para hacer ciertas labores de fotoimpresin en una imprenta se hace un
negativo especial de las fotos. Este negativo se les aplica a fotos en blanco
y negro. Las fotos representan figuras cerradas descritas por un mapa de
bits en blanco y negro. Dicha figura se representa con una matriz A de
dimensiones m x n, cuyos elementos a
ij
pueden valer 0 (color blanco)
1 (color negro). Se desarrolla un algoritmo para hacer el negativo,
includo el borde. Dicho algoritmo contiene un mdulo interno denominado
PUNTO INTERIOR que determina si un elemento a
ij
est en el interior de
la figura o no. Dicho mdulo se subdivide en otros cuatro (ver figura abajo a
la derecha), denominados ARRIBA, ABAJO, IZQUIERDA y DERECHA.
Cada uno de estos mdulos recorre la figura desde un elemento a
ij
cualquiera hacia donde indica su nombre y hasta que encuentra un borde
de la figura, si es que dicho borde existe (ver figura explicativa abajo a la
izquierda). Cada mdulo ARRIBA, ABAJO, IZQUIERDA y DERECHA,
modifica el valor de la variable F. As el primer mdulo, ARRIBA, si
encuentra un borde incrementa el valor de la variable F. Despus el
segundo mdulo, ABAJO, hara lo mismo, y as sucesivamente. Si alguno
de los mdulos no detectase borde alguno, no se modificara dicha
variable. De este modo, si al pasar por los cuatro mdulos el punto
considerado est en el interior de la figura (es decir dentro de los bordes), F
deber valer 4.
NOTA: Para hacer los diagramas de flujo utilice nicamente las
operaciones +,-, , /, asignacin (), comparaciones <, >, , , =, lgicas
y, o, acceso a memoria con subndices y expresiones literales en
lenguaje natural. El diagrama de flujo ha de estar estructurado, ser claro y
legible y ocupar slo el espacio interior del recuadro.
Figura original
0 0 0 0 0 1 0 0
0 0 0 0 1 0 1 0
0 0 0 0 1 0 1 0
0 0 1 0 1 0 0 1
0 1 0 1 1 0 0 1
0 1 0 0 0 0 0 1
0 0 1 0 0 1 1 0
0 0 0 1 1 1 0 0
0 0 0 0 0 0 0 0
Figura en negativo
1 1 1 1 1 0 1 1
1 1 1 1 0 0 0 1
1 1 1 1 0 0 0 1
1 1 0 1 0 0 0 0
1 0 0 0 0 0 0 0
1 0 0 0 0 0 0 0
1 1 0 0 0 0 0 1
1 1 1 0 0 0 1 1
1 1 1 1 1 1 1 1
Se pide:
c) Realizar el diagrama de flujo del mdulo ABAJO
dentro del mdulo PUNTO INTERIOR. Ntese que
son mdulos y no subprogramas. Suponga i, j
ya conocidas para este apartado.
d) Realizar el diagrama de flujo que resuelve el
problema al completo usando, obligatoriamente el
mdulo PUNTO INTERIOR. Es decir, se desea que
dada una figura original (matriz A m x n, ya leida y
en memoria), el algoritmo realice el negativo y lo
escriba en la matriz B. Ntese que tambin se
hace el negativo del borde de la figura.
a
ij
j
ARRIBA
ABAJO
IZQUIERDA
DERECHA
i
INICIO PUNTO INTERIOR
F 0
ARRIBA
ABAJO
IZQUIERDA
DERECHA
F=2
FIN PUNTO INTERIOR
F=3
F=1
NO
NO
NO
SI
SI
SI
12
Algoritmos Jos ngel Acosta Rodrguez
INICIO ABAJO (apartado a)
FIN ABAJO (apartado a)
NOMBRE VALOR
DESCRIPCIN DEL
OBJETO
m
Constante
entera
Nmero de filas
n
Constante
entera
Nmero de columnas
A
Matriz m x n
entera
Figura original
a
ij
Enteros
Elementos 0 o 1 de la
matriz A
i Entera ndice de filas
j Entera ndice de columnas
F Entera
Variable que describe si
un punto es interior
B
Matriz m x n
entera
Negativo de la figura
original
INICIO apartado b
FIN apartado b
13
Algoritmos Jos ngel Acosta Rodrguez
Problema 9.
La asignacin de diputados en una provincia se rige por la ley DHont. En una versin muy simplificada la
ley se aplica como se describe a continuacin. Suponga que se tiene una provincia a la que se le asignan
5 diputados y donde hay 4 formaciones polticas relevantes (F
1
, F
2
, F
3
y F
4
). Despus de la cita electoral se
tendr un vector de votos (V) donde cada elemento del vector hace referencia a los votos de una
determinada fuerza poltica. Dicho vector (V), adems, estar ordenado en nmero de votos de forma
decreciente. Con este vector de votos se crea una matriz A como la que aparece en la figura y donde cada
columna se corresponde con el vector V dividido por 1,2,3, y as sucesivamente hasta el total de los 5
diputados asignados.
Ahora slo falta escoger las 5 cifras ms altas de la matriz A y
asignar a cada una un diputado (celdas sombreadas en la figura).
En este caso, el resultado ser el que aparece en la tabla al
margen derecho. Dicho resultado puede almacenarse en un vector
de diputados ordenado (D).
Dado un vector de votos V, ya ordenado en forma decreciente,
de una provincia a la que se le asignan N diputados y en la cual
existen M fuerzas polticas relevantes, se pide:
c) Realizar un diagrama de flujo tal que dado el
vector de votos V, ya ordenado, cree la matriz A
de dimensiones M x N.
d) Realizar un diagrama de flujo que cree un vector
de diputados D, donde cada elemento ser el
nmero de diputados asignado a la fuerza
poltica correspondiente. Este apartado debe
resolverse en dos partes. Primero crear un
mdulo que calcule el mximo de la matriz A y
su posicin. Despus resolver el apartado
usando dicho mdulo el nmero de veces que
sea necesario.
NOTA: Los vectores y matrices conocidos, ya estn
almacenados en memoria y el resto inicializados a
cero. Para la elaboracin del diagrama de flujo utilice
nicamente las operaciones +,-, , /, asignacin (),
comparaciones <, >, , , =, lgicas y, o, acceso a
memoria con subndices y expresiones literales en
lenguaje natural. El diagrama de flujo ha de estar
estructurado, ser claro y legible y ocupar slo el
espacio interior del recuadro correspondiente.
A
4x5
VOTOS
(V)
V2 V3 V4 V5
F
1
120000 60000,0 40000,0 20000,0 13333,3
F
2
82000 41000,0 27333,3 13666,7 9111,1
F
3
55000 27500,0 18333,3 9166,7 6111,1
F
4
25000 12500,0 8333,3 4166,7 2777,8
FUERZAS
POLTICAS
DIPUTADOS
(D)
F
1
2
F
2
2
F
3
1
F
4
0
NOMBRE VALOR
DESCRIPCIN DEL
OBJETO
M Constante
Nmero de fuerzas
polticas
N Constante Nmero de diputados
V
Vector de
dimensin M
Vector conocido de
votos
D
Vector de
dimensin M
Vector de diputados
A
Matriz de
dimensiones
M x N
Matriz para el cculo del
nmero de diputados
i ndice Para vectores / matrices
j ndice Para vectores / matrices
k ndice Para vectores / matrices
14
Algoritmos Jos ngel Acosta Rodrguez
a) b)
b)
FIN apartado a)
INICIO MDULO apartado b)
FIN MDULO apartado b)
INICIO apartado a)
INICIO apartado b)
FIN apartado b)
15
Algoritmos Jos ngel Acosta Rodrguez
Problema 10.
Realice en el recuadro adjunto el diagrama de flujo de un programa que lea desde teclado una lista de valores
enteros positivos y los almacene en un vector v. La lectura por teclado finaliza cuando se introduzca un valor
negativo.
A continuacin, el programa preguntar otros 2 nmeros por teclado (en cualquier orden), y recorrer el vector v,
calculando el porcentaje de elementos que estn entre el menor y el mayor de ambos nmeros (incluidos los
extremos).
Ejemplo: Lista: 24, 30, 5, 9, 85, 19 Intervalo: 20, 5 Ns en intervalo: 5, 9, 19. Resultado: 50%
NOTA: Para hacer los diagramas de flujo utilice nicamente las operaciones +,-, , /, asignacin (), comparaciones
<, >, , , =, lgicas y, o, acceso a vectores y matrices con subndices y expresiones literales en lenguaje natural.
El diagrama de flujo ha de estar estructurado, ser claro y legible y ocupar slo el espacio interior del recuadro.
NOMBRE TIPO DESCRIPCIN DEL OBJETO
16
Algoritmos Jos ngel Acosta Rodrguez
Problema 11.
Un antiguo videojuego llamado Space Invaders tena como objetivo defender la Tierra de una invasin enemiga.
La escena en la pantalla estaba formada por una matriz de puntos monocromos, blancos y negros. Los objetos
estaban formados simplemente por un mapa de bits en negro sobre fondo blanco. Describiremos aqu la escena
mediante una matriz A de dimensiones m x n, cuyos elementos a
kj
pueden valer 0 (color blanco) 1 (color
negro). Las formas de los objetos y la escena son exactamente como aparecen en la figura: las naves
invasoras, la nave del jugador y los proyectiles. Los movimientos de los objetos son: las naves invasoras pueden
moverse libremente, mientras que la nave del jugador slo puede moverse en horizontal; los proyectiles de la nave
del jugador salen desde el disparador y se mueven verticalmente hacia arriba; y los proyectiles de las naves
invasoras se mueven en vertical hacia abajo. Teniendo en cuenta que los mdulos son parte del algoritmo del
videojuego, se pide:
a) Dada una posicin a
pq
de colisin entre entre el proyectil del jugador y una nave invasora, realice el
diagrama de flujo de un mdulo que se denomine DESTRUYE, tal que destruya la nave invasora, es decir
borre por completo la nave invasora de la escena. Este mdulo no debe detectar la colisin slo
destruir la nave invasora. Para facilitar la resolucin tenga en cuenta que todas las naves enemigas estn
contenidas en submatrices de 3x3 y que estn siempre separadas horizontalmente como mnimo por un
hueco de 3x3 (ver figura).
b) Dada la posicin a
kj
de disparo del proyectil del jugador, realice el diagrama de flujo de un mdulo que
anime paso a paso el movimiento del proyectil del jugador desde que sale del disparador (ver figura) hasta
que, o bien se encuentra con una nave invasora o bien llega al final de la escena sin acierto. Si hay una
colisin con una nave invasora debe usar el mdulo DESTRUYE del apartado anterior para destruirla
proporcionndole las coordenadas correspondientes.
NOTA: Para hacer los diagramas de flujo utilice nicamente las operaciones +,-, , /, asignacin (), comparaciones
<, >, , , =, lgicas y, o, acceso a vectores y matrices con subndices y expresiones literales en lenguaje natural.
El diagrama de flujo ha de estar estructurado, ser claro y legible y ocupar slo el espacio interior del recuadro.
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 1 0 1 0 0 0 0 1 0 0 0 0 1 0 1 0 0 0 0 1 0 0 0 0 1 0 1 0 0
0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0
0 0 1 1 1 0 0 0 1 1 1 0 0 0 1 1 1 0 0 0 1 1 1 0 0 0 1 1 1 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 1 0 0 0 0 1 0 1 0 0 0 0 1 0 0 0 0 1 0 1 0 0 0 0 0
0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0
0 0 0 0 0 1 1 1 0 0 0 1 1 1 0 0 0 1 1 1 0 0 0 1 1 1 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0
Nave del jugador
Naves invasoras
Proyectil jugador
Disparador
Posicin de salida del proyectil a
kj
(a 1 antes de salir el proyectil)
Posicin a
pq
17
Algoritmos Jos ngel Acosta Rodrguez
INICIO DESTRUYE (apartado a)
FIN DESTRUYE (apartado a)
NOMBRE TIPO
DESCRIPCIN DEL
OBJETO
m
Constante
entera
Nmero de filas
n
Constante
entera
Nmero de columnas
A
Matriz m x n
entera
Escena original
a
kj
Enteros
Elementos 0 o 1 de la
matriz A
p Entera
ndice de fila de la
colisin del proyectil
q Entera
ndice de columna de la
colisin del proyectil
k Entera
ndice de la fila de salida
del proyectil
j Entera
ndice de la columna de
salida del proyectil
INICIO apartado b)
FIN apartado b)
18
Algoritmos Jos ngel Acosta Rodrguez
Problema 12.
NOMBRE TIPO
DESCRIPCIN DEL
OBJETO
M
Constante
entera
Nmero de filas
N
Constante
entera
Nmero de columnas
A
Matriz M x N
entera
Describe la piscina
a
kj
Enteros
Elementos 0 o 1 de la
matriz A
k Entera ndice de fila
j Entera ndice de columna
p Entera
ndice de la fila de salida
del robot
q Entera
ndice de la columna de
salida del robot
t Entera
Variable para el sentido
de avance del robot
F Entera
Variable que indica al
robot el fin de limpieza
NO SE PUEDEN DEFINIR NUEVAS VARIABLES
Se ha diseado un robot limpia piscinas llamado Cleaning-Robot
(ver figura). El funcionamiento del robot es el siguiente:
1. El usuario lo arroja a la piscina en cualquier zona.
2. El robot se hunde y una vez llega al fondo calcula su posicin
respecto a los bordes de la piscina. Para ello el robot digitaliza
la piscina mediante una matriz de puntos A de dimensiones M x
N, cuyos elementos a
kj
pueden valer 0 (zona an sucia) 1
(zona limpiada). La digitalizacin la hace de modo que siempre
deja un nmero par de celdas desde el mismo hacia las
paredes (ver figura).
3. Una vez ha calculado su posicin, por ejemplo a
pq
, ste puede
moverse slo paralelo a las paredes de la piscina y celda a
celda de la matriz (ver figura abajo).
Se desea hacer un algoritmo tal que, dada una posicin cualquiera
(p,q) de partida del robot, ste limpie por completo la piscina sin
pasar dos veces por el mismo sitio. Para ello se pide completar
en los recuadros A y B del diagrama de flujo dado, lo siguiente:
1. Recuadro A: aqu debe ir la actualizacin de los ndices de la
siguiente posicin del robot en la matriz. El avance del robot
debe ser celda a celda y en el sentido el indicado en la figura al
margen del Recuadro (ver diagrama de flujo).
2. Recuadro B: rellenar los bloques del diagrama de flujo,
sabiendo que existen dos mdulos predefinidos: el primero
denominado MOVER y hace que el robot se mueva celda a
celda a la posicin (contigua) indicada por los ndices (k,j); y
el segundo denominado RETROCESO que lleva al robot sin
limpiar desde la posicin (M,N) hasta la (1,1).
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Cleaning-Robot
Descripcin del
movimiento del Robot
Posicin a
pq
Nmero
par de
celdas
Nmero par de celdas
Nmero par de celdas
Nmero
par de
celdas
NOTAS: Para hacer los diagramas de flujo
utilice nicamente las operaciones +,-, , /,
asignacin (), comparaciones <, >, , ,
=, lgicas y, o, acceso a vectores y
matrices con subndices y expresiones
literales en lenguaje natural. El diagrama
de flujo ha de estar estructurado, ser claro
y legible y ocupar slo el espacio interior
del recuadro.
19
Algoritmos Jos ngel Acosta Rodrguez
INICIO
FIN
F = 1
NO
k p, j q
t 1
F 0
NO
j j + t
j = N
y
k = M
a
kj
1
j = N
t -1
k k + 1
SI
NO
t 1
k k + 1
j = 1
SI
NO
SI
NO
SI
SI
Recuadro A
Recuadro B
Sentido de avance
20