in virtù degli orari usciti apro il 3d del corso.
Benvengano consigli da chi ha già sostenuto l'esame.
- VanillaSky
- Ingegneria Informatica - Triennale
- Giovedì, 22 Febbraio 2007
- Subscribe via email
Comment
There are no comments made yet.
Accepted Answer
Pending Moderation
scusa, basta chiamare
[code type="markup"]
trova( [1,2] , [1,3,2,3,1,2,5] ).
[/code]
perché sublist credo già esista in prolog!
[code type="markup"]
trova( [1,2] , [1,3,2,3,1,2,5] ).
[/code]
perché sublist credo già esista in prolog!
Comment
There are no comments made yet.
- more than a month ago
- Ingegneria Informatica - Triennale
- # 181
Accepted Answer
Pending Moderation
Versione umana???
Ma parli dell'esercizio prolog-owl o dell'esercizio in prolog sulla sottolista???
l'esercizio della sottolista come si faceva?
perche' farlo in modo che siano esattamente in quella precisa sequenza non mi viene proprio concepirlo.
anche io non ho tovato inconsistenze e l'unica cosa che sono riuscito ad inferire che sansa era una donna.
per quanto riguarda sublist anche io ho fatto una versione che non funziona sempre che è la seguente :
sublist([],[]).
sublist([X|R1],[Y|R2]):-sublist([X|R1],R2).
sublist([X|R1],[X|R2]):-sublist(R1,R2).
Comment
There are no comments made yet.
- more than a month ago
- Ingegneria Informatica - Triennale
- # 182
Accepted Answer
Pending Moderation
no non ce ne erano di inconsistenze. giuro.
Ma quando specifico "someValuesFrom" nomeclasse,
implica che almeno un valore per quella proprietà
deve essere nomclasse, giusto?
Nell'esercizio era dichiarata la proprietà marito,
ma non su nomeclasse specificato nel "someValuesFrom"
(scusa la confusione).
ma l'esercizio prolog come si faceva?
io ho fatto la versione umana quella che accettava tutti e 2 gli esempi,
mi sono accorto troppo tardi che richiedeva un altra cosa.
Fatto così e funziona!!
[code type="markup"]
sublist(A, B) :-
trova(A, B).
trova([H|T1], [H|T2]) :-
conf(T1, T2).
trova(L1, [_|T2]) :-
trova(L1, T2).
conf([], _).
conf([H|T1], [H|T2]) :-
conf(T1, T2).
[/code]
Comment
There are no comments made yet.
- more than a month ago
- Ingegneria Informatica - Triennale
- # 183
Accepted Answer
Pending Moderation
Versione umana???
Ma parli dell'esercizio prolog-owl o dell'esercizio in prolog sulla sottolista???
l'esercizio della sottolista come si faceva?
perche' farlo in modo che siano esattamente in quella precisa sequenza non mi viene proprio concepirlo.
Comment
There are no comments made yet.
- more than a month ago
- Ingegneria Informatica - Triennale
- # 184
Versione umana???
Ma parli dell'esercizio prolog-owl o dell'esercizio in prolog sulla sottolista???
Ma parli dell'esercizio prolog-owl o dell'esercizio in prolog sulla sottolista???
Comment
There are no comments made yet.
- more than a month ago
- Ingegneria Informatica - Triennale
- # 185
Accepted Answer
Pending Moderation
- 10 domande crocette
- esercizio (conseguenza logica)
- esercizio prolog
- 1 owl (vedere inconsistenze e classi (esplicite o inferibili))
- 1 owl con Description Logice e Query Prolog.
Ok, questa è la sintesi, poi verranno i dettagli....
nel frattempo, potete dirmi se al 1 esercizio owl avete
trovato inconsistenze? se sì quali? io ne ho trovata una,
ma mo vado di fretta....
scappo....
ciao ciao
no non ce ne erano di inconsistenze. giuro.
ma l'esercizio prolog come si faceva?
io ho fatto la versione umana quella che accettava tutti e 2 gli esempi,
mi sono accorto troppo tardi che richiedeva un altra cosa.
Comment
There are no comments made yet.
- more than a month ago
- Ingegneria Informatica - Triennale
- # 186
Accepted Answer
Pending Moderation
- 10 domande crocette
- esercizio (conseguenza logica)
- esercizio prolog
- 1 owl (vedere inconsistenze e classi (esplicite o inferibili))
- 1 owl con Description Logice e Query Prolog.
Ok, questa è la sintesi, poi verranno i dettagli....
nel frattempo, potete dirmi se al 1 esercizio owl avete
trovato inconsistenze? se sì quali? io ne ho trovata una,
ma mo vado di fretta....
scappo....
ciao ciao
- esercizio (conseguenza logica)
- esercizio prolog
- 1 owl (vedere inconsistenze e classi (esplicite o inferibili))
- 1 owl con Description Logice e Query Prolog.
Ok, questa è la sintesi, poi verranno i dettagli....
nel frattempo, potete dirmi se al 1 esercizio owl avete
trovato inconsistenze? se sì quali? io ne ho trovata una,
ma mo vado di fretta....
scappo....
ciao ciao
Comment
There are no comments made yet.
- more than a month ago
- Ingegneria Informatica - Triennale
- # 187
L'esame di oggi com'era?
Comment
There are no comments made yet.
- more than a month ago
- Ingegneria Informatica - Triennale
- # 188
Accepted Answer
Pending Moderation
Secondo me questa e' la soluzione migliore:
eliminazione(A, B, C):- findall(Y, (member(Y, A), not(Y=B)), C).
Ottima soluzione!!!!!
Grande!!!
Comment
There are no comments made yet.
- more than a month ago
- Ingegneria Informatica - Triennale
- # 189
Se può essere utile posto le mie soluzioni per i vari predicati "cancella":
il primo cancella tutte le occorrenze, il secondo solamente la PRIMA, il terzo restituisce più soluzioni in cui per ogni soluzione si ha la rimozione dell'elemento una volta (in posizioni diverse ovviamente) - esempio quest'ultimo copiato da "The Art of Prolog" dove viene chiamato 'select'.
[code type="markup"]remove_first(_,[],[]).
remove_first(X,[X|Ys],Ys).
remove_first(X,[Y|Ys],[Y|Zs]) :- \+ X=Y, remove_first(X,Ys,Zs).[/code][code type="markup"]remove_all(_,[],[]).
remove_all(X,[X|Ys],Zs) :- remove_all(X,Ys,Zs).
remove_all(X,[Y|Ys],[Y|Zs]) :- \+ X=Y, remove_all(X,Ys,Zs).[/code][code type="markup"]select(X,[X|Xs],Xs).
select(X,[Y|Ys],[Y|Zs]) :- select(X,Ys,Zs).[/code]
il primo cancella tutte le occorrenze, il secondo solamente la PRIMA, il terzo restituisce più soluzioni in cui per ogni soluzione si ha la rimozione dell'elemento una volta (in posizioni diverse ovviamente) - esempio quest'ultimo copiato da "The Art of Prolog" dove viene chiamato 'select'.
[code type="markup"]remove_first(_,[],[]).
remove_first(X,[X|Ys],Ys).
remove_first(X,[Y|Ys],[Y|Zs]) :- \+ X=Y, remove_first(X,Ys,Zs).[/code][code type="markup"]remove_all(_,[],[]).
remove_all(X,[X|Ys],Zs) :- remove_all(X,Ys,Zs).
remove_all(X,[Y|Ys],[Y|Zs]) :- \+ X=Y, remove_all(X,Ys,Zs).[/code][code type="markup"]select(X,[X|Xs],Xs).
select(X,[Y|Ys],[Y|Zs]) :- select(X,Ys,Zs).[/code]
Comment
There are no comments made yet.
- more than a month ago
- Ingegneria Informatica - Triennale
- # 190
Accepted Answer
Pending Moderation
Secondo me questa e' la soluzione migliore:
eliminazione(A, B, C):- findall(Y, (member(Y, A), not(Y=B)), C).
eliminazione(A, B, C):- findall(Y, (member(Y, A), not(Y=B)), C).
Comment
There are no comments made yet.
- more than a month ago
- Ingegneria Informatica - Triennale
- # 191
Accepted Answer
Pending Moderation
Ah, dimenticavo. Il cut del secondo predicato mi permette di non avere una condizione al terzo predicato (altrimenti cercando nuove soluzioni potrebbe succedere macello).
non so perchè .... ma nessuno di queste soluzioni è la risposta alla domanda iniziale.... io ho fatto come te.... ma non mi gira...
ANZI MI GIRA... ma non cancella "solo un elemento"
La mia versione cancella "solo un elemento". E' un po poco elegante, ma l'ho fatta al volo. E' primo maggio anche per i miei criceti. :lol:
Comment
There are no comments made yet.
- more than a month ago
- Ingegneria Informatica - Triennale
- # 192
Ah, dimenticavo. Il cut del secondo predicato mi permette di non avere una condizione al terzo predicato (altrimenti cercando nuove soluzioni potrebbe succedere macello).
non so perchè .... ma nessuno di queste soluzioni è la risposta alla domanda iniziale.... io ho fatto come te.... ma non mi gira...
ANZI MI GIRA... ma non cancella "solo un elemento"
Comment
There are no comments made yet.
- more than a month ago
- Ingegneria Informatica - Triennale
- # 193
Ah, dimenticavo. Il cut del secondo predicato mi permette di non avere una condizione al terzo predicato (altrimenti cercando nuove soluzioni potrebbe succedere macello).
non so perchè .... ma nessuno di queste soluzioni è la risposta alla domanda iniziale.... io ho fatto come te.... ma non mi gira...
Comment
There are no comments made yet.
- more than a month ago
- Ingegneria Informatica - Triennale
- # 194
A=2 allora ok
mentre se ho [2,1,2,3] a =2 non funziona
restituisce [1,2,3].
la mia domanda perchè?
aiuto :lol:
Al volo, così dovrebbe andare:
cancella([],A,[]).
cancella([H|T1],A,[H|T2]):- (\+ (H is A)), !, cancella(T1, A, T2).
cancella([_|T1],A,List):- cancella(T1,A, List).
ORA PROVO..... E TI DICO.
ANZI NO... non funge.... cioè leva tutti gli elementi....
SI..... MO NE LEVA UNO
Comment
There are no comments made yet.
- more than a month ago
- Ingegneria Informatica - Triennale
- # 195
Ah, dimenticavo. Il cut del secondo predicato mi permette di non avere una condizione al terzo predicato (altrimenti cercando nuove soluzioni potrebbe succedere macello).
Comment
There are no comments made yet.
- more than a month ago
- Ingegneria Informatica - Triennale
- # 196
Cosi mi sa che funziona:
del(X,[],[]).
del(X,[X|L],M) :- del(X,L,M), !.
del(X,[Y|L],[Y|M]) :- del(X,L,M).
del(X,[],[]).
del(X,[X|L],M) :- del(X,L,M), !.
del(X,[Y|L],[Y|M]) :- del(X,L,M).
Comment
There are no comments made yet.
- more than a month ago
- Ingegneria Informatica - Triennale
- # 197
Accepted Answer
Pending Moderation
Io l'ho fatto cosi. Mi sa che è un po impicciato, ma sembra che funziona!! :lol:
cancella([T,C],R,E) :- not(T==E), C==E, append([T],[],R).
cancella([T],R,E) :- not(T==E), append([T],[],R).
cancella([T|C],R,E) :- not(T==E), cancella(C,R1,E), append([T],R1,R).
cancella([T|C],R,E) :- T==E, cancella(C,R,E).
?- cancella([2,1,2,5,4,2],Z,2).
Z = [1, 5, 4] ;
cancella([T,C],R,E) :- not(T==E), C==E, append([T],[],R).
cancella([T],R,E) :- not(T==E), append([T],[],R).
cancella([T|C],R,E) :- not(T==E), cancella(C,R1,E), append([T],R1,R).
cancella([T|C],R,E) :- T==E, cancella(C,R,E).
?- cancella([2,1,2,5,4,2],Z,2).
Z = [1, 5, 4] ;
Comment
There are no comments made yet.
- more than a month ago
- Ingegneria Informatica - Triennale
- # 198
A=2 allora ok
mentre se ho [2,1,2,3] a =2 non funziona
restituisce [1,2,3].
la mia domanda perchè?
aiuto :lol:
Al volo, così dovrebbe andare:
cancella([],A,[]).
cancella([H|T1],A,[H|T2]):- (\+ (H is A)), !, cancella(T1, A, T2).
cancella([_|T1],A,List):- cancella(T1,A, List).
ORA PROVO..... E TI DICO.
SI..... MO NE LEVA UNO
Comment
There are no comments made yet.
- more than a month ago
- Ingegneria Informatica - Triennale
- # 199
A=2 allora ok
mentre se ho [2,1,2,3] a =2 non funziona
restituisce [1,2,3].
la mia domanda perchè?
aiuto :lol:
Al volo, così dovrebbe andare:
cancella([],A,[]).
cancella([H|T1],A,[H|T2]):- (\+ (H is A)), !, cancella(T1, A, T2).
cancella([_|T1],A,List):- cancella(T1,A, List).
ORA PROVO..... E TI DICO.
Comment
There are no comments made yet.
- more than a month ago
- Ingegneria Informatica - Triennale
- # 200
There are no replies made for this post yet.
Be one of the first to reply to this post!
Be one of the first to reply to this post!
Please login to post a reply
You will need to be logged in to be able to post a reply. Login using the form on the right or register an account if you are new here. Register Here »