Buona sera,
ho questa funzione scritta in pseudocodice che restituisce la posizione della prima occorrenza di un elemento in una lista:

codice:
fonction firstPosition(x, L) // ricorsiva
{
    if isEmpty(L) true
        return 0
    else
        if x == First(L)
            return 1
        else
            y <- firstPosition(x,next(L))
        if y == 0
            return 0
        else
            return 1+y
}
le seguenti funzioni fanno quanto segue:
isEmpty // boolean
first(L) restituisce il primo elemento della lista
next(L) // resituisce una nuova lista privata del suo primo elemento
Secondo me questa funzione, non funziona perchè nell'ultimo else non vengono fatti ulteriori confronti per vedere se x==y.
Voi cosa ne pensate?