fbpx
Skip to main content
  1. VanillaSky
  2. Ingegneria Informatica - Triennale
  3. Giovedì, 22 Febbraio 2007
  4.  Subscribe via email
in virtù degli orari usciti apro il 3d del corso.
Benvengano consigli da chi ha già sostenuto l'esame.
Comment
There are no comments made yet.
Accepted Answer Pending Moderation
quesito facile facile: stampare tutti gli elementi di una lista, tranne le occorrenze della lettera "a"
cut_letter_a([]).

cut_letter_a([H|T]) :-

not(H=a),

write(H),

cut_letter_a(T).

questo però appena trova la prima "a" in una lista, fallisce e quindi si ferma. come fargli continuare secondo voi a scansionare tutta la lista anche se incontra una a?
Comment
There are no comments made yet.
Accepted Answer Pending Moderation
Si può dire che il prolog appassiona tutti :lol:

Dunque, IMHO, non sei ancora entrato nell'ottica ;)

In quella maniera lui non sa che fare nel caso in cui la lettera incontrata sia proprio "a" :D
Per cui si ferma e non procede con la ricorsione.
Un'alternativa:
[code type="markup"]
cut_letter_a([]).
cut_letter_a([H|T]) :- H = a, cut_letter_a(T).
cut_letter_a([H|T]) :- not(H = a), write(H), cut_letter_a(T).
[/code]


Anche se, la write, non si usa praticamente MAI!!!
In genere ti chiedono in output una lista ... più che una semplice stampa.
Comment
There are no comments made yet.
Accepted Answer Pending Moderation
ok grazie alt, proverò qualche applicazione meno banale, con passaggio da una lista all'altra, immagino ke a quel punto è proprio l'"append" a diventare determinante per far confluire alcuni valori nella lista di output.
Comment
There are no comments made yet.
Accepted Answer Pending Moderation
Non sempre.
Molte volte può bastare scorrere la lista e giocare con le variabili ;)
Comment
There are no comments made yet.
Accepted Answer Pending Moderation
ragazzi sapete dirmi se nell'ultima lezione ha iniziato o terminato il file 10.SemanticWeb? grazie
Comment
There are no comments made yet.
Accepted Answer Pending Moderation
ragazzi sapete dirmi se nell'ultima lezione ha iniziato o terminato il file 10.SemanticWeb? grazie

iniziato sicuro..terminato non ne sono sicuro..così a memoria fotografica mi sembra di ricordare la terzultima slide..quindi forse ha finito ..(mm..non sto messo bene..se non me lo ricordo :S)
Comment
There are no comments made yet.
Accepted Answer Pending Moderation
ragazzi sapete dirmi se nell'ultima lezione ha iniziato o terminato il file 10.SemanticWeb? grazie

finito! Prox lezione OWL.
Comment
There are no comments made yet.
Accepted Answer Pending Moderation
vi consiglio questo libro per Prolog:
"Blackburn-Bos-Striegnitz_Learn_Prolog_Now!"
stava sul sito del corso dello scorso anno..
http://www.uniroma2.it/didattica/SBC050 ... g_Now!.pdf
è fatto molto bene.. (pe piacere non scrivete commenti del tipo:"ma è in inglese!!!" ..si, è in inglese..da 5 elementare xò..quindi ;) )
Comment
There are no comments made yet.
Accepted Answer Pending Moderation
[OT]Amico rasta di S.I. sentiamoci via pm[/OT]
Comment
There are no comments made yet.
Accepted Answer Pending Moderation
Ma domani ci sara' lezione?
Comment
There are no comments made yet.
Accepted Answer Pending Moderation
Ma domani ci sara' lezione?

pare di no..ma sul sito non ce n'è conferma..
Comment
There are no comments made yet.
Accepted Answer Pending Moderation
Exercise 4.3 (del libro di cui sopra) Write a predicate twice(In,Out) whose left argument is a list, and
whose right argument is a list consisting of every element in the left list written twice.
For example, the query
[code type="markup"]twice([a,4,buggle],X).[/code]
should return
[code type="markup"]X = [a,a,4,4,buggle,buggle]).[/code]
And the query
[code type="markup"]twice([1,2,1,1],X).[/code]
should return
[code type="markup"]X = [1,1,2,2,1,1,1,1].[/code]
Hint: to answer this question, first ask yourself ‘What should happen when the first
argument is the empty list?’. That’s the base case. For non-empty lists, think about
what you should do with the head, and use recursion to handle the tail.

--

io il max che so riuscito ad ottenere è questo:
[code type="markup"]X = [a, a, [4, buggle], [4, buggle]] ;[/code]

penso di non aver ancora afferato come si gestiscono ste liste..any suggestions?
Comment
There are no comments made yet.
Accepted Answer Pending Moderation
[code type="markup"]twice([],[]).
twice([X|T],[X,X|T1]) :- twice(T,T1).[/code]

Prova questo ;)
Comment
There are no comments made yet.
Accepted Answer Pending Moderation
Ma domani?
C'è il forum, quindi niente lezione?
Stellato aveva detto che avrebbe aggiornato il syllabus...
Comment
There are no comments made yet.
Accepted Answer Pending Moderation
[code type="markup"]twice([],[]).
twice([X|T],[X,X|T1]) :- twice(T,T1).[/code]

Prova questo ;)


grande!..succede sempre così..una volta che leggi una soluzione dici: cavolo è vero! come ho fatto a non pensarci..questo è un presagio per l'esame..
grazie ;)
Comment
There are no comments made yet.
Accepted Answer Pending Moderation
Ciao,
qualcuno ha provato a installare 'SEMWEB_LIBRARY_EXTENSION_PER_SWI-PROLOG.zip' e magari ci e' pure riuscito?
Comment
There are no comments made yet.
Accepted Answer Pending Moderation
1) masciarelli, non l'ho ancora installato anche perchè devo ancora capire ke roba è (sono dovuto mancare alle due ultime lezioni): a cosa serve per il prolog questa estensione?

2) ke avete fatto oggi a lezione rega?

3) File 8 pdf, ultima slide, dice di approfondire OWL/RDFS sul 2° capitolo dell'handbook on description logics: a quale si riferisce? che roba è? :shock:
Comment
There are no comments made yet.
Accepted Answer Pending Moderation
[...]
2) ke avete fatto oggi a lezione rega?
[...]

Ma oggi c'era lezione!?!? :shock:
Comment
There are no comments made yet.
Accepted Answer Pending Moderation
[...]
2) ke avete fatto oggi a lezione rega?
[...]

Ma oggi c'era lezione!?!? :shock:

ho detto na stonza*, domani è venerdì :D
Comment
There are no comments made yet.
Accepted Answer Pending Moderation
[code type="markup"]twice([],[]).
twice([X|T],[X,X|T1]) :- twice(T,T1).[/code]

Prova questo ;)


grande!..succede sempre così..una volta che leggi una soluzione dici: cavolo è vero! come ho fatto a non pensarci..questo è un presagio per l'esame..
grazie ;)


Prego :D
Per esperienza dico che, se ti fai cogliere di sorpresa prima, come in questo caso, non ti fai fregare all'esame :D
Comment
There are no comments made yet.


There are no replies made for this post yet.
Be one of the first to reply to this post!