A. Veneziani - Classi IV A e IV B - Classe stack dotata di interfaccia grafica

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "A. Veneziani - Classi IV A e IV B - Classe stack dotata di interfaccia grafica"

Transcript

1 A. Veneziani - Classi IV A e IV B - Classe stack dotata di interfaccia grafica Scopo del programma Programmare una classe dotata degli opportuni metodi per simulare uno stack (tramite un vettore) e utilizzare la stessa in un programma dotato di un opportuna interfaccia grafica che permetta di osservarne tutti gli aspetti funzionali e le relative regole. La classe Stack Si ricorda che lo stack (o pila in italiano) è una nota struttura dati informatica implementata e immaginabile come una pila di dati dalla quale i dati stessi vengono inseriti ed estratti solo dalla cima dello stack stesso. Un apposito puntatore terrà conto del livello di riempimento dello stack ossia della quantità di dati validi e non significativi in esso. Tutti i dati sopra 1 il puntatore L implementazione della classe stack si pone come obbiettivo quello di riprodurre all interno della classe stessa il funzionamento di uno stack (supponiamo di numeri interi). Istanziando più oggetti avremo eventualmente in questo caso più stack indipendenti l uno dall altro. La classe sarà implementata sostanzialmente dai seguenti dati interni: Un vettore preposto a contenere i valori sullo stack 2 Un valore numerico intero con valori da 1 al valore del numero massimo di elementi dello stack 1. Questo valore ha lo scopo di indicare il livello di riempimento dello stack. Esso indica la cima dello stack. Si immagini lo stack costituito dal suo fondo verso l indice 0 del vettore e dalla sua testa verso la parte opposta (valori alti dell indice). In pratica riguardo a questi dati possiamo dire che se lo stack contiene 4 valori significativi, esso sarà riempito nelle celle 0, 1, 2 e 3 ed il valore dell indicatore della cima della pila (detto stack pointer) sarà 3. Le operazioni fondamentali effettuabili su uno stack sono inserimento ed estrazione di un dato. Riflettiamo che nel caso di inserimento di un dato nello stack le operazioni da compiere nell ordine saranno: Aumento del valore dello stack pointer Assegnazione alla cella corrente (quella puntata dallo stack pointer) del vettore di un valore. Nel caso di estrazione esse saranno: Lettura del dato dalla cella corrente del vettore Spostamento dello stack pointer verso il basso (ossia nel nostro caso decremento). Inoltre altri possibili metodi potranno essere: Lettura della testa dello stack senza rimozione del dato Verifica che lo stack sia vuoto (ed in questo caso rinuncia a leggere dati) Verifica che lo stack sia pieno ( ed in questo caso rinuncia a d inserire nuovi dati). Svuotamento da tutti i suoi elementi dello stack Lettura del numero di elementi nello stack La stampa dei valori contenuti nello stack Tali metodi potranno essere implementati in tal modo: Inserimento void push(int n) Estrazione int pop() Lettura senza rimozione int leggi_cima() Controllo stack vuoto bool vuoto() 1 Ossia presenti negli indici più alti della cella puntata dal puntatore top, vengono considerati non significativi. 2 Ovviamente la dimensione del vettore determinerà conseguentemente la dimensione dello stack stesso. Pagina 1

2 Controllo stack pieno bool pieno() Svuotamento void svuota() Lettura del numero di el. Pres. int numero_ele() Stampa dello stack void visualizza() Per la lettura senza rimozione si legge semplicemente la cella più in cima del vettore senza muovere o cambiare alcun altro dato. Il controllo dello stack vuoto o pieno si effettua controllando il valore assunto dalla variabile che implementa lo stack pointer; sarà vuoto quando il vaore di tale variabile assume -1, mentre pieno quando il valore di tale variabile assume il valore di N 1 (ove N è la capacità massima delo stack). Lo svuotamento sarà effettuato semplicemente spostando l indicatore di testa della pila (stack). La lettura del numero di elementi viene effettuata estraendo dall interno degli oggetti verso l esterno il valore del puntatore alla cima dello stack. Nel complesso la classe stack potrà essere implementata nel seguente modo: const int STKSIZE = 10; // classe pila, implementa uno stack class Pila int stk[stksize]; // dati necessari all' implementazione (privati) int stk_pnt; public: // costruttore - inizializza il puntatore // di stack e quindi definisce i valori (0) // all'interno della pila Pila() stk_pnt = -1; // rende il numero di elementi presenti nella pila int numero_ele() return(stk_pnt + 1); // indica se lo stack e' vuoto bool vuoto() if (numero_ele() == 0) return(true); else return(false); // indica se lo stack e' pieno bool pieno() if (numero_ele() == STKSIZE) return(true); else return(false); Pagina 2

3 // inserisce un valore (senza gestione di errore) void push(int v) stk_pnt++; stk[stk_pnt] = v; // estrae un valore (senza gestione di errore) int pop() v = stk[stk_pnt]; stk_pnt--; return(v); // legge l'elemento in cima allo stack senza rimuoverlo int leggi_cima() return(stk[stk_pnt]); // visualizza l'intero stack nella listbox sull'interfaccia void visualizza() int i; ; frmstk->lststack->clear(); for (i = stk_pnt; i >= 0; i--) frmstk->lststack->additem(inttostr(stk[i]),null); Pila stk; // dichiarazione di un oggetto pila (stack) a livello globale L interfaccia grafica Successivamente alla preparazione della classe si disegnerà e programmerà la parte visuale dell applicazione. Essa sarà costituita da alcuni semplici controlli: Una listbox Alcune label di indicazione Una label per indicare sulla interfaccia il livello di riempimento raggiunto dallo stack Una editobox per permettere di leggere ed inserire dati sullo / dallo stack Due pulsanti per comandare le operazioni di inserimento e estrazione L interfaccia potrà risultare quindi all incirca come quella mostrata in figura qui a lato. Ovviamente un dato valido dovrà essere presente nella preposta box quando il tasto Push verrà premuto. La stessa editobox verrà automaticamente riempita dal valore estratto quando verrà utilizzato il tasto Pop. Pagina 3

