proyecto_algoritmos_2011_1_1_[1]espiral cruz

3

Click here to load reader

Upload: richard-melo

Post on 07-Jul-2018

213 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: proyecto_algoritmos_2011_1_1_[1]espiral cruz

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

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

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*