Ej14

Ej14

de Facundo Rodríguez Martínez -
Número de respuestas: 5

Hola, tenía duda con la función copiar de este ejercicio.

En el video de práctico la definen como:
 copiar(w,0)= \epsilon
 copiar(w, n+1) = w copiar(w,n)
(Usando el ERP para N).

Otra forma podría ser usar el ERP para sigma asterisco de la siguiente forma? :
 copiar(\epsilon,n) = \epsilon  y
 copiar(xw, n)=xwcopiar(xw,n-1) si  n \neq0  ,   \epsilon  si  n=0

Otra duda que tengo es que no entiendo que pide la función primera_posición.

Gracias

En respuesta a Facundo Rodríguez Martínez

Re: Ej14

de Guillermo Calderon - InCo -

Hola:

Si mirás bien la segunda versión, notarás que no respeta el ERP para Σ*.

primera-posición(w,x) te da la posición en que aparece el carácter x en la tira w.

Si aparece más de una vez te da la primera.

Si no aparece, retorna el largo de w más 1.

primera-posicion(abc,a)  = 1
primera-posicion(abc,c)  = 3
primera-posicion(abc,b)  = 2
primera-posición(abcb,b) = 2
primera-posicion(abc,d)  = 4
En respuesta a Guillermo Calderon - InCo

Re: Ej14

de Facundo Rodríguez Martínez -
Bien gracias,

Estaría bien la función sacar_de_la_izquierda así?
 sacarDeLaIzquierda( \epsilon,n ) = \epsilon
 sacarDeLaIzquierda(xw,n) = sacarDeLaIzquierda(w,n-1) si  n \neq0  ,   \epsilon  si  n=0

No entiendo si es que al hacer el ERP en una de las coordenadas entonces la otra tiene que quedar fija, o si puedo hacer eso que hice. Agradezco esa aclaración
En respuesta a Facundo Rodríguez Martínez

Re: Ej14

de Juan Diego Campo -
Hola Facundo, la definición está correcta.

Al hacer recursión en uno de los parámetros (en este caso el primero), tenés que asegurarte que en el paso recursivo hacés la llamada con w.
El otro parámetro no importa, porque la recursión es sobre la tira. El n puede quedar igual, achicarse, o incluso crecer.

Saludos