4 La classe Stack per essere utilizzata potrà essere inserita nel codice della unit (modulo) relativa alla form. E possibile inserire il codice subito sotto alle inclusioni in testa al programma mantenendo la classe stessa al di sopra di tutte le routine relative agli eventi. Subito sotto la classe và dichiarata, in forma globale, un oggetto relativo alla classe stessa. Infine vanno generate / associate le opportune routine evento con i pulsanti Push e Pop. I metodi della classe stack che prima stampavano sulla console ora inseriranno dati sulla interfaccia grafica con opportuni comandi verso di essa. In complesso il codice che riguarda l interfaccia risulta: // evento click relativo al pulsante Push (viene attivato quando si preme) void fastcall TfrmStk::btnPushClick(TObject *Sender) // se il box relativo al valore da inserire non è vuoto if (edtvalore->text!= "") if (! stk.pieno()) // se lo stack non e' pieno // converte in intero il numero scritto nella box v = StrToInt(edtValore->Text); stk.push(v); // effettua operazione di push sull'oggetto stack stk.visualizza(); // visualizza sull' interfaccia i valori dello stack edtvalore->text = ""; // svuota la editbox di input // aggiorna il nuovo numero di elementi else // messaggio di errore se lo stack e' pieno MessageDlg("Stack pieno. Impossibile aggiungere valori.", else // messaggio di errore se il box di input è vuoto MessageDlg("Valore da inserire non indicato.", // evento click relativo al pulsante Pop (viene attivato quando si preme) void fastcall TfrmStk::btnPopClick(TObject *Sender) // se lo stack non e' vuoto... if (! stk.vuoto()) v = stk.pop(); // effettua operazione di pop sull' oggetto stk.visualizza(); // visualizza sulla GUI la situazione attuale dello stack // avuto il valore lo converte a stringa per visualizzarlo sulla edtvalore edtvalore->text = IntToStr(v); // aggiorna il nuovo numero di elementi else // messaggio di errore nel caso esso sia vuoto MessageDlg("Stack vuoto. Impossibile estrarre valori.", // evento che si attiva al momento della creazione della form void fastcall TfrmStk::FormCreate(TObject *Sender) Pagina 4

5 // inizializzazione (a 0) dell' indicatore di numero di elementi nello stack Esso produce come si può osservare anche delle Messagebox opportune al momento siano necessarie delle segnalazioni di errore. In inserimento, come si può notare gli errori gestiti dal programma potrebbero essere di due tipi: Errore perchè lo stack è pieno Errore perchè non è stato indicato alcun valore da inserire In realtà si potrebbe avere anche un terzo tipo di errore qui non gestito, ossia l inserimento di un valore non numerico. Si noti come: a) L accesso ai componenti VCL fuori dalle routine evento preusppone obbligatoriamente di riferirsi anche alla form che gli contiene (ad es. frmstack->lststack->...) b) Per scrivere o leggere testo da una editbox si usi la proprietà Text c) Per eliminare tutti gli elementi dalla listbox si utilizzi il metodo Clear() d) Per aggiungere elementi nella listbox si utilizzi il metodo AddItem(<stringa>,NULL) ove NULL è al posto di un puntatore ad un generico oggetto. e) Per scrivere testo in una label si utilizza la proprietà Caption. f) Per settare il titolo della form si utilizza la proprietà Caption. g) Per fissare la dimensione del bordo della form (a non ridimensionabile) si regola la proprietà (della form) BorderStyle (usualmente a design time).. h) Per evitare che il pulsante di massimizzazione della form sia attivo si setta la proprietà BorderIcons (usualmente a design time). i) Per creare Box di dialogo e warning si utilizza la procedura MessageDlg, che ha quattro parametri: i. Il testo vero e proprio del messaggio che deve apparire nella box ii. L eventuale icona che deve apparire nella box (vd. Documentazione C++ Builder). E rappresentata da una costante; mtcustom non visualizza una specifica icona. iii. Lista dei pulsanti presenti indicata con TMsgDlgButtons() <<... ed opportune costanti a seguire. iv. Un valore 0; tal valore è relativo alla selezione di opprtune schermate di help, sarebbe un valore diverso se si associasse la messagebox con uso di un help constestuale. v. Si noti che il titolo delle box di messaggio create con MessageDlg non è modificabile. j) Il look & feel dell applicazione è adattato e migliorato grazie al file WindowsXP.RES (file preprogrammato, fornito con il prodotto). Esso deve essere posto nella stessa directory del progetto e per essere incluso in esso nel sorgente del programma dovrà essere inserita la apposita direttiva: #pragma resource "WindowsXP.RES" k) E possibile editare e riadattare il font e la dimensione delle label e le altre scritte che appaiono dentro e fuori i controlli, di modo da uniformarli a quelli del sistema operativo. Ciò può essere fatto editando opportunamente la proprietà Font (alcune sue sotto parti). Pagina 5

CORSO DI PROGRAMMAZIONE

CORSO DI PROGRAMMAZIONE ISTITUTO TECNICO INDUSTRIALE G. M. ANGIOY SASSARI CORSO DI PROGRAMMAZIONE PILE E CODE DI DATI DISPENSA 11.02 11-02_Pile_Code_[ver_15] Questa dispensa è rilasciata sotto la licenza Creative Common CC BY-NC-SA.

Dettagli

in più stringhe,... ADT un tipo è caratterizzato dalle operazioni consentite su di esso: un numero è qualcosa che si può moltiplicare, sommare,...

in più stringhe,... ADT un tipo è caratterizzato dalle operazioni consentite su di esso: un numero è qualcosa che si può moltiplicare, sommare,... ADT un tipo è caratterizzato dalle operazioni consentite su di esso: un numero è qualcosa che si può moltiplicare, sommare,... una stringa è qualcosa che si può concatenare, spezzare in più stringhe,...

Dettagli

Esercizi Strutture dati di tipo astratto

Esercizi Strutture dati di tipo astratto Salvatore Cuomo Esercizi Strutture dati di tipo astratto Lezione n. 20 Parole chiave: Strutture dati, pile code, liste Corso di Laurea: Informatica Insegnamento: Programmazione II, modulo di Laboratorio

Dettagli

La Struttura Dati Pila

