Caricare documenti e articoli online 
INFtub.com è un sito progettato per cercare i documenti in vari tipi di file e il caricamento di articoli online.


 
Non ricordi la password?  ››  Iscriviti gratis
 

LA PROGETTAZIONE DI TIPI DI DATI ASTRATTI - ADT(Abstract Data Type)

informatica



LA PROGETTAZIONE DI TIPI DI DATI ASTRATTI


ADT(Abstract Data Type)


- Cos'è un ADT

- Cosa significa Struttura Astratta

- Cosa significa Implementare un ADT


TIPI DI DATI E STRUTTURE DATI:

Un tipo  di dati (Data Type) è un'entità caratterizzata da un dominio di valori ammessi e da un

insieme di operatori definiti su questi valori.

In ogni linguaggio sono presenti tipi predefiniti che vengono chiamati tipi semplici ( simple types).

Tale denominazione deriva dal fatto che vengono considerati atomici, cioè dati che non sono costituiti da parti.

Array, String, Record, File sono chiamati tipi strutturati ( structured type).



Un tipo di dato strutturato ( o struttura dati) è una raccolta di oggetti che ha le caratteristiche di:

poter essere scomposto in un insieme di elementi componenti ognuno dei quali sia o semplice (atomico) o scomponibile in un'altra struttura dati;

Includere un insieme di associazioni o relazioni (strutture) che coinvolgono gli elementi componenti.


PROCEDIMENTO DI ASTRAZIONE: 

Un'istruzione in Pascal eseguita su un dato di tipo semplice qualsiasi x come la Writeln (x); attiva una grande quantità di azioni da parte del compilatore Pascal e del sistema operativo. I dettagli del codice macchina sono nascosti al programmatore che utilizza l'astrazione Writeln, cioè non c'è il controllo diretto e dettagliato delle operazioni.

E' quindi più chiaro agire e pensare con le astrazioni di un dato che non con i dettagli di implementazione nascosti. Si può quindi concludere che parlare di livello di dettaglio per dati o sottoprogrammi equivale a definire il livello di astrazione a cui si intende operare.

ADT è una struttura dati progettata mediante una metodologia che astrae dalle informazioni di dettaglio


PROGETTAZIONE DI UN ADT:

Significa definire gli elementi componenti, la loro struttura relazionale (cioè il legame che c'è tra le componenti), il dominio e le operazioni ammesse.



IMPLEMENTAZIONE DEL TIPO STRINGA

Fase di codifica della rappresentazione fisica delle funzioni individuate nelle specifiche.


La specifica 1.0 definisce l'ADT stringa, è un documento che funge da manuale per tutti quelli che devono scrivere un programma con il nuovo tipo di dati.

Il programmatore che intende realizzare il progetto deve scegliere il linguaggio di implementazione con il quale si codificherà il nuovo ADT. Nella scelta del linguaggio di progettazione di ADT si devono rispettare dei vincoli:

1.il linguaggio deve permettere la codifica di procedure e funzioni;

2.il linguaggio deve consentire di codificare e compilare librerie separate di procedure.

Tutto ciò consente di operare la netta distinzione tra utente e programmatore.

Il linguaggio Pascal utilizza lo strumento delle Unit che soddisfa il secondo vincolo e consente di distinguere la parte pubblica del progetto Adt da quella del codice oscurato all'utente; il linguaggio C invece dispone dello strumento del file Header che ha ruolo analogo.

Un ADT è un oggetto dotato di attributi e metodi, questo è uno dei motivi per cui più avanti si introdurrà la codifica in C++ la quale si adatta meglio a questo metodo di progettazione.

Il progetto di implementazione si divide in due fasi logiche e cronologiche distinte:

Scelta della rappresentazione fisica da dare all'ADT;

Codifica della libreria che realizza il nuovo tipo e i suoi operatori.

Rappresentazione dell'ADT vuol dire scegliere il modo più adatto per dichiarare il nuovo tipo Stringa, cioè quali dati devono essere utilizzati per realizzare una lista lineare di caratteri e per rendere più efficiente le operazioni definite dalle specifiche.

Una prima scelta con il limite massimo di 80 caratteri potrebbe essere quello di scegliere un array,che ha il vantaggio di avere un indice interno associato a ciascuna componente e quindi permette lo scorrimento dei singoli caratteri.

Una seconda scelta potrebbe essere l'utilizzo del tipo Record, oppure far uso di puntatori (pointer o link).

Nel listato in Pascal la sezione interface coincide con la parte visibile all'utente detta anche parte pubblica del tipo string, mentre la sezione implementation è il codice vero e proprio che rimarrà oscurato all'utente.

I vantaggi del metodo di progettazione sono: semplicità, integrità e indipendenza dell'implementazione.













Privacy




Articolo informazione


Hits: 3205
Apprezzato: scheda appunto

Commentare questo articolo:

Non sei registrato
Devi essere registrato per commentare

ISCRIVITI



Copiare il codice

nella pagina web del tuo sito.


Copyright InfTub.com 2024