Le Liste. Elisa Marengo. Università degli Studi di Torino Dipartimento di Informatica. Elisa Marengo (UNITO) Le Liste 1 / 31
|
|
- Dante Cara
- 8 anni fa
- Visualizzazioni
Transcript
1 Le Liste Elisa Marengo Università degli Studi di Torino Dipartimento di Informatica Elisa Marengo (UNITO) Le Liste 1 / 31
2 Cos è una Lista Una lista è una collezione di elementi omogenei che: potrebbero non essere allocati in modo contiguo; il cui numero non è noto a priori e può variare durante l esecuzione del programma Si noti la differenza con gli array. Elisa Marengo (UNITO) Le Liste 2 / 31
3 Come si rappresenta una lista? Ogni elemento della lista: può contenere una o più informazioni memorizzate in campi contiene necessariamente un puntatore che lo lega all elemento successivo della lista Elisa Marengo (UNITO) Le Liste 3 / 31
4 Definizione di una lista Elemento struct elemento { int inf ; elemento * next ; ; inf contiene un valore intero (un informazione) next contiene il riferimento al prossimo elemento nella lista il campo next dell ultimo elemento sarà 0 (null); puntatore a struttura elemento altrimenti. Elisa Marengo (UNITO) Le Liste 4 / 31
5 Definizione di una lista Lista elemento * lista ; lista = new elemento ; Una lista è il puntatore al primo elemento della lista Se la lista è vuota il puntatore sarà nullo (0) Elisa Marengo (UNITO) Le Liste 5 / 31
6 Memorizzazione e Lettura di una lista Gli elementi di una lista Potrebbero non essere memorizzati in modo contiguo; Per scorrere una lista bisogna scorrere ogni elemento usando un puntatore; L ultimo elemento della lista è quello il cui puntatore all elemento successivo è null; Elisa Marengo (UNITO) Le Liste 6 / 31
7 Memorizzazione e Lettura di una lista Gli elementi di una lista Potrebbero non essere memorizzati in modo contiguo; Per scorrere una lista bisogna scorrere ogni elemento usando un puntatore; L ultimo elemento della lista è quello il cui puntatore all elemento successivo è null; Elisa Marengo (UNITO) Le Liste 7 / 31
8 Memorizzazione e Lettura di una lista Gli elementi di una lista Potrebbero non essere memorizzati in modo contiguo; Per scorrere una lista bisogna scorrere ogni elemento usando un puntatore; L ultimo elemento della lista è quello il cui puntatore all elemento successivo è null; Elisa Marengo (UNITO) Le Liste 8 / 31
9 Programma sulle liste Scrivere un programma che 1 permetta di memorizzare una lista composta di interi, chiedendo i dati da inserire all utente; 2 stampi gli elementi che compongono la lista. Elisa Marengo (UNITO) Le Liste 9 / 31
10 Programma sulle liste struct elemento { int inf ; elemento * next ; ; // Prototipi delle funzioni elemento * crea_ lista (); void visualizza_ lista ( elemento *); main (){ elemento * lista = crea_ lista (); visualizza_ lista ( lista ); Elisa Marengo (UNITO) Le Liste 10 / 31
11 Creazione della lista elemento c r e a l i s t a (){ elemento p, punt ; i n t n ; cout<< I n s e r i r e i l numero d i e l e m e n t i ; cin>>n ; i f ( n==0){ p = 0 ; // l i s t a vuota e l s e { // primo e l emento p = new elemento ; c i n>>p >i n f ; punt=p ; // e l e m e n t i r e s t a n t i f o r ( i n t i =2; i<=n ; i ++){ punt >next = new elemento ; punt = punt >next ; c i n>>punt >i n f ; punt >n e x t = 0 ; r e t u r n p ; Elisa Marengo (UNITO) Le Liste 11 / 31
12 Creazione della lista elemento c r e a l i s t a (){ elemento p, punt ; i n t n ; cout<< I n s e r i r e i l numero d i e l e m e n t i ; cin>>n ; i f ( n==0){ p = 0 ; // l i s t a vuota e l s e { // primo elemento p = new elemento ; c i n>>p >i n f ; punt=p ; // e l e m e n t i r e s t a n t i f o r ( i n t i =2; i<=n ; i ++){ punt >next = new elemento ; punt = punt >next ; c i n>>punt >i n f ; punt >n e x t = 0 ; r e t u r n p ; Elisa Marengo (UNITO) Le Liste 12 / 31
13 Creazione della lista elemento c r e a l i s t a (){ elemento p, punt ; i n t n ; cout<< I n s e r i r e i l numero d i e l e m e n t i ; cin>>n ; i f ( n==0){ p = 0 ; // l i s t a vuota e l s e { // primo elemento p = new elemento; c i n>>p >i n f ; punt=p ; // e l e m e n t i r e s t a n t i f o r ( i n t i =2; i<=n ; i ++){ punt >next = new elemento ; punt = punt >next ; c i n>>punt >i n f ; punt >n e x t = 0 ; r e t u r n p ; Elisa Marengo (UNITO) Le Liste 13 / 31
14 Creazione della lista elemento c r e a l i s t a (){ elemento p, punt ; i n t n ; cout<< I n s e r i r e i l numero d i e l e m e n t i ; cin>>n ; i f ( n==0){ p = 0 ; // l i s t a vuota e l s e { // primo elemento p = new elemento ; cin>> p > inf; punt=p ; // e l e m e n t i r e s t a n t i f o r ( i n t i =2; i<=n ; i ++){ punt >next = new elemento ; punt = punt >next ; c i n>>punt >i n f ; punt >n e x t = 0 ; r e t u r n p ; Elisa Marengo (UNITO) Le Liste 14 / 31
15 Creazione della lista elemento c r e a l i s t a (){ elemento p, punt ; i n t n ; cout<< I n s e r i r e i l numero d i e l e m e n t i ; cin>>n ; i f ( n==0){ p = 0 ; // l i s t a vuota e l s e { // primo elemento p = new elemento ; c i n>>p >i n f ; punt=p; // e l e m e n t i r e s t a n t i f o r ( i n t i =2; i<=n ; i ++){ punt >next = new elemento ; punt = punt >next ; c i n>>punt >i n f ; punt >n e x t = 0 ; r e t u r n p ; Elisa Marengo (UNITO) Le Liste 15 / 31
16 Creazione della lista elemento c r e a l i s t a (){ elemento p, punt ; i n t n ; cout<< I n s e r i r e i l numero d i e l e m e n t i ; cin>>n ; i f ( n==0){ p = 0 ; // l i s t a vuota e l s e { // primo elemento p = new elemento ; c i n>>p >i n f ; punt=p ; // e l e m e n t i r e s t a n t i f o r ( i n t i =2; i<=n ; i ++){ punt >next = new elemento; punt = punt >next ; c i n>>punt >i n f ; punt >n e x t = 0 ; r e t u r n p ; Elisa Marengo (UNITO) Le Liste 16 / 31
17 Creazione della lista elemento c r e a l i s t a (){ elemento p, punt ; i n t n ; cout<< I n s e r i r e i l numero d i e l e m e n t i ; cin>>n ; i f ( n==0){ p = 0 ; // l i s t a vuota e l s e { // primo elemento p = new elemento ; c i n>>p >i n f ; punt=p ; // e l e m e n t i r e s t a n t i f o r ( i n t i =2; i<=n ; i ++){ punt >next = new elemento ; punt = punt > next; c i n>>punt >i n f ; punt >n e x t = 0 ; r e t u r n p ; Elisa Marengo (UNITO) Le Liste 17 / 31
18 Creazione della lista elemento c r e a l i s t a (){ elemento p, punt ; i n t n ; cout<< I n s e r i r e i l numero d i e l e m e n t i ; cin>>n ; i f ( n==0){ p = 0 ; // l i s t a vuota e l s e { // primo elemento p = new elemento ; c i n>>p >i n f ; punt=p ; // e l e m e n t i r e s t a n t i f o r ( i n t i =2; i<=n ; i ++){ punt >next = new elemento ; punt = punt > next ; cin >> punt > inf; punt >n e x t = 0 ; r e t u r n p ; Elisa Marengo (UNITO) Le Liste 18 / 31
19 Creazione della lista elemento c r e a l i s t a (){ elemento p, punt ; i n t n ; cout<< I n s e r i r e i l numero d i e l e m e n t i ; cin>>n ; i f ( n==0){ p = 0 ; // l i s t a vuota e l s e { // primo elemento p = new elemento ; c i n>>p >i n f ; punt=p ; // e l e m e n t i r e s t a n t i f o r ( i n t i =2; i<=n ; i ++){ punt >next = new elemento ; punt = punt > next ; c i n>>punt >i n f ; punt >n e x t = 0 ; r e t u r n p ; Elisa Marengo (UNITO) Le Liste 19 / 31
20 Creazione della lista elemento c r e a l i s t a (){ elemento p, punt ; i n t n ; cout<< I n s e r i r e i l numero d i e l e m e n t i ; cin>>n ; i f ( n==0){ p = 0 ; // l i s t a vuota e l s e { // primo elemento p = new elemento ; c i n>>p >i n f ; punt=p ; // e l e m e n t i r e s t a n t i f o r ( i n t i =2; i<=n ; i ++){ punt >next = new elemento ; punt = punt > next ; c i n>>punt >i n f ; punt > next = 0; r e t u r n p ; Elisa Marengo (UNITO) Le Liste 20 / 31
21 Visualizzazione della lista void v i s u a l i z z a l i s t a ( elemento p ){ cout<< L i s t a : ; w h i l e ( p!=0){ cout<<p >i n f << ; p = p >n e x t ; cout<<e n d l ; Elisa Marengo (UNITO) Le Liste 21 / 31
22 Esercizio Scrivere Una funzione che cancella da una lista la prima occorrenza di un elemento. Per farlo avvalersi di una funzione che: Riceve come parametro la lista e l elemento da cercare; Restituisce il puntatore all elemento da cancellare e il puntatore all elemento precedente. Elisa Marengo (UNITO) Le Liste 22 / 31
23 Cancellare elementi Elisa Marengo (UNITO) Le Liste 23 / 31
24 Cancellare elementi Elisa Marengo (UNITO) Le Liste 24 / 31
25 Cancellare elementi e lemento c e r c a v a l o r e ( e l emento p, int dato, e lemento &p r e c ){ b o o l t r o v a t o =f a l s e ; while ( p!=0 &&! t r o v a t o ){ i f ( p >i n f = = dato ){ t r o v a t o = t r u e ; else { p r e c =p ; p = p >n e x t ; return p ; Elisa Marengo (UNITO) Le Liste 25 / 31
26 Cancellare elementi e lemento c a n c e l l a e l e m e n t o ( elemento l i s t a, int dato ){ e lemento p r e c e d e n t e = 0 ; e lemento d a c a n c e l l a r e = c e r c a v a l o r e ( l i s t a, dato, p r e c e d e n t e ) ; i f ( d a c a n c e l l a r e!=0){ i f ( p r e c e d e n t e!= 0){ p r e c e d e n t e >n e x t=d a c a n c e l l a r e >n e x t ; else { l i s t a =l i s t a >n e x t ; d e l e t e d a c a n c e l l a r e ; return l i s t a ; Elisa Marengo (UNITO) Le Liste 26 / 31
27 Cancellare elementi main ( ) { int dato ; e lemento l i s t a = c r e a l i s t a ( ) ; v i s u a l i z z a l i s t a ( l i s t a ) ; cout<< I n s e r i r e elemento da c a n c e l l a r e ; c i n >>dato ; l i s t a = c a n c e l l a e l e m e n t o ( l i s t a, dato ) ; v i s u a l i z z a l i s t a ( l i s t a ) ; Elisa Marengo (UNITO) Le Liste 27 / 31
28 Inserire elementi Elisa Marengo (UNITO) Le Liste 28 / 31
29 Inserire elementi Elisa Marengo (UNITO) Le Liste 29 / 31
30 Inserire elementi Elisa Marengo (UNITO) Le Liste 30 / 31
31 Inserire elementi elemento i n s e r i s c i p o s i z i o n e ( elemento l i s t a, i n t p o s i z i o n e, i n t dato ){ elemento nuovo = new elemento ; nuovo >i n f = dato ; elemento temp = l i s t a ; i n t i =2; i f ( p o s i z i o n e == 1){ nuovo >n e x t= l i s t a ; l i s t a =nuovo ; e l s e { cout<< I n i z i o i l w h i l e <<e n d l ; w h i l e ( i<p o s i z i o n e && temp >n e x t!=0){ temp=temp >next ; i ++; nuovo >next=temp >next ; temp >n e x t=nuovo ; r e t u r n l i s t a ; Elisa Marengo (UNITO) Le Liste 31 / 31
La struttura dati ad albero binario
La struttura dati ad albero binario L albero è una struttura dati nella quale le informazioni sono organizzate in modo gerarchico, dall alto verso il basso. Gli elementi di un albero si chiamano nodi,
DettagliGestione dinamica di una pila
Gestione dinamica di una pila Una pila o stack è una lista lineare a lunghezza variabile in cui inserimenti (push) ed estrazioni (pop) vengono effettuate ad un solo estremo, detto testa (top) della pila.
DettagliLaboratorio di Calcolatori 1 Corso di Laurea in Fisica A.A. 2006/2007
Laboratorio di Calcolatori 1 Corso di Laurea in Fisica A.A. 2006/2007 Dott.Davide Di Ruscio Dipartimento di Informatica Università degli Studi di L Aquila Lezione del 08/03/07 Nota Questi lucidi sono tratti
DettagliLaboratorio di Algoritmi e Strutture Dati
Laboratorio di Algoritmi e Strutture Dati Aniello Murano http://people.na.infn.it people.na.infn.it/~murano/ 1 Operazioni su Liste Doppie e Circolari 2 1 Indice Liste puntate semplici: Gli elementi sono
DettagliSottoprogrammi: astrazione procedurale
Sottoprogrammi: astrazione procedurale Incapsulamento di un segmento di programma presente = false; j = 0; while ( (j
DettagliLaboratorio di Algoritmi e Strutture Dati
Laboratorio di Algoritmi e Strutture Dati Prof. Aniello Murano Implementazioni di Liste Doppiamente Puntate e Circolari Corso di Laurea Codice insegnamento Email docente Anno accademico Informatica 13917
DettagliCompito di Fondamenti di Informatica
Compito di Fondamenti di Informatica In un magazzino viene utilizzato un archivio informatico, nel quale vengono memorizzate le informazioni relative ai prodotti contenuti nel magazzino e che ne permette
DettagliLaboratorio di programmazione
Laboratorio di programmazione Lezione VI Tatiana Zolo tatiana.zolo@libero.it 1 LE STRUCT Tipo definito dall utente i cui elementi possono essere eterogenei (di tipo diverso). Introduce un nuovo tipo di
DettagliUna funzione è detta ricorsiva se chiama, direttamente o indirettamente, se stessa. In C tutte le funzioni possono essere usate ricorsivamente.
Ricorsione Funzioni ricorsive Una funzione è detta ricorsiva se chiama, direttamente o indirettamente, se stessa. In C tutte le funzioni possono essere usate ricorsivamente. Un esempio di funzione ricorsiva
DettagliAlgoritmi di Ricerca. Esempi di programmi Java
Fondamenti di Informatica Algoritmi di Ricerca Esempi di programmi Java Fondamenti di Informatica - D. Talia - UNICAL 1 Ricerca in una sequenza di elementi Data una sequenza di elementi, occorre verificare
DettagliAppello di Informatica B
Politecnico di Milano Facoltà di Ingegneria Industriale 19 febbraio 2004 Appello di Informatica B Prof. Angelo Morzenti - Prof. Vincenzo Martena Cognome e nome: Matricola: Tipo di prova: recupero I prova
DettagliAlgoritmi e Strutture Dati
schifano@fe.infn.it Laurea di Informatica - Università di Ferrara 2011-2012 [1] Strutture dati Dinamiche: Le liste Una lista è una sequenza di elementi di un certo tipo in cui è possibile aggiungere e/o
DettagliAllocazione dinamica della memoria - riepilogo
Università degli studi di Milano Dipartimento di Scienze dell Informazione Laboratorio di algoritmi e strutture dati Corso di laurea in Informatica In breve Storage duration Allocazione dinamica della
DettagliStrutture. Strutture e Unioni. Definizione di strutture (2) Definizione di strutture (1)
Strutture Strutture e Unioni DD cap.10 pp.379-391, 405-406 KP cap. 9 pp.361-379 Strutture Collezioni di variabili correlate (aggregati) sotto un unico nome Possono contenere variabili con diversi nomi
DettagliEsercitazione 6. Tutor: Ing. Diego Rughetti. Anno Accademico 2007/2008
Dipartimento di Informatica e Sistemistica Antonio Ruberti Sapienza Università di Roma Esercitazione 6 Corso di Tecniche di programmazione Laurea in Ingegneria Informatica (Canale di Ingegneria delle Reti
DettagliCorso di Laurea Ingegneria Informatica Fondamenti di Informatica 2
Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 2 Dispensa 10 Strutture collegate - 2 A. Miola Febbraio 2008 http://www.dia.uniroma3.it/~java/fondinf2/ Strutture collegate - 2 1 Contenuti!Strutture
DettagliGli array. Gli array. Gli array. Classi di memorizzazione per array. Inizializzazione esplicita degli array. Array e puntatori
Gli array Array e puntatori Laboratorio di Informatica I un array è un insieme di elementi (valori) avente le seguenti caratteristiche: - un array è ordinato: agli elementi dell array è assegnato un ordine
Dettagliobiettivi di questa seconda metà del corso fare un passo avanti rispetto a :... meccanismi di composizione dei dati
obiettivi di questa seconda metà del corso fare un passo avanti rispetto a :... meccanismi di composizione dei dati puntatori ( strutture dinamiche collegate) strutture dinamiche collegate (liste, pile,
DettagliESERCIZIO 1 (Definizione funzioni passaggio parametri per copia)
ESERCIZIO 1 (Definizione funzioni passaggio parametri per copia) Scrivere una funzione per definire se un numero è primo e un programma principale minimale che ne testa la funzionalità. #include
DettagliFunzioni in C. Violetta Lonati
Università degli studi di Milano Dipartimento di Scienze dell Informazione Laboratorio di algoritmi e strutture dati Corso di laurea in Informatica Funzioni - in breve: Funzioni Definizione di funzioni
Dettaglicostruttori e distruttori
costruttori e distruttori Costruttore E un metodo che ha lo stesso nome della classe a cui appartiene: serve per inizializzare un oggetto all atto della sua creazione Ce ne possono essere uno, più di uno,
DettagliIl tipo di dato astratto Pila
Il tipo di dato astratto Pila Il tipo di dato Pila Una pila è una sequenza di elementi (tutti dello stesso tipo) in cui l inserimento e l eliminazione di elementi avvengono secondo la regola seguente:
DettagliINFORMATICA 1 L. Mezzalira
INFORMATICA 1 L. Mezzalira Possibili domande 1 --- Caratteristiche delle macchine tipiche dell informatica Componenti hardware del modello funzionale di sistema informatico Componenti software del modello
DettagliUniversità degli Studi di Cassino Corso di Fondamenti di Informatica Puntatori. Anno Accademico 2010/2011 Francesco Tortorella
Corso di Informatica Puntatori Anno Accademico 2010/2011 Francesco Tortorella Variabili, registri ed indirizzi Abbiamo visto che la definizione di una variabile implica l allocazione (da parte del compilatore)
DettagliTipi di Dato Ricorsivi
Tipi di Dato Ricorsivi Luca Abeni September 2, 2015 1 Tipi di Dato Vari linguaggi di programmazione permettono all utente di definire nuovi tipi di dato definendo per ogni nuovo tipo l insieme dei suoi
DettagliGest ione di list e in C
Gest ione di list e in C Politecnico di Milano Sede di Cremona Gianpaolo Cugola Dipartimento di Elettronica e Informazione cugola@elet.polimi.it http://www.elet.polimi.it/~cugola Strutture dinamiche Gli
DettagliStudente (Cognome Nome): Corso di Informatica Corso di Laurea in Ingegneria Gestionale a.a. 2006-07 Secondo Compitino 21 Dicembre 2006
Studente (Cognome Nome): Matricola: Corso di Informatica Corso di Laurea in Ingegneria Gestionale a.a. 2006-07 Secondo Compitino 21 Dicembre 2006 Si noti che le soluzioni ai quesiti saranno considerate
DettagliCorso di Laurea Ingegneria Informatica Fondamenti di Informatica 2
Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 2 Dispensa E08 Soluzione Esercizi F. Gasparetti, C. Limongelli Marzo 2008 http://www.dia.uniroma3.it/~java/fondinf1/ Soluzione Esercizi
DettagliFondamenti di Informatica T-1, 2009/2010 Modulo 2 Prova d Esame 5 di Giovedì 15 Luglio 2010 tempo a disposizione 2h30'
Prima di cominciare: si scarichi dal sito http://esamix.labx il file StartKit5.zip contenente i file necessari (solution di VS2008 e progetto compresi). Avvertenze per la consegna: apporre all inizio di
DettagliTipi primitivi. Ad esempio, il codice seguente dichiara una variabile di tipo intero, le assegna il valore 5 e stampa a schermo il suo contenuto:
Tipi primitivi Il linguaggio Java offre alcuni tipi di dato primitivi Una variabile di tipo primitivo può essere utilizzata direttamente. Non è un riferimento e non ha senso tentare di istanziarla mediante
DettagliProgrammazione I / Informatica generale Prova scritta 11 Giugno 2008
Programmazione I / Informatica generale Prova scritta 11 Giugno 2008 NOTA: Si trascuri ogni problema legato al tipo ed al valore di ritorno della funzione main. Inoltre, nei programmi è da sottintendere
DettagliI puntatori e l allocazione dinamica di memoria
I puntatori e l allocazione dinamica di memoria L allocazione delle variabili Allocazione e rilascio espliciti di memoria Le funzioni malloc e free 2 2006 Politecnico di Torino 1 Allocare = collocare in
DettagliPROGRAMMAZIONE AVANZATA JAVA E C. Massimiliano Redolfi. Lezione 7: Code, Stack, Liste PAJC. Ricerca. prof. Massimiliano Redolfi PAJC
PROGRAMMAZIONE AVANZATA JAVA E C Massimiliano Redolfi Lezione 7: Code, Stack, Liste Ricerca 2 Ricerca Se dobbiamo cercare un elemento in un array possiamo trovarci in due situazioni Elementi non ordinati
DettagliLISTE, INSIEMI, ALBERI E RICORSIONE
LISTE, INSIEMI, ALBERI E RICORSIONE Settimo Laboratorio LISTE E RICORSIONE SVUOTALISTA: CONSIDERAZIONI Per svuotare una lista si devono eliminare i singoli nodi allocati con la malloc... Come fare? Per
DettagliLaboratorio di Algoritmi e Strutture Dati
Laboratorio di Algoritmi e Strutture Dati Docente: Camillo Fiorentini 18 dicembre 2007 Esercizio 1: rappresentazione di una tabella di occorrenze L obiettivo è quello di rappresentare in modo efficiente
DettagliGESTIONE INFORMATICA DEI DATI AZIENDALI
GESTIONE INFORMATICA DEI DATI AZIENDALI Alberto ZANONI Centro Vito Volterra Università Tor Vergata Via Columbia 2, 00133 Roma, Italy zanoni@volterra.uniroma2.it Rudimenti di programmazione Programming
DettagliLaboratorio di Algoritmi e Strutture Dati
Realizzazione di Liste Laboratorio di Algoritmi e Strutture Dati Domenico Redavid redavid@di.uniba.it Materiale di base gentilmente concesso dal dott. Nicola Di Mauro Ricercatore presso l'univ. di Bari
DettagliGestione dei File in C
Gestione dei File in C Maurizio Palesi DIIT Università di Catania Viale Andrea Doria 6, 95125 Catania mpalesi@diit.unict.it http://www.diit.unict.it/users/mpalesi Sommario In questo documento saranno introdotte
DettagliProgrammazione. Laboratorio. Roberto Cordone DI - Università degli Studi di Milano
Gestione della memoria p. 1/11 Programmazione Laboratorio Roberto Cordone DI - Università degli Studi di Milano Tel. 02 503 16235 E-mail: roberto.cordone@unimi.it Ricevimento: su appuntamento Lezioni:
DettagliBreve riepilogo della puntata precedente:
Breve riepilogo della puntata precedente: 1. In C, il passaggio dei parametri alle funzioni avviene sempre per copia, ovvero il valore del parametro viene copiato all'interno della variabile che rappresenta
DettagliCorso di Fondamenti di Informatica II
Corso di Fondamenti di Informatica II Algoritmi sulle liste a.a. 2009/2010 Francesco Fontanella Creare una lista da un vettore (ricorsivo) nodo* create_list(tipovalue v[], int n) nodo *l; if (n == 0) return
DettagliVerifica che una grammatica sia Context Free nel GrammaReader
Verifica che una grammatica sia Context Free nel GrammaReader Sommario Dispensa di Linguaggi di Programmazione Corrado Mencar Pasquale Lops In questa dispensa si descrivono alcune soluzioni per verificare
Dettagli10 - Programmare con gli Array
10 - Programmare con gli Array Programmazione e analisi di dati Modulo A: Programmazione in Java Paolo Milazzo Dipartimento di Informatica, Università di Pisa http://www.di.unipi.it/ milazzo milazzo di.unipi.it
DettagliLaboratorio di Programmazione
Laboratorio di Programmazione (Laurea triennale in matematica) Lezione 21 Strutture dinamiche Gli array ci permettono di memorizzare un insieme di dati dello stesso tipo Deve essere noto staticamente il
DettagliSISTEMI OPERATIVI 3 febbraio 2014 corso A nuovo ordinamento e parte di teoria del vecchio ordinamento indirizzo SR
SISTEMI OPERATIVI 3 febbraio 2014 corso A nuovo ordinamento e parte di teoria del vecchio ordinamento indirizzo SR Cognome: Nome: Matricola: 1. Ricordate che non potete usare calcolatrici o materiale didattico,
DettagliPROGRAMMI LINGUAGGIO C
PROGRAMMI IN LINGUAGGIO C Corso di Programmazione Modulo B Prof. GIULIANO LACCETTI Studentessa Bellino Virginia Matr. 408466 Corso di Diploma in Informatica http://www.dicecca.net Indice 1. Package per
Dettagli1: /* Nome del programma: gestione_articoli_01.cpp 2: Realizzato da: Gaetano Della Cerra 3: Data: 06/02/2010 - III Informatica Serale I.T.I.S.
1: /* Nome del programma: gestione_articoli_01.cpp 2: Realizzato da: Gaetano Della Cerra 3: Data: 06/02/2010 - III Informatica Serale I.T.I.S. Molinari 4: Il programma gestisce gli articoli di un negozio
DettagliEsercizio: gestione di un conto corrente
Esercizio: gestione di un conto corrente Si realizzi un conto corrente bancario mediante: - una ASTRAZIONE DI DATO - un TIPO DI DATO ASTRATTO Il conto corrente è caratterizzato dalle seguenti informazioni:
DettagliUniversità di Torino Facoltà di Scienze MFN Corso di Studi in Informatica. Programmazione I - corso B a.a. 2009-10. prof.
Università di Torino Facoltà di Scienze MFN Corso di Studi in Informatica Programmazione I - corso B a.a. 009-10 prof. Viviana Bono Blocco 9 Metodi statici: passaggio parametri, variabili locali, record
DettagliProssime lezioni. Dai TDA agli oggetti. Riassunto. Riassunto TDA. Oggi. Stefano Mizzaro 1
Prossime lezioni Dai TDA agli oggetti Stefano Mizzaro Dipartimento di matematica e informatica Università di Udine http://www.dimi.uniud.it/mizzaro mizzaro@dimi.uniud.it Programmazione, lezione 18 19 gennaio
DettagliDipartimento di Sistemi e Informatica Università degli Studi di Firenze. Dev-C++ Ing. Michele Banci 27/03/2007 1
Dipartimento di Sistemi e Informatica Università degli Studi di Firenze Dev-C++ Ing. Michele Banci 27/03/2007 1 Utilizzare Dev-C++ Tutti i programmi che seranno realizzati richiedono progetti separati
DettagliAPPELLO SCRITTO DI PROGRAMMAZIONE 1 CORSO DI LAUREA IN MATEMATICA UNIVERSITÀ DEGLI STUDI DI MILANO 2014 2015 17.XI.2015
APPELLO SCRITTO DI PROGRAMMAZIONE 1 CORSO DI LAUREA IN MATEMATICA UNIVERSITÀ DEGLI STUDI DI MILANO 2014 2015 17.XI.2015 VINCENZO MARRA Indice Esercizio 1 1 Conversione di un numero naturale in base b.
DettagliInformatica A aa Seconda prova in itinere. Esempi di esercizi possibili
Informatica A aa 2002-03 Seconda prova in itinere Esempi di esercizi possibili Struttura della prova-parte 1 Fortran: comprensione di un programma dato (semplice) Reti: domanda teorica (per verificare
DettagliInformatica 3. Informatica 3. LEZIONE 12: Liste. Lezione 12 - Modulo 1. Posizione corrente. Introduzione
Informatica 3 Informatica 3 LEZIONE 12: Liste Lezione 12 - Modulo 1 Modulo 1: ADT lista e implementazione basata su array Modulo 2: Lista concatenata ADT lista e implementazione basata su array Politecnico
DettagliLABORATORIO DI PROGRAMMAZIONE 1 CORSO DI LAUREA IN MATEMATICA UNIVERSITÀ DEGLI STUDI DI MILANO 2014 2015 15.V.2015. Indice
LABORATORIO DI PROGRAMMAZIONE 1 CORSO DI LAUREA IN MATEMATICA UNIVERSITÀ DEGLI STUDI DI MILANO 2014 2015 15.V.2015 VINCENZO MARRA Indice Parte 1. Input/Output standard dalla console 2 Esercizio 1 2 Eco
DettagliAppunti tratti dal videocorso on-line di Algoritmi e Programmazione Avanzata By ALeXio
Appunti tratti dal videocorso on-line di Algoritmi e Programmazione Avanzata By ALeXio 1-La memoria dinamica La scrittura di un programma (indipendentemente dal linguaggio adottato) deve sempre tener conto
DettagliEsercizio 1. Esercizio 1
Esercizio 1 Un registratore di cassa registra su di un file binario alcuni dati relativi agli scontrini emessi. In particolare, tramite una struttura dati di nome scontrino, il registratore di cassa tiene
Dettaglipuntatori Lab. Calc. AA 2007/08 1
puntatori Lab. Calc. AA 2007/08 1 parametri delle funzioni (dalla lezione scorsa) gli argomenti in C vengono passati by value dalla funzione chiamante alla funzione chiamata la lista degli argomenti viene
DettagliDefinizione di classi con array di oggetti
Definizione di classi con array di oggetti 1. (Esame scritto del 18/9/2002, Esercizio 6.) La banca dati di un agenzia assicurativa per auto è caratterizzata da un insieme di polizze di assicurazioni per
DettagliFONDAMENTI di INFORMATICA L. Mezzalira
FONDAMENTI di INFORMATICA L. Mezzalira Possibili domande 1 --- Caratteristiche delle macchine tipiche dell informatica Componenti hardware del modello funzionale di sistema informatico Componenti software
DettagliLezione 9: Strutture e allocazione dinamica della memoria
Lezione 9: Strutture e allocazione dinamica della memoria Laboratorio di Elementi di Architettura e Sistemi Operativi 9 Maggio 2012 Allocazione dinamica della memoria Memoria dinamica È possibile creare
DettagliUtilizzo e scrittura di classi
Utilizzo e scrittura di classi Corso di Programmazione 3 - Ingegneria dell Informazione e dell Organizzazione 14 novembre, 2001 Gino Perna Implementazione di classi in C++ UN ESEMPIO DI CLASSE: RISULTATI
DettagliImplementazione 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
DettagliINFORMATICA - I puntatori Roberta Gerboni
1 2 I puntatori in C++ Il puntatore un tipo di dato scalare, che consente di rappresentare gli indirizzi delle variabili allocate in memoria. Dominio: Il dominio di una variabile di tipo puntatore è un
Dettagliesercizi Esercizi / problemi
Sistemi informativi applicati (reti di calcolatori): esercizi 1 Esercizi / problemi 1. Creare un applicazione che calcoli la media aritmetica dei seguenti valori interi: 35, 117, 23 e ne visualizzi il
DettagliLe operazioni di allocazione e deallocazione sono a carico del sistema.
Allocazione della memoria In C++ è possibile creare (allocare) variabili in maniera statica o dinamica. Nell allocazione statica una variabile esiste ed è utilizzabile dal momento della sua dichiarazione
DettagliLaboratorio 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
DettagliLe stringhe. Le stringhe
Informatica: C++ Gerboni Roberta Stringhe di caratteri (esempi di utilizzo dei vettori) Nel linguaggio C++ una stringa è semplicemente un vettore di caratteri Vettori di caratteri La stringa "hello" è
DettagliRICERCA DI UN ELEMENTO
RICERCA DI UN ELEMENTO Si legga da tastiera un array di N elementi (N stabilito dall utente) Si richieda un elemento x il programma deve cercare l elemento x nell array Se l elemento è presente, deve visualizzare
DettagliInformatica B. Sezione D. Scuola di Ingegneria Industriale Laurea in Ingegneria Energetica Laurea in Ingegneria Meccanica
Scuola di Ingegneria Industriale Laurea in Ingegneria Energetica Laurea in Ingegneria Meccanica Dipartimento di Elettronica, Informazione e Bioingegneria Informatica B Sezione D Franchi Alessio Mauro,
DettagliSOCIETA COMUNICAZIONE DI AGGIUNTA ATTIVITA PRESSO LA SEDE (S5) L ATTIVITA E SVOLTA DAL LEGALE RAPPRESENTANTE E DA ALTRO SOGGETTO
SOCIETA COMUNICAZIONE DI AGGIUNTA ATTIVITA PRESSO LA SEDE (S5) L ATTIVITA E SVOLTA DAL LEGALE RAPPRESENTANTE E DA ALTRO SOGGETTO Società iscritta nel Registro delle Imprese per una o più attività diverse
DettagliCalcolare il massimo di una lista
Calcolare il massimo di una lista Ieri abbiamo imparato a calcolare il massimo di una lista predefinita: lista = [4,24,-89,81,3,0,-12,31] max = lista[0] # questo e' un commento: primo elemento di lista
DettagliStudente (Cognome Nome): Corso di Informatica Corso di Laurea in Ingegneria Gestionale a.a. 2007-08 Primo scritto 11 Gennaio 2008
Studente (Cognome Nome): Matricola: Corso di Informatica Corso di Laurea in Ingegneria Gestionale a.a. 2007-08 Primo scritto 11 Gennaio 2008 Si noti che le soluzioni ai quesiti saranno considerate valide
DettagliCorso di Laurea in Ingegneria Gestionale Esame di Informatica - a.a. 2012-13 25 luglio 2013
Cognome Nome Matricola Postazione PC Corso di Laurea in Ingegneria Gestionale Esame di Informatica - a.a. 2012-13 25 luglio 2013 Testo Il database di una banca è costituito da due vettori paralleli. Il
DettagliEsercitazioni di Prog. II (funzioni su insiemi) Chiara Petrioli
Esercitazioni di Prog. II (funzioni su insiemi) Chiara Petrioli Esercizi per la manipolazione di insiemi (rappresentati tramite liste) Insiemi.c /*Questo file include i prototipi e le definizioni di specifiche
DettagliProgrammazione 1 A.A. 2015/2016
Cognome e Nome Matricola (se disponibile) Programmazione 1 A.A. 2015/2016 Parziale del 4 Novembre 2015 Compito n 1 Esercizio 1 (4 punti) Convertire da base 16 a base 2 il numero FA1 Convertire da base
DettagliFondamenti di Informatica T-1, 2010/2011 Modulo 2. Prova d Esame 4A di Martedì 21 Giugno 2011 tempo a disposizione 2h
Prima di cominciare: si scarichi dal sito http://esamix.labx il file StartKit4A.zip contenente i file necessari (progetto Visual Studio ed eventuali altri file di esempio). Avvertenze per la consegna:
DettagliSAPIENZA Università di Roma, Facoltà di Ingegneria
SAPIENZA Università di Roma, Facoltà di Ingegneria Corso di PROGETTAZIONE DEL SOFTWARE Laurea in Ingegneria Informatica Prof. E.Casalicchio A.A. 2008/09 QUARTA PARTE: Soluzioni Esercizi 13-23 Soluzione
DettagliLezione 4 Le code. Informatica. 26 Aprile 2016. Le pizze devono essere preparate e consegnate seguendo l ordine di arrivo degli ordini
Lezione 4 Le code Informatica 26 Aprile 2016 Bender il pizzaiolo robot Bender ha aperto una pizzeria da asporto con i suoi amici: Dr. Zoidberg risponde al telefono e riceve gli ordini Bender prepara le
DettagliProgrammazione C Massimo Callisto De Donato massimo.callisto@unicam.it www.cs.unicam.it/massimo.callisto
Università degli studi di Camerino Scuola di scienze e tecnologia - Sezione Informatica Programmazione C Massimo Callisto De Donato massimo.callisto@unicam.it www.cs.unicam.it/massimo.callisto LEZIONE
DettagliCorso di Laurea in Ingegneria Gestionale Esame di Informatica a.a. 2010-11 13 settembre 2011
Cognome Nome Matricola Postazione PC Corso di Laurea in Ingegneria Gestionale Esame di Informatica a.a. 2010-11 13 settembre 2011 Testo Il database di un videonoleggio è costituito da due vettori paralleli.
DettagliIntroduzione al Linguaggio C
Introduzione al Linguaggio C File I/O Daniele Pighin April 2009 Daniele Pighin Introduzione al Linguaggio C 1/15 Outline File e dati Accesso ai file File I/O Daniele Pighin Introduzione al Linguaggio C
DettagliEsempio: dest = parolagigante, lettere = PROVA dest (dopo l'invocazione di tipo pari ) = pprrlogvgante
Esercizio 0 Scambio lettere Scrivere la funzione void scambiolettere(char *dest, char *lettere, int p_o_d) che modifichi la stringa destinazione (dest), sostituendone i caratteri pari o dispari (a seconda
DettagliUtilizzo della chiavetta SE 50UMTS per la navigazione Web tramite PC
Utilizzo della chiavetta SE 50UMTS per la navigazione Web tramite PC Con questa guida vediamo come utilizzare la chiavetta SE 50UMTS quadri band per navigare in internet. 1- Installazione Come prima operazione
DettagliCorso di Informatica Corso di Laurea in Ingegneria Gestionale a.a. 2005-06 Secondo Compitino 17 Dicembre 2005
Studente (Cognome Nome): Matricola: Corso di Informatica Corso di Laurea in Ingegneria Gestionale a.a. 2005-06 Secondo Compitino 17 Dicembre 2005 Si noti che le soluzioni ai quesiti saranno considerate
DettagliCorso di Fondamenti di Informatica
Corso di Fondamenti di Informatica I tipi strutturati: gli array e le strutture Claudio De Stefano - Corso di Fondamenti di Informatica 1 arrays un array (o vettore) è una sequenza di oggetti dello stesso
DettagliFondamenti di Informatica 2
Fondamenti di Informatica 2 della prova scritta del 28 Febbraio 2006 Esercizio 1 (4 punti) Date le seguenti variabili int A[] = 2,3,7,-2,5,8,-4; int N = 7; int min = 3; int i; Scrivere la porzione di codice
DettagliMANUALE BREVE PER IL DOCENTE TUTOR
MANUALE BREVE PER IL DOCENTE TUTOR INDICE ARGOMENTO PAGINA Descrizione ruolo svolto 2 Note 2 RUOLO TUTOR Modalità di accesso 3 FUNZIONI SOTTO COMUNICA: Messaggeria 5 FUNZIONI SOTTO STRUMENTI: AGENDA 10
DettagliSOCIETA COMUNICAZIONE DI AGGIUNTA ATTIVITA PRESSO LA SEDE (S5) L ATTIVITA E SVOLTA DAL SOLO LEGALE RAPPRESENTANTE
SOCIETA COMUNICAZIONE DI AGGIUNTA ATTIVITA PRESSO LA SEDE (S5) L ATTIVITA E SVOLTA DAL SOLO LEGALE RAPPRESENTANTE Società iscritta nel Registro delle Imprese per una o più attività diverse da quelle previste
DettagliPer visualizzare e immettere i dati in una tabella è possibile utilizzare le maschere;
Maschere e Query Le Maschere (1/2) Per visualizzare e immettere i dati in una tabella è possibile utilizzare le maschere; Le maschere sono simili a moduli cartacei: ad ogni campo corrisponde un etichetta
DettagliIstruzioni per la compilazione di una domanda di assegnazione carburante
Istruzioni per la compilazione di una domanda di assegnazione carburante Per richiedere una assegnazione di carburante per l anno in corso (1 gennaio->30 giugno) è necessario procedere attraverso le seguenti
DettagliESAME SCRITTO DI ELEMENTI DI INFORMATICA E PROGRAMMAZIONE. 9 Settembre 2015
COGNOME E NOME: MATRICOLA: Civile Ambiente e Territorio Non si possono consultare manuali, appunti e calcolatrici. Esercizio 1: Rappresentare i numeri 43 e 81 (in base 10) in notazione binaria in complemento
Dettagli(1) - - (4) R4 = R7 * R7 (4) (2) (3) 5 - (4) rinviata perché in WAW con (3) 6 (3) e (4) ritirabili ma attendono il completamento di (2) (2) (3) (4)
Esercizio 1 (20%) Si assuma di avere una macchina con 10 registri ufficiali (da R0 a R9) e sufficienti registri segreti in grado di avviare 2 istruzioni per ciclo di clock. Tale macchina richiede 2 cicli
DettagliESAME SCRITTO DI ELEMENTI DI INFORMATICA E PROGRAMMAZIONE. 10 Settembre 2013
COGNOME E NOME: MATRICOLA: Civile Ambiente e Territorio Non si possono consultare manuali, appunti e calcolatrici. Esercizio 1: Rappresentare i numeri 37 e 90 (in base 10) in notazione binaria in complemento
Dettagli13 - Gestione della Memoria nella Programmazione Orientata agli Oggetti
13 - Gestione della Memoria nella Programmazione Orientata agli Oggetti Programmazione e analisi di dati Modulo A: Programmazione in Java Paolo Milazzo Dipartimento di Informatica, Università di Pisa http://www.di.unipi.it/
DettagliAlgoritmi di ordinamento
Algoritmi di ordinamento Scopo di questa esercitazione: Comprendere la complessità del problema ordinamento cerchiamo di valutare il costo di una soluzione (confrontandola con un altra ) Modifiche al codice
DettagliOTTAVA ESPERIENZA DI LABORATORIO. L elaborazione dei files in C
CORSO DI LABORATORIO DI INFORMATICA CORSO DI LAUREA IN SDM ANNO ACCADEMICO 2011-2012 Docente: R. Sparvoli Esercitazioni: R. Sparvoli, F. Palma OTTAVA ESPERIENZA DI LABORATORIO L elaborazione dei files
DettagliMatematica - SMID : Programmazione Febbraio 2009 FOGLIO RISPOSTE
Matematica - SMID : Programmazione Febbraio 2009 FOGLIO RISPOSTE NOME: COGNOME: ============================================================== Esercizio 1 ci sono tante "righe"; non è detto servano tutte...
Dettagli3 - Variabili. Programmazione e analisi di dati Modulo A: Programmazione in Java. Paolo Milazzo
3 - Variabili Programmazione e analisi di dati Modulo A: Programmazione in Java Paolo Milazzo Dipartimento di Informatica, Università di Pisa http://www.di.unipi.it/ milazzo milazzo di.unipi.it Corso di
Dettagli