La Struttura Dati Pila La Struttura Dati Pila La pila o stack è una particolare struttura dati in cui l'inserimento e la cancellazione sono consentite solo in una specifica posizione, chiamata cima (top) dello stack. La gestione

Dettagli

Gestione dinamica di una coda

Gestione dinamica di una coda Gestione dinamica di una coda Una coda o queue è una lista lineare a lunghezza variabile in cui l'inserimento di nuovi elementi (push) viene effettuato ad un estremo (fondo o rear) e l'estrazione degli

Dettagli

L INTERFACCIA GRAFICA DI EXCEL

L INTERFACCIA GRAFICA DI EXCEL Dopo l avvio del foglio elettronico apparirà un interfaccia grafica nella quale verrà aperta una nuova cartella di lavoro alla quale il PC assegnerà automaticamente il nome provvisorio di Cartel1. La cartella

Dettagli

Campo Minato. in java

Campo Minato. in java Campo Minato in java Il gioco campo rettangolare o quadrato suddiviso in tanti quadratini Il giocatore deve sminare il campo, cliccando sui quadratini, col tasto destro o col tasto sinistro il gioco cliccando

Dettagli

4. I moduli in Access 2000/2003

4. I moduli in Access 2000/2003 LIBRERIA WEB 4. I moduli in Access 2000/2003 Il modulo è uno degli oggetti del database di Access e rappresenta un insieme di dichiarazioni e routine scritte con il linguaggio Visual Basic, memorizzate

Dettagli

Lezione 6 programmazione in Java

Lezione 6 programmazione in Java Lezione 6 programmazione in Java Nicola Drago drago@sci.univr.it Dipartimento di Informatica Università di Verona Anteprima Le costanti I vettori Cos è un vettore Come si usa I vari tipi di vettori Esempi

Dettagli

Esempio su strutture dati dinamiche: ArrayList

Esempio su strutture dati dinamiche: ArrayList Esempio su strutture dati dinamiche: ArrayList 1 ArrayList Abbiamo detto che gli array non possono cambiare la propria dimensione: il numero di elementi contenuti viene stabilito al momento della creazione

Dettagli

Strutture dati. Il che cosa e il come. F. Damiani - Alg. & Lab. 04/05

Strutture dati. Il che cosa e il come. F. Damiani - Alg. & Lab. 04/05 Strutture dati Il che cosa e il come Il che cosa ed il come Struttura dati: descrive come sono organizzati i dati e come sono realizzate le operazioni su di essi (cioe come si accede ai dati) Specifica

Dettagli

Esercitazione: Implementazione in linguaggio C dell ADT. Stack con l utilizzo. di linked list

Esercitazione: Implementazione in linguaggio C dell ADT. Stack con l utilizzo. di linked list Esercitazione: Implementazione in linguaggio C dell ADT Stack con l utilizzo di linked list Laboratorio di Programmazione Introduzione un ADT (Abstract Data Type) è un modello (formale) che generalizza

Dettagli

Funzioni, Stack e Visibilità delle Variabili in C

Funzioni, Stack e Visibilità delle Variabili in C Funzioni, Stack e Visibilità delle Variabili in C Programmazione I e Laboratorio Corso di Laurea in Informatica A.A. 2016/2017 Calendario delle lezioni Lez. 1 Lez. 2 Lez. 3 Lez. 4 Lez. 5 Lez. 6 Lez. 7

Dettagli

VISUAL BASIC FOR APPLICATION

VISUAL BASIC FOR APPLICATION VISUAL BASIC FOR APPLICATION LA PIATTAFORMA DI SVILUPPO GLI ELEMENTI DI VBA Finestra di progetto: mostra l elenco gerarchico dei progetti aperti e di tutti i moduli di codice e finestre di interfaccia

Dettagli

Laboratorio di Programmazione Lezione 3. Cristian Del Fabbro

