Segundo Parcial 2021 Ej 4

Segundo Parcial 2021 Ej 4

de Josefina Perez Curbelo -
Número de respuestas: 2
Hola, tengo una duda sobre una de las soluciones posibles. No me queda del todo claro en el último if porqué i=i+1. Por lo que llego a entender, si i es distinto de -1 es porque es 1, entonces i=2 no importa en que posición se encuentre el punto. Se que probablemente estoy viendo algo mal pero no logro darme cuenta de que. Entiendo que la idea es que i+1 es la fila donde está el punto, pero en este caso i está definido como la función, no como el índice de posición como generalmente lo usamos.

En respuesta a Josefina Perez Curbelo

Re: Segundo Parcial 2021 Ej 4

de Ewelina Bakala -

Hola Josefina,

no estoy segura si te entendí bien, pero te comento que la idea es devolver el índice de la fila. Vos decís "si i es distinto de -1 es porque es 1, entonces i=2 no importa en que posición se encuentre el punto" y deberías pensar que el i puede ser -1 (el punto no está en la matriz) o es el índice de la fila (que es mayor o igual 1 y uno debe calcularlo). Te aconsejo que analices el ejemplo perteneceRecorrida(recorrida,4.2,6.3). Se devuelve 3 porque el punto esta en la tercera fila, pero en cada paso recursivo se separa la matriz en primera fila y una nueva matriz mas chica (sin la primera fila). Achicar la matriz causa que no se pueda saber el índice de fila (en la matriz original la fila con el elemento es la fila 3, pero en el primer paso recursivo pasa a ser fila dos, y en el siguiente paso es la fila uno). Una vez encontrado el elemento, para poder calcular correctamente el número de fila precisamos el i=i+1. Te recomiendo implementar el código y "jugar" un poco con el para ver que pasa si no hacemos i=i+1. Vas a ver que la función siempre devolvería la fila 1 y no es lo correcto.

Saludos!