Programmazione Procedurale in Linguaggio C++
|
|
- Agostino Albanese
- 7 anni fa
- Visualizzazioni
Transcript
1 Programmazione Procedurale in Linguaggio C++ Strutture di Dati La Matrice versione. Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima pagina) G. Mecca Università della Basilicata mecca@unibas.it Strutture di Dati: La Matrice >> Sommario Sommario Introduzione Definizione di Matrice Operazioni su una Matrice Matrici di Dimensione Costante Rappresentazione con Record e Array Il Problema delle Matrici Sparse
2 Strutture di Dati: La Matrice >> Introduzione Introduzione Strutture di dati organizzazioni frequenti dei dati di un problema nelle lezioni precedenti: la lista (struttura lineare e monodimensionale) ma la lista non è l unica struttura di dati notevole In questa lezione la matrice matematica Strutture di Dati: La Matrice >> Definizione di Matrice Definizione di Matrice Matrice Matematica collezione di elementi tutti dello stesso tipo (tipicamente numeri) bidimensionale: organizzata in righe e colonne ogni elemento è caratterizzato dall indice di riga e l indice di colonna alcuni elementi possono essere nulli (tipicamente uguali a ) Per semplicità supporremo che righe e colonne siano numerate con base e non
3 Strutture di Dati: La Matrice >> Definizione di Matrice Definizione di Matrice Matrici speciali matrice nulla (tutti gli elementi sono nulle) matrici quadrate (n. righe = n. colonne) matrici quadrate diagonali (solo gli elementi della diagonale sono non nulli) matrici quadrate triangolari superiori/inferiori (tutti gli elementi sotto/sopra la diagonale sono nulli) 5 Strutture di Dati: La Matrice >> Definizione di Matrice Definizione di Matrice Esempio di matrice di numeri interi [ ] [ - ] [ 8 ] In questa matrice righe (-), colonne (-) (matr. rettangolare) l elemento (, ) vale l elemento (, ) vale l elemento (, 5) non esiste ci sono due elementi nulli 6
4 Strutture di Dati: La Matrice >> Definizione di Matrice Definizione di Matrice Operazioni essenziali su una matrice accedi all elemento i, j: preleva il valore dell elemento in posizione i, j (se esiste) assegna valore all elemento i, j: assegna un valore all elemento in posizione i, j (se esiste) numero di righe: restituisce il numero di righe numero di colonne: restituisce il numero di colonne 7 Strutture di Dati: La Matrice >> Definizione di Matrice Definizione di Matrice Tutte le altre operazioni sono riconducibili a queste essenziali Esempi valori della i-esima riga valori della j-esima colonna valori della diagonale numero di elementi nulli 8
5 Strutture di Dati: La Matrice >> Definizione di Matrice Definizione di Matrice Due tipologie principali di matrici matrici di dimensioni costanti: il numero di righe e il numero di colonne è fissato matrici di dimensioni variabili: il numero di righe e di colonne può variare (tra un esecuzione ed un altra del programma) Per ciascuna una tecnica di rappresentazione appropriata 9 Strutture di Dati: La Matrice >> Matrici di Dimensione Costante Sono le più frequenti il numero di righe ed il numero di colonne sono fissate e non possono cambiare es: matrice di un sistema x es: scacchiera per giocare a scacchi In questo caso basta un array bidimensionale con componenti del tipo appropriato
6 Strutture di Dati: La Matrice >> Matrici di Dimensione Costante Un esempio: matrice quadrata di interi un programma che consente di effettuare elaborazioni su una matrice quadrata NxN lettura da tastiera generazione di matrici particolari (diagonali, triangolari) stampa elaborazioni (somme di righe, colonne, diagonale) >> elaboramatricequadrata.cpp Strutture di Dati: La Matrice >> Matrici di Dimensione Costante La rappresentazione della matrice const int N = ; int matrice[n][n]; La struttura del programma un menu con comandi numerici che consente di effettuare le varie operazioni sulla matrice
7 Strutture di Dati: La Matrice >> Matrici di Dimensione Costante void leggimatrice(int matrice[n][n]) { cout << "Immetti gli elementi \n"; cout << " \n"; for (int i = ; i < N; i++) { cout << "Riga n. " << i << endl; for (int j = ; j < N; j++) { cout << "Elemento (" << i << "," << j << ")"; cin >> matrice[i][j]; return; Strutture di Dati: La Matrice >> Matrici di Dimensione Costante void stampamatrice(int matrice[n][n]) { cout << "Valori della matrice \n"; cout << " \n"; for (int i = ; i < N; i++) { cout << "\t"; for (int j = ; j < N; j++) { cout << matrice[i][j] << "\t"; cout << endl; return;
8 Strutture di Dati: La Matrice >> Matrici di Dimensione Costante Generazione della matrice diagonale solo gli elementi sulla diagonale sono non nulli elemento sulla diagonale: i == j 5 Strutture di Dati: La Matrice >> Matrici di Dimensione Costante void generamatdiagonale(int matrice[n][n], int valore) { for (int i = ; i < N; i++) { for (int j = ; j < N; j++) { if (i == j) { matrice[i][j] = valore; else { matrice[i][j] = ; return; 6
9 Strutture di Dati: La Matrice >> Matrici di Dimensione Costante Generazione della matrice triangolare inf. solo gli elementi sulla diagonale e quelli sotto sono non nulli elemento sulla o sotto la diagonale: i >= j 7 Strutture di Dati: La Matrice >> Matrici di Dimensione Costante void generamattriangolare(int matrice[n][n], int valore) { for (int i = ; i < N; i++) { for (int j = ; j < N; j++) { if (i >= j) { matrice[i][j] = valore; else { matrice[i][j] = ; return; 8
10 Strutture di Dati: La Matrice >> Matrici di Dimensione Costante Una annotazione importante la matrice nel suo complesso è una struttura bidimensionale per le elaborazioni servono due cicli Ma le righe, le colonne e la diagonale sono strutture monodimensionali per le elaborazioni basta un unico ciclo 9 Strutture di Dati: La Matrice >> Matrici di Dimensione Costante Infatti per gli el. di una riga l indice di riga è fissato per gli el. di una colonna l indice di colonna è fissato
11 Strutture di Dati: La Matrice >> Matrici di Dimensione Costante int sommariga(int matrice[n][n], int riga) { int somma = ; for (int j = ; j < N; j++) { somma += matrice[riga][j]; return somma; int sommacolonna(int matrice[n][n], int colonna) { int somma = ; for (int i = ; i < N; i++) { somma += matrice[i][colonna]; return somma; Strutture di Dati: La Matrice >> Matrici di Dimensione Costante La diagonale un elemento per ciascuna riga l indice di colonna è uguale all indice di riga int sommadiagonale(int matrice[n][n]) { int somma = ; for (int i = ; i < N; i++) { somma += matrice[i][i]; return somma;
12 Strutture di Dati: La Matrice >> Matrici di Dimensione Costante Attenzione in questo esempio: somma ma allo stesso modo si programmano le altre tecniche algoritmiche notevoli es: conteggio es: massimo (della matrice, di una riga, di una colonna, della diagonale) es: verifica di condizioni (sulla matrice, su una riga, su una colonna, sulla diagonale Strutture di Dati: La Matrice >> In alcuni casi la matrice può avere un numero di righe e di colonne variabile es: scacchiera per giocare a battaglia navale In questo caso si può usare una rappresentazione basata su array e record simile a quella per la lista con due indicatori di riempimento: uno per le righe e uno per le colonne
13 Strutture di Dati: La Matrice >> Un esempio: il gioco della vita un gioco di simulazione si gioca su una scacchiera (max. NxN elementi) ogni elemento della scacchiera può contenere una cellula viva oppure meno da una scacchiera iniziale vengono prodotte varie configurazioni successive nelle configurazioni successive la vita in un elemento si evolve secondo precise regole che dipendono dal numero di cellule negli elementi vicini 5 Strutture di Dati: La Matrice >> Elementi vicini ad una cella elementi del contorno normalmente sono 8 es: elemento (, ) 6 x per le celle sui bordi possono essere meno es: elemento (, ) es: elemento (, ) x 5 x 6
14 Strutture di Dati: La Matrice >> Le regole del gioco della vita se nell elemento i,j c è una cellula viva se tra i vicini ci sono meno di due cellule vive, nella conf. succ. la cellula muore di solitudine se tra i vicini ci sono più di tre cellule vive, nella conf. succ. la cellula muore per sovraffollamento altrimenti la cellula sopravvive se nell elemento i,j non c è una cellula viva se tra i vicini ci sono esattamente tre cellule vive, nella conf. successiva nasce una cellula viva 7 Strutture di Dati: La Matrice >> Il gioco viene acquisita da un file la configurazione iniziale della scacchiera (matrice di e, dove vuol dire cellula viva) viene chiesto all utente quante configurazioni generare vengono generate e stampate le configurazioni successive del gioco >> giocodellavita.cpp 8
15 Strutture di Dati: La Matrice >> La rappresentazione dei dati const int MAXDIM = ; indicatore di riempimento struct matrice { per le righe int righe; indicatore di riempimento int colonne; per le colonne int elementi[maxdim][maxdim]; ; void main() { matrice scacchiera;... array bidimensionale di dimensione MAXDIMxMAXDIM 9 Strutture di Dati: La Matrice >> Esempio MAXDIM = ; scacchiera.righe = ; scacchiera.colonne = 6; scacchiera.elementi elementi significativi
16 Strutture di Dati: La Matrice >> Nota in teoria, come per le liste, questa rappresentazione consente di aggiungere righe e colonne ad una matrice esistente ma questo è necessario di rado tipicamente: i due indicatori di riempimento vengono inizializzati all avvio del programma e non vengono più cambiati Strutture di Dati: La Matrice >> Il Diagramma delle Chiamate main matrice scacchiera const int N =... ; struct matrice { int righe; int colonne; int elementi[n][n]; ; schermonomefile (string &nomefile) carica (matrice &scacchiera, string nomefile, bool &esito) stampascacchiera (matrice scacchiera) schermoripetizioni (int &ripetizioni) simula (matrice &scacchiera, int ripetizioni) for (int i=; i < ripetizioni; i++) generanuovociclo (matrice &scacchiera) for (int i=; i < scacchiera.righe; i++) { for (int j=; j < scacchiera.colonne; j++) int nuovovalore (matrice &scacchiera, int x, int y) copiascacchiera (matrice scacchiera, matrice &copia) int contavicini (matrice &scacchiera, int x, int y)
17 Strutture di Dati: La Matrice >> Alcune operazioni interessanti il caricamento della matrice dal file il calcolo delle cellule vive negli elementi vicini Caricamento dal file al solito, il file contenente la matrice deve avere un formato preciso Strutture di Dati: La Matrice >> Il formato del file prima riga: numero di righe seconda riga: numero di colonne righe successive: elementi per righe e colonne ( oppure ) Righe: 5 Colonne: 5 >> vita5x5.txt >> vita7x9.txt
18 Strutture di Dati: La Matrice >> void carica (matrice &scacchiera, string nomefile, bool &esito) { string tmp; int righe, colonne; ifstream file (nomefile.c_str()); file >> tmp; file >> righe; file >> tmp; file >> colonne; if (righe <= MAXDIM && colonne <= MAXDIM) { scacchiera.righe = righe; scacchiera.colonne = colonne; for (int i = ; i < scacchiera.righe; i++) { for (int j = ; j < scacchiera.colonne; j++) { file >> scacchiera.elementi[i][j]; esito = true; else { esito = false; return; 5 Strutture di Dati: La Matrice >> L analisi dei vicini data una cella x, y, bisogna contare gli nel contorno righe coinvolte: da x- a x+ col. coinvolte: da y- a y+ es: x=, y= attenzione agli sconfinamenti es: x=, y= 6
19 Strutture di Dati: La Matrice >> int contavicini (matrice scacchiera, int x, int y) { int conta = ; for (int i = x - ; i <= x + ; i++) { for (int j = y - ; j <= y + ; j++) { if (i >= && i < scacchiera.righe && j >= && j < scacchiera.colonne) { conta += scacchiera.elementi[i][j]; return conta - scacchiera.elementi[x][y]; 7 Strutture di Dati: La Matrice >> Il Problema delle Matrici Sparse Il Problema delle Matrici Sparse Matrice sparsa matrice in cui più del 9% degli elementi ha valore nullo (es: ) In questi casi le due rappresentazioni viste hanno un notevole difetto spreco di memoria: più del 9% dello spazio di memoria è sprecato spreco di tempo: lunghe scansioni inutili 8
20 Strutture di Dati: La Matrice >> Il Problema delle Matrici Sparse Il Problema delle Matrici Sparse Una rappresentazione più adeguata una rappresentazione che si limiti a riservare memoria per le componenti non nulle Intuizione una collezione ordinata delle componenti non nulle per ciascuna: le coordinate (indice di riga e indice di colonna) e il valore 9 Strutture di Dati: La Matrice >> Il Problema delle Matrici Sparse Il Problema delle Matrici Sparse In teoria sarebbe possibile utilizzare una lista, mantenendola ordinata Ma nella lista sarebbero frequentemente necessarie inserimenti e cancellazioni la rappresentazione che abbiamo (array e record) non è particolarmente adatta vedremo in seguito una soluzione più adatta
21 Strutture di Dati: La Matrice >> Sommario Riassumendo Introduzione Definizione di Matrice Operazioni su una Matrice Matrici di Dimensione Costante Rappresentazione con Record e Array Il Problema delle Matrici Sparse Termini della Licenza Termini della Licenza This work is licensed under the Creative Commons Attribution- ShareAlike License. To view a copy of this license, visit or send a letter to Creative Commons, 559 Nathan Abbott Way, Stanford, California 95, USA. Questo lavoro viene concesso in uso secondo i termini della licenza Attribution-ShareAlike di Creative Commons. Per ottenere una copia della licenza, è possibile visitare oppure inviare una lettera all indirizzo Creative Commons, 559 Nathan Abbott Way, Stanford, California 95, USA.
Programmazione Procedurale in Linguaggio C++
Programmazione Procedurale in Linguaggio C++ Strutture di Dati Conclusioni parte b versione 2.2 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima pagina) G.
DettagliProgrammazione Procedurale in Linguaggio C++
Programmazione Procedurale in Linguaggio C++ Strutture di Dati Parte 4 Conclusioni versione 2.0 Questolavoroè concessoin uso secondoi termini di unalicenzacreative Commons (vedi ultima pagina) G. Mecca
DettagliProgrammazione Procedurale in Linguaggio C++
Programmazione Procedurale in Linguaggio C++ Strutture di Dati Parte 1 Introduzione versione 2.0 Questolavoroè concessoin uso secondoi termini di unalicenzacreative Commons (vedi ultima pagina) G. Mecca
DettagliProgrammazione Procedurale in Linguaggio C++
Programmazione Procedurale in Linguaggio C++ Strutture di Controllo Parte 3 Istruzioni Iterative (Cicli) versione 2.0 Questolavoroè concessoin uso secondoi termini di unalicenzacreative Commons (vedi ultima
DettagliProgrammazione Procedurale in Linguaggio C++
Programmazione Procedurale in Linguaggio C++ Elementi di Base Parte 1 Introduzione versione 2.1 Questolavoroè concessoin uso secondoi termini di unalicenzacreative Commons (vedi ultima pagina) G. Mecca
DettagliProgrammazione Procedurale in Linguaggio C++
Programmazione Procedurale in Linguaggio C++ Tipi Strutturati Parte 7 Dettagli e Approfondimenti versione 2.0 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima
DettagliProgrammazione Procedurale in Linguaggio C++
Programmazione Procedurale in Linguaggio C++ Sottoprogrammi Parte 8 Dettagli e Approfondimenti versione 2.3 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima
DettagliProgrammazione Procedurale in Linguaggio C++
Programmazione Procedurale in Linguaggio C++ Strutture di Controllo Parte 4 Conclusioni versione 2.1 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima pagina)
DettagliProgrammazione Procedurale in Linguaggio C++
Programmazione Procedurale in Linguaggio C++ Strutture di Controllo Parte 2 Istruzioni Condizionali versione 2.0 Questolavoroè concessoin uso secondoi termini di unalicenzacreative Commons (vedi ultima
DettagliProgrammazione Procedurale in Linguaggio C++
Programmazione Procedurale in Linguaggio C++ Tipi Strutturati Parte 1 Introduzione versione 2.0 Questolavoroè concessoin uso secondoi termini di unalicenzacreative Commons (vedi ultima pagina) G. Mecca
DettagliProgrammazione Orientata agli Oggetti in Linguaggio Java
Programmazione Orientata agli Oggetti in Linguaggio Java Classi e Oggetti: Introduzione versione 2.0 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima pagina)
DettagliProgrammazione Procedurale in Linguaggio C++
Programmazione Procedurale in Linguaggio C++ Strutture di Dati Parte 2 La Lista versione 2.0 Questolavoroè concessoin uso secondoi termini di unalicenzacreative Commons (vedi ultima pagina) G. Mecca Università
DettagliProgrammazione Orientata agli Oggetti in Linguaggio Java
Programmazione Orientata agli Oggetti in Linguaggio Java Sintassi e Semantica Riferimenti versione 2.1 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima pagina)
DettagliProgrammazione Orientata agli Oggetti in Linguaggio Java
Programmazione Orientata agli Oggetti in Linguaggio Java Ruoli e Responsabilità: Introduzione versione 2.1 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima
DettagliProgrammazione Orientata agli Oggetti in Linguaggio Java
Programmazione Orientata agli Oggetti in Linguaggio Java Ereditarietà e Polimorfismo: Polimorfismo - a Programmare con il Polimorfismo versione 1.2 Questo lavoro è concesso in uso secondo i termini di
DettagliProgrammazione Orientata agli Oggetti in Linguaggio Java
Programmazione Orientata agli Oggetti in Linguaggio Java Classi e Oggetti: Introduzione versione 2.1 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima pagina)
DettagliProgrammazione Procedurale in Linguaggio C++
Programmazione Procedurale in Linguaggio C++ Elementi di Base Parte 5 Conclusioni versione 2.1 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima pagina) G.
DettagliProgrammazione Procedurale in Linguaggio C++
Programmazione Procedurale in Linguaggio C++ Elementi di Base Parte 6 Il FORTRAN versione 2.0 Questolavoroè concessoin uso secondoi termini di unalicenzacreative Commons (vedi ultima pagina) G. Mecca Università
DettagliProgrammazione Procedurale in Linguaggio C++
Programmazione Procedurale in Linguaggio C++ Le Stringhe versione 2.1 Questolavoroè concessoin uso secondoi termini di unalicenzacreative Commons (vedi ultima pagina) G. Mecca mecca@unibas.it Università
DettagliProgrammazione Procedurale in Linguaggio C++
Programmazione Procedurale in Linguaggio C++ Elementi di Base Parte 5 Conclusioni versione 2.0 Questolavoroè concessoin uso secondoi termini di unalicenzacreative Commons (vedi ultima pagina) G. Mecca
DettagliProgrammazione Procedurale in Linguaggio C++
Programmazione Procedurale in Linguaggio C++ Sottoprogrammi Parte 2 (a) Sintassi e Semantica versione 2.0 Questolavoroè concessoin uso secondoi termini di unalicenzacreative Commons (vedi ultima pagina)
DettagliProgrammazione Procedurale in Linguaggio C++
Programmazione Procedurale in Linguaggio C++ Elementi di Base Parte 3 Istruzioni di Assegnazione versione 2.0 Questolavoroè concessoin uso secondoi termini di unalicenzacreative Commons (vedi ultima pagina)
DettagliProgrammazione Orientata agli Oggetti in Linguaggio Java
Programmazione Orientata agli Oggetti in Linguaggio Java Sintassi e Semantica Introduzione versione 2.1 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima pagina)
DettagliProgrammazione Orientata agli Oggetti in Linguaggio Java
Programmazione Orientata agli Oggetti in Linguaggio Java Sintassi e Semantica: Convenzioni di Stile versione 1.1 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi
DettagliProgrammazione Orientata agli Oggetti in Linguaggio Java
Programmazione Orientata agli Oggetti in Linguaggio Java Classi e Oggetti: Metafora Parte a versione 2.2 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima pagina)
DettagliProgrammazione Orientata agli Oggetti in Linguaggio Java
Programmazione Orientata agli Oggetti in Linguaggio Java Qualità del Codice: Convenzioni di Stile versione 1.0 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima
DettagliProgrammazione Procedurale in Linguaggio C++
Programmazione Procedurale in Linguaggio C++ Strutture di Dati Parte 2 La Lista G. Mecca M. Samela Università della Basilicata Strutture di Dati: Lista >> Sommario Sommario Introduzione Definizione di
DettagliProgrammazione Procedurale in Linguaggio C++
Programmazione Procedurale in Linguaggio C++ Tipi Strutturati Concetti Avanzati versione 2.5 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima pagina) G. Mecca
DettagliTecnologie di Sviluppo per il Web
Tecnologie di Sviluppo per il Web Programmazione Web: Introduzione versione 3.0 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima pagina) G. Mecca mecca@unibas.it
DettagliProgrammazione Procedurale in Linguaggio C++
Programmazione Procedurale in Linguaggio C++ Sottoprogrammi Parte 4 Conclusioni versione 2.0 Questolavoroè concessoin uso secondoi termini di unalicenzacreative Commons (vedi ultima pagina) G. Mecca Università
DettagliProgrammazione Procedurale in Linguaggio C++
Programmazione Procedurale in Linguaggio C++ Elementi di Base Parte 3 Istruzioni di Assegnazione versione 2.1 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima
DettagliProgrammazione Procedurale in Linguaggio C++
Programmazione Procedurale in Linguaggio C++ Tipi Strutturati Parte 3 Record versione 2.1 Questolavoroè concessoin uso secondoi termini di unalicenzacreative Commons (vedi ultima pagina) G. Mecca Università
DettagliProgrammazione Orientata agli Oggetti in Linguaggio Java
Programmazione Orientata agli Oggetti in Linguaggio Java Design Pattern: Introduzione versione 2.1 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima pagina)
DettagliProgrammazione Orientata agli Oggetti in Linguaggio Java
Programmazione Orientata agli Oggetti in Linguaggio Java Programmazione su XML: C# versione 2.0 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima pagina) G.
DettagliProgrammazione Procedurale in Linguaggio C++
Programmazione Procedurale in Linguaggio C++ Concetti Introduttivi Parte 1 Architettura del Calcolatore versione 2.2 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi
DettagliProgrammazione Orientata agli Oggetti in Linguaggio Java
Programmazione Orientata agli Oggetti in Linguaggio Java Classi e Oggetti: Metafora Parte c versione 1.1 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima pagina)
DettagliProgrammazione Procedurale in Linguaggio C++
Programmazione Procedurale in Linguaggio C++ Elementi di Base Parte 4 Lettura e Stampa dei Dati versione 2.1 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima
DettagliProgrammazione Orientata agli Oggetti in Linguaggio Java
Programmazione Orientata agli Oggetti in Linguaggio Java Classi e Oggetti: C# versione 2.1 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima pagina) G. Mecca
DettagliProgrammazione Orientata agli Oggetti in Linguaggio Java
Programmazione Orientata agli Oggetti in Linguaggio Java Test e Correzione: Introduzione versione 1.0 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima pagina)
DettagliProgrammazione Procedurale in Linguaggio C++
Programmazione Procedurale in Linguaggio C++ Sottoprogrammi Parte 6 Metodologia di Sviluppo - b versione 2.3 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima
DettagliProgrammazione Procedurale in Linguaggio C++
Programmazione Procedurale in Linguaggio C++ Sottoprogrammi Parte 1 Introduzione versione 2.0 Questolavoroè concessoin uso secondoi termini di unalicenzacreative Commons (vedi ultima pagina) G. Mecca Università
DettagliTecnologie di Sviluppo per il Web
Tecnologie di Sviluppo per il Web JavaScript Concetti Fondamentali versione 2.1 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima pagina) G. Mecca Università
DettagliProgrammazione Procedurale in Linguaggio C++
Programmazione Procedurae in Linguaggio C++ Strutture di Dati La Lista parte b versione 2.4 Questo avoro è concesso in uso secondo i termini di una icenza Creative Commons (vedi utima pagina) G. Mecca
DettagliProgrammazione Procedurale in Linguaggio C++
Programmazione Procedurale in Linguaggio C++ Tipi Strutturati Parte 1 Introduzione G. Mecca M. Samela Università della Basilicata Tipi Strutturati: Introduzione >> Sommario Sommario Panoramica Alcuni Esempi
DettagliProgrammazione Orientata agli Oggetti in Linguaggio Java
Programmazione Orientata agli Oggetti in Linguaggio Java Programmazione Grafica: C# versione 1.0 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima pagina) G.
DettagliProgrammazione Procedurale in Linguaggio C++
Programmazione Procedurale in Linguaggio C++ Concetti Introduttivi Parte 2 Linguaggi di Programmazione versione 2.0 Questolavoroè concessoin uso secondoi termini di unalicenzacreative Commons (vedi ultima
DettagliProgrammazione Procedurale in Linguaggio C++
Programmazione Procedurale in Linguaggio C++ Strutture di Dati Parte 4 Conclusioni G. Mecca M. Samela Università della Basilicata Strutture di Dati: Conclusioni >> Sommario Sommario Ricapitolazione Alcune
DettagliProgrammazione Procedurale
Programmazione Procedurale Concetti Introduttivi Strumenti di Sviluppo versione 3.2 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima pagina) G. Mecca Università
DettagliProgrammazione Procedurale in Linguaggio C++
Programmazione Procedurale in Linguaggio C++ Sottoprogrammi Parte 3 Programmazione Modulare (a) versione 2.0 Questolavoroè concessoin uso secondoi termini di unalicenzacreative Commons (vedi ultima pagina)
DettagliProgrammazione Orientata agli Oggetti in Linguaggio Java
Programmazione Orientata agli Oggetti in Linguaggio Java Strumenti di Sviluppo: Introduzione versione 1.0 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima
DettagliProgrammazione Orientata agli Oggetti in Linguaggio Java
Programmazione Orientata agli Oggetti in Linguaggio Java Programmazione Grafica: Conclusioni versione 1.0 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima
DettagliProgrammazione Procedurale in Linguaggio C++
Programmazione Procedurale in Linguaggio C++ Concetti Introduttivi Parte 2 Linguaggi di Programmazione versione 2.2 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi
DettagliProgrammazione Orientata agli Oggetti in Linguaggio Java
Programmazione Orientata agli Oggetti in Linguaggio Java Ereditarietà e Polimorfismo: Polimorfismo - d Regole Sintattiche e Semantiche versione 1.2 Questo lavoro è concesso in uso secondo i termini di
DettagliProgrammazione Orientata agli Oggetti in Linguaggio Java
Programmazione Orientata agli Oggetti in Linguaggio Java Classi e Oggetti Sintassi e Semantica Parte b: Peculiarità di Java versione 1.2 Questo lavoro è concesso in uso secondo i termini di una licenza
DettagliProgrammazione Orientata agli Oggetti in Linguaggio Java
Programmazione Orientata agli Oggetti in Linguaggio Java Programmazione su XML: Strato di Persistenza versione 2.0 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi
DettagliTecnologie di Sviluppo per il Web
Tecnologie di Sviluppo per il Web Programmazione Web: Conclusioni versione 2.1 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima pagina) G. Mecca mecca@unibas.it
DettagliTecnologie di Sviluppo per il Web
Tecnologie di Sviluppo per il Web Applicazioni Web J2EE: Aspetti Metodologici versione 2.2 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima pagina) G. Mecca
DettagliProgrammazione Orientata agli Oggetti in Linguaggio Java
Programmazione Orientata agli Oggetti in Linguaggio Java Sintassi e Semantica Componenti versione 2.0 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima pagina)
DettagliProgrammazione Orientata agli Oggetti in Linguaggio Java
Programmazione Orientata agli Oggetti in Linguaggio Java Eccezioni: C# versione 2.1 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima pagina) G. Mecca Università
DettagliProgrammazione Procedurale in Linguaggio C++
Programmazione Procedurale in Linguaggio C++ Sottoprogrammi Concetti Avanzati Tecniche di Test e Correzione versione 2.4 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons
DettagliArray di array. Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1. Dispensa 03. A. Miola Febbraio 2008
Corso di Laurea Ingegneria Informatica Fondamenti di Informatica Dispensa Array di array A. Miola Febbraio 8 http://www.dia.uniroma.it/~java/fondinf/ Array di array Contenuti Array bidimensionali creazione
DettagliProgrammazione Orientata agli Oggetti in Linguaggio Java
Programmazione Orientata agli Oggetti in Linguaggio Java Ruoli e Responsabilità: C# versione 1.1 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima pagina) G.
DettagliInformatica Applicata
Ing. Irina Trubitsyna Elementi di base di un programma Dichiarazione dei dati in un programma Sommario Panoramica Elementi di Base di un Programma Struttura Direttive Elementi Sintattici di Base Commenti
DettagliProgrammazione Orientata agli Oggetti in Linguaggio Java
Programmazione Orientata agli Oggetti in Linguaggio Java Ruoli e Responsabilità: Incapsulamento versione 2.0 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima
DettagliProgrammazione Orientata agli Oggetti in Linguaggio Java
Programmazione Orientata agli Oggetti in Linguaggio Java Sintassi e Semantica: C# Parte a versione 2.4 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima pagina)
DettagliProgrammazione Orientata agli Oggetti in Linguaggio Java
Programmazione Orientata agli Oggetti in Linguaggio Java Ruoli e Responsabilità: Strati Applicativi versione 2.3 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi
DettagliProgrammazione Procedurale in Linguaggio C++
Programmazione Procedurale in Linguaggio C++ Sottoprogrammi Parte 5 Metodologia di Sviluppo - a versione 2.3 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima
DettagliProgrammazione Orientata agli Oggetti in Linguaggio Java
Programmazione Orientata agli Oggetti in Linguaggio Java Classi e Oggetti: Conclusioni Parte a versione 2.2 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima
DettagliProgrammazione Procedurale in Linguaggio C++
Programmazione Procedurale in Linguaggio C++ Strutture di Controllo Parte 4 Conclusioni G. Mecca M. Samela Università della Basilicata Strutture di Controllo >> Sommario Sommario Ricapitolazione Alcune
DettagliProgrammazione Orientata agli Oggetti in Linguaggio Java
Programmazione Orientata agli Oggetti in Linguaggio Java : Conclusioni versione 2.0 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima pagina) G. Mecca Università
DettagliProgrammazione Orientata agli Oggetti in Linguaggio Java
Programmazione Orientata agli Oggetti in Linguaggio Java Ruoli e Responsabilità: Incapsulamento versione 2.1 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima
DettagliFondamenti di Informatica Ing. Biomedica
Fondamenti di Informatica Ing. Biomedica Esercitazione n.8 Matrici Antonio Arena antonio.arena@ing.unipi.it Fondamenti di Informatica - Esercitazione n.8 2 Matrici In C++ viene trattata come array multi-dimesionale.
DettagliProgrammazione Orientata agli Oggetti in Linguaggio Java
Programmazione Orientata agli Oggetti in Linguaggio Java Tecniche di Programmazione: Date versione 1.1 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima pagina)
DettagliProgrammazione Orientata agli Oggetti in Linguaggio Java
Programmazione Orientata agli Oggetti in Linguaggio Java Presentazione del Corso Anno Accademico 2003-2004 http://www.db.unibas.it/users/mecca/corsi/progoggettii versione 1.0 Questo lavoro è concesso in
DettagliProgrammazione Procedurale in Linguaggio C++
Programmazione Procedurale in Linguaggio C++ Elementi di Base Parte 7 Dettagli e Approfondimenti versione 2.2 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima
DettagliAlgoritmi e Strutture di Dati
Algoritmi e Strutture di Dati Capitolo 3 - Tipi di dato e strutture di dati This work is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike License. To view a copy of this license,
DettagliProgrammazione Orientata agli Oggetti in Linguaggio Java
Programmazione Orientata agli Oggetti in Linguaggio Java Tecniche di Programmazione: Collezioni Parte b versione 2.3 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi
DettagliProgrammazione Procedurale in Linguaggio C++
Programmazione Procedurale in Linguaggio C++ versione 2.0 Questolavoroè concessoin uso secondoi termini di unalicenzacreative Commons (vedi ultima pagina) G. Mecca Università della Basilicata mecca@unibas.it
DettagliTecnologie di Sviluppo per il Web
Tecnologie di Sviluppo per il Web Introduzione Architettura di Riferimento versione 2.2 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima pagina) G. Mecca mecca@unibas.it
DettagliIntroduzione ai Calcolatori Elettronici
Introduzione ai Calcolatori Elettronici Elementi di Base dell ICT Information and Communication Technology Concetti Introduttivi A.A. 2013/2014 Domenica Sileo Università degli Studi della Basilicata Elementi
DettagliAmbienti di Programmazione per il Software di Base
Ambienti di Programmazione per il Software di Base Le Funzioni in C Esercizi sulle Funzioni svolti Esercizi sulle Funzioni da svolgere A.A. 2011/2012 Ambienti di Programmazione per il Software di Base
DettagliIl problema dello zaino
Il problema dello zaino (knapsack problem) Damiano Macedonio mace@unive.it Copyright 2010 2012 Moreno Marzolla, Università di Bologna (http://www.moreno.marzolla.name/teaching/asd2011b/) This work is licensed
DettagliProgrammazione Orientata agli Oggetti in Linguaggio Java
Programmazione Orientata agli Oggetti in Linguaggio Java Test e Correzione: C# Parte a versione 1.5 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima pagina)
DettagliProgrammazione Orientata agli Oggetti in Linguaggio Java
Programmazione Orientata agli Oggetti in Linguaggio Java Ereditarietà e Polimorfismo: Polimorfismo in Azione versione 1.0 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons
DettagliTecnologie di Sviluppo per il Web
Tecnologie di Sviluppo per il Web Programmazione Web: Architetture versione 3.0 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima pagina) G. Mecca mecca@unibas.it
DettagliProgrammazione Orientata agli Oggetti in Linguaggio Java
Programmazione Orientata agli Oggetti in Linguaggio Java Sintassi e Semantica Uso dei Componenti versione 2.0 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima
DettagliBreve Manuale di Riferimento sulla Sintassi Linguaggi C++ e FORTRAN
Breve Manuale di Riferimento sulla Sintassi Linguaggi e versione aggiornata al 05/02/2004 Sommario Elementi di Base... 2 Dati, Tipi e Dichiarazioni... 2 Tipi di Dato di Base... 2 Tipi di Dato Strutturati...
DettagliProgrammazione Procedurale in Linguaggio C++
Programmazione Procedurale in Linguaggio C++ Sottoprogrammi Parte 3 (b) Metodologia di Sviluppo versione 2.0 Questolavoroè concessoin uso secondoi termini di unalicenzacreative Commons (vedi ultima pagina)
DettagliProgrammazione Orientata agli Oggetti in Linguaggio Java
Programmazione Orientata agli Oggetti in Linguaggio Java Design Pattern: Storia Parte b versione 2.1 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima pagina)
DettagliProgrammazione Orientata agli Oggetti in Linguaggio Java
Programmazione Orientata agli Oggetti in Linguaggio Java Ruoli e Responsabilità: Introduzione versione 2.3 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima
DettagliLezione 8: Stringhe ed array multidimensionali
Lezione 8: Stringhe ed array multidimensionali Vittorio Scarano Corso di Laurea in Informatica Università degli Studi di Salerno Struttura della lezione AVVISO: la lezione di laboratorio di 28/5 non si
DettagliProgrammazione Procedurale in Linguaggio C++
Programmazione Procedurale in Linguaggio C++ Strutture di Controllo Parte 2 Istruzioni Condizionali G. Mecca M. Samela Università della Basilicata Istruzioni Condizionali >> Sommario Sommario Introduzione
DettagliIntroduzione all'algoritmica per i Licei (C++). 2 Massimo e minimo.
Introduzione all'algoritmica per i Licei (C++). 2 Massimo e minimo. versione 13 gennaio 2015 Elio Giovannetti Dipartimento di Informatica Università di Torino Quest'opera è distribuita con Licenza Creative
DettagliProgrammazione Procedurale in Linguaggio C++
Programmazione Procedurale in Linguaggio C++ Elementi di Base Parte 3 Istruzioni di Assegnazione G. Mecca M. Samela Università della Basilicata Elementi di Base >> Sommario Sommario Introduzione Istruzioni
DettagliEsercizi su array di array
Corso di Laurea Ingegneria Informatica Fondamenti di Informatica Dispensa E10 C. Limongelli Gennaio 2010 1 Contenuti Fusione di due array ordinati, con eliminazione di duplicati Verifica array bidimensionale
DettagliProgrammazione Procedurale in Linguaggio C++
Programmazione Procedurale in Linguaggio C++ Tipi Strutturati Parte 3 Record G. Mecca M. Samela Università della Basilicata Tipi Strutturati: Record >> Sommario Sommario Introduzione Dichiarazione di Record
DettagliMatrici. Unità 7. Domenico Daniele Bloisi. Corso di Programmazione e Metodi Numerici Ingegneria Aerospaziale BAER
Corso di Programmazione e Metodi Numerici Ingegneria Aerospaziale BAER Domenico Daniele Bloisi Docenti Metodi Numerici prof. Vittoria Bruni vittoria.bruni@sbai.uniroma1.it Programmazione prof. Domenico
Dettaglicsp & backtracking informatica e laboratorio di programmazione Alberto Ferrari Informatica e Laboratorio di Programmazione
csp & backtracking informatica e laboratorio di programmazione Alberto Ferrari Informatica e Laboratorio di Programmazione CSP (Constraint Satisfaction Problem) o CSP = problemi di soddisfacimento di vincoli
DettagliProgrammazione Orientata agli Oggetti in Linguaggio Java
Programmazione Orientata agli Oggetti in Linguaggio Java Ereditarietà e Polimorfismo: Introduzione versione 1.2 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima
Dettagli