Laboratorio di Programmazione Lezione 3. Cristian Del Fabbro Laboratorio di Programmazione Lezione 3 Cristian Del Fabbro Prossima lezione GIOVEDÌ 12 NOVEMBRE ORE 14:00 Array a.k.a. vettore Un array è una collezione ordinata di dati omogenei (cioé sono tutti dello

Dettagli

MINIMANUALE VBA PER CREARE MACRO NEI FOGLI EXCEL

MINIMANUALE VBA PER CREARE MACRO NEI FOGLI EXCEL MINIMANUALE VBA PER CREARE MACRO NEI FOGLI EXCEL ISTRUZIONI PIU COMUNI: Le istruzioni per scrivere del testo dentro una cella sono principalmente due: cells e range L istruzione cells permette di scrivere

Dettagli

I PUNTATORI E LE STRUTTURE DATI DINAMICHE. Cosimo Laneve/Ivan Lanese

I PUNTATORI E LE STRUTTURE DATI DINAMICHE. Cosimo Laneve/Ivan Lanese I PUNTATORI E LE STRUTTURE DATI DINAMICHE Cosimo Laneve/Ivan Lanese argomenti 1. dichiarazioni di puntatori 2. le operazione su puntatori (NULL, new, delete, &, *) 3. puntatori passati come parametri e

Dettagli

Struttura dati astratta Coda

Struttura dati astratta Coda CODE Struttura dati astratta Coda La coda o queue è una struttura dati astratta in cui l'inserimento e l estrazione sono consentite solo in specifiche posizioni; in particolare, l'inserimento è consentito

Dettagli

Costanti e Variabili

Costanti e Variabili Parte 3 Costanti e Variabili Identificatori Un identificatore è un nome che viene associato a diverse entità (costanti, tipi, variabili, funzioni, ecc.) e serve ad identificare la particolare entità Gli

Dettagli

Lettura da tastiera e scrittura su monitor

Lettura da tastiera e scrittura su monitor Lettura da tastiera e scrittura su monitor Per poter leggere UN SINGOLO CARATTERE dalla tastiera e visualizzare UN SINGOLO CARATTERE sul monitor si possono utilizzare le funzioni: int getchar (void) (per

Dettagli

Definire una chiave primaria. Microsoft Access. Definire una chiave primaria. Definire una chiave primaria. Definire una chiave primaria

Definire una chiave primaria. Microsoft Access. Definire una chiave primaria. Definire una chiave primaria. Definire una chiave primaria Microsoft Access Chiavi, struttura delle tabelle 1. Portare la tabella in Visualizzazione struttura Selezionare la tabella sulla quale si desidera intervenire nella finestra del database Poi: Fare clic

Dettagli

Contenitori: Pile e Code

Contenitori: Pile e Code Contenitori: Pile e Code D O T T. I N G. L E O N A R D O R I G U T I N I D I PA R T I M E N T O I N G E G N E R I A D E L L I N F O R M A Z I O N E U N I V E R S I T À D I S I E N A V I A R O M A 5 6 5

Dettagli

LE STRUTTURE DATI DINAMICHE: GLI ALBERI. Cosimo Laneve

LE STRUTTURE DATI DINAMICHE: GLI ALBERI. Cosimo Laneve LE STRUTTURE DATI DINAMICHE: GLI ALBERI Cosimo Laneve 1 argomenti 1. definizione di alberi e nozioni relative 2. implementazione degli alberi, creazione, visita 3. algoritmo di visita iterativa e sua implementazione

Dettagli

U.T.E FOGLIO ELETTRONICO. Università della Terza Età. Sede di Novate Milanese. Corso Informatica Approfondimento. Docente: Giovanni Pozzi

U.T.E FOGLIO ELETTRONICO. Università della Terza Età. Sede di Novate Milanese. Corso Informatica Approfondimento. Docente: Giovanni Pozzi U.T.E Università della Terza Età Sede di Novate Milanese Corso Informatica Approfondimento FOGLIO ELETTRONICO Docente: Giovanni Pozzi FOGLIO ELETTRONICO MS-Excel E un programma che permette di effettuare:

Dettagli

per immagini guida avanzata Modificare il contenuto del foglio di lavoro Geometra Luigi Amato Guida Avanzata per immagini Excel 2000 1

per immagini guida avanzata Modificare il contenuto del foglio di lavoro Geometra Luigi Amato Guida Avanzata per immagini Excel 2000 1 Modificare il contenuto del foglio di lavoro Geometra Luigi Amato Guida Avanzata per immagini Excel 2000 1 Selezione delle celle per immagini guida avanzata La cella attiva è la B7 Selezionare una cella

Dettagli

U.T.E Università della Terza Età

U.T.E Università della Terza Età U.T.E Università della Terza Età Sede di Novate Milanese Corso Informatica Approfondimento FOGLIO ELETTRONICO Docente: Giovanni Pozzi FOGLIO ELETTRONICO MS-Excel E un programma che permette di effettuare:

Dettagli

Perché il linguaggio C?

Perché il linguaggio C? Il linguaggio C 7 Perché il linguaggio C? Larga diffusione nel software applicativo Standard di fatto per lo sviluppo di software di sistema Visione a basso livello della memoria Capacità di manipolare

Dettagli

Menù principale di Calc

Menù principale di Calc Menù principale di Calc Status bar Informazioni generali! All'apertura si visualizza una cartella il cui nome è mostrato nella title bar;! Una cartella contiene più fogli di lavoro. Ci si può spostare

Dettagli

Pile: implementazione. Pile: implementazione. Pile: implementazione con array. Pile: implementazione con array. Pile: implementazione con array

Pile: implementazione. Pile: implementazione. Pile: implementazione con array. Pile: implementazione con array. Pile: implementazione con array Sommario Pile: Implementazione con Array Esempio: algoritmo per il controllo del bilanciamento delle parentesi. Tipi riferimento Pile: implementazione Si consideri ora la realizzazione della pila. Si sono

Dettagli

Grafici. 1 Generazione di grafici a partire da un foglio elettronico

Grafici. 1 Generazione di grafici a partire da un foglio elettronico Grafici In questa parte analizzeremo le funzionalità relative ai grafici. In particolare: 1. Generazione di grafici a partire da un foglio elettronico 2. Modifica di un grafico 1 Generazione di grafici

Dettagli

18 - Vettori. Programmazione e analisi di dati Modulo A: Programmazione in Java. Paolo Milazzo

18 - Vettori. Programmazione e analisi di dati Modulo A: Programmazione in Java. Paolo Milazzo 18 - Vettori Programmazione e analisi di dati Modulo A: Programmazione in Java Paolo Milazzo Dipartimento di Informatica, Università di Pisa http://pages.di.unipi.it/milazzo milazzo di.unipi.it Corso di

Dettagli

Astrazione Dati. Nicola Fanizzi. Linguaggi di Programmazione [010194] 10 mag, Dipartimento di Informatica Università degli Studi di Bari

Astrazione Dati. Nicola Fanizzi. Linguaggi di Programmazione [010194] 10 mag, Dipartimento di Informatica Università degli Studi di Bari Astrazione Dati Nicola Fanizzi Dipartimento di Informatica Università degli Studi di Bari Linguaggi di Programmazione [010194] 10 mag, 2016 Sommario 1 Astrazione dati Incapsulamento Esempio / ADT pila

Dettagli

Esercitazione n 2. Obiettivi

Esercitazione n 2. Obiettivi Esercitazione n 2 Obiettivi Progettazione di una applicazione Java Utilizzo di classi come schemi Utilizzo di costruttori Utilizzo di stringhe Uguaglianza tra oggetti Utilizzo di classi come componenti

Dettagli

Esercizio 1: funzione con valore di ritorno di tipo puntatore

Esercizio 1: funzione con valore di ritorno di tipo puntatore Esercitazione Fondamenti di Informatica B Corso di Laurea in Ingegneria Meccanica 7 Esercitazione: 14 dicembre 2005 Esercizi su ricorsione, manipolazione stringhe, strutture dinamiche Problema: Esercizio

Dettagli

Implementazione dell albero binario in linguaggio C++

Implementazione dell albero binario in linguaggio C++ Implementazione dell albero binario in linguaggio C++ Costruire il programma per gestire le operazioni su un albero binario. Ogni nodo dell albero contiene un codice e una descrizione; il programma deve

Dettagli

Label Rappresenta del testo solitamente fisso oppure modificabile dal programma, quindi può essere

Label Rappresenta del testo solitamente fisso oppure modificabile dal programma, quindi può essere Come creare un programma Aprire Qt Creator e selezionare Qt GUI Application e seguire le istruzioni. Main Window É la finestra principale, viene creata all apertura del progetto, se si vuole cambiare il

Dettagli

Tabelle. Verdi A. Bianchi B. Rossi C. 12/02 Trasferta a Milano. Corso in sede. Riunione Ispettori a Milano Riunione in sede.

Tabelle. Verdi A. Bianchi B. Rossi C. 12/02 Trasferta a Milano. Corso in sede. Riunione Ispettori a Milano Riunione in sede. 1 Tabelle Una tabella è una griglia composta da righe e colonne: l intersezione fra una riga e una colonna si chiama cella ed è un elemento di testo indipendente che può avere un proprio formato. Spesso,

Dettagli

Esempio su strutture dati dinamiche: ArrayList

Esempio su strutture dati dinamiche: ArrayList Esempio su strutture dati dinamiche: ArrayList 1 ArrayList! Abbiamo detto che gli array non possono cambiare la propria dimensione: il numero di elementi contenuti viene stabilito al momento della creazione

Dettagli

Modulo 2: Strutture fondamentali della programmazione Java

Modulo 2: Strutture fondamentali della programmazione Java Modulo 2: Strutture fondamentali della programmazione Java Argomenti Trattati: Un semplice programma Java: Presentazione di un primo Esempio; Introduzione alla struttura; Compilazione ed esecuzione. Argomenti

Dettagli

Uso di Optimax MPL OptiMax

Uso di Optimax MPL OptiMax Uso di Optimax 2000 Daniele Vigo D.E.I.S. - Università di Bologna dvigo@deis.unibo.it rev. 1.0 - gennaio 2003 MPL OptiMax OptiMax 2000 è una libreria di oggetti che rende disponibile le funzionalità di

Dettagli

Gli Array. Dichiarazione di un array

Gli Array. Dichiarazione di un array Gli Array Un array rappresenta una variabile indicizzata (ovvero contenente un indice) che viene utilizzata per contenere più elementi dello stesso tipo. Ogni array ha un nome al quale viene associato

Dettagli

Programma Dismissione_Apparecchi_Comma6_A

Programma Dismissione_Apparecchi_Comma6_A Programma Dismissione_Apparecchi_Comma6_A Il programma consente al produttore/importatore di apparecchio di acquisire l elenco degli apparecchi comma 6 a) di cui all art. 110 del T.U.L.P.S., da allegare

Dettagli

C# delegates. Vittorio Maniezzo Università di Bologna. Vittorio Maniezzo Università di Bologna 1. Delegate

C# delegates. Vittorio Maniezzo Università di Bologna. Vittorio Maniezzo Università di Bologna 1. Delegate C# delegates Vittorio Maniezzo Università di Bologna Vittorio Maniezzo Università di Bologna 1 Delegate I delegati possono essere visti come definizioni di tipi per puntatori a funzione. Permettono di

Dettagli

Informatica 3. Informatica 3. LEZIONE 13: Liste doppie, pile e code. Lezione 13 - Modulo 1. Free list (2) Free list. Free list

Informatica 3. Informatica 3. LEZIONE 13: Liste doppie, pile e code. Lezione 13 - Modulo 1. Free list (2) Free list. Free list LEZIONE 13: Liste doppie, pile e code Modulo 1: Free list Modulo 2: Lista doppia Modulo 3: Pila Modulo 4: Coda Lezione 13 - Modulo 1 Free list Politecnico di Milano - Prof. Sara Comai 1 Politecnico di

Dettagli

Linguaggi di Programmazione

Linguaggi di Programmazione Linguaggi di Programmazione Corso di Laurea in Informatica Astrarre sui dati Valeria Carofiglio (Questo materiale è una rivisitazione del materiale prodotto da Nicola Fanizzi) Obiettivi tipi di dato astratti

Dettagli

Vademecum inserimento Modello Organizzativo attraverso

Vademecum inserimento Modello Organizzativo attraverso Vademecum inserimento Modello Organizzativo attraverso Valeri@ Il modello organizzativo dell ufficio, inserito dagli uffici giudiziari attraverso le pagine web Valeri@, è stato modificato per tenere conto

Dettagli

Puntatori. Obiettivi: Richiamare quanto noto sui puntatori dal modulo A Presentare l analogia tra puntatori e vettori e l aritmetica dei puntatori

Puntatori. Obiettivi: Richiamare quanto noto sui puntatori dal modulo A Presentare l analogia tra puntatori e vettori e l aritmetica dei puntatori Puntatori Obiettivi: Richiamare quanto noto sui puntatori dal modulo A Presentare l analogia tra puntatori e vettori e l aritmetica dei puntatori 1 Il puntatore Un tipo puntatore è un tipo scalare per

Dettagli

Lezione 11 programmazione in Java. Anteprima. Gestione della memoria

Lezione 11 programmazione in Java. Anteprima. Gestione della memoria Lezione 11 programmazione in Java Nicola Drago nicola.drago@univr.it Dipartimento di Informatica Università di Verona Anteprima Gestione della Memoria Dati dinamici e statici Il passaggio di parametri

Dettagli

ADT: Abstract Data Type. Quasi ADT. ADT per collezioni di dati (code generalizzate) 04 I tipi di dati astratti (I parte)

ADT: Abstract Data Type. Quasi ADT. ADT per collezioni di dati (code generalizzate) 04 I tipi di dati astratti (I parte) ADT: Abstract Data Type I tipi di dati astratti (I parte) Gianpiero Cabodi e Paolo Camurati Dip. Automatica e Informatica Politecnico di Torino Scopo Livello di astrazione sui dati tale da mascherare completamente

Dettagli

Strutture Dinamiche. Fondamenti di Informatica

Strutture Dinamiche. Fondamenti di Informatica Strutture Dinamiche Fondamenti di Informatica 1 Indice Allocazione e de-allocazione di memoria Liste e loro gestione Companies, srl 2 Allocazione e cancellazione di memoria malloc (sizeof (TipoDato));

Dettagli

Laboratorio di Informatica

Laboratorio di Informatica Strutture di dati Laboratorio di Informatica 5. Strutture / Array di oggetti / Pila&Coda in C++ Una struttura è un insieme finito di variabili (dette campi) non necessariamente dello stesso tipo, ognuna

Dettagli

Inserire un nuovo foglio

Inserire un nuovo foglio Excel Base- Lezione 2 Inserire un nuovo foglio 1. Nella parte inferiore della finestra di lavoro sulla sinistra, fare clic sulla linguetta del foglio, a sinistra del quale se ne desidera aggiungere uno

Dettagli

Avviate Specifi dall icona presente sul vostro Desktop.

Avviate Specifi dall icona presente sul vostro Desktop. Avviate Specifi dall icona presente sul vostro Desktop. Nota: Se state utilizzando una versione dimostrativa, una volta caricato il programma, un messaggio vi comunicherà i giorni rimanenti del periodo

Dettagli

Università degli Studi di Cassino Corso di Fondamenti di Informatica Tipi strutturati: Stringhe. Anno Accademico 2010/2011 Francesco Tortorella

Università degli Studi di Cassino Corso di Fondamenti di Informatica Tipi strutturati: Stringhe. Anno Accademico 2010/2011 Francesco Tortorella Corso di Informatica Tipi strutturati: Stringhe Anno Accademico 2010/2011 Francesco Tortorella Stringhe di caratteri La stringa è il tipo strutturato con cui vengono rappresentati gruppi di caratteri quali

Dettagli

Esercizi Scratch: Sensori

Esercizi Scratch: Sensori Esercizi Scratch: Sensori Animazione usando i blocchi sensori I blocchi sensori consentono di ottenere informazioni dallo stato degli oggetti che fanno parte dell'applicazione. Lo stato dell'applicazione

Dettagli

ACCESS. Database: archivio elettronico, dotato di un programma di interfaccia che facilita la registrazione e la ricerca dei dati.

ACCESS. Database: archivio elettronico, dotato di un programma di interfaccia che facilita la registrazione e la ricerca dei dati. ACCESS Database: archivio elettronico, dotato di un programma di interfaccia che facilita la registrazione e la ricerca dei dati. Database Relazionale: tipo di database attualmente più diffuso grazie alla

Dettagli

Raccolta di tutorial Python #1: basi e Tkinter dal sito francescomilanese.com SOMMARIO

Raccolta di tutorial Python #1: basi e Tkinter dal sito francescomilanese.com SOMMARIO Prima parte: le basi di Python 1. Introduzione. Cosa ci serve, cosa è richiesto, cosa faremo. Note sull'indentazione 1 Introduzione 1 Scrittura degli script: l'idle 2 Importare moduli in uno script 3 I

Dettagli

Tutorial 18. Come creare uno stipite personalizzato e inserirlo in libreria

Tutorial 18. Come creare uno stipite personalizzato e inserirlo in libreria Tutorial 18. Come creare uno stipite personalizzato e inserirlo in libreria Con questo tutorial imparerete velocemente come creare degli oggetti parametrici personalizzati e inserirli in libreria. Inoltre,

Dettagli

Informatica 1. Prova di recupero 21 Settembre 2001

Informatica 1. Prova di recupero 21 Settembre 2001 Informatica 1 Prova di recupero 21 Settembre 2001 Si risolvano i seguenti esercizi. Ai fini della determinazione del voto finale il loro punteggio andrà sommato al punteggio del laboratorio. Il tempo complessivo

Dettagli

DESIGNA (Distributed Environment to Support Individual and General Needs Accomodation) MANUALE PER LA STRUTTURA RICETTIVA

DESIGNA (Distributed Environment to Support Individual and General Needs Accomodation) MANUALE PER LA STRUTTURA RICETTIVA DESIGNA (Distributed Environment to Support Individual and General Needs Accomodation) MANUALE PER LA STRUTTURA RICETTIVA v. 1.3 del 18 gennaio 2017 Indice 0. Informazioni di base... 3 0.1. Operazioni

Dettagli

Programmazione orientata agli oggetti. Ivan Lanese

Programmazione orientata agli oggetti. Ivan Lanese Programmazione orientata agli oggetti Ivan Lanese Argomenti Programmazione orientata agli oggetti Classi Oggetti Costruttori Scrivere grosse applicazioni La gran parte delle applicazioni sono GROSSE Windows

Dettagli

Abstact Data Type. Abstact Data Type. Pubblico e privato. Struttura di un ADT

Abstact Data Type. Abstact Data Type. Pubblico e privato. Struttura di un ADT Abstact Data Type 2 Abstact Data Type Ver. 2.4 ADT, definisce un concetto astratto e il suo comportamento Viene utilizzato come una scatola nera (oggetto) di cui è visibile solo che cosa fa e non come

Dettagli

Linguaggio C: le funzioni. Visibilità variabili e passaggio parametri

Linguaggio C: le funzioni. Visibilità variabili e passaggio parametri Dipartimento di Elettronica ed Informazione Politecnico di Milano Informatica e CAD (c.i.) - ICA Prof. Pierluigi Plebani A.A. 2008/2009 Linguaggio C: le funzioni. Visibilità variabili e passaggio parametri

Dettagli

GUIDA ALLA COMPILAZIONE DELLA CERTIFICAZIONE UNICA 2015

GUIDA ALLA COMPILAZIONE DELLA CERTIFICAZIONE UNICA 2015 GUIDA ALLA COMPILAZIONE DELLA CERTIFICAZIONE UNICA 2015 L'applicazione Certificazione Unica 2015 è un prodotto che consente la compilazione della certificazione unica, verifica la correttezza formale dei

Dettagli

1. GESTIONE DELLA LIBRERIA

1. GESTIONE DELLA LIBRERIA 1. GESTIONE DELLA LIBRERIA La libreria è uno spazio virtuale messo a disposizione dal sistema per contenere tutti i documenti che potrebbero rendersi utili nella creazione di un PASSOE. Le funzioni che

Dettagli

Word 2003 Elementi Grafici

Word 2003 Elementi Grafici Word 2003 Elementi Grafici Aggiungere contenuti grafici al documento 1 Elementi grafici Word 2003 offre molti strumenti per trasformare un semplice documento testuale in una composizione visiva ricca di

Dettagli

Puntatori in C Lucidi della Pof.ssa Pazienza

Puntatori in C Lucidi della Pof.ssa Pazienza Puntatori in C Lucidi della Pof.ssa Pazienza http://www.uniroma2.it/didattica/foi2/ Puntatori L operatore di indirizzo & Indirizzi, puntatori Aritmetica dei puntatori L operatore di dereferenziazione *

Dettagli

Configurazione degli Avvisi di Sistema. Mike McBride Traduzione del documento: Samuele Kaplun Traduzione e revisione del documento: Luigi Toscano

Configurazione degli Avvisi di Sistema. Mike McBride Traduzione del documento: Samuele Kaplun Traduzione e revisione del documento: Luigi Toscano Configurazione degli Avvisi di Sistema Mike McBride Traduzione del documento: Samuele Kaplun Traduzione e revisione del documento: Luigi Toscano 2 Indice 1 Configurazione degli Avvisi di Sistema 4 1.1

Dettagli

La struttura dati CODA

La struttura dati CODA Programmazione M-Z Ingegneria e Scienze Informatiche - Cesena A.A. 2016-2017 La struttura dati CODA Pietro Di Lena - pietro.dilena@unibo.it Introduzione Una coda (o queue) è una struttura dati astratta

Dettagli

Introduzione alla programmazione in linguaggio C

Introduzione alla programmazione in linguaggio C Introduzione alla programmazione in linguaggio C Il primo programma in C commento Header della libreria Funzione principale Ogni istruzione in C va terminata con un ; Corso di Informatica AA. 2007-2008

Dettagli

Client - Interfaccia - Implementazione

Client - Interfaccia - Implementazione Client - Interfaccia - Implementazione Violetta Lonati Università degli studi di Milano Dipartimento di Informatica Laboratorio di algoritmi e strutture dati Corso di laurea in Informatica Violetta Lonati

Dettagli

Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 2

Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 2 Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 2 Dispensa 09 ADT: Lista, Pila, Coda A. Miola Marzo 2007 http://www.dia.uniroma3.it/~java/fondinf2/ ADT: Lista, Pila, Coda 1 Contenuti Tipo

Dettagli

Programmazione ad oggetti

Programmazione ad oggetti Programmazione ad oggetti OOP La programmazione orientata agli oggetti (Object Oriented Programming) ha l obiettivo di formalizzare gli oggetti del mondo reale e di costruire con questi un mondo virtuale.

Dettagli

Corso di Reti di Calcolatori L-A

Corso di Reti di Calcolatori L-A Università degli Studi di Bologna Facoltà di Ingegneria Corso di Reti di Calcolatori L-A Esercitazione 9 (svolta) RPC: Inizializzazione Strutture Dati sul Server Luca Foschini Anno accademico 2010/2011

Dettagli

Corso di Access. Prerequisiti. Modulo L2 A (Access) Le query

Corso di Access. Prerequisiti. Modulo L2 A (Access) Le query Corso di Access Modulo L2 A (Access) 2.3.1 Le query 1 Prerequisiti Concetto di database relazionale Utilizzo elementare del computer Concetti fondamentali di basi di dati Interrogazione di un DB 2 1 Introduzione

Dettagli

Inoltrare un messaggio.

Inoltrare un messaggio. Reti informatiche 359 7.5.3.9 Inoltrare un messaggio. È possibile spedire ad altri un messaggio inviato o ricevuto in precedenza. Al destinatario verrà recapitato il messaggio originale nel quale compariranno

Dettagli

Linguaggio Macchina. Linguaggio Macchina. Linguaggio Macchina. Linguaggio Macchina ADD A,B ISTRUZIONE SUCCESSIVA

Linguaggio Macchina. Linguaggio Macchina. Linguaggio Macchina. Linguaggio Macchina ADD A,B ISTRUZIONE SUCCESSIVA Lezione n.11 n.11 Lezione n. 11 ARCHITETTURA INTERNA ARCHITETTURA ESTERNA CODICE MACCHINA MODI DI INDIRIZZAMENTO ARCHITETTURE A PIU' INDIRIZZI In questa lezione verranno introdotti i concetti di base relativi

Dettagli

Utilizzo delle Maschere in Microsoft Access

Utilizzo delle Maschere in Microsoft Access Utilizzo delle Maschere in Microsoft Access Uso delle maschere Permettono di definire delle interfacce grafiche per la gestione dei dati del database Permettono di realizzare delle piccole applicazioni

Dettagli

Introduzione al MATLAB c Parte 3 Script e function

Introduzione al MATLAB c Parte 3 Script e function Introduzione al MATLAB c Parte 3 Script e function Lucia Gastaldi DICATAM - Sezione di Matematica, http://lucia-gastaldi.unibs.it Indice 1 M-file di tipo Script e Function Script Function 2 Gestione dell

Dettagli

4 Le liste collegate 4.0. Le liste collegate. 4 Le liste collegate Rappresentazione di liste 4.1 Rappresentazione di liste

4 Le liste collegate 4.0. Le liste collegate. 4 Le liste collegate Rappresentazione di liste 4.1 Rappresentazione di liste 4 Le liste collegate 4.0 Le liste collegate c Diego Calvanese Fondamenti di Informatica Corso di Laurea in Ingegneria Elettronica A.A. 2001/2002 4.0 0 4 Le liste collegate Rappresentazione di liste 4.1

Dettagli

Capitolo 2. Figura 21. Inserimento dati

Capitolo 2. Figura 21. Inserimento dati Capitolo 2 INSERIMENTO DI DATI In ogni cella del foglio di lavoro è possibile inserire dati che possono essere di tipo testuale o numerico, oppure è possibile inserire formule le quali hanno la caratteristica

Dettagli

Relazioni. Microsoft Access. Relazioni. Relazioni

Relazioni. Microsoft Access. Relazioni. Relazioni Relazioni Microsoft Access Relazioni In Access, le relazioni non sono le relazioni del modello relazionale! Relazioni: legate ai concetti di Join Integrità referenziale Relazioni I tipi di relazione possono

Dettagli

Laboratorio di Informatica

Laboratorio di Informatica Liste semplici (semplicemente linkate) Una lista semplice e costituita da nodi Laboratorio di Informatica 7. Strutture complesse di dati in C++ Ogni nodo e una struttura che contiene : Dati Un riferimento

Dettagli

Area Gestione Reddituale 1. Campagna RED Italia. Manuale operativo della procedura di acquisizione

Area Gestione Reddituale 1. Campagna RED Italia. Manuale operativo della procedura di acquisizione 1 Campagna RED Italia Manuale operativo della procedura di acquisizione Indirizzo e-mail: RedditiWeb@inps.it Versione: 1.0 Data: 2 Versioni Versione Data Descrizione Modifiche 1.0 04/07/2013 Prima versione

Dettagli

14Ex-Cap11.qxd :20 Pagina Le macro

14Ex-Cap11.qxd :20 Pagina Le macro 14Ex-Cap11.qxd 21-12-2006 11:20 Pagina 203 11 Le macro Creare le macro Registrare una macro Eseguire una macro Riferimenti assoluti e relativi nelle macro Assegnare un pulsante a una macro Modificare una

Dettagli

TUTORIAL LIBRI IN SIMBOLI

TUTORIAL LIBRI IN SIMBOLI TUTORIAL LIBRI IN SIMBOLI Questo tutorial guida alla costruzione di un libro in simboli utilizzando il programma SYMWRITER e OPENOFFICE DRAW. I programmi devono essere aperti entrambi. Si consiglia di

Dettagli

Argomenti Avanzati.! I puntatori! Stack! Visibilità delle Variabili

Argomenti Avanzati.! I puntatori! Stack! Visibilità delle Variabili Linguaggio C Argomenti Avanzati! I puntatori! Stack! Visibilità delle Variabili 2 ! Il C consente di associare ai tipi di dati nomi definiti dal programmatore, mediante la parola chiave typedef! Dal punto

Dettagli

EXCEL: FORMATTAZIONE E FORMULE

EXCEL: FORMATTAZIONE E FORMULE EXCEL: FORMATTAZIONE E FORMULE Test VERO o FALSO (se FALSO giustifica la risposta) 1) In excel il contenuto di una cella viene visualizzato nella barra di stato 2) In excel il simbolo = viene utilizzato

