;gestione strutture dati ;-------------------------- ;struttura1 (prog1 (print"") ;definire struttura dati per libreria (defstruct libreria titolo autore editore) ;inserimento dati per ogni record (setq libro1(make-libreria :titolo "fisica" :autore "rossi" :editore "sei")) (setq libro2(make-libreria :titolo "chimica" :autore "verdi" :editore "sei")) (setq libro3(make-libreria :titolo "greco" :autore "neri" :editore "paravia")) (setq libro4(make-libreria :titolo "latino" :autore "bassi" :editore "sei")) (setq libro5(make-libreria :titolo "disegno" :autore "grassi" :editore "ldc")) (setq libro6(make-libreria :titolo "arte" :autore "zanella" :editore "scuola")) ;----------------------------------------------------------------------------- ;mostra struttura (print(symbol-plist 'libreria)) ;---------------------------------------------------------------------------- ;accesso a valori relativi ad attributi per record da indicare (print(libreria-titolo libro1)) (print(libreria-autore libro1)) (print(libreria-editore libro1)) (print(libreria-titolo libro1)) (print(libreria-titolo libro2)) (print(libreria-titolo libro3)) (print(libreria-autore libro4)) (print(libreria-autore libro5)) (print(libreria-autore libro6)) (print(libreria-editore libro1)) (print(libreria-editore libro2)) (print(libreria-editore libro3)) ;------------------------------- )
;gestione strutture dati ;-------------------------- ;struttura2 (prog1 (print"") ;definire struttura dati per libreria (defstruct libreria titolo autore editore) ;inserimento dati per ogni record (setq libro1(make-libreria :titolo "fisica" :autore "rossi" :editore "sei")) (setq libro2(make-libreria :titolo "chimica" :autore "verdi" :editore "sei")) (setq libro3(make-libreria :titolo "greco" :autore "neri" :editore "paravia")) (setq libro4(make-libreria :titolo "latino" :autore "bassi" :editore "sei")) (setq libro5(make-libreria :titolo "disegno" :autore "grassi" :editore "ldc")) (setq libro6(make-libreria :titolo "arte" :autore "zanella" :editore "scuola")) ;----------------------------------------------------------------------------- ;mostra struttura (print(symbol-plist 'libreria)) ;---------------------------------------------------------------------------- ;accesso a record completi (print libro1) (print libro2) (print libro3) (print libro4) (print libro5) (print libro6) ;------------------------- )
;gestione strutture dati ;-------------------------- ;struttura3 (prog1 (print"") ;definire struttura dati per libreria ;con stringa esplicativa e dati costanti per ogni record ;es.attributo rilegatura con valore costante tascabile ;non si inserisce nei singoli record (defstruct libreria "stringa esplicativa" titolo autore editore (rilegatura '(tascabile))) ;inserimento dati per ogni record (setq libro1(make-libreria :titolo "fisica" :autore "rossi" :editore "sei")) (setq libro2(make-libreria :titolo "chimica" :autore "verdi" :editore "sei")) (setq libro3(make-libreria :titolo "greco" :autore "neri" :editore "paravia")) (setq libro4(make-libreria :titolo "latino" :autore "bassi" :editore "sei")) (setq libro5(make-libreria :titolo "disegno" :autore "grassi" :editore "ldc")) (setq libro6(make-libreria :titolo "arte" :autore "zanella" :editore "scuola")) ;----------------------------------------------------------------------------- ;mostra struttura (print(symbol-plist 'libreria)) ;---------------------------------------------------------------------------- (print(libreria-rilegatura libro1)) (print(libreria-rilegatura libro2)) (terpri) ;accesso a record completi (print libro1) (print libro2) (print libro3) (print libro4) (print libro5) (print libro6) ;------------------------- ) ritorna