PDA

View Full Version : HELP: linguaggio LISP



Hador
8th November 2006, 10:40
Ho un esame venerdì su sta merda di linguaggio del cazzo e non lo so usare :|

dato da input almeno un valore e in ordine di significato stampa il numero corrispondente (cioè se gli scrivo 3 2 1 mi riporta 123)


(defun p-d (x &rest l)
(cond ((null x) 0)
(T (+ (* (p-d (car l) (cdr l)) 10) x))
)
)

NON funziona perchè l benchè sia una lista (e ci possa fare car cdr ecc) la funziona p-d accetta come ingresso degli ATOMI e non delle liste, però &rest l è vista come lista ergo non so come cazzo fargli passare la chiamata ricorsiva. dovrei estrapolare dalla lista l e valori, cosa che nn si può fare (o se si può non so come) dove l è una lista variabile di valori. Da richiesta ci deve essere il &rest, se avessi messo input una stringa e buona notte sarebbe stato una cagata
-------------

accetta 3 input, x = numero, pos = numero list Lista, e sostituisce all'interno di LISTA nella posizione POS il numero X al valore precedente MA
- se la lista è nil in partenza allora crea una lista con unico valore x
- se il pos è maggiore della lunghezza della stringa allora rimpiazza con 0 le posizioni mancanti (es 1 5 '(1 2 3) verrà (1 2 3 0 5))


(defun porca-mad (x pos list)

(cond ((< pos 0) 'coglione)
((eql pos 1) (cons x (cdr list)))
((null list) (cons 0 (porca-mad x (- pos 1) (cdr list))))
(T (cons (car list) (porca-mad x (- pos 1) (cdr list))))

)
)

qua non riesco a soddisfare entrambe le condizioni di cui sopra, o una o l'altra, cioè la mia condizione limite per uscire dalla chiamata ricorsiva è che la stringa sia null, non riesco a separare il caso in cui sia null solo all'inizio e il caso in cui sia null perchè il pos è maggiore del length della stringa (ovviamente nn esiste in length della stringa in sto linguaggio :| )

-------------

sarebbe una sommatoria fatta col metodo ACCUMULA, stesso problema del primo esercizio nn so come cristo chiamare la ricorsione


(defun sommatoria (x &rest lista)
(cond ;;((null lista) x)
((null x) 0)
(T (+ (sommatoria (car lista) (cdr lista)) x)))
)



se qualcuno ne capisce qualcosa ho un esame venerdì e nn riesco a cavarne un ragno dal buco

Helrohir
8th November 2006, 11:07
imho suka, resterai piantato su st'esame x l'eternita a a a a ....:sneer:

San Vegeta
8th November 2006, 15:38
è selezione naturale, chi non studia non va avanti :fuck:





































sorry, mai studiato il lisp

BlackCOSO
8th November 2006, 16:06
e facile.....































Non ho minimamente idea di che cazzo sia :afraid:

Hador
8th November 2006, 16:52
QQ

Kith
8th November 2006, 17:01
Hador renditi conto di quanto è inutile quella stracazzo di materia, e renditi conto che solo ai poveri universitari la fanno studiare :D quindi non potrai avere aiuto da nessuno che non sia laureato in info asdasd

Hador
8th November 2006, 17:09
si ma tu dammelo l'aiuto -_-

BlackCOSO
8th November 2006, 17:14
si ma tu dammelo l'aiuto -_-

Vai a lavorare barbone!! al posto di studiare ste stronzate utili come quello che osserva quante volte caga la giorno il criceto !!11!!

Mi serve uno che pulisca i muose e tastiere !!11!! :afraid:


giusto per infierire :sneer:

Hador
8th November 2006, 17:23
che poi ce fanno fa l'esame A MANO, cio dio cristo sono dei criminali

San Vegeta
8th November 2006, 17:26
cmq gli algoritmi per risolvere problemi col lisp sono interessanti, aiutano a formare un certo tipo di pensiero utile a chi ha a che fare con formule matematiche complicate

Hador
8th November 2006, 17:29
si ma io continuo a nn sapere come fare la ricorsione
cioè la demenza di sto linguaggio è senza limiti, hai una funzione che come parametri accetta un valore e, a scelta, un altro tot di valori di numero non definito. Ora, questo tot valori viene visto, nel primo input, come lista, ma poi non puoi chiamare la funzione con valore + lista, e nn c'è modo di trasformare una lista in una sequenza di valori... cioè NC

8cn
8th June 2008, 10:01
adesso non te ne farai assolutamente niente della soluzione, ma questo problema mi ha incuriosito:

(defun posiz (c &rest l)
(if (null l)
c
(+ c (* 10 (apply #'posiz l)))))
Ciauz

Hador
8th June 2008, 10:04
lo ho dato settembre scorso, capendoci molto di più di quanto stavo tentando di fare questi esercizi (visto l'esito l'appello non lo diedi :sneer: ).
Nonostante tutto il lisp lo ho trovato divertente, avevo più difficoltà col prolog

delo
8th June 2008, 10:13
se non sai fare quei banali esercizi è giusto che suki :sneer:

Hardcore
8th June 2008, 10:34
scusa ma che corso fai, perchè io faccio ing informatica ed essenzialmente si lavora su java e c#

Hador
8th June 2008, 12:09
faccio informatica, comunque mi pare molto strano che non abbiate a ingegneria un corso di programmazione logica e dichiarativa, guardati il programma dei corsi di intelligenza artificiale ;)

Alkabar
8th June 2008, 12:33
faccio informatica, comunque mi pare molto strano che non abbiate a ingegneria un corso di programmazione logica e dichiarativa, guardati il programma dei corsi di intelligenza artificiale ;)

Ce l'abbiamo avuto a Cesena, ma abbiamo fatto Prolog.

Hador
8th June 2008, 12:35
eh si fanno entrambi qua, prima, poi si approfondisce sia lisp che prolog in corsi di intelligenza artificiale e programmazione non ad oggetti. Poi non so, io attualmente è un anno che non scrivo codice...

Alkabar
8th June 2008, 13:03
eh si fanno entrambi qua, prima, poi si approfondisce sia lisp che prolog in corsi di intelligenza artificiale e programmazione non ad oggetti. Poi non so, io attualmente è un anno che non scrivo codice...

Vabbeh, non avere fretta, ti verrà lo smago in men che non si dica quando inizi :D :D.

Kat
8th June 2008, 13:45
scusa ma che corso fai, perchè io faccio ing informatica ed essenzialmente si lavora su java e c#
Si fa anche c# ora a ing informatica? Che universita?

Hador
8th June 2008, 14:00
da noi ci sono i corsi apposta se uno li vuole fare, poi ho scelto un percorso orientato all'ingegneria/progettazione/qualità quindi me ne sono interessato poco

Alkabar
8th June 2008, 14:18
Si fa anche c# ora a ing informatica? Che universita?

Probabilmente è accorpato al corso di Java perchè la sintassi è quasi identica.
Gli IDE invece no. Se potessi lavorarci sopra da Netbeans o eclipse, programmerei più spesso in C# .....

Kat
8th June 2008, 14:22
Cosa non ti piace di Visual Studio 2005/2008? :D
Se parli del 2003 posso anche capire, ma i successivi mi sembrano degli ottimi IDE.

Oppure hai provato Mono? L'ultima release che ho visto non mi pareva male.

Alkabar
8th June 2008, 17:55
Cosa non ti piace di Visual Studio 2005/2008? :D
Se parli del 2003 posso anche capire, ma i successivi mi sembrano degli ottimi IDE.
Oppure hai provato Mono? L'ultima release che ho visto non mi pareva male.

Ci lavoro sopra in Mono, da linux infatti.