;gestione vettori ;prodotto di costante per elementi vettore ;somma prodotti parziali ;stampa elementi vettore ;vet5 (prog1 (print "-----------------------") (setq vect1(make-array '(4):initial-contents '(1 2 3 4))) (print vect1) ;legge numero elementi in vettore e assegna a dotimes (setq lungo(length vect1)) ;prodotto elementi vettore (setq costante 10) (setq somma 0) (print costante) (print "---segue prodotto costante*numero--") (dotimes(conta lungo 0) (setq a(aref vect1 conta)) (setq somma (+ somma (* a costante))) (print (* a costante))) (terpri) (prin1 "somma prodotti=")(prin1 somma)(terpri) (terpri) )
;gestione vettori ;somma elementi di due vettori ;vet6 (prog1 (print "-----------------------") (print" vettori da sommare ") (setq vect1(make-array '(4):initial-contents '(1 2 3 4))) (print vect1) (setq vect2(make-array '(4):initial-contents '(5 6 7 8))) (print vect2) ;legge numero elementi in vettore e assegna a dotimes (setq lungo(length vect1)) ;somma elementi vettori a due a due (print "---segue somma elemementi--") (dotimes(conta lungo 0) (setq a(aref vect1 conta)) (setq b(aref vect2 conta)) (print (+ a b))) (terpri) )
;gestione vettori letterali tipo lista ;aggiunge desinenze a radice verbale ;con triplo formato CONS LIST APPEND ;vet7 (prog1 (print "-----------------------") (print" desinenze da aggiungere a radice ") (setq vect1(make-array '(6):initial-contents '(o as at amus atis ant))) (print vect1) ;legge numero elementi in vettore e assegna a dotimes (setq lungo(length vect1)) (print "---segue stampa forme verbali--") (dotimes(conta lungo 0) (setq a(aref vect1 conta)) (print(cons'(laud) a)) (print(append '(laud) a)) (print(list'(laud) a))) (terpri) ) ritorna