Esercizio 1 - Componente Matrice (1/3) Esercizio 1 - Componente Matrice (3/3) Esercizio 1 - Componente Matrice (2/3)
|
|
- Armando Rossini
- 7 anni fa
- Visualizzazioni
Transcript
1 Università degli Studi di Bologna Facoltà di Ingegneria Fondamenti di Informatica T Modulo - Lab Corso di Laurea in Ingegneria Informatica Anno accademico 008/009 - Componente Matrice (1/3) Realizzare un componente Matrice come tipo di dato astratto (ADT) Il componente deve essere dotato di una opportuna interfaccia che consenta di: - Interfaccia di base Costruire una nuova matrice partendo o dal numero di righe e colonne oppure dai valori che la matrice dovrà contenere Ottenere il numero di righe e colonne della matrice Ottenere il valore dell elemento della matrice individuato dal numero di riga e colonna Impostare il valore dell elemento della matrice individuato dal numero di riga e colonna - Componente Matrice (/3) - Componente Matrice (3/3) Ottenere una rappresentazione stringa della matrice Stabilire se la matrice è quadrata Ottenere il determinante della matrice - Interfaccia estesa Sommare la matrice con un altra e restituire una nuova matrice che rappresenti il risultato Moltiplicare la matrice con un altra e restituire una nuova matrice che rappresenti il risultato Ottenere una nuova matrice che rappresenti una sottomatrice della matrice corrente, partendo da una riga e colonna di partenza e dal numero di righe e colonne da considerare per l estrazione della sottomatrice Ottenere una nuova matrice che rappresenti il minore della matrice corrente, partendo dalla riga e colonna da rimuovere Ottenere uno spazio di nomi strutturato in modo tale che il componente Matrice faccia parte del package mymath Verificare il corretto funzionamento di ogni singolo aspetto del componente (Ricordate? Il testing non è mai opzionale!!!) 3 4 Realizzazione del componente (1/3) Il componente deve far parte del package mymath Stato del componente: è caratterizzato dai valori contenuti nella matrice Array a due dimensioni di double Costruttore del componente: Costruttore 1: prende in ingresso il numero di righe e colonne ed imposta lo stato interno del componente Costruttore : prende in ingresso un array a due dimensioni che rappresenta l insieme degli elementi della matrice e imposta lo stato interno del componente Metodi accessor per ottenere informazioni sul componente. In particolare per: Ottenere il numero delle righe e colonne del componente matrice corrente (getrows e getcols) Ottenere/impostare il valore di un particolare elemento della matrice (getvalue e setvalue) 5 Realizzazione del componente (/3) Altri metodi per: Ottenere la rappresentazione in stringa del componente (tostring) Stabilire se la matrice è quadrata, cioè se il numero di righe e colonne coincide (issquared) Ottenere una nuova matrice che rappresenti il minore della matrice corrente (extractminor). In particolare, dati in ingresso una riga ed una colonna, il metodo deve restituire una matrice: 1. uguale a quella corrente. con soppressi la riga e la colonna indicati dai parametri passati in ingresso Algoritmo già visto in Fondamenti T-1 6
2 Realizzazione del componente (3/3) Test del componente Ottenere il determinante (det) della matrice sapendo che: per una matrice quadrata qualsiasi n x n, il determinante è definito come dove a i,k è l elemento di coordinate i,k e A i,k è il minore ottenuto sopprimendo la i-esima e la k-esima colonna (N.B. sfruttare il metodo exctractminor) Algoritmo già visto in Fondamenti T-1 Verificare il funzionamento di ogni parte del componente. In particolare: Creare la classe MatrixTestMain che faccia parte del package mymain Costruire la matrice Testare il funzionamento dei metodi accessor Verificare che il metodo tostring restituisca la rappresentazione attesa Verificare che il metodo issquared restituisca il valore atteso Verificare che il metodo exctractminor restituisca la matrice attesa Verificare che il metodo det restituisca il determinante atteso 7 8 Estensione del componente Estendere la classe Matrice con una serie di metodi che permettano di: Estrarre dalla matrice corrente una nuova matrice che rappresenti una sua sottomatrice (extractsubmatrix). A tal fine, dovranno essere passati i seguenti parametri di ingresso: 1. Gli indici di riga e colonna da cui partire per l estrazione della sottomatrice. Il numero di righe e colonne che comporranno la sottomatrice Ottenere una nuova matrice come somma della matrice corrente e di una matrice passata come parametro di ingresso Ottenere una nuova matrice come prodotto della matrice corrente e di una matrice passata come parametro di ingresso package mymath; public class Matrix private double values[][]; public Matrix(int rows, int cols) values = new double[rows][cols]; public Matrix(double[][] values) this.values = values; Package di cui fa parte il componente Matrix Stato del componente Matrix Stato Costruttori del componente del componente Matrix Matrix 9 10 public int getrows() return values.length; public int getcols() return values[0].length; public double getvalue(int row, int col) return values[row][col]; Metodi accessor public void setvalue(int row, int col, double value) values[row][col] = value; 11 public String tostring() String result = ""; for (int rowidx = 0; rowidx < getrows(); rowidx++) for (int colidx = 0; colidx < getrows(); colidx++) result += getvalue(rowidx, colidx) + " "; result += "\n"; public boolean issquared() return getrows() == getcols(); 1
3 public Matrix extractminor(int row, int col) if (issquared()) else return null; La matrice corrente deve essere quadrata altrimenti viene restituito null Matrix minor = new Matrix(getRows() - 1, getrows() - 1); for (int rowidx = 0; rowidx < getrows(); rowidx++) for (int colidx = 0; colidx < getrows(); colidx++) if (rowidx!= row && colidx!= col) int minorrowidx = rowidx < row? rowidx : rowidx - 1; int minorcolidx = colidx < col? colidx : colidx - 1; minor.setvalue(minorrowidx, minorcolidx, getvalue(rowidx, colidx)); Se la matrice corrente è quadrata, viene creata e restituita una matrice uguale a quella corrente con soppressi la riga e la colonna return minor; passati come parametri al metodo public double det() return issquared()? calcdet() : 0; public double calcdet() if (getrows() == ) return getvalue(0, 0) * getvalue(1, 1) getvalue(0, 1) * getvalue(1, 0); Caso più semplice: matrice x Se la matrice corrente non è quadrata, il suo determinante è uguale a 0 15 else int row = 0; double result = 0; for (int colidx = 0; colidx < getcols(); colidx++) double partial = getvalue(row, colidx) * extractminor(row, colidx).det(); result += colidx % == 0? partial : -partial; Caso più complesso: matrice n x n, con n > 16 public Matrix extractsubmatrix(int startrow, int startcol, int rowcount, int colcount) Matrix result = null; if (startrow < getrows() && startrow + rowcount <= getrows() && startcol < getcols() && startcol + colcount <= getcols()) result = new Matrix(rowCount, colcount); for (int rowidx = 0; rowidx < rowcount; rowidx++) for (int colidx = 0; colidx < colcount; colidx++) result.setvalue(rowidx, colidx, getvalue(rowidx + startrow, colidx + startcol)); Si estrae una matrice a partire dalla quella corrente. In particolare, si parte dalla riga e colonna indicati come parametri e si estraggono un numero di righe e colonne pari a quelli indicate come parametri 17 public Matrix sum(matrix m) Matrix result = null; if (getrows() == m.getrows() && getcols() == m.getcols()) result = new Matrix(getRows(), getcols()); for (int rowidx = 0; rowidx < getrows(); rowidx++) for (int colidx = 0; colidx < getcols(); colidx++) result.setvalue(rowidx, colidx, getvalue(rowidx, colidx) + m.getvalue(rowidx, colidx)); 18
4 public Matrix mul(matrix m) Matrix result = null; if (getcols() == m.getrows()) result = new Matrix(getRows(), m.getcols()); for (int masterrowidx = 0; masterrowidx < getrows(); masterrowidx++) for (int mastercolidx = 0; mastercolidx < m.getcols(); mastercolidx++) double value = 0; for (int i = 0; i < getcols(); i++) value += getvalue(masterrowidx, i) * m.getvalue(i, mastercolidx); result.setvalue(masterrowidx, mastercolidx, value); 19 0 Esercizio - Poligoni (1/) Esercizio - Poligoni (/) Ogni Poligono è caratterizzato da un nome (triangolo, quadrilatero, pentagono, ) che indica implicitamente il numero di vertici posseduti e da un insieme di punti che ne definiscono i vertici I vertici di un poligono sono tutti indispensabili se viene eliminato uno di questi, si ottiene un poligono diverso ESEMPIO: (5,) (5,0) (5,1) Ora il poligono è un triangolo! Non più un rettangolo! 1 Esercizio - Componente Punto Realizzare un componente Punto come tipo di dato astratto (ADT) Il componente deve essere dotato di una opportuna interfaccia che consenta di: Costruire una nuovo punto partendo dall ascissa e ordinata che ne determinano la posizione nel piano Ottenere l ascissa e ordinata del punto Ottenere una rappresentazione stringa del punto (ESEMPIO: (,1) ) Esercizio - Componente Poligono Realizzare un componente Poligono come tipo di dato astratto (ADT) Il componente deve essere dotato di una opportuna interfaccia che consenta di: Costruire una nuovo poligono partendo dal nome del poligono e da un insieme di vertici Ottenere il nome del poligono e l insieme dei vertici che lo compongono Ottenere il perimetro del poligono Ottenere una rappresentazione stringa del poligono (ESEMPIO: triangolo di vertici (0,0) (0,3) (4,0), perimetro = 1 ) 3 4
5 Esercizio Ottenere uno spazio di nomi strutturato in modo tale che il componente Punto e Poligono facciano parte del package forme Verificare il corretto funzionamento di ogni singolo aspetto dei componenti Realizzazione dei componenti (1/) I componenti Punto e Poligono devono far parte del package forme Stato del componente: Lo stato componente Punto è rappresentato dell ascissa e ordinata Lo stato componente Poligono dal nome del poligono e da un insieme di punti Costruttore del componente: Costruttore componente Punto: prende in ingresso l ascissa e l ordinata e imposta lo stato interno del componente Costruttore componente Poligono: prende in ingresso il nome del poligono rappresentato e un array ad una dimensione che rappresenta l insieme dei punti che compongono il poligono 5 6 Realizzazione dei componenti (/) Metodi accessor per ottenere informazioni sui componenti. In particolare per: Ottenere l ascissa e l ordinata nel caso del componente Punto (getx e gety) Ottenere il nome ed i vertici nel caso del componente Poligono (getnome e getvertici) Altri metodi per: Ottenere la rappresentazione in stringa per ciascun componente (tostring) Ottenere il perimetro nel caso del componente Poligono (getperimetro) A C B Perimetro Calcolo della Lunghezza di un lato: Dati i vertici il calcolo della lunghezza di un lato è dato dalla formula L L L v 1, v v1 x vx v1 y v y A, B B, C Test dei componenti (1/) Organizzazione dei package: - Le classi Punto e Poligono appartengono allo stesso package forme - La classe Test invece appartiene al package di default Organizzazione delle cartelle nel caso più semplice: Cartella di lavoro Test.java Test dei componenti (/) Verificare il funzionamento di ogni parte del componente. In particolare: Creare la classi Punti e Poligono Testare il funzionamento dei metodi accessor Verificare che i metodi tostring restituiscano la rappresentazione attesa Verificare che il metodo getperimetro restituisca il valore atteso forme Punto.java Poligono.java 9 30
6 Esercizio Esercizio public class Punto private int x; private int y; public Punto(int x, int y) this.x = x; this.y = y; public int getx() return x; Coordinate espresse da due interi x, y public int gety() return y; public String tostring() return "(" + x + "," + y + ")"; 31 3 public class Poligono private String nome; private Punto[] vertici; Esercizio public Poligono(String nome, Punto[] p) this.nome = nome; vertici = p; public String getnome() return nome; Esercizio public Punto[] getvertici() return vertici; public String tostring() String s = nome + " di vertici "; for (int i = 0; i < vertici.length; i++) s = s + ((Punto) vertici[i]) + " ; s = s + ", perimetro=" + getperimetro(); return s; Esercizio public double getperimetro() int j; double perimetro = 0; int t1, t; for (int i = 0; i < vertici.length; i++) if (i == (vertici.length - 1)) j = 0; else j = i + 1; t1 = Math.abs((vertici[i].getX()) - (vertici[j].getx())); t = Math.abs((vertici[i].getY()) - (vertici[j].gety())); perimetro = perimetro + Math.sqrt((t1 * t1) + (t * t)); return perimetro; Calcolo della lunghezza di un lato da somare al perimetro parziale 35
Esercitazione n 3. Capacità di analisi e di estensione di progetti esistenti Linguaggio Java:
Esercitazione n 3 Obiettivi: Capacità di analisi e di estensione di progetti esistenti Linguaggio Java: Ereditarietà delle classi Utilizzo di costruttori e metodi di superclasse Classi astratte Visibilità:
DettagliDefinizione di classi
Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1 Dispensa E05 Definizione di classi A. Miola Novembre 2006 http://www.dia.uniroma3.it/~java/fondinf1/ Definizione di classi 1 Contenuti
DettagliMatrici. Matrici.h Definizione dei tipi. Un po di esercizi sulle matrici Semplici. Media difficoltà. Difficili
Matrici Un po di esercizi sulle matrici Semplici Lettura e scrittura Calcolo della trasposta Media difficoltà Calcolo del determinante Difficili Soluzione di sistemi lineari È veramente difficile? 1 Matrici.h
DettagliLinguaggi Corso M-Z - Laurea in Ingegneria Informatica A.A. 2007-2008. Esercitazione. Programmazione Object Oriented in Java
Linguaggi Corso M-Z - Laurea in Ingegneria Informatica A.A. 2007-2008 Alessandro Longheu http://www.diit.unict.it/users/alongheu alessandro.longheu@diit.unict.it Programmazione Object Oriented in Java
DettagliDefinizione di classi
Corso di Laurea Ingegneria Civile Fondamenti di Informatica Dispensa 19 Maggio 2010 1 Contenuti Classi per istanziare oggetti Esempio: la classe Punto Variabili d istanza Metodi d istanza Costruttori Ulteriori
DettagliFondamenti di Informatica T2 Modulo 2. Corso di Laurea in Ingegneria Informatica Anno accademico 2008/2009. Enumerativi
Università degli Studi di Bologna Facoltà di Ingegneria Fondamenti di Informatica T2 Modulo 2 Corso di Laurea in Ingegneria Informatica Anno accademico 2008/2009 Enumerativi Finora abbiamo creato enumerativi
Dettagli14 - Metodi e Costruttori
14 - Metodi e Costruttori 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
DettagliLa classe java.lang.object
La classe java.lang.object In Java: Gerarchia di ereditarietà semplice Ogni classe ha una sola super-classe Se non viene definita esplicitamente una super-classe, il compilatore usa la classe predefinita
DettagliINFORMATICA GRAFICA - FONDAMENTI DI INFORMATICA Ing. Civile - Edile/Architettura Dott. Penzo SOLUZIONE PROVA SCRITTA DEL 16/09/2002.
INFORMATICA GRAFICA - FONDAMENTI DI INFORMATICA Ing. Civile - Edile/Architettura Dott. Penzo SOLUZIONE PROVA SCRITTA DEL 16/09/2002 Esercizio 4) import fiji.io.simplereader; class Programma{ public static
DettagliRiassunto. La programmazione OO. Oggi. Esempio
Riassunto La programmazione OO Stefano Mizzaro Dipartimento di matematica e informatica Università di Udine http://www.dimi.uniud.it/mizzaro/ mizzaro@dimi.uniud.it Programmazione, lezione 17 29 novembre
Dettagli18 - Classi parzialmente definite: Classi Astratte e Interfacce
18 - Classi parzialmente definite: Classi Astratte e Interfacce Programmazione e analisi di dati Modulo A: Programmazione in Java Paolo Milazzo Dipartimento di Informatica, Università di Pisa http://www.di.unipi.it/
Dettaglidall argomento argomento della malloc()
Allocazione dinamica Quando? Tutte le volte in cui i dati possono crescere in modo non prevedibile staticamente a tempo di sviluppo Un array con dimensione i fissata a compile-time non è sufficiente È
DettagliAgenda. Premessa (2/2) Premessa (1/2) Fondamenti di Informatica T2 Modulo 2. Ing. Elena Nardini Università di Bologna A.A.
Università degli Studi di Bologna Facoltà di Ingegneria Fondamenti di Informatica T2 Modulo 2 Agenda 1. Creazione e test di un componente Frazione 2. Calcolo del codice fiscale Corso di Laurea in Ingegneria
DettagliFondamenti di Informatica T2 Modulo 2. Corso di Laurea in Ingegneria Informatica Anno accademico 2008/2009. Agenda
Università degli Studi di Bologna Facoltà di Ingegneria Fondamenti di Informatica T2 Modulo 2 Corso di Laurea in Ingegneria Informatica Anno accademico 2008/2009 Agenda 1. Creazione e test di un componente
DettagliArray Bidimensionali in Java. Esempi di Elaborazioni su Matrici
Fondamenti di Informatica Array Bidimensionali in Java Esempi di Elaborazioni su Matrici Fondamenti di Informatica - D. Talia - UNICAL 1 Oggetti e array bidimensionali Sviluppiamo un programma Java che
DettagliFondamenti di Informatica I
Sapienza Università di Roma, Facoltà di Ingegneria Corso di Fondamenti di Informatica I Canale 1 (A-K) Anno Accademico 2009-2010 Corso di Laurea in Ingegneria Informatica Docente: Camil Demetrescu Esercitatore:
DettagliTIPI PRIMITIVI: LIMITI
TIPI PRIMITIVI: LIMITI I tipi primitivi sono i "mattoni elementari" del linguaggio In varie situazioni può però essere necessario trattare i tipi primitivi come oggetti quando una funzione pretende come
DettagliCorso di Laurea in Matematica Corso di Informatica Prova d Esame del 02/02/2010
Esercizio 1. Si deve modellare con una classe Java il contenuto di un portamonete, con delle opportune semplificazioni. Le monete da considerare sono di soli 4 tagli: 10, 20, 50 e 100 centesimi (cioè 1
DettagliSTRINGHE IN JAVA In Java, le stringhe non sono pezzi di memo-ria con dentro dei caratteri, come in C: sono oggetti appartenenti alla classe
STRINGHE IN JAVA In Java, le stringhe non sono pezzi di memo-ria con dentro dei caratteri, come in C: sono oggetti appartenenti alla classe String Una stringa Java rappresenta uno specifico valore e come
DettagliLaboratorio di Python
Laboratorio di Python Matrici con Liste Lab09 5 Aprile 2017 Outline Correzione esercizi per oggi Matrici Teoria Esercizi Esercizi per casa Esercizio 1 per casa Scrivere una funzione che verifica se una
DettagliLaboratorio di Programmazione Lezione 2. Cristian Del Fabbro
Laboratorio di Programmazione Lezione 2 Cristian Del Fabbro Prossima lezione GIOVEDÌ 29 OTTOBRE 14:00 Input da tastiera package input; import java.io.*; public class Input { public static void main(string[]
DettagliProgettazione del Software
Progettazione del Software Simulazione di esame Domenico Fabio Savo Dipartimento di Ingegneria Informatica, Automatica e Gestionale Antonio Ruberti Sapienza Università di Roma Anno Accademico 2015/2016
DettagliUNIVERSITÀ DEGLI STUDI DI PAVIA FACOLTÀ DI INGEGNERIA. Matlab: esempi ed esercizi
UNIVERSITÀ DEGLI STUDI DI PAVIA FACOLTÀ DI INGEGNERIA Matlab: esempi ed esercizi Sommario e obiettivi Sommario Esempi di implementazioni Matlab di semplici algoritmi Analisi di codici Matlab Obiettivi
Dettagli1 SIGNIFICATO DEL DETERMINANTE
UNIVERSITÀ DEGLI STUDI DI ROMA LA SAPIENZA - Facoltà di Farmacia e Medicina - Corso di Laurea in CTF 1 SIGNIFICATO DEL DETERMINANTE Consideriamo il seguente problema: trovare l area del parallelogramma
DettagliAppunti ed esercizi di geometria analitica PRIMA PARTE
Appunti ed esercizi di geometria analitica PRIMA PARTE Per la teoria studiare su il libro di testo La retta e i sistemi lineari, modulo E, da pagina 594 a pagina 597. Esercizi da pagina 617 a pagina 623.
DettagliSAPIENZA Università di Roma Facoltà di Ingegneria dell Informazione, Informatica e Statistica
SAPIENZA Università di Roma Facoltà di Ingegneria dell Informazione, Informatica e Statistica Esercitazioni di PROGETTAZIONE DEL SOFTWARE (Corsi di Laurea in Ingegneria Informatica ed Automatica ed Ingegneria
DettagliArray e Oggetti. Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1. Dispensa 12. A. Miola Dicembre 2006
Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1 Dispensa 12 Array e Oggetti A. Miola Dicembre 2006 http://www.dia.uniroma3.it/~java/fondinf1/ Array e Oggetti 1 Contenuti Array paralleli
Dettaglin deve essere maggiore di 0, altrimenti il metodo restituisce null.
Esercizio 1 di classe Intersezione che presi in input due Array di int A e B, restituisce in output un array contenente gli elementi presenti sia in A che in B. Esercizio 2 di classe identità che prende
DettagliCorso di Laurea Ingegneria Informatica Fondamenti di Informatica 2
Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 2 Dispensa 12 ADT: Lista, Pila, Coda A. Miola Marzo 2008 http://www.dia.uniroma3.it/~java/fondinf2/ ADT: Lista, Pila, Coda 1 Contenuti!Tipo
DettagliCLASSI ASTRATTE - ESERCIZIO
CLASSI ASTRATTE - ESERCIZIO Definire una tassonomia di forme geometriche non esiste la generica forma geometrica! esistono triangoli, quadrilateri, pentagoni,... Forme può ben essere una classe astratta
DettagliCOMPITO DI LABORATORIO DI PROGRAMMAZIONE 2001-2002 17 Luglio 2002. Soluzione degli Esercizi
COMPITO DI LABORATORIO DI PROGRAMMAZIONE 2001-2002 17 Luglio 2002 degli Esercizi ESERCIZIO 1. Si consideri il seguente frammento di codice in linguaggio Java: int i=0, j=0; int[][] a=b; boolean trovato=false;
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
DettagliLaboratorio di Programmazione Laurea in Ingegneria Civile e Ambientale
Dipartimento di Ingegneria dell Informazione Università degli Studi di Parma Laboratorio di Programmazione Laurea in Ingegneria Civile e Ambientale Algebra di Boole Stefano Cagnoni Algebra di Boole L algebra
DettagliCorso di Laurea in Ingegneria Gestionale Esame di Informatica a.a. 2012-13 14 giugno 2013
Cognome Nome Matricola Postazione PC Corso di Laurea in Ingegneria Gestionale Esame di Informatica a.a. 2012-13 14 giugno 2013 Testo Il database di una banca è costituito da due vettori paralleli. Il primo
DettagliCorso di Fondamenti di Informatica Ingegneria delle Comunicazioni BCOR Ingegneria Elettronica BELR Introduzione al C Esercitazione 7
Corso di Fondamenti di Informatica Ingegneria delle Comunicazioni BCOR Ingegneria Elettronica BELR Introduzione al C Esercitazione 7 Claudio Ciccotelli NOTA Per ottenere il massimo dei punti in ogni esercizio
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
DettagliLezione 10 programmazione in Java. Anteprima. Programmazione OO. La programmazione orientata agli Oggetti. Javadoc. Esercizi
Lezione 10 programmazione in Java Nicola Drago nicola.drago@univr.it Dipartimento di Informatica Università di Verona Anteprima La programmazione orientata agli Oggetti Cosè un oggetto I metodi Il costruttore
DettagliLezione 9 Esercizi d esame
Lezione 9 Esercizi d esame Rossano Venturini rossano@di.unipi.it Pagina web del corso http://didawiki.cli.di.unipi.it/doku.php/informatica/all-b/start Esercizio 1 Qsort su interi Scrivere un programma
Dettaglipublic double getlato() restituisce la lunghezza del lato del quadrato che esegue il metodo.
Cognome................................ Nome................................... Matricola............................... Programmazione Prova scritta del 21 settembre 2015 TEMPO DISPONIBILE: 1 ora e 40
DettagliAlberi binari e alberi binari di ricerca
Alberi binari e alberi binari di ricerca Violetta Lonati Università degli studi di Milano Dipartimento di Scienze dell Informazione Laboratorio di algoritmi e strutture dati Corso di laurea in Informatica
Dettagli// inizializzazione della biblioteca con utenti, libri e prestiti // non richiesta Biblioteca.inizializza();
// Fondamenti di Informatica/Informatica Grafica // Soluzione del compito del 21/03/2003 // per semplicità si è deciso di riportare in un unico file il testo // delle soluzioni degli esercizi 1, 2 e 3.
DettagliFondamenti di Informatica 1. Prof. B.Buttarazzi A.A. 2010/2011
Fondamenti di Informatica 1 Prof. B.Buttarazzi A.A. 2010/2011 Sommario Paradigma OO Incapsulamento Polimorfismo e overloading Esercizi svolti Esercizi proposti Paradigma OO Nella programmazione tradizionale,
DettagliCognome Nome Matricola Postazione PC. Corso di Laurea in Ingegneria Gestionale Esame di Informatica - a.a Gennaio 2015
Cognome Nome Matricola Postazione PC Corso di Laurea in Ingegneria Gestionale Esame di Informatica - a.a. 2014 15 Gennaio 2015 Testo Il database di un bar è costituito da due vettori paralleli. Il primo
DettagliRealizzazione di Phone Plan. Soluzione - SimpleTime. Realizzazione e testing! Soluzione - SimpleTime. Soluzione - SimpleTime
Università degli Studi di Bologna Facoltà di Ingegneria Fondamenti di Informatica T2 Modulo 2 Corso di Laurea in Ingegneria Informatica Anno accademico 2008/2009 Realizzazione di Phone Plan Fare riferimento
DettagliProva di Laboratorio del [ Corso A-B di Programmazione (A.A. 2004/05) Esempio: Media Modalità di consegna:
Prova di Laboratorio del 12.1.2005 [durata 90 min.] Corso A-B di Programmazione (A.A. 2004/05) 1. Leggere da tastiera un insieme di numeri interi ed inserirli in un vettore A 2. Calcolare tramite una funzione
DettagliARRAY BIDIMENSIONALI float [][] mx = new float[3][4]; (float []) [] mx = new float[3][4];
ARRAY BIDIMENSIONALI Si possono definire array di qualunque tipo di dato, quindi anche di altre array float [][] mx = new float[3][4]; ovvero.. (float []) [] mx = new float[3][4]; La loro motivazione (storica)
DettagliCorso di Laurea Ingegneria Informatica Fondamenti di Informatica
Corso di Laurea Ingegneria Informatica Fondamenti di Informatica Dispensa E01 Esempi di programmi A. Miola Ottobre 2011 1 Contenuti Vediamo in questa lezione alcuni primi semplici esempi di applicazioni
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
DettagliProva d Esame Compito A
Domanda 1 A) Si richiede di analizzare le seguenti sezioni di codice. Il candidato indichi il risultato dell esecuzione del main. public class Father { private static int counter=0; private int code; public
DettagliEsercitazione 2. Corso di Tecniche di Programmazione
Dipartimento di Informatica e Sistemistica Antonio Ruberti Sapienza Università di Roma Esercitazione 2 Corso di Tecniche di Programmazione Laurea in Ingegneria Informatica (Canale di Ingegneria delle Reti
DettagliSTRUTTURE DATI: OLTRE GLI ARRAY LISTE
STRUTTURE DATI: OLTRE GLI ARRAY le strutture dati progettate per ospitare una collezione di elementi, sono variazioni di array Ma l'array ha dimensione fissa anche in Java determinata a priori, in linguaggi
DettagliMATRICI E VETTORI APPROFONDIMENTO PER IL CORSO DI LABORATORIO DI INFORMATICA SARA POLTRONIERI
MATRICI E VETTORI APPROFONDIMENTO PER IL CORSO DI LABORATORIO DI INFORMATICA SARA POLTRONIERI LE MATRICI DEFINIZIONE: Una matrice è un insieme di numeri disposti su righe e colonne. 1 3 7 M = 2 5 1 M è
DettagliEsercizio n.1 FONDAMENTI DI INFORMATICA 1. Esercizio n.2. Soluzione. LINGUAGGIO C Funzioni e gestione file: esercitazione
Università degli Studi di Cagliari Corso di Laurea in Ingegneria Biomedica (Industriale), Chimica, Meccanica, Elettrica FONDAMENTI DI INFORMATICA 1 http://www.diee.unica.it/~marcialis/fi1 A.A. 2010/2011
Dettagli1 Esercizi di Matlab. L operatore : permette di estrarre sottomatrici da una matrice assegnata. Vediamo alcuni esempi.
Esercizi di Matlab L operatore : permette di estrarre sottomatrici da una matrice assegnata. Vediamo alcuni esempi. Esempio Consideriamo la matrice A formata da n = righe e m = colonne M = 5 6 7 8. 9 0
DettagliEsercitazione 5. Corso di Fondamenti di Informatica. Laurea in Ingegneria Informatica
Dipartimento di Informatica e Sistemistica Antonio Ruberti Sapienza Università di Roma Esercitazione 5 Corso di Fondamenti di Informatica Laurea in Ingegneria Informatica (Canale di Ingegneria delle Reti
DettagliAnno 4 Matrice inversa
Anno 4 Matrice inversa 1 Introduzione In questa lezione parleremo della matrice inversa di una matrice quadrata: definizione metodo per individuarla Al termine della lezione sarai in grado di: descrivere
DettagliSISTEMI DI RIFERIMENTO SU UNA RETTA E SU UN PIANO
DIPARTIMENTO DI INGEGNERIA CIVILE PRECORSO DI MATEMATICA ANNO ACCADEMICO 013-014 ESERCIZI RELATIVI A SISTEMI DI RIFERIMENTO SU UNA RETTA E SU UN PIANO Esercizio 1: Fissato su una retta un sistema di riferimento
DettagliTEMA D ESAME 1. Segnalare eventuali errori o situazioni non gestibili con opportune eccezioni o messaggi di errore. TEMA D ESAME 2
TEMA D ESAME 1 Scrivere una classe per memorizzare una tabella bidimensionale di n ed m elementi interi. La classe deve avere un costruttore vuoto e un costruttore che prende in input una tabella bidimensionale
DettagliARRAY E STRINGHE. ESERCIZIO 2 Scrivere un programma che calcola il numero di doppie e di dittonghi (2 vocali vicine) presenti in una stringa.
3 ITI - a.s. 2007-2008 Compiti di Informatica ESTATE 2008 ARRAY E STRINGHE Scrivere una funzione che carica da tastiera un array di n elementi e lo stampa invertendo il primo elemento con l'ultimo, il
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
DettagliIndice. Prefazione. 3 Oggetti e Java 53
Prefazione xv 1 Architettura dei calcolatori 1 1.1 Calcolatori e applicazioni 1 1.1.1 Alcuni esempi di applicazioni 3 1.1.2 Applicazioni e interfacce 4 1.2 Architettura dei calcolatori 7 1.2.1 Hardware
DettagliInformatica/ Ing. Meccanica/ Edile/ Prof. Verdicchio/ 17/01/2014/ Foglio delle domande / VERSIONE 1
Informatica/ Ing. Meccanica/ Edile/ Prof. Verdicchio/ 17/01/2014/ Foglio delle domande/ VERSIONE 1 1) L approccio con cui si studia un sistema focalizzandosi solo sul rapporto tra input e output si chiama
DettagliESERCIZI SULLE MATRICI
ESERCIZI SULLE MATRICI Consideriamo il sistema lineare a, x + a, x + + a,n x n = b a, x + a, x + + a,n x n = b a m, x + a m, x + + a m,n x n = b m di m equazioni in n incognite che ha a, a,n A = a m, a
DettagliEsercizi sulla definizione di classi (Fondamenti di Informatica 1 Walter Didimo) Soluzioni
Esercizi sulla definizione di classi (Fondamenti di Informatica 1 Walter Didimo) Soluzioni Esercizio 1 Nella classe definita di seguito indicare quali sono le variabili di istanza, quali sono le variabili
DettagliStrutture 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));
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
DettagliStringhe. In C le stringhe ben formate sono in realtà array di caratteri terminati sempre da un carattere speciale, \0, detto anche
Fondamenti di Informatica T-1 modulo 2 Laboratorio 04: stringhe 1 Stringhe In C le stringhe ben formate sono in realtà array di caratteri terminati sempre da un carattere speciale, \0, detto anche terminatore
DettagliProgrammazione. Cognome... Nome... Matricola... Prova scritta del 22 settembre 2014. Negli esercizi proposti si utilizzano le seguenti classi:
Cognome................................ Nome................................... Matricola............................... Programmazione Prova scritta del 22 settembre 2014 TEMPO DISPONIBILE: 2 ore Negli
DettagliDati aggregati. Violetta Lonati
Università degli studi di Milano Dipartimento di Scienze dell Informazione Laboratorio di algoritmi e strutture dati Corso di laurea in Informatica - in breve: Definizione di tipi Array Stringhe Strutture
Dettagli3 Omotetie del piano. 4 Omotetie del piano. Fondamenti e didattica della matematica B. Geometria delle similitudini. k = 3.
1 2 Fondamenti e didattica della matematica B 5 marzo 2007 Geometria delle similitudini Marina Bertolini (marina.bertolini@mat.unimi.it) Dipartimento di Matematica F.Enriques Università degli Studi di
DettagliTest di autovalutazione
Test di autovalutazione Test 0 10 0 30 0 0 0 70 80 90 100 n Il mio punteggio, in centesimi, è n Rispondi a ogni quesito segnando una sola delle alternative. n onfronta le tue risposte con le soluzioni.
DettagliEreditarietà. Ereditarietà. Ereditarietà. Ereditarietà
L ereditarietà è il meccanismo attraverso cui viene implementata la relazione di specializzazione (is-a). L ereditarietà è il meccanismo attraverso cui una classe (derivata) eredita da un altra classe
Dettagli7 - Programmazione procedurale: Dichiarazione e chiamata di metodi ausiliari
7 - Programmazione procedurale: Dichiarazione e chiamata di metodi ausiliari Programmazione e analisi di dati Modulo A: Programmazione in Java Paolo Milazzo Dipartimento di Informatica, Università di Pisa
DettagliVariabili e Metodi di classe Interfacce e Package Gestione di File in Java
Fondamenti di Informatica Variabili e Metodi di classe Interfacce e Package Gestione di File in Java Fondamenti di Informatica - D. Talia - UNICAL 1 Variabili di classe: Static Una variabile di classe
DettagliCorso di Laurea in Ingegneria Gestionale Esame di Informatica a.a settembre 2012
Cognome Nome Matricola Postazione PC Corso di Laurea in Ingegneria Gestionale Esame di Informatica a.a. 2011-12 17 settembre 2012 Testo Il database di un videonoleggio è costituito da due vettori paralleli.
DettagliSISTEMI LINEARI: APPROFONDIMENTI ED ESEMPI
SISTEMI LINEARI: APPROFONDIMENTI ED ESEMPI Appunti presi dalle lezioni del prof. Nedo Checcaglini Liceo Scientifico di Castiglion Fiorentino (Classe 4B) January 17, 005 1 SISTEMI LINEARI Se a ik, b i R,
DettagliGestore di Stringhe 1
Gestore di Stringhe 1 Esercizio Specifica Si implementi il gestore di un array di Stringhe. public void add (String st) Consente di aggiungere la stringa st all array qualora ci sia spazio disponibile,
DettagliInformatica B
2013-2014 Matlab Laboratorio del 14/01/2014 Responsabili di laboratorio: Gianluca Durelli: durelli@elet.polimi.it Luigi Malago : malago@di.unimi.it Materiale di laboratorio reperibile all indirizzo: www.gianlucadurelli.com
Dettagli18 - 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
DettagliGEOMETRIA ANALITICA: LE CONICHE
DIPARTIMENTO DI INGEGNERIA CIVILE PRECORSO DI MATEMATICA ANNO ACCADEMICO 2013-2014 ESERCIZI DI GEOMETRIA ANALITICA: LE CONICHE Esercizio 1: Fissato su un piano un sistema di riferimento cartesiano ortogonale
Dettaglifloat somma_float(float a, float b) int get_ascii(char c)
Una funzione è caratterizzata da: Tipo di dato restituito void (non restituisce nulla) int, una struttura definita dal programmatore ecc Nome della funzione Elenco parametri in ingresso, specifica: il
DettagliL Allocazione Dinamica della Memoria
L Allocazione Dinamica della Memoria Maurizio Palesi DIIT Università di Catania Viale Andrea Doria 6, 95125 Catania mpalesi@diit.unict.it http://www.diit.unict.it/users/mpalesi Sommario Questo documento
DettagliProgrammazione ad oggetti
Programmazione ad oggetti Tipi di dati Tipo = insieme di valori + insieme di operazioni Es. int: valori:, -2, -1, 0, 1, 2, operazioni:: +,-,*,/,
DettagliPOLIGONI INSCRITTI E CIRCOSCRITTI A UNA CIRCONFERENZA
POLIGONI INSCRITTI E CIRCOSCRITTI A UNA CIRCONFERENZA Poligoni Inscritti ad una circonferenza: Un poligono è inscritto in una circonferenza se tutti i suoi vertici appartengono alla circonferenza e gli
DettagliEsercizio 2 (punti 7) Dato il seguente programma C: #include <stdio.h> int swap(int * nome, int length);
Fondamenti di Informatica L-A (A.A. 004/005) - Ingegneria Informatica Prof.ssa Mello & Prof. Bellavista I Prova Intermedia del 11/11/004 - durata h - COMPITO B Esercizio 1 (punti 1) Una associazione di
DettagliAPPELLO SCRITTO DI PROGRAMMAZIONE 1 CORSO DI LAUREA IN MATEMATICA UNIVERSITÀ DEGLI STUDI DI MILANO VI.2015
APPELLO SCRITTO DI PROGRAMMAZIONE 1 CORSO DI LAUREA IN MATEMATICA UNIVERSITÀ DEGLI STUDI DI MILANO 2014 2015 15.VI.2015 VINCENZO MARRA Indice Esercizio 1 1 Definizione dei tipi P e T, e calcolo dell area.
DettagliEsempio di prova scritta di Fondamenti di Informatica
Università degli Studi di Firenze - Scuola di Ingegneria Corso di laurea in Ingegneria Elettronica e delle Telecomunicazioni - Docente: Ing. Laura Carnevali Esempio di prova scritta di Fondamenti di Informatica
DettagliRiferimenti ad oggetti: Fondamenti di Informatica L-B Esercitazione n 4 Java: I/O, Costruttori e altro. Riferimenti ad oggetti: (Esempio)
Fondamenti di Informatica L-B Esercitazione n 4 Java: I/O, Costruttori e altro A.A. 2005/06 Tutor: Loris Cancellieri loris.cancellieri@studio.unibo.it Riferimenti ad oggetti: Cosa si può fare con i riferimenti?
DettagliEsercizi Array. Parte 7. Domenico Daniele Bloisi. Corso di Fondamenti di Informatica Ingegneria delle Comunicazioni BCOR Ingegneria Elettronica BELR
Corso di Fondamenti di Informatica Ingegneria delle Comunicazioni BCOR Ingegneria Elettronica BELR Domenico Daniele Bloisi Docenti Parte I prof. Silvio Salza salza@dis.uniroma1.it http://www.dis.uniroma1.it/~salza/fondamenti.htm
DettagliProgrammazione I. 11 gennaio Considerate la seguente gerarchia di classi (rappresentata mediante un diagramma UML): +f(double x):
Programmazione I 11 gennaio 2012 Matricola:........................................................................ Cognome:........................................................................ Nome:...........................................................................
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
DettagliIL LINGUAGGIO JAVA Input, Tipi Elementari e Istruzione Condizionale
Fondamenti di Informatica IL LINGUAGGIO JAVA Input, Tipi Elementari e Istruzione Condizionale Fondamenti di Informatica - D. Talia - UNICAL 1 Lettura di dati da input In Java la lettura di dati da input
DettagliLaboratorio di Programmazione Appunti sulla lezione 4: Divide et impera e algoritmi di ordinamento
Laboratorio di Programmazione Appunti sulla lezione 4: Divide et impera e algoritmi di ordinamento Alessandra Raffaetà Università Ca Foscari Venezia Corso di Laurea in Informatica Ricerca binaria Assunzione:
Dettaglilezione 9 min-heap binario Heap e Alberi posizionali generali
lezione 9 Heap e Alberi posizionali generali min-heap binario Un min-heap è un albero binario quasi completo in cui ogni nodo i diverso dalla radice soddisfa la seguente proprietà: il valore memorizzato
DettagliFondamenti di Informatica T-1 Modulo 2
Fondamenti di Informatica T-1 Modulo 2 1 Obiettivi di questa esercitazione 1. Passaggio dei parametri per valore/riferimento 2. Trattamento degli errori: funzioni che restituiscono anche codici di errore
DettagliCorso: Fondamenti di Informatica 1 (gruppo 8-9) Corsi di laurea: Area dell'informazione Questionario di autovalutazione 4
Corso: Fondamenti di Informatica 1 (gruppo 8-9) Corsi di laurea: Area dell'informazione Questionario di autovalutazione 4 Domanda n. 1 Argomento: Rappresentazione dell'informazione Domanda: Il numero binario
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
DettagliCollection Classes in Java
Collection Classes in Java Progetto del corso di Programmazione ad Oggetti A.A. 2006/07 Problema Si tratta di implementare una gerarchia (semplificata) di classi di strutture dati, analoghe alle Collection
DettagliObiettivi di questa esercitazione
Fondamenti di Informatica T-1 Modulo 2 1 Obiettivi di questa esercitazione 1. Passaggio dei parametri per valore/riferimento 2. Trattamento degli errori: funzioni che restituiscono anche codici di errore
DettagliHomework 2. 1 Il problema. Corso di Fondamenti di Informatica II. 26 Novembre L'Albero dei divisori
Homework 2 Corso di Fondamenti di Informatica II BIAR2 (Ing. Informatica e Automatica) e BSIR2 (Ing. dei Sistemi) A.A. 2010/2011 26 Novembre 2010 Sommario Questo documento fornisce informazioni relative
Dettagli