Esercizi di ricapitolazione

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Esercizi di ricapitolazione"

Transcript

1 Corso di Laurea Ingegneria Civile Fondamenti di Informatica Dispensa 20 Esercizi di ricapitolazione ed esame esame C. Limongelli Giugno

2 Contenuti Esercizi sulla definizione e uso di oggetti (07Lab) Modalita d esame Quiz prima parte Esercizi seconda parte Problemi iterativi e test di correttezza Esercizi i sulle classi Esercizi di ricapitolazione e d'esame 2

3 Esercizio sulla definizione e uso di oggetti: 07Lab Definire la classe Punto per istanziare oggetti che rappresentano punti sul piano cartesiano, con opportuni costruttori e metodi d istanza tra cui un metodo con prototipo String tostring() per la sua descrizione e un metodo con prototipo boolean equals(punto p) per la verifica di uguaglianza. /* Un oggetto Punto rappresenta un punto sul piano */ class Punto { /* Coordinata x del punto. */ private double ascissa; /* Coordinata y del punto. */ private double ordinata; /* Crea un nuovo Punto di coordinate (xx,yy). */ public Punto(double xx, double yy) { this.ascissa = xx; this.ordinata = yy; } Esercizi di ricapitolazione e d'esame 3

4 La classe punto /* Restituisce la coordinata x di questo punto. */ public double getx() { return this.ascissa; } /* Restituisce la coordinata y di questo punto. */ public double gety() { return this.ordinata; } /* modifica la coordinata x di questo punto */ public void setx(double xx){ this.ascissa = xx;} /* modifica la coordinata y di questo punto */ public void sety(double yy){ this.ordinata = yy;} 4

5 La classe punto /* verifica se due punti sono uguali */ public boolean equals(punto p){ return (this.ascissa==p.ascissa) && (this.ordinata==p.ordinata);} } /* crea una stringa pronta per essere stampata, con tutti i dati dell'oggetto punto */ public String tostring(){ return ("Coordinate del punto: \n" + "ascissa = " + this.ascissa + "\nordinata = " + this.ordinata); } 5

6 Esercizio sulla definizione e uso di oggetti: 07Lab Definire la classe Quadrato per istanziare oggetti che rappresentano quadrati sul piano cartesiano con i lati paralleli agli assi cartesiani, con il punto vbs vertice basso a sinistra, con la lunghezza lato del suo lato e con opportuni costruttori e metodi d istanza tra cui un metodo con prototipo ti String tostring() per la sua descrizione i e un metodo con prototipo boolean equals(quadrato q) per la verifica di uguaglianza. In questo caso due quadrati sono uguali se hanno lo stesso lato e lo stesso vertice in basso a sinistra, vbs. Esercizi di ricapitolazione e d'esame 6

7 La classe quadrato /* Un oggetto Quadrato rappresenta un quadrato di lato l */ class Quadrato { /* variabile d'istanza */ double lato; Punto vbs; /* costruttore */ public Quadrato(double l, Punto p) { this.lato = l; this.vbs = p; } 7

8 La classe quadrato public double getlato(){ return this.lato;} public Punto getvbs(){ return this.vbs;} public double setlato(double n){ lato=n; return lato;} public boolean equals(quadrato q){ return (this.lato == q.lato && (this.vbs).equals(q.vbs));} 8

9 La classe quadrato public String tostring(){ return ("Quadrato di lato " + this.lato +"\n e vertice in basso a sinistra " + (this.vbs).tostring());} public double area() { return lato*lato;} public double perimetro() { double p = lato*4; return p;} public double diagonale() { double diag = lato*math.sqrt(2); return diag;} } 9

10 Esercizio sulla definizione e uso di oggetti: 07Lab Scrivere una classe Java UsoQuadrato in cui vengono creati due quadrati q1 e q2 con i dati letti da input e verificare se i due quadrati sono coincidenti. import fiji.io.*; class UsoQuadrato { /* scrivere una classe applicazione in cui, dati due quadrati, verifica se coincidono */ /* IPOTESI: coordinate dei vbs positive */ public static void main(string[] args){ double l,x,y; Quadrato q1,q2; Esercizi di ricapitolazione e d'esame 10

11 La classe UsoQuadrato /* acquisizione dati per il primo quadrato */ System.out.println("scrivi la lunghezza del lato del primo quadrato"); l = Lettore.in.leggiDouble(); System.out.println("scrivi le coordinate del vertice in basso a dx"); System.out.println("ascissa: "); x = Lettore.in.leggiDouble(); System.out.println("ordinata: "); y = Lettore.in.leggiDouble(); /*costruzione del primo quadrato */ q1 = new Quadrato(l, new Punto(x,y)); 11

12 La classe UsoQuadrato /*verifica acquisizione */ System.out.println("dati del primo quadrato: "); System.out.println(q1.toString()); /* acquisizione dati per il secondo quadrato */ System.out.println("scrivi la lunghezza del lato del secondo quadrato"); l = Lettore.in.leggiDouble(); System.out.println("scrivi le coordinate del vertice in basso a dx"); System.out.println("ascissa: "); x = Lettore.in.leggiDouble(); System.out.println("ordinata: "); y = Lettore.in.leggiDouble(); 12

13 La classe UsoQuadrato /*costruzione del secondo quadrato */ q2 = new Quadrato(l, new Punto(x,y)); /*verifica acquisizione */ System.out.println("dati t tl ti del secondo quadrato: "); System.out.println(q2.toString()); if (coincidono(q1,q2)) System.out.println("I quadrati coincidono"); else System.out.println( println("i quadrati NON coincidono");} /*metodo che verifica se dati due quadrati, essi coincidono */ public static boolean coincidono(quadrato q1, Quadrato q2){ return q1.equals(q2); } } // end class 13

14 Esercizio sulla definizione e uso di oggetti: 07Lab Definire la classe Cerchio per istanziare oggetti che rappresentano cerchi sul piano cartesiano, con il punto centro per rappresentare il centro del cerchio e con la lunghezza raggio del suo raggio e con opportuni costruttori e metodi d istanza tra cui un metodo con prototipo ti String tostring() per la sua descrizione i e un metodo con prototipo boolean equals (Cerchio c) per la verifica di uguaglianza. Esercizi di ricapitolazione e d'esame 14

15 La classe cerchio class Cerchio { /*Variabili d'instanza per la costruzione del cerchio*/ public double r; // raggio public Punto c; // centro /*Costruttori*/ public Cerchio ( Punto centro, double raggio) { this.r=raggio; this.c= centro;} public double getr() { return this.r;} public Punto getc() { return this.c;} 15

16 La classe cerchio /*Definizione metodi*/ /*Metodo Area*/ public double Area() { return (Math.PI * Math.pow (this.r, 2));} /*Metodo Circonferenza*/ public double Circonferenza() { return (2*Math.PI*this.r);} /*Metodo tostring*/ public String tostring() { return("cerchio con raggio: " + this.r + " e Centro con " + (this.c).tostring() );} /*Metodo equals*/ public boolean equals(cerchio o) { return (this.r==o.r r && (this.c).equals(o.c) );} }//end class 16

17 Esercizio sulla definizione e uso di oggetti: 07Lab Definire una classe applicazione UsoCerchio per effettuare le seguenti operazioni con verificare che, dati un cerchio e un quadrato, il cerchio sia inscritto nel quadrato. 4.1) Costruire due oggetti di tipo cerchio con i dati letti da input, 4.2) verificare se i due cerchi sono uguali (rappresentano lo stesso oggetto sul piano cartesiano), 4.3) verificare se i due cerchi sono concentrici, 44) 4.4) calcolare l l area, 4.5) calcolare la circonferenza. import fiji.io.*; /*Applicazione per la verifica dell'oggetto Cerchio*/ class UsoCerchio { public static void main (String [] args){ /*Dichiarazione variabili*/ Cerchio o1,o2; // I Cerchi double r; // Il raggio Punto c,c1; // Il centro int x,y; // Ascissa e ordinata del punto c Esercizi di ricapitolazione e d'esame 17

18 La classe UsoCerchio /*Corpo Programma*/ /* coordinate del centro e raggio letti da input */ System.out.println("Digita il valore dell'ascissa del Centro"); x=lettore.in.leggiint(); // Legge l'ascissa del Centro System.out.println("Ora digita il valore dell'ordinata"); y=lettore.in.leggiint(); // Legge l'ordinata del Centro c= new Punto (x,y); // Crea un nuovo punto di ascissa x e ordinata y System.out.println("E per ultimo il valore del raggio"); r=lettore.in.leggidouble();// Legge il valore del raggio o1=new Cerchio (c,r); // Crea un nuovo Cerchio System.out.println( println("o1 = "+o1.tostring()); 18

19 La classe UsoCerchio /* coordinate del centro e raggio assegnati da programma */ c1=new Punto (2,3); o2=new Cerchio(c1,3); System.out.println("o2 = "+o2.tostring()); System.out.println( println("circonferenza: "+o2.circonferenza()); System.out.println("Area: " + o2.area()); System.out.println("Le due Circonferenze sono uguali? " + o1.equals(o2)); /* verifico se due cerchi sono concentrici */ /* sono concentrici se il centro coincide */ System.out.println("i due cerchi sono concentrici? " + (o1.c).equals(o2.c)); } } // end class 19

20 Modalita d esame L esame si svolge in due parti. La prima parte avra la durata di 45 minuti e saranno proposte diverse domande a risposta multipla o vero/falso. Il punteggio di ciascuna domanda sara indicato, per un totale di 16 punti. La seconda parte avra la durata di 2 ore e verranno proposti esercizi di programmazione per una votazione complessiva di 16 punti. Il voto finale sara la somma dei voti presi nelle due prove. Ciascuna prova si intende superata solo se il punteggio e non inferiore agli 8 punti. La prenotazione all esame deve essere effettuata tramite il portale dello studente: Per la preparazione e consigliato l accesso alla piattaforma Moodle dove, oltre al materiale presentato a lezione, sono disponibili esercizi in autovalutazione. Chi non avesse ancora l account per accedere alla piattaforma deve inviare una mail alla professoressa: limongel@dia.uniroma3.it indicando nome, cognome e numero di matricola e scrivendo nell oggetto: iscrizione piattaforma Moodle Esercizi di ricapitolazione e d'esame 20

21 Esempio quiz prima parte Risposta esatta +0.5, sbagliata -0.2 Quale unita' della macchina di Von Neumann esegue le istruzioni? i i? a. Memoria centrale b. Processore c. Memoria Secondaria d. Interfacce di I/O e. Bus Risposta esatta +0.5, sbagliata -0.2 Per verificare l'uguaglianza tra due stringhe si usa a. l'operatore == b. il metodo equals c. indifferentemente t l'operatore == o il metodo equals 10 domande Esercizi di ricapitolazione e d'esame 21

22 Esempio quiz prima parte 11. Conversioni (1 punto risposta giusta -0.5 sbagliata) 12. Operazioni binarie (2 punti risposta giusta, -1 sbagliata) 13. Calcolo espressioni (2 punti risposta giusta, -1 sbagliata) 14. Passaggio di parametri (3 punti risposta giusta -1 o -2 sbagliata) 15. Cosa stampa (2 punti risposta giusta, -1 sbagliata) 16. Classi (2 punti risposta giusta, -1 sbagliata) piu altre 6 domande Per un totalet di 16 punti Esercizi di ricapitolazione e d'esame 22

23 Esercizi seconda parte (da 07Lab) Scrivere un metodo che verifichi se una stringa, non nulla e non vuota, sia una sequenza di caratteri tutti uguali. Nel commento iniziale del metodo proposto indicare di che tipo di verifica si tratta. Fondamenti di Informatica A.A Prova del../ TuttiUguali Cognome: Nome: Matricola: ============================= ESERCIZIO N.1 ======================================= Descrizione sintetica delle specifiche: Data una stringa verificare che sia formata da caratteri tutti uguali. Descrizione dettagliata delle specifiche: Scrivere un applicazione ione Java a TuttiUguali in cui sono definiti un metodo di classe boolean uguali(string s) che, ricevendo come parametro una stringa (non nulla e non vuota) s, restituisce true se tutti i suoi caratteri sono uguali, false altrimenti e un metodo di classe void testtuttiuguali() per la verifica di correttezza. 23

24 Esempi: l invocazione uguali( d ) deve restituire true poiché la stringa contiene caratteri tutti uguali. l invocazione uguali( dabicd ) deve restituire false poiché nella stringa sono presenti caratteri diversi. l invocazione uguali( ddddd ) deve restituire true poiché nella stringa tutti i caratteri sono uguali. Svolgere i seguenti passi: 1) (1 punto) Scrivere in modo sintetico la specifica del problema e dire di che tipo di problema si tratta (conteggio, verifica esistenziale, universale ecc ) 2) (3 punti) Scrivere un algoritmo risolutivo per il problema utilizzando, a scelta, il diagramma a blocchi oppure la pseudo codifica 3) Scrivere un applicazione Java Uguali in cui sono definiti 3.1) (4 punti) un metodo di classe boolean uguali(string s) che, ricevendo come parametro una stringa (non nulla e non vuota) s, restituisce true se la stringa contiene caratteri tutti uguali. 32)(3 3.2) punti) un metodo di classe void testtuttiuguali() per la verifica di correttezza. Nel metodo ciascuno degli insiemi di dati di ingresso usato per la verifica deve essere documentato da una invocazione di metodo e da un commento nel codice, che descrive l insieme di dati di ingresso, il valore che deve essere restituito dall invocazione del metodo e motiva la scelta dell insieme di dati di ingresso. Ad esempio: /* Stringa composta da un solo carattere minuscolo*/ System.out.println(maiuscoliMinuscoli( println(maiuscoliminuscoli( d ) + false ); 4) Scrivere la classe applicazione che richiama I metodi su scritti 24

25 ============================= ESERCIZIO N.2 ======================================= 2.1) (2 punti) Definire una classe triangolo isoscele con due attributi: lato e base, il costruttore, I metodi get e set, il metodo equals e il metodo tostring. 2.2) (2) Scrivere una classe applicazione UsoTriangoliIsosceli che legge in input due triangoli e verifica se essi hanno la stessa area. 25

Corso di Laurea Ingegneria Informatica Fondamenti di Informatica

Corso di Laurea Ingegneria Informatica Fondamenti di Informatica Corso di Laurea Ingegneria Informatica Fondamenti di Informatica Prova Intermedia Marzo 2011 http://www.dia.uniroma3.it/~java/fondinf/ Prova Intermedia 1 Modalità della Prova Intermedia La Prova Intermedia

Dettagli

Corso di Laurea Ingegneria Informatica

Corso di Laurea Ingegneria Informatica Corso di Laurea Ingegneria Informatica Fondamenti di Informatica Esercizi di ripasso Carla Limongelli Gennaio 2012 http://www.dia.uniroma3.it/~java/fondinf/ Prova Intermedia 1 Modalità della Prova Intermedia

Dettagli

Definizione di classi

Definizione 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

Dettagli

Definizione di classi

Definizione di classi Corso di Laurea Ingegneria Informatica Fondamenti di Informatica Dispensa 14 A. Miola Dicembre 2011 1 Contenuti q Classi per istanziare oggetti q Esempio: la classe Punto q Variabili d istanza q Metodi

Dettagli

Definizione di classi

Definizione 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

Dettagli

Definizione di classi

Definizione di classi Corso di Laurea Ingegneria Civile Fondamenti di Informatica Dispensa 19 A. Miola Novembre 2008 1 Contenuti Classi per istanziare oggetti Esempio: la classe Punto Variabili d istanza Metodi d istanza Costruttori

Dettagli

Esercitazione n 3. Capacità di analisi e di estensione di progetti esistenti Linguaggio Java:

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à:

Dettagli

Esempi di programmi. Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1. Dispensa E01. A. Miola Settembre 2007

Esempi di programmi. Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1. Dispensa E01. A. Miola Settembre 2007 Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1 Dispensa E01 Esempi di programmi A. Miola Settembre 2007 http://www.dia.uniroma3.it/~java/fondinf1/ Esempi di programmi - 1 1 Contenuti

Dettagli

Dall analisi alla codifica (2)

Dall analisi alla codifica (2) Corso di Laurea Ingegneria Civile Fondamenti di Informatica Dispensa 09 Dall analisi alla codifica (2) Dall analisi alla codifica (2) 1 Contenuti Problemi di ingresso e uscita - esercizi Lunghezza di una

Dettagli

Esercitazione n 3. Obiettivi

Esercitazione n 3. Obiettivi 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 Visibilità: public, private,

Dettagli

Altri Esercizi. Corso di Laurea Ingegneria Informatica Fondamenti di Informatica. Dispensa E17. C. Limongelli Maggio 2012

Altri Esercizi. Corso di Laurea Ingegneria Informatica Fondamenti di Informatica. Dispensa E17. C. Limongelli Maggio 2012 Corso di Laurea Ingegneria Informatica Fondamenti di Informatica Dispensa E17 C. Limongelli Maggio 2012 1 Contenuti q Definizione di classi con ereditarietà q Uso di tipi di dati astratti q Ricorsione

Dettagli

Corso di Laurea Ingegneria Civile Fondamenti di Informatica. Esercizi sui metodi. Carla Limongelli. Maggio Esercizi 1

Corso di Laurea Ingegneria Civile Fondamenti di Informatica. Esercizi sui metodi. Carla Limongelli. Maggio Esercizi 1 Corso di Laurea Ingegneria Civile Fondamenti di Informatica Esercizi sui metodi Carla Limongelli Maggio 2010 Esercizi 1 Passaggio di parametri di tipo primitivo Indicare che cosa viene visualizzato sullo

Dettagli

Altri Esercizi. Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 2. Dispensa E09. C. Limongelli Marzo 2008

Altri Esercizi. Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 2. Dispensa E09. C. Limongelli Marzo 2008 Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 2 Dispensa E09 Altri Esercizi C. Limongelli Marzo 2008 http://www.dia.uniroma3.it/~java/fondinf2/ Altri Esercizi 1 Contenuti!Definizione

Dettagli

Corso di Laurea Ingegneria Informatica Fondamenti di Informatica

Corso di Laurea Ingegneria Informatica Fondamenti di Informatica Corso di Laurea Ingegneria Informatica Fondamenti di Informatica Dispensa E03 Esempi di algoritmi e programmi A. Miola Novembre 2011 1 Contenuti q Progettazione di algoritmi q Problemi di ingresso - uscita

Dettagli

Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1

Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1 Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1 Dispensa E03 Esempi di algoritmi e programmi A. Miola Settembre 2006 http://www.dia.uniroma3.it/~java/fondinf1/ Esempi di algoritmi e

Dettagli

Richiami di Fondamenti di Informatica - 1

Richiami di Fondamenti di Informatica - 1 Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1 Dispensa 2 Richiami di Fondamenti di Informatica - 1 A. Miola Febbraio 2008 http://www.dia.uniroma3.it/~java/fondinf1/ Richiami di FdI-1

Dettagli

COGNOME NOME MATRICOLA DATA

COGNOME NOME MATRICOLA DATA COGNOME NOME MATRICOLA DATA 1. Scrivere la classe Automobile che ha i seguenti attributi colore: una stringa indicante il colore dell automobile, velocità: un numero con la virgola indicante la velocità

Dettagli

Corso di Laurea Ingegneria Civile Elementi di Informatica. Esercizi. Carla Limongelli. Esercizi 1

Corso di Laurea Ingegneria Civile Elementi di Informatica. Esercizi. Carla Limongelli. Esercizi 1 Corso di Laurea Ingegneria Civile Elementi di Informatica Esercizi Carla Limongelli Esercizi 1 Quanti giorni in un mese? Scrivere un metodo che ricevuto in input un mese e un anno, restituisca il numero

Dettagli

ESERCIZI JAVA. Esercizi sulle Interfacce. Esercizio 1:

ESERCIZI JAVA. Esercizi sulle Interfacce. Esercizio 1: ESERCIZI JAVA Esercizi sulle Interfacce Esercizio 1: Java mette a disposizione un'interfaccia chiamata Comparable. Quando un oggetto implementa questa interfaccia esso può implementare un metodo chiamato

Dettagli

Laboratorio di Programmazione 1 [Java]

Laboratorio di Programmazione 1 [Java] Laboratorio di Programmazione 1 [Java] Prova di esame - 26 Gennaio 2011 Tempo massimo: 50 minuti Si implementino in Java le classi Tavolo e Pizzeria. La classe Tavolo ha i seguenti attributi: nome (una

Dettagli

Array e Oggetti. Corso di Laurea Ingegneria Informatica Fondamenti di Informatica. Dispensa 17. A. Miola Gennaio 2012

Array e Oggetti. Corso di Laurea Ingegneria Informatica Fondamenti di Informatica. Dispensa 17. A. Miola Gennaio 2012 Corso di Laurea Ingegneria Informatica Fondamenti di Informatica Dispensa 17 A. Miola Gennaio 2012 1 Contenuti q Array paralleli q Array e oggetti q Ricerca sequenziale q Ricerca binaria q Fusione di sequenze

Dettagli

Indice. Prefazione. 3 Oggetti e Java 53

Indice. 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

Dettagli

Esercizi di riepilogo (Fondamenti di Informatica 1 Walter Didimo)

Esercizi di riepilogo (Fondamenti di Informatica 1 Walter Didimo) Esercizi di riepilogo (Fondamenti di Informatica 1 Walter Didimo) Selezione di prove di esame al calcolatore Esercizio 1 (esame del 13/01/2006) La classe Matrice definisce oggetti che rappresentano matrici

Dettagli

Programmazione 1 A.A. 2015/2016

Programmazione 1 A.A. 2015/2016 Cognome e Nome Matricola Programmazione 1 A.A. 2015/2016 Appello del 16 Dicembre 2015 Compito n 1 Prima parte Esercizio 1 (10 punti) Cosa stampa il seguente frammento di codice Java? int[] A = {3, 8, 91,

Dettagli

COGNOME NOME MATRICOLA DATA

COGNOME NOME MATRICOLA DATA COGNOME NOME MATRICOLA DATA 1. Scrivere la classe Forno che ha i seguenti attributi marca: una stringa indicante la marca del forno, temperatura: un numero con la virgola indicante la temperatura che il

Dettagli

Laboratorio di Programmazione 1 [Java]

Laboratorio di Programmazione 1 [Java] Laboratorio di Programmazione 1 [Java] Prova di esame - 1 Giugno 2010 Tempo massimo: 50 minuti Si implementino in Java le classi Libretto e RigaLibretto. In particolare, la classe Libretto ha i seguenti

Dettagli

Array di array. Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1. Dispensa 03. A. Miola Febbraio 2008

Array 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

Dettagli

Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 2

Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 2 Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 2 Dispensa E04 Esercizi sui problemi di ordinamento C. Limongelli Marzo 2008 http://www.dia.uniroma3.it/~java/fondinf2/ Algoritmi di Ordinamento

Dettagli

public double getlato() restituisce la lunghezza del lato del quadrato che esegue il metodo.

public 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

Dettagli

COMPITO DI LABORATORIO DI PROGRAMMAZIONE Dicembre Alcune Soluzioni

COMPITO DI LABORATORIO DI PROGRAMMAZIONE Dicembre Alcune Soluzioni COMPITO DI LABORATORIO DI PROGRAMMAZIONE 2001-2002 10 Dicembre 2001 Alcune Soluzioni ESERCIZIO 1. Si consideri il seguente frammento di codice in linguaggio Java: int[][] a = new int[n][n]; for (int i

Dettagli

Metodi statici. Dichiarazione e chiamata di metodi statici

Metodi statici. Dichiarazione e chiamata di metodi statici Metodi statici Dichiarazione e chiamata di metodi statici Cos è un metodo Un metodo è un blocco di istruzioni che fornisce una funzionalità e viene identificato con un nome Può avere dei parametri ed un

Dettagli

Classi e array. Viene ora affrontato un problema di definizione di una classe in cui una variabile d istanza è di tipo array

Classi e array. Viene ora affrontato un problema di definizione di una classe in cui una variabile d istanza è di tipo array Classi e array Viene ora affrontato un problema di definizione di una classe in cui una variabile d istanza è di tipo array Si vuole definire una classe Polinomio per la rappresentazione di polinomi a

Dettagli

Istruzioni Condizionali

Istruzioni Condizionali Corso di Laurea Ingegneria Informatica Fondamenti di Informatica Dispensa 10 Istruzioni Condizionali Carla Limongelli Novembre 2011 http://www.dia.uniroma3.it/~java/fondinf/ Istruzioni condizionali 1 Contenuti

Dettagli

Esercizi sulla ricorsione

Esercizi sulla ricorsione Esercizi sulla ricorsione Esercizio 1 Scrivere un metodo di classe ricorsivo che riceve in input una stringa s ed altri parametri se necessario, e restituisce il carattere più alto nell ordinamento lessicografico.

Dettagli

Laboratorio di Programmazione 1 [Java]

Laboratorio di Programmazione 1 [Java] Laboratorio di Programmazione 1 [Java] Prova di esame - 7 Settembre 2010 Tempo massimo: 50 minuti Si implementino in Java le classi Tavolo e Ristorante. La classe Tavolo ha i seguenti attributi: numero

Dettagli

Metodi statci. Dichiarazione e chiamata di metodi statci

Metodi statci. Dichiarazione e chiamata di metodi statci Metodi statci Dichiarazione e chiamata di metodi statci Cos è un metodo Un metodo è un blocco di istruzioni che fornisce una funzionalità e viene identificato con un nome Può avere dei parametri ed un

Dettagli

Esercitazione Fondamenti di informatica 2

Esercitazione Fondamenti di informatica 2 Esercitazione Fondamenti di informatica 2 Array ed Oggetti JAVA 13 marzo 2006 L oggetto atrice Realizzare una classe oggetto atrice. Lo stato dell oggetto Vettore, è rappresentato da un array di array

Dettagli

Passaggio di parametri

Passaggio di parametri Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1 Dispensa E06 Passaggio di parametri C. Limongelli Novembre 2007 http://www.dia.uniroma3.it/~java/fondinf1/ Passaggio di parametri 1 Contenuti

Dettagli

Preparazione allo scritto di Programmazione Comunicazione Digitale / Informatica - A.A. 2012/2013

Preparazione allo scritto di Programmazione Comunicazione Digitale / Informatica - A.A. 2012/2013 Preparazione allo scritto di Programmazione Comunicazione Digitale / Informatica - A.A. 2012/2013 Matricola:...................... Cognome:...................... Nome:...................... Informatica

Dettagli

Istruzioni Condizionali

Istruzioni Condizionali Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1 Dispensa 6 Istruzioni Condizionali Carla Limongelli Settembre 2006 http://www.dia.uniroma3.it/~java/fondinf1/ Istruzioni condizionali

Dettagli

Programmazione. Cognome... Nome... Matricola... Compitino del 17 gennaio 2007

Programmazione. Cognome... Nome... Matricola... Compitino del 17 gennaio 2007 Cognome............................. Nome................................ Programmazione Compitino del 17 gennaio 2007 Matricola............................ NOTA: Negli esercizi 1, 2, 3, 4 fate riferimento

Dettagli

Programmazione. Cognome... Nome... Matricola... Prova scritta del 20 febbraio 2012

Programmazione. Cognome... Nome... Matricola... Prova scritta del 20 febbraio 2012 Cognome................................ Nome................................... Matricola............................... Programmazione Prova scritta del 20 febbraio 2012 TEMPO DISPONIBILE: 1 ora Negli

Dettagli

Algoritmi di Ricerca. Esempi di programmi Java

Algoritmi 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

Dettagli

Esercizi riassuntivi (Fondamenti di Informatica 2 Walter Didimo) Soluzioni

Esercizi riassuntivi (Fondamenti di Informatica 2 Walter Didimo) Soluzioni Esercizi riassuntivi (Fondamenti di Informatica 2 Walter Didimo) Soluzioni Esercizio 1 Dire quale è la complessità temporale del seguente metodo, espressa con notazione asintotica O(.) (con la migliore

Dettagli

Algoritmi di Ricerca. Esempi di programmi Java. Prof. Angela Bonifati

Algoritmi di Ricerca. Esempi di programmi Java. Prof. Angela Bonifati Passaggio dei parametri in Java Nel seguente esempio public class parametri2 public static void main(string args[]) int x = 1; int y; double d[] = new double[2]; d[0] = 25; y= metodo1(d, x); System.out.println("Il

Dettagli

3. un metodo che restituisce l elenco delle matricole di tutti gli studenti del corso;

3. un metodo che restituisce l elenco delle matricole di tutti gli studenti del corso; Un esempio di definizione di classe con array di oggetti Sia data la classe StudUniv per gli studenti universitari (definita in una lezione precedente). Scrivere una nuova classe Corso, dove ciascun corso

Dettagli

Esempi di Problemi Iterativi

Esempi di Problemi Iterativi Corso di Laurea Ingegneria Informatica Fondamenti di Informatica Dispensa E07 C. Limongelli Dicembre 2011 1 Contenuti q Esercizi: Palindroma Anagramma Fibonacci 2 Palindroma q Scrivere un programma che

Dettagli

E7 Esercizi sul Capitolo 7 Realizzazione di Classi

E7 Esercizi sul Capitolo 7 Realizzazione di Classi E7 Esercizi sul Capitolo 7 Realizzazione di Classi Esercizio 1 (esercizio 7.1 del libro di testo). Nella classe Studente definita di seguito indicare le variabili d istanza, le variabili di classe e le

Dettagli

Passaggio di parametri

Passaggio di parametri Corso di Laurea Ingegneria Informatica Fondamenti di Informatica Dispensa E05 C. Limongelli Dicembre 2011 1 Contenuti q Passaggio di tipi primitivi q Passaggio di tipi riferimento: Stringhe q Passaggio

Dettagli

Algoritmi di Ricerca. Esempi di programmi Java

Algoritmi 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

Dettagli

9 - Array. Programmazione e analisi di dati Modulo A: Programmazione in Java. Paolo Milazzo

9 - Array. Programmazione e analisi di dati Modulo A: Programmazione in Java. Paolo Milazzo 9 - 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 Corso di Laurea

Dettagli

Corso di Laurea Ingegneria Informatica Fondamenti di Informatica. Dispensa 16. Array. A. Miola Gennaio

Corso di Laurea Ingegneria Informatica Fondamenti di Informatica. Dispensa 16. Array. A. Miola Gennaio Corso di Laurea Ingegneria Informatica Fondamenti di Informatica Dispensa 16 A. Miola Gennaio 2012 1 Contenuti q Il problema degli studenti da promuovere q q in Java q Uso di array dichiarazione di variabili

Dettagli

Programmazione. Cognome... Nome... Matricola... Compitino del 26 gennaio 2009

Programmazione. Cognome... Nome... Matricola... Compitino del 26 gennaio 2009 Cognome................................ Nome................................... Matricola............................... Programmazione Compitino del 26 gennaio 2009 NOTA: Negli esercizi 1, 2, 3, 4 fate

Dettagli

Laboratorio di Programmazione Lezione 2. Cristian Del Fabbro

Laboratorio 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[]

Dettagli

Corso di Informatica Corso di Laurea in Ingegneria Gestionale a.a Secondo Compitino 17 Dicembre 2005

Corso di Informatica Corso di Laurea in Ingegneria Gestionale a.a 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

Dettagli

Array. Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1. Dispensa 11. A. Miola Dicembre 2007

Array. Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1. Dispensa 11. A. Miola Dicembre 2007 Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1 Dispensa 11 Array A. Miola Dicembre 2007 http://www.dia.uniroma3.it/~java/fondinf1/ Array 1 Contenuti Il problema degli studenti da promuovere

Dettagli

Corso di Laurea Ingegneria Informatica Fondamenti di Informatica

Corso di Laurea Ingegneria Informatica Fondamenti di Informatica Corso di Laurea Ingegneria Informatica Fondamenti di Informatica Dispensa E16 Esercizi Strutture Collegate e Oggetti C. Limongelli Maggio 2012 1 Contenuti q Verifiche universali ed esistenziali su strutture

Dettagli

7 - Programmazione procedurale: Dichiarazione e chiamata di metodi ausiliari

7 - 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

Dettagli

COGNOME NOME MATRICOLA DATA

COGNOME NOME MATRICOLA DATA COGNOME NOME MATRICOLA DATA 1. Scrivere la classe Distributore che ha i seguenti attributi marca: una stringa indicante la marca del distributore, numeropezzi un intero indicante il numero totale dei pezzi

Dettagli

public double getraggio() restituisce la lunghezza del raggio del cerchio che esegue il metodo.

public double getraggio() restituisce la lunghezza del raggio del cerchio che esegue il metodo. Cognome................................ Nome................................... Matricola............................... Programmazione Prova scritta del 7 settembre 2015 TEMPO DISPONIBILE: 1 ora e 40

Dettagli

Si descriva il comportamento del metodo main della classe ES2: cosa viene stampato sul video? Giustificare la risposta.

Si descriva il comportamento del metodo main della classe ES2: cosa viene stampato sul video? Giustificare la risposta. Esame scritto di: Fondamenti di Informatica - corsi 4 e 5 Data: 12 dicembre 2001 Traccia: B Tempo disponibile: 3 ore Cognome Nome Matricola Corso CORSO DI LAUREA Esercizio 1. Si consideri la seguente classe:

Dettagli

Riassunto. La programmazione OO. Oggi. Esempio

Riassunto. 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

Dettagli

Corso di Laurea Ingegneria Elementi di Informatica. Iterazione. C. Limongelli. Iterazione

Corso di Laurea Ingegneria Elementi di Informatica. Iterazione. C. Limongelli. Iterazione Corso di Laurea Ingegneria Elementi di Informatica C. Limongelli 1 Contenuti Si vogliono formalizzare diverse tecniche per la risoluzione di problemi di: Accumulazione Conteggio Verifica esistenziale Verifica

Dettagli

Corso sul linguaggio Java

Corso sul linguaggio Java Corso sul linguaggio Java Modulo JAVA2 2.1- Funzioni 1 Prerequisiti Programmazione elementare in Java Tecnica top-down Concetto matematico di funzione Compilazione e link di programmi Esecuzione di funzioni

Dettagli

Fondamenti di Informatica T-1. Variabili, costanti e operazioni Selezione

Fondamenti di Informatica T-1. Variabili, costanti e operazioni Selezione Variabili, costanti e operazioni Selezione 2 Variabili Dichiarazione di una variabile: ; Esempio: variabile numerica intera numauto: int numauto; Assegnare alla variabile

Dettagli

Lezione 2 Primi programmi

Lezione 2 Primi programmi Lezione 2 Primi programmi Barbara Rita Barricelli Corso di Laboratorio di Programmazione -Turno B (Cognomi M-Z) CdL in Informatica per la Comunicazione Digitale A.A. 2017-2018 Riassunto di quanto visto

Dettagli

METODI in Java. Prof.Angela Bonifati. Metodi e Sottoprogrammi

METODI in Java. Prof.Angela Bonifati. Metodi e Sottoprogrammi Fondamenti di Informatica METODI in Java Prof.Angela Bonifati 1 Metodi e Sottoprogrammi Mentre in Java tramite le classi e gli oggetti è possibile definire nuovi tipi di dati, tramite i metodi è possibile

Dettagli

Array. Definizione e utilizzo di vettori

Array. Definizione e utilizzo di vettori Array Definizione e utilizzo di vettori Array (1/2) Un array o vettore rappresenta un insieme di elementi dello stesso tipo. Sintassi per la creazione di un array: tipo_elementi[] nome; nome = new tipo_elementi[numero_elementi];

Dettagli

Iterazione. Corso di Laurea Ingegneria Informatica Fondamenti di Informatica. Dispensa E06. C. Limongelli Dicembre 2011

Iterazione. Corso di Laurea Ingegneria Informatica Fondamenti di Informatica. Dispensa E06. C. Limongelli Dicembre 2011 Corso di Laurea Ingegneria Informatica Fondamenti di Informatica Dispensa E06 C. Limongelli Dicembre 2011 1 Contenuti q Si vogliono formalizzare diverse tecniche per la risoluzione di problemi di: Accumulazione

Dettagli

Iterazione. Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1. Dispensa E07. C. Limongelli Novembre 2007

Iterazione. Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1. Dispensa E07. C. Limongelli Novembre 2007 Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1 Dispensa E07 Iterazione C. Limongelli Novembre 2007 http://www.dia.uniroma3.it/~java/fondinf1/ Iterazione 1 Contenuti Si vogliono formalizzare

Dettagli

Fondamenti di Informatica I

Fondamenti 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:

Dettagli

//riferimento a una sequenza di oggetti della classe Importo

//riferimento a una sequenza di oggetti della classe Importo Cognome................................ Nome................................... Matricola............................... Programmazione Compitino del 29 novembre 2010 Negli esercizi fate riferimento alle

Dettagli

Programmazione I - Preparazione A.A. 2010/2011

Programmazione I - Preparazione A.A. 2010/2011 Programmazione I - Preparazione A.A. 2010/2011 3 febbraio 2011 Matricola:........................................................................ Cognome:........................................................................

Dettagli

Preparazione allo Scritto di Programmazione

Preparazione allo Scritto di Programmazione Preparazione allo Scritto di Programmazione Informatica / Comunicazione Digitale A.A. 2013/2014 1. Una riga di testo è detta numerica se e solo se contiene più cifre che caratteri di altro genere. Ad esempio,

Dettagli

Laboratorio di Algoritmi e Strutture Dati

Laboratorio di Algoritmi e Strutture Dati Laboratorio di Algoritmi e Strutture Dati 1 Note di carratere generale Docente: Camillo Fiorentini 9 ottobre 2007 L obiettivo è quello di scrivere delle semplici funzioni per risolvere problemi di tipo

Dettagli

Programmazione II Compitino (Vers. B)

Programmazione II Compitino (Vers. B) Programmazione II Compitino (Vers. B) 17 dicembre 2015 Cognome Jackson Nome Michael Matricola 696969 Anno di corso 1 Nei seguenti quesiti, quando vi è richiesto di scrivere un programma, potete limitarvi

Dettagli

Fondamenti di Informatica 1. Prof. B.Buttarazzi A.A. 2010/2011

Fondamenti di Informatica 1. Prof. B.Buttarazzi A.A. 2010/2011 Fondamenti di Informatica 1 Prof. B.Buttarazzi A.A. 2010/2011 Sommario Paradigma OO Oggetti e Classi Metodi Parametri Variabili di istanza Costruttori Esercizi Paradigma Object-Oriented Il paradigma OO

Dettagli

Programmazione orientata agli oggetti La classe Object, metodi e classi final, this. Object

Programmazione orientata agli oggetti La classe Object, metodi e classi final, this. Object Programmazione orientata agli oggetti La classe, metodi e classi final, this 1 La classe Negli esempi fatti nella prima parte del corso abbiamo definito alcune classi, per esempio Counter e Orologio, senza

Dettagli

Corso di Informatica

Corso di Informatica Corso di Informatica Modulo T1 B1 Il concetto di classe 1 Prerequisiti Programmazione elementare Conoscenza dell uso delle funzioni Utilizzo della UML 2 1 Introduzione Gli oggetti reali sono una infinità

Dettagli

Lezione 6 programmazione in Java

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

Dettagli

Programmazione orientata agli oggetti La classe Object, metodi e classi final, this. Object

Programmazione orientata agli oggetti La classe Object, metodi e classi final, this. Object Programmazione orientata agli oggetti La classe, metodi e classi final, this 1 La classe Negli esempi fatti nella prima parte del corso abbiamo definito alcune classi, per esempio Counter e Orologio, senza

Dettagli

Corso sul linguaggio Java

Corso sul linguaggio Java Corso sul linguaggio Java Modulo JAVA4 B2 Object 1 Prerequisiti Programmazione elementare ad oggetti Ereditarietà Concetto di conversione di tipo (casting) 2 1 Introduzione Lo scopo di questa Unità è quello

Dettagli

Esercizi su array di array

Esercizi 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

Dettagli

Esercizi su array. Corso di Laurea Ingegneria Informatica Fondamenti di Informatica. Dispensa E08. C. Limongelli Gennaio 2012

Esercizi su array. Corso di Laurea Ingegneria Informatica Fondamenti di Informatica. Dispensa E08. C. Limongelli Gennaio 2012 Corso di Laurea Ingegneria Informatica Fondamenti di Informatica Dispensa E08 Esercizi su Array C. Limongelli Gennaio 2012 1 Contenuti q Esercizi: Lettura e stampa di un array Massimo elemento di un array

Dettagli

Programmazione. Cognome... Nome... Matricola... Compitino del 24 novembre 2008

Programmazione. Cognome... Nome... Matricola... Compitino del 24 novembre 2008 Cognome................................ Nome................................... Matricola............................... Programmazione Compitino del 24 novembre 2008 Negli esercizi fate riferimento alle

Dettagli

import java.io.*; class Quadrato implements FigureGeometrichePiane { private double lato;

import java.io.*; class Quadrato implements FigureGeometrichePiane { private double lato; Un giardino condominiale è formato da un quadrato di lato 30 metri inscritto in un cerchio. Si vogliono inserire nel quadrato delle piastrelle, anch esse quadrate, di lato 10 centimetri e dal costo di

Dettagli

Studente (Cognome Nome):

Studente (Cognome Nome): Studente (Cognome Nome): Matricola: Corso di Informatica Corso di Laurea in Ingegneria Gestionale a.a. 2005-06 Terzo Scritto 7 Febbraio 2006 Si noti che le soluzioni ai quesiti saranno considerate valide

Dettagli

Costrutto if. Come utilizzare il costrutto condizionale if

Costrutto if. Come utilizzare il costrutto condizionale if Costrutto if Come utilizzare il costrutto condizionale if Costrutto if (1/2) Il costrutto if permette di effettuare azioni diverse a seconda del valore di una certa condizione booleana. if (condizione)

Dettagli

public static boolean occorre (int[] a, int n) { int i = 0; boolean trovato = false;

public static boolean occorre (int[] a, int n) { int i = 0; boolean trovato = false; Metodi iterativi con array monodimensionali 1. Scrivere un metodo che, dato un array di interi a, restituisce il valore minimo in a. public static int minimo (int[] a) { int min = a[0]; for (int i=1; i

Dettagli

Corso sul linguaggio Java

Corso sul linguaggio Java Corso sul linguaggio Java Modulo JAVA.2.2 Operare con i dati Prerequisiti Concetti matematici di: Espressione Operatore 2 Introduzione Le variabili utilizzate da un programma vengono usate con operatori

Dettagli

Esempi di Problemi Iterativi

Esempi di Problemi Iterativi Corso di Laurea Ingegneria Civile Elementi di Informatica Esempi di Problemi Iterativi C. Limongelli Esempi di Problemi Iterativi 1 Contenuti Esercizi: Palindroma Anagramma Fibonacci Esempi di Problemi

Dettagli

Corso di Laurea Ingegneria Civile Fondamenti di Informatica. Dispensa 15 Definizione di metodi. Carla Limongelli Maggio Definizione di metodi 1

Corso di Laurea Ingegneria Civile Fondamenti di Informatica. Dispensa 15 Definizione di metodi. Carla Limongelli Maggio Definizione di metodi 1 Corso di Laurea Ingegneria Civile Fondamenti di Informatica Dispensa 15 Definizione di metodi Carla Limongelli Maggio 2010 Definizione di metodi 1 Contenuti Introduzione alla definizione di metodi Prototipo

Dettagli