Dettagli

Corso: Fondamenti di Informatica (Canale 5) a.a Corsi di laurea: Ing. Settore Informazione

Corso: Fondamenti di Informatica (Canale 5) a.a Corsi di laurea: Ing. Settore Informazione Domanda n. 1 Corso: Fondamenti di Informatica (Canale 5) a.a. 2016-17 Corsi di laurea: Ing. Settore Informazione Questionario a Risposte Multiple per auto-valutazione del Lab10 Argomento: Algoritmi e complessita'

Dettagli

Manuale Servizio BLOG

Manuale Servizio BLOG Manuale Servizio BLOG Data ultima stampa DD/02/YYYY 16:02:00 A2/P2 Pag. 1 di 14 REDAZIONE Revisione Redatto da Funzione Data Approvato da Funzione Data 00 Silvia Governatori Analista funzionale junior

Dettagli

Do-Dots Guida alla scrittura. Ultimo aggiornamento 5 agosto 2010

Do-Dots Guida alla scrittura. Ultimo aggiornamento 5 agosto 2010 Do-Dots Guida alla scrittura Ultimo aggiornamento 5 agosto 2010 rev1 - Stesura iniziale 14/05/2010 do-dots Guida alla scrittura dei Dot Introduzione Do-Dots è un framework che facilita la comunicazione

Dettagli

PILE E CODE. Pile (stack):

PILE E CODE. Pile (stack): PILE E CODE Sono tipi di dato che consentono di rappresentare sequenze di elementi in cui gli inserimenti e le cancellazioni sono eseguiti con particolari modalita` (politiche o discipline). Pile (stack):

Dettagli

Le basi del linguaggio Java

Le basi del linguaggio Java Le basi del linguaggio Java Compilazione e interpretazione Quando si compila il codice sorgente scritto in Java, il compilatore genera il codice compilato, chiamato bytecode. È un codice generato per una

Dettagli

3.2 Avvio del Programma

3.2 Avvio del Programma Capitolo 3- Avvio del Programma 3.2 Avvio del Programma L avvio di 626 RUMORE avviene cliccando sull icona posta sul desktop in fase di installazione o lanciando il file eseguibile 626 RUMORE posto nella

Dettagli

Alberi ed Alberi Binari

Alberi ed Alberi Binari Alberi ed Alberi Binari Il tipo di dato Albero Un albero è una struttura di data organizzata gerarchicamente. È costituito da un insieme di nodi collegati tra di loro: ogni nodo contiene dell informazione,

Dettagli

Documento di Analisi. Mockup

Documento di Analisi. Mockup Documento di Analisi Studente: Marco Micera Matricola: 502797 Mockup Breve descrizione Questa semplice applicazione consente all utente di visualizzare le proprie spese finanziarie. A seconda del periodo

Dettagli

C: panoramica. Violetta Lonati

C: panoramica. Violetta Lonati C: panoramica Violetta Lonati Università degli studi di Milano Dipartimento di Scienze dell Informazione Laboratorio di algoritmi e strutture dati Corso di laurea in Informatica AA 2009/2010 Violetta Lonati

Dettagli

File e puntatori a file

File e puntatori a file File e puntatori a file Vitoantonio Bevilacqua vitoantonio.bevilacqua@poliba.it La libreria stdio.h mette a disposizione delle funzioni che hanno la peculiarità di trattare con questa nuova tipologia di

Dettagli

Corso sul PACCHETTO OFFICE. Modulo Access

Corso sul PACCHETTO OFFICE. Modulo Access Corso sul PACCHETTO OFFICE Modulo Access Docente: dott. Marco Cardani Lezione 2 Come creare un database 1 2 Come creare un database Impareremo ora come creare un nuovo database in modo da raggiungere un

Dettagli

Programmazione web lato client con JavaScript. Marco Camurri 1

Programmazione web lato client con JavaScript. Marco Camurri 1 Programmazione web lato client con JavaScript Marco Camurri 1 JavaScript E' un LINGUAGGIO DI PROGRAMMAZIONE che consente di inserire codice in una pagina web Sintassi simile a Java (e al C), ma NON E'

Dettagli