proyecto_algoritmos_2011_1_1_[1]espiral cruz
TRANSCRIPT
![Page 1: proyecto_algoritmos_2011_1_1_[1]espiral cruz](https://reader038.vdocuments.co/reader038/viewer/2022100522/577c81561a28abe054ac6cbd/html5/thumbnails/1.jpg)
8/18/2019 proyecto_algoritmos_2011_1_1_[1]espiral cruz
http://slidepdf.com/reader/full/proyectoalgoritmos2011111espiral-cruz 1/3
niversidad Autónoma de Colombia
Algoritmos de programación
Proyecto Semestre 2011-1
ESPIA!
"uan es due#o de una vie$a casa en donde %ay un cuarto &ue tiene 'orma de cru( y cuyo piso est)
cubierto completamente por baldosas cuadradas de color blanco y una baldosa de color a(ul* A "uan
le gusta caminar alrededor del cuarto+ caminando de una baldosa blanca a la siguiente en 'orma de
espiral+ %acia el centro* "uan siempre camina en el sentido de las manecillas del relo$ y se mantiene
lo m)s cercano posible al borde del cuarto sin pisar una baldosa m)s de una ve(* "uan se detiene
cuando en su camino encuentra una baldosa por la &ue ya %a caminado o cuando encuentra labaldosa de color a(ul*
,igura 1 cuarto de e$emplo
Asuma &ue la es&uina superior i(&uierda del rect)ngulo corresponde a la posición .1+1/+ esto es+ 'ila
1+ columna 1* "uan siempre empie(a a caminar en la baldosa ubicada en la columna y 'ila 1*onde es la columna m)s a la i(&uierda con una baldosa blanca*
Escriba un programa en lengua$e C &ue solicite por teclado
El tama#o de la cru( anc%o y alto del rect)ngulo+ anc%o y alto de los rect)ngulos &ue
se cortan para 'ormar la cru( .rect)ngulos negros en la 'igura 1/* En el e$emplo
![Page 2: proyecto_algoritmos_2011_1_1_[1]espiral cruz](https://reader038.vdocuments.co/reader038/viewer/2022100522/577c81561a28abe054ac6cbd/html5/thumbnails/2.jpg)
8/18/2019 proyecto_algoritmos_2011_1_1_[1]espiral cruz
http://slidepdf.com/reader/full/proyectoalgoritmos2011111espiral-cruz 2/3
mostrado en la 'igura 1 estos valores seran 10+ 3+ 4 y 2 respectivamente*
El n5mero de baldosas 6 sobre las &ue desea caminar "uan*
!a posición de la baldosa de color a(ul .'ila y columna/*
Con base en dic%a in'ormación el programa debe mostrar en pantalla
!a posición 'inal de "uan .'ila y columna de la baldosa/* En el caso de &ue se %aya
encontrado la baldosa a(ul+ la posición 'inal es la anterior a dic%a baldosa ."uan se
detiene antes de tocar la baldosa a(ul/*
Un mensa$e indicando si "uan logró caminar las 6 baldosas
El n5mero de baldosas blancas sobre las &ue "uan no caminó
El programa 1E7E contar con las siguientes variables globales+ 'unciones y procedimientos
8ariables globales
int cuarto[][]
9atri( &ue representa el cuarto en 'orma de cru(* Cada casilla de este arreglo
corresponder) a una baldosa del cuarto* Inicialmente cada casilla podr)
llenarse con alguno de los siguientes valores
-1 cuando no %ay baldosa
1 para baldosas blancas
0 para la baldosa a(ul
int ancho
int alto
Anc%o y alto del rect)ngulo
int anchoCorte
int altoCorte
Anc%o y alto del rect)ngulo &ue se corta para 'ormar la cru(
int filAzul
int colAzul
,ila y columna donde se encuentra la baldosa a(ul
int posFil
int posCol
,ila y columna en la &ue se encuentra "uan .baldosa en la &ue est) parado/
,unciones y procedimientos
![Page 3: proyecto_algoritmos_2011_1_1_[1]espiral cruz](https://reader038.vdocuments.co/reader038/viewer/2022100522/577c81561a28abe054ac6cbd/html5/thumbnails/3.jpg)
8/18/2019 proyecto_algoritmos_2011_1_1_[1]espiral cruz
http://slidepdf.com/reader/full/proyectoalgoritmos2011111espiral-cruz 3/3
void llenarMatrizCuarto()
!lena la matri( con los valores iniciales+ dados por el usuario*
void encontrarPosicionInicial()
Encuentra la posición .'ila+ columna/ en donde debe empe(ar a caminar "uan
int caminar(int cantidad)
Intenta avan(ar sobre el cuarto la cantidad indicada .par)metro/ de baldosas*
etorna el n5mero de baldosas &ue "uan realmente caminó*
A tener en cuenta-
Un programa sólo se considerar) correcto si cumple con las especi'icaciones planteadas
anteriormente y si cumple con el dise#o e:igido .variables+ 'unciones y procedimientos/* Est) permitido crear variables globales o 'unciones adicionales a las e:igidas en este
documento .seguramente las necesitar);/
!a 'unción principal .main/* 6o podr) contener operaciones aritm<ticas+ ni condiciones+ ni
ciclos*
El tama#o m):imo del rect)ngulo ser) de 40:40*
Asuma &ue la baldosa a(ul nunca est) posicionada en la primera 'ila del cuarto*
ebe entregarse el código 'uente y el e$ecutable del programa*
El programa debe sustentarse personalmente ante el docente de la asignatura*
El traba$o se puede reali(ar en grupos de m):imo dos estudiantes*
,ec%a de entrega semana 1= de clases*
7asado en el problema Cross Spiral+ de la >Canadian Computing Competition 'or t%e Sun
9icrosystems a?ards@+ "unior set o' problems+ 9ar(o de 200*