La
sua domanda è semplice e nel contempo pesantissima. E' semplice perché lei
la pone con assoluta immediatezza e chiarezza. E' pesantissima perché
sottende gravi problemi di impostazione che sussistono nel nostro settore.
L'Informatica è una scienza giovane e soffre di errori di base e di deviazioni come nel passato successe già alla Meccanica, alla Chimica ed a tante altre discipline. Importante, specie per un insegnante, è saperlo e trovare soluzioni adeguate. Infatti alcuni metodi di studio sono talmente rovinosi che una volta accettati non c'è verso di venirne fuori. Anzi più si va avanti e più se ne resta invischiati. L'unica soluzione praticabile consiste nel metterli da parte e porre lo studio dell'Informatica su nuove basi. La sua domanda pone il dito su una difficoltà di questo tipo. Da anni si è tentato di
affrontare le strutture dei
dati con strumenti logico-astratti i quali hanno prodotto confusioni nella
didattica e poi a ruota nella pratica professionale. Se si trattasse di un
ostacolo di poco conto, sarebbe sufficiente qualche caso per recuperare lo
studente. Invece gli esempi didattici servono quasi niente a causa della
irragionevolezza dell'approccio astratto. Esso costituisce una vera e
propria iattura e l'unica via praticabile consiste
nel riporlo. Ne ho già scritto più volte in
questa rubrica, ad esempio nelle risposte
27,
29
e
38.
A mio avviso, l'unica è quella che si conforma
alle più elementari nozioni di hardware ed alla pratica professionale. Non sto dicendo nulla di nuovo. Il modello è già noto, ma non viene approfondito. Gli viene dato un ruolo accessorio. Qualcuno lo trova banale, invece ha un valore sostanziale perché ogni memorizzazione si articola con tali celle di memoria. Una volta che la questione è stata posta sul piano concreto, lo studio dei dati si appiana e progredisce vorrei dire da solo. Infatti le strutture dati sono aggregazioni dei campi informativi che il programmatore realizza con le dicharative. I testi riportano:
I più importanti sono i primi e gli ultimi perché risultano di gran lunga i più comuni. Si disegnano in modo immediato come insiemi di campi. Le tabelle ed i record emergono per le seguenti
ragioni di utilità:
Le rimanenti strutture elencate della lista assolvono funzioni speciali. La 2 si usa per concatenare dei dati che sono cancellati ed aggiunti senza regole. Le strutture 3 sono lineari e si distinguono soltanto per il modo con cui vengono riempite e svuotate. Le ultime servono per speciali algoritmi di uso tutt'altro che quotidiano. Questa spiegazione vuol evidenziare come ogni organizzazione di dati risponde ad una precisa funzione. Non essendo la struttura una entità eterea o astratta ne consegue che il programmatore sceglie la struttura in funzione del compito da eseguire.
Se il procedimento didattico spiega i dati secondo un'ottica realistica e pratica, si elencano le organizzazioni in funzione del servizio che offrono, e si dà una preparazione efficace allo studente.
anno 2003 |
83. Parlando di strutture dati, lineari, tabellari (chiave-valore), o ad alberi binari, ho difficoltà a far capire ai ragazzi il contesto di utilizzo cioè quando risulta utile servirsi di certe strutture: può fornirmi cortesemente degli esempi concreti di utilizzo che siano facilmente comprensibili ai ragazzi? |