Preparazione allo scritto di Programmazione Comunicazione Digitale / Informatica - A.A. 2012/2013
|
|
- Muzio Gallo
- 5 anni fa
- Visualizzazioni
Transcript
1 Preparazione allo scritto di Programmazione Comunicazione Digitale / Informatica - A.A. 2012/2013 Matricola: Cognome: Nome: Informatica Comunicazione Digitale FAP 1. Considerate la seguente gerarchia di classi (rappresentata mediante un diagramma UML): A +f(double x): int +f(string x): int C +f(long x): int +f(int x): int B +f(double x): int +f(int x): int D +f(string x): int +f(int x): int e assumete le seguenti definizioni di variabili: A a = new D( ) ; B b = new B ( ) ; C c = new C ( ) ; D d = new D( ) ; Per ciascuna delle seguenti invocazioni di metodo, dire se essa è consentita e in caso affermativo indicare il nome della classe che contiene il metodo che verrà effettivamente eseguito: a.f( 3 ): B:f(double) b.f( "c" ): A:f(String) c.tostring(): Object:toString() d.equals( a ): Object:equals(Object) 1
2 2. Sia la seguente definizione di variabili: int x = 4 ; int y = 5 ; Dite quale sarà il contenuto di x e y dopo l esecuzione degli assegnamenti indicati: Assegnamento x y x = ( ++x > y++ )? ++x : x y = ( x = y ) x++ + ( y = x ) Sia la seguente definizione di variabili: int x = 3 int y = 4 Dite quale sarà il valore di verità delle seguenti espressioni booleane e quale sarà il contenuto delle variabili x e y dopo la valutazione delle espressioni indicate: Espressione Verità x y ((x=x+y)+(y=x+y))>(x+y) && ((x=x++)+(y=y++))==(x+y) falso 7 11 ((x=x+y)+(y=x+y))>(x+y) & ((x=x++)+(y=y++))==(x+y) falso Considerate il seguente frammento di programma: S t r i n g s = "ciao", t = "" ; int k = 0 ; while ( k < s. l e n g t h ( ) ) t = s. s u b s t r i n g ( k ). l e n g t h ( ) + s. s u b s t r i n g ( k++ ). touppercase ( ) + "*" + t ; Quale sarà il valore di t dopo la sua esecuzione? t: 1O*2AO*3IAO*4CIAO* 2
3 5. Considerate la seguente funzione f : N N: 1 se n < 2 f(n) = 5 se n = 2 f(n 1) + f(n 2) + f(n 3) altrimenti. Scrivete un metodo statico che la realizzi (ignorate il problema di controllare che l argomento passato al metodo sia maggiore o uguale a 0) Soluzione public s t a t i c int f ( int n ) { i f ( n < 2 ) return 1 ; i f ( n == 2 ) return 5 ; return f ( n 1 ) + f ( n 2 ) + f ( n 3 ) ; 6. L n-esimo numero triangolare è definito come S(n) = n. Scrivete un programma che accetti in input un numero n e restituisca la sequenza di numeri triangolari S(0), S(1),..., S(n). Se ad esempio n fosse 5, il programma dovrebbe stampare la sequenza 0, 1, 3, 6, 10, 15. Soluzione Anzitutto, posso scrivere il metodo statico S con argomento n che restituisce l n-esimo numero triangolare: // Versione r i c o r s i v a public s t a t i c boolean S ( int n ) { return n == 0? 0 : n + S ( n 1 ) ; // Versione i t e r a t i v a public s t a t i c boolean S ( int n ) { int t = 0 ; for ( int i = 0 ; i <= n ; t += i, i++ ) return t ; È possibile poi utilizzare tale metodo nel main: int n = i n. r e a d I n t ( " Inserisci il termine della sequenza :" ) ; for ( i = 0 ; i <= n ; i++ ) out. p r i n t l n ( S ( i ) ) ; 3
4 Volendo evitare la scrittura del metodo S, il main potrebbe essere il seguente: int n = i n. r e a d I n t ( " Inserisci il termine della sequenza :" ), t ; for ( int i = 0 ; i <= n ; i++ ) { t = 0 ; for ( int j = 0 ; j <= i ; t += j ; j++ ) ; out. p r i n t l n ( t ) ; 4
5 7. Una riga di testo è detta numerica se e solo se contiene più cifre che caratteri di altro genere (spazi compresi). Ad esempio, le righe di testo 22 May Jan trentini a Tre5nto 44 sono numeriche, mentre le righe non lo sono. 22 maggio gennaio trentini a Trento 44 (a) Scrivete il metodo statico public static boolean isnumerica( String s ) che restituisce true se e solo se s è una riga di testo numerica. Suggerimento. Utili per analizzare i caratteri di s potrebbero essere i metodi statici della classe Character. Soluzione public s t a t i c boolean isnumerica ( S t r i n g s ) { int d = 0 ; for ( int i = 0 ; i < s. l e n g t h ( ) ; i++ ) { i f ( Character. i s D i g i t ( s. charat ( i ) ) ) d++; return d > s. l e n g t h ( ) / 2 ; (b) Usate il metodo statico al punto (a) nella scrittura di un programma che realizzi quanto segue (per tale programma, è sufficiente il corpo del main; supponete inoltre di avere due variabili in e out di tipo ConsoleInputManager e ConsoleOutputManager, rispettivamente, già dichiarate e inizializzate): (1) acquisisca dall utente un brano il cui inserimento viene terminato dalla stringa nulla, (2) salvi in un array N di tipo e dimensione opportuni le righe del brano che sono numeriche; se il brano non contiene righe numeriche, il programma deve interrompersi emettendo un opportuno messaggio, (3) stampi le righe in N ordinate alfabeticamente. Suggerimento. Per il punto (1), utile per memorizzare il brano potrebbe essere la classe generica Vector. Per quanto riguarda il punto (3), ricordate che la classe String implementa l interfaccia Comparable proprio nel senso desiderato, e che la classe GestioneArray del package prog.utili offre il metodo statico ordina che ordina array di Comparable passati come argomento. Soluzione alla pagina successiva 5
6 import java. u t i l. Vector ; import prog. u t i l i. GestioneArray ;... Vector<String > B = new Vector<String >(); S t r i n g s ; int k = 0 ; out. p r i n t l n ( " Inserisci il brano:" ) ; do { s = i n. readline ( ) ; i f ( s. l e n g t h ( ) > 0 ) { B. add ( s ) ; i f ( isnumerica ( s ) ) k++; while ( s. l e n g t h ( ) > 0 ) ; i f ( k == 0 ) out. p r i n t l n ( "Non sono state inserite stringhe numeriche " ) ; else { S t r i n g [ ] N = new S t r i n g [ k ] ; int t = 0 ; for ( S t r i n g x : B ) i f ( isnumerica ( x ) ) N[ t++ ] = x ; GestioneArray. ordina ( N ) ; for ( int i = 0 ; i < k ; i++ ) out. p r i n t l n ( N[ i ] ) ; 6
7 8. Attenzione!! Per questo esercizio è richiesta la scrittura completa del codice del programma. Scrivete il programma FigurePiane che faccia utilizzo della gerarchia di figure geometriche Figura, Rettangolo, Quadrato, Cerchio ampiamente descritta a lezione, sul libro di testo ed utilizzata in numerosi esercizi. Tale programma deve leggere dall utente m figure tra rettangoli, quadrati e cerchi, dove m viene acquisito A LINEA DI COMANDO. In caso di m non positivo, il programma deve arrestarsi emettendo un opportuno messaggio d errore. Successivamente, il programma deve stampare: i rettangoli che non siano quadrati e che possano essere inscritti nel primo cerchio inserito, i quadrati la cui area sia pari a quella dell ultimo cerchio inserito. Attenzione! Prima di stampare tali elenchi e nel caso non siano stati inseriti cerchi, il programma deve avvisare opportunamente ed interrompersi. Soluzione alla pagina successiva 7
8 import prog. i o. ConsoleInutManager ; import prog. u t i l i. ; class FigurePiane { public s t a t i c void main ( S t r i n g [ ] a r g s ) { int m = I n t e g e r. p a r s e I n t ( a r g s [ 0 ] ) ; i f ( m <= 0 ) System. out. p r i n t l n ( " Parametro errato" ) ; else { ConsoleInputManager i n = new ConsoleInputManager ( ) ; Figura [ ] F = new Figura [ m ] ; Cerchio pc = uc = null ; char r ; double a, b ; for ( int i = 0 ; i < m; i++ ) { do { r = i n. readchar ( " Rettangolo (r), Quadrato (q), Cerchio (c):" ) ; while ( r!= r && r!= q && r!= c ) ; switch ( r ) { case r : F [ i ] = new Rettangolo ( i n. readdouble ( "Base:" ), i n. readdouble ( " Altezza :" ) ) ; break ; case q : F [ i ] = new Quadrato ( i n. readdouble ( "Lato:" ) ) ; break ; case c : F [ i ] = new Cerchio ( in. readdouble ( "Raggio:" ) ) ; i f ( pc == null ) pc = uc = ( Cerchio )F [ i ] ; else uc = ( Cerchio )F [ i ] ; break ; i f ( pc == null ) out. p r i n t l n ( "Non sono stati inseriti cerchi" ) ; else { for ( int i = 0 ; i < m; i++ ) i f ( F [ i ] i n s t a n c e o f Rettangolo &&! ( F [ i ] i n s t a n c e o f Quadrato ) ) { b = ( Rettangolo )F [ i ]. getbase ( ) ; a = ( Rettangolo )F [ i ]. g e t A l t e z z a ) ; i f ( 2 pc. getraggio ( ) == Math. s q r t ( a a + b b ) ) ; System. out. p r i n t l n ( F [ i ] ) ; for ( int i = 0 ; i < m; i++ ) i f ( F [ i ] i n s t a n c e o f Quadrato ) i f ( F [ i ]. getarea ( ) == uc. getarea ( ) ; System. out. p r i n t l n ( F [ i ] ) ; 8
9 9. Realizzate una gerarchia di classi per la rappresentazione di solidi geometrici. Tale gerarchia è costituita da una classe astratta Solido e da tre classi concrete Cubo, Cono e Cilindro, figlie di Solido. La classe concreta Cubo, oltre chiaramente a possedere il costruttore, deve avere i metodi getlato(), getvolume(), tostring(), equals(object o) dall ovvio significato. La classe concreta Cono, oltre chiaramente a possedere il costruttore, deve avere i metodi getraggiodibase(), getaltezza(), getvolume(), tostring (), equals(object o) dall ovvio significato. [Ricordiamo che il volume di un cono si ottiene moltiplicando 1 3 per l area di base per l altezza.] La classe concreta Cilindro, oltre chiaramente a possedere il costruttore, deve avere i metodi getraggiodibase(), getaltezza(), getvolume(), tostring (), equals(object o) dall ovvio significato. [Ricordiamo che il volume di un cilindro si ottiene moltiplicando l area di base per l altezza] La classe astratta Solido deve avere il metodo astratto getvolume() ed il metodo concreto havolumemaggiore(solido s) dall ovvio significato. Fate poi in modo che la gerarchia appena costruita implementi l interfaccia Comparable confrontando i solidi per volume. Soluzione alla pagina successiva 9
10 class Cubo extends S o l i d o { private double l a t o ; public Cubo( double x ) { l a t o = x ; public double getlato ( ) { return l a t o ; public double getvolume ( ) { return l a t o l a t o l a t o ; public S t r i n g t o S t r i n g ( ) { return "Cubo: Lato = "+l a t o ; public boolean e q u a l s ( Object o ) { i f ( o i n s t a n c e Cubo ) { Cubo c = (Cubo) o ; return l a t o == c. l a t o ; else return f a l s e ; class Cono extends S o l i d o { private double raggio, a l t e z z a ; public Cono ( double r, double a ) { r a g g i o = r ; a l t e z z a = a ; public double getraggio ( ) { return r a g g i o ; public double g e t A l t e z z a ( ) { return a l t e z z a ; public double getvolume ( ) { return 1.0/3 Math. PI r a g g i o r a g g i o a l t e z z a ; public S t r i n g t o S t r i n g ( ) { return "Cono: Raggio = "+r a g g i o+" Altezza = "+a l t e z z a ; public boolean e q u a l s ( Object o ) { i f ( o i n s t a n c e Cono ) { Cono c = ( Cono ) o ; return r a g g i o == c. r a g g i o && a l t e z z a == c. a l t e z z a ; else return f a l s e ; class C i l i n d r o extends S o l i d o { private double raggio, a l t e z z a ; public C i l i n d r o ( double r, double a ) { r a g g i o = r ; a l t e z z a = a ; public double getraggio ( ) { return r a g g i o ; public double g e t A l t e z z a ( ) { return a l t e z z a ; public double getvolume ( ) { return Math. PI r a g g i o r a g g i o a l t e z z a ; public S t r i n g t o S t r i n g ( ) { return " Cilindro : Raggio = "+r a g g i o+" Altezza = "+a l t e z z a ; public boolean e q u a l s ( Object o ) { i f ( o i n s t a n c e C i l i n d r o ) { C i l i n d r o c = ( C i l i n d r o ) o ; return r a g g i o == c. r a g g i o && a l t e z z a == c. a l t e z z a ; else return f a l s e ; 10
11 abstract class S o l i d o implements Comparable<Solido > { public abstract double getvolume ( ) ; public boolean havolumemaggiore ( S o l i d o s ) { return getvolume ( ) > s. getvolume ( ) ; public int compareto ( S o l i d o o ) { i f ( getvolume ( ) > o. getvolume ( ) ) return 1 ; else i f ( getvolume ( ) < o. getvolume ( ) ) return 1; else return 0 ; 11
12 10. Attenzione!! Per questo esercizio è richiesta la scrittura completa del codice del programma. Sfruttando la gerarchia all esercizio precedente, scrivete il programma GestioneSolidi che: accetti A LINEA DI COMANDO un intero positivo che rappresenta la dimensione di un array S entro cui inserire solidi (cubi, coni oppure cilindri); riempia tale array con solidi chiesti all utente; stampi un cubo di volume maggiore, un cono di volume maggiore ed un cilindro di volume maggiore; se non sono stati inseriti solidi di un certo tipo, il programma deve emettere un opportuno messaggio. Soluzione import prog. i o. ConsoleInputManager ; // Assumo che l a g e r a r c h i a c o s t r u i t a a l l e s e r c i z i o p r e c e d e n t e // s i a n e l l a s t e s s a d i r e c t o r y d e l l a c l a s s e G e s t i o n e S o l i d i class G e s t i o n e S o l i d i { public s t a t i c void main ( S t r i n g [ ] a r g s ) { S o l i d o [ ] S = new S o l i d o [ I n t e g e r. p a r s e I n t ( a r g s [ 0 ] ) ] ; char r ; Cubo cb = null ; Cono cn = null ; C i l i n d r o c l = null ; ConsoleInputManager i n = new ConsoleInputManager ( ) ; for ( int i = 0 ; i < S. l e n g t h ; i++ ) { do { r = i n. readchar ( "Cubo (c), Cono (n) o Cilindro (l):" ) ; while ( r!= c && r!= n && r!= l ) ; i f ( r == c ) S [ i ] = new Cubo( i n. readdouble ( "Lato:" ) ) ; i f ( r == n ) S [ i ] = new Cono ( i n. readdouble ( "Raggio:" ), i n. readdouble ( " Altezza :" ) ) ; i f ( r == l ) S [ i ] = new C i l i n d r o ( i n. readdouble ( "Raggio:" ), i n. readdouble ( " Altezza :" ) ) ; for ( int i = 0 ; i < S. l e n g t h ; i++ ) { i f ( S [ i ] instanceof Cubo ) i f ( cb == null S [ i ]. getvolume ( ) > cb. getvolume ( ) ) cb = S [ i ] ; i f ( S [ i ] instanceof Cono ) i f ( cn == null S [ i ]. getvolume ( ) > cn. getvolume ( ) ) cn = S [ i ] ; i f ( S [ i ] instanceof C i l i n d r o ) i f ( c l == null S [ i ]. getvolume ( ) > c l. getvolume ( ) ) c l = S [ i ] ; System. out. p r i n t l n ( cb == null? "Non sono stati inseriti cubi" : cb ) ; System. out. p r i n t l n ( cn == null? "Non sono stati inseriti coni" : cn ) ; System. out. p r i n t l n ( c l == null? "Non sono stati inseriti cilindri " : c l ) ; 12
Programmazione I - Preparazione A.A. 2010/2011
Programmazione I - Preparazione A.A. 2010/2011 3 febbraio 2011 Matricola:........................................................................ Cognome:........................................................................
DettagliPreparazione 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,
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:...........................................................................
DettagliPreparazione allo Scritto di Programmazione
Preparazione allo Scritto di Programmazione Informatica / Comunicazione Digitale A.A. 2014/2015 Matricola:...................... Cognome:...................... Nome:...................... Informatica Comunicazione
DettagliProgrammazione II Compitino (Vers. A)
Programmazione II Compitino (Vers. A) 16 gennaio 2009 Cognome Jekyll Nome Doctor Matricola 112233 Nei seguenti quesiti, quando vi è richiesto di scrivere un programma, potete limitarvi al corpo del metodo
DettagliProgrammazione. 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
DettagliProgrammazione 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
DettagliNote ed esercizi aggiuntivi
Corso di Programmazione Anno Accademico 2015 2016 Prof. Giovanni Pighizzini Note ed esercizi aggiuntivi Gli esercizi proposti sono utili per rivedere gli esempi riportati, che sono stati sviluppati e discussi
DettagliProgrammazione. 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
DettagliProgrammazione. preparazione allo scritto. Informatica / Comunicazione Digitale 19 gennaio 2016
Programmazione preparazione allo scritto Informatica / Comunicazione Digitale 19 gennaio 2016 1. (1) Scrivete il metodo statico public static boolean compare( ArrayList X, String s ) il quale restituisce
Dettaglipublic 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
DettagliProgrammazione II Compitino (Vers. B)
Programmazione II Compitino (Vers. B) 15 gennaio 2015 Cognome Jackson Nome Michael Matricola 696969 Anno di corso 1 Nei seguenti quesiti, quando vi è richiesto di scrivere un programma, potete limitarvi
DettagliNote ed esercizi aggiuntivi
Corso di Programmazione Anno Accademico 2014 2015 Prof. Giovanni Pighizzini Note ed esercizi aggiuntivi 10. Ereditarietà, file di testo, gerarchia delle classi e gerarchia dei tipi Esercizio 10.1 Scrivete
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
DettagliProgrammazione. 23 novembre 2016
Programmazione (Vers. A) 23 novembre 2016 Cognome... Nome... Matricola... Anno di corso... Alcune delle seguenti domande riguardano il vostro numero di matricola. Scrivete il vostro numero nel seguente
DettagliArray di array. E' possibile creare strutture a matrice (2D, 3D,..., ND), esempio: double [ ][ ] entrate = new double [NANNI][NMESI];
Array di array E' possibile creare strutture a matrice (2D, 3D,..., ND), esempio: double [ ][ ] entrate = new double [NANNI][NMESI]; Per l'accesso ai dati è necessario utilizzare il doppio indice: entrate
DettagliProgrammazione. 23 novembre 2016
Programmazione (Vers. B) 23 novembre 2016 Cognome... Nome... Matricola... Anno di corso... Alcune delle seguenti domande riguardano il vostro numero di matricola. Scrivete il vostro numero nel seguente
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
Dettagli//riferimento a una sequenza di oggetti della classe Importo
Cognome................................ Nome................................... Matricola............................... Programmazione Compitino del 29 novembre 2010 Negli esercizi fate riferimento alle
DettagliCapitolo 6. Uso della gerarchia. c 2005 Pearson Education Italia Capitolo 6-1 / 125
Capitolo 6 Uso della gerarchia c 2005 Pearson Education Italia Capitolo 6-1 / 125 Sommario: Uso della gerarchia 1 Notazione UML per le classi 2 Introduzione alla gerarchia 3 Gerarchia e tipi La gerarchia
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/
Dettagli17 - Classi parzialmente definite: Classi Astratte e Interfacce
17 - 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/
Dettagli9 - 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
DettagliProgrammazione. 20 novembre 2017
Programmazione (Vers. A) 20 novembre 2017 Cognome... Nome... Matricola... Anno di corso... Alcune delle seguenti domande riguardano il vostro numero di matricola. Scrivete il vostro numero nel seguente
DettagliProgrammazione Preparazione al II Compitino
Programmazione Preparazione al II Compitino 15 gennaio 2015 Cognome House Nome Gregory Matricola 123456 Nei seguenti quesiti, quando vi è richiesto di scrivere un programma, potete limitarvi al corpo del
DettagliProgrammazione. Cognome... Nome... Matricola... Compitino del 24 novembre 2008
Cognome................................ Nome................................... Matricola............................... Programmazione Compitino del 24 novembre 2008 Negli esercizi fate riferimento alle
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
DettagliProgramma... Autoboxing / unboxing Array Classe Rettangolo / classe Quadrato / Gerarchia e ereditarietà. Laboratorio di Programmazione - Esercitazio 1
Programma... Autoboxing / unboxing Array Classe Rettangolo / classe Quadrato / Gerarchia e ereditarietà. Laboratorio di Programmazione - Esercitazio 1 Unboxing e autoboxing (per la classe Integer) Unboxing
DettagliLe basi del linguaggio Java
Le basi del linguaggio Java Compilazione e interpretazione Quando si compila il codice sorgente scritto in Java, il compilatore genera il codice compilato, chiamato bytecode. È un codice generato per una
DettagliProgrammazione. Cognome... Nome... Matricola... Compitino del 24 novembre 2011
Cognome................................ Nome................................... Matricola............................... Programmazione Compitino del 24 novembre 2011 Negli esercizi fate riferimento alle
DettagliProgrammazione II Compitino (Vers. A)
Programmazione II Compitino (Vers. A) 15 gennaio 2015 Cognome... Nome... Matricola... Anno di corso... Nei seguenti quesiti, quando vi è richiesto di scrivere un programma, potete limitarvi al corpo del
DettagliProgrammazione. Cognome... Nome... Matricola... Prova scritta del 11 luglio 2014
Cognome................................ Nome................................... Matricola............................... Programmazione Prova scritta del 11 luglio 2014 TEMPO DISPONIBILE: 2 ore Negli esercizi
DettagliOggi. La programmazione strutturata - III. Sequenza e selezione. Dove siamo. Iterazione: while e do/while. Raffinamenti successivi.
La programmazione strutturata - Stefano Mizzaro Dipartimento di matematica e informatica Università di Udine http://www.dimi.uniud.it/mizzaro/ mizzaro@dimi.uniud.it Programmazione, lezione 6 Oggi Stefano
Dettagli! Riassunto. ! for. ! Cicli annidati. ! Esempi, esercizi, errori tipici. ! Programmazione strutturata. ! break e continue I1; I2; I3;
La programmazione strutturata - Stefano Mizzaro Dipartimento di matematica e informatica Università di Udine http://www.dimi.uniud.it/mizzaro/ mizzaro@uniud.it Programmazione, lezione 6 Oggi Stefano Mizzaro
DettagliSommario. I Uso degli oggetti 39
Questo è l'indice del libro, in cui sono evidenziati i paragrafi corrispondenti agli argomenti trattati nel corso e che costituiranno il programma d'esame. Alcuni argomenti sono stati trattati nelle lezioni
Dettagli19 - Eccezioni. Programmazione e analisi di dati Modulo A: Programmazione in Java. Paolo Milazzo
19 - Eccezioni 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
DettagliEsempi in Java di program.ne O-O
Esempi in Java di program.ne O-O Ereditarietà Polimorfismo statico e dinamico Esercitazione laboratorio Interfaccia Comparable e Comparator 1 Gerarchia di ereditarietà Persona IS_A Docente Studente Tecnico
DettagliProgrammazione II Compitino (Vers. A)
Programmazione II Compitino (Vers. A) 17 dicembre 2015 Cognome... Nome... Matricola... Anno di corso... Nei seguenti quesiti, quando vi è richiesto di scrivere un programma, potete limitarvi al corpo del
Dettagli5 - Istruzioni condizionali
5 - Istruzioni condizionali 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
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
DettagliProgrammazione. Cognome... Nome... Matricola... Prova scritta del 20 febbraio 2012
Cognome................................ Nome................................... Matricola............................... Programmazione Prova scritta del 20 febbraio 2012 TEMPO DISPONIBILE: 1 ora Negli
Dettagli24 - Possibili approfondimenti
24 - Possibili approfondimenti 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
DettagliLezione 4 Casting, stringhe e caratteri, operatori relazionali, espressioni e variabili booleane
Lezione 4 Casting, stringhe e caratteri, operatori relazionali, espressioni e variabili booleane Barbara Rita Barricelli Corso di Laboratorio di Programmazione -Turno B (Cognomi M-Z) CdL in Informatica
DettagliProgrammazione Preparazione al II Compitino
Programmazione Preparazione al II Compitino 15 gennaio 2015 Cognome House Nome Gregory Matricola 123456 Nei seguenti quesiti, quando vi è richiesto di scrivere un programma, potete limitarvi al corpo del
DettagliLABORATORIO 7 ARRAY. ATTENZIONE: argomenti da linea di comando!!!
LABORATORIO 7 ARRAY Esercizio Minimo Massimo Media Scrivere un programma che chieda all'utente di inserire un numero intero n, e quindi chieda di inserire n numeri interi. Dopo aver salvato i numeri inseriti
DettagliEsercizi 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.
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
DettagliESERCIZI 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
DettagliIII Appello - 4 giugno 2009
Corso di laurea in Comunicazione digitale Fondamenti di architettura e programmazione AA 2008/09 III Appello - 4 giugno 2009 Cognome Matricola Nome 1 (4 punti) Scrivete il programma Java, Esercizio, che
DettagliLaboratorio di Programmazione I Compitino (Vers. C)
Laboratorio di Programmazione I Compitino (Vers. C) 13 novembre 2009 Cognome... Nome... Matricola... Note. In alcune delle seguenti domande verrà usato il vostro numero di matricola. Scrivete il vostro
DettagliProva d Esame Compito A
Prova d Esame 19.04.2005 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 int counter;
DettagliFondamenti di Informatica T-1
Fondamenti di Informatica T-1 Metodi statici e array Tutor: Angelo Feraudo angelo.feraudo2@unibo.it a.a. 2017/2018 Fondamenti di Informatica T-1 Angelo Feraudo 1 / 14 METODI STATICI: Definizione Un metodo
DettagliLABORATORIO DI PROGRAMMAZIONE TURNO 3 (SERALE)
LABORATORIO DI PROGRAMMAZIONE 2008 2009 TURNO 3 (SERALE) 22.X.2008 VINCENZO MARRA Indice Esercizio 1 1 Lunghezza di una stringa 1 2 Commento 1 2 Esercizio 2 2 Conversione in maiuscole e minuscole 2 2 Esercizio
DettagliInterfaccia Comparable. Fondamenti di Informatica L-B Esercitazione n 5 Java: Comparable, Array. Come sfrutto Comparable?
Fondamenti di Informatica L-B Esercitazione n 5 Java: Comparable, Array A.A. 2005/06 Tutor: Loris Cancellieri loris.cancellieri@studio.unibo.it Interfaccia Comparable class Contatore implements Comparable
DettagliEreditarietà (ultima)
Ereditarietà (ultima) Classi astratte Un ibrido tra classi e interfacce Hanno alcuni metodi implementati normalmente, altri astratti Un metodo astratto non ha implementazione abstract class AccountTransaction...
DettagliEreditarietà (ultima)
Ereditarietà (ultima) Classi astratte Un ibrido tra classi e interfacce Hanno alcuni metodi implementati normalmente, altri astratti Un metodo astratto non ha implementazione abstract class AccountTransaction
DettagliCOGNOME 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
DettagliIL LINGUAGGIO JAVA. Introduzione alla sintassi di Java La sintassi formalizza le regole sintattiche per scrivere frasi ben formate
Fondamenti di Informatica IL LINGUAGGIO JAVA Sintassi, Semantica, Input, Tipi Elementari e Istruzione Condizionale 1 Introduzione alla sintassi di Java La sintassi formalizza le regole sintattiche per
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
DettagliINTRODUZIONE ALLA PROGRAMMAZIONE AD ALTO LIVELLO IL LINGUAGGIO JAVA. Struttura di un programma Java
Fondamenti di Informatica INTRODUZIONE ALLA PROGRAMMAZIONE AD ALTO LIVELLO IL LINGUAGGIO JAVA 1 Struttura di un programma Java Un programma Java consiste in un insieme di definizioni di classi. In genere
DettagliIstruzioni. Il codice Java delle domande non mostra gli import, che si assumono essere correttamente presenti.
Istruzioni Staccare questo foglio dal resto del blocchetto, ed utilizzarlo per segnare le risposte (sul retro di questa pagina). Segnare SUBITO nome, cognome e numero di matricola negli appositi spazi.
DettagliNote ed esercizi aggiuntivi
Corso di Programmazione Anno Accademico 2015 2016 Prof. Giovanni Pighizzini Note ed esercizi aggiuntivi Gli esercizi proposti sono utili per rivedere gli esempi riportati, che sono stati sviluppati e discussi
DettagliFondamenti di Informatica T-1
Fondamenti di Informatica T-1 Metodi statici e Array Tutor: Angelo Feraudo angelo.feraudo2@unibo.it a.a. 2018/2019 Fondamenti di Informatica T-1 Angelo Feraudo 1 / 12 METODI STATICI: Definizione Un metodo
DettagliEsercitazioni di Fondamenti di Informatica - Lez. 5 30/10/2018
Esercitazioni di Fondamenti di Informatica - Lez. 30/10/018 Esercizi sulle funzioni in C I codici e le soluzioni degli esercizi sono nella cartella parte1 1. Scrivere i prototipi delle seguenti funzioni.
DettagliLaboratorio di programmazione
Laboratorio di programmazione 25 ottobre 2017 Da questo laboratorio, lo scheletro dei vostri programmi deve essere import java.io.*; import java.util.*; public class NomeClasse { public static void main(
DettagliEsercizi 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
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
DettagliInformatica Ereditarietà Java. Ereditarietà
Ereditarietà L'ereditarietà consente allo sviluppatore di riutilizzare il codice già scritto creando sottoclassi a partire da classi già definite. La sottoclasse eredita tutti gli attributi e tutti i metodi
DettagliProgrammazione I - corso B a.a prof. Viviana Bono
Università di Torino Facoltà di Scienze MFN Corso di Studi in Informatica Programmazione I - corso B a.a. 2009-10 prof. Viviana Bono Blocco 12 Riepilogo e complementi sui tipi Ripasso del sistema di tipi
DettagliClassi 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
DettagliRiassunto: cos è la OOP? classi astratte, interfacce, classi interne. Scaletta. Figura con area()? Figura senza area()? Stefano Mizzaro 1.
OO in Java: classi astratte, interfacce, classi interne Stefano Mizzaro Dipartimento di matematica e informatica Università di Udine http://www.dimi.uniud.it/mizzaro mizzaro@dimi.uniud.it Programmazione,
DettagliCorso Base. Liceo Norberto Rosa Bussoleno Prof. Angelo GIORGIO
Corso Base Liceo Norberto Rosa Bussoleno Prof. Angelo GIORGIO Richiamo di una Proprietà Se la proprietà è privata, è visibile solo dai metodi della classe, se pubblica invece anche dai metodi al di fuori
DettagliArray. 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];
DettagliFondamenti di Informatica T-1
Fondamenti di Informatica T-1 Input/Output, Variabili, Tipi e Stringhe Tutor: Angelo Feraudo angelo.feraudo2@unibo.it a.a. 2017/2018 Fondamenti di Informatica T-1 Angelo Feraudo 1 / 26 TUTOR Angelo Feraudo
DettagliRiassunto. I mattoni di base di un programma Java. Oggi. Un programma complicato. Oggi. Perché è complicato? Stefano Mizzaro 1.
I mattoni di base di un programma Java Stefano Mizzaro Dipartimento di matematica e informatica Università di Udine http://www.dimi.uniud.it/mizzaro mizzaro@dimi.uniud.it Programmazione, lezione 2 28 settembre
DettagliLezione 15 programmazione in Java. Nicola Drago Dipartimento di Informatica Università di Verona
Lezione 15 programmazione in Java Nicola Drago nicola.drago@univr.it Dipartimento di Informatica Università di Verona Anteprima Approfondimenti della programmazione OO Il modificatore abstract Le classi
DettagliOggetti e dati primitivi 1
I membri delle classi Oggetti e dati primitivi Corso di laurea in Le classi contengono 2 tipi di membri, definiti per l intera classe o per le singole istanze Le variabili o i campi, che rappresentano
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
DettagliFondamenti di Informatica T-1
Fondamenti di Informatica T-1 Input/Output, Variabili, Tipi e Stringhe Tutor: Allegra De Filippo allegra.defilippo@unibo.it a.a. 2016/2017 Fondamenti di Informatica T-1 Allegra De Filippo 1 / 19 VARIABILI
DettagliIL LINGUAGGIO JAVA. Input, Tipi Elementari e Istruzione Condizionale. Fondamenti di Informatica - D. Talia - UNICAL 1. Fondamenti di Informatica
Fondamenti di Informatica IL LINGUAGGIO JAVA Input, Tipi Elementari e Istruzione Condizionale Fondamenti di Informatica - D. Talia - UNICAL 1 Primo esempio di un programma Java Semplicissimo programma
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
DettagliFondamenti di informatica T-1 (A K) Esercitazione 8: classi e oggetti
Fondamenti di informatica T-1 (A K) Esercitazione 8: classi e oggetti AA 2018/2019 Tutor Lorenzo Rosa lorenzo.rosa@unibo.it 2 Esercitazione 8 Introduzione al calcolatore e Java Linguaggio Java, basi e
DettagliCorso 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
DettagliFondamenti di informatica T-1 (A K) Esercitazione 4: controllo del flusso
Fondamenti di informatica T-1 (A K) Esercitazione 4: controllo del flusso AA 2018/2019 Tutor: Lorenzo Rosa lorenzo.rosa@unibo.it 2 Esercitazione 4 Introduzione al calcolatore e Java Linguaggio Java, basi
DettagliEsercizi 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
DettagliCapitolo 5. Array e collezioni. c 2005 Pearson Education Italia Capitolo 5-1 / 61
Capitolo 5 Array e collezioni c 2005 Pearson Education Italia Capitolo 5-1 / 61 Sommario: Array e collezioni 1 Array Array di oggetti Lunghezza di un array Accesso agli elementi di un array Array e cicli
DettagliProgrammazione II. Lezione 23. Daniele Sgandurra 28/1/2011.
Programmazione II Lezione 23 Daniele Sgandurra daniele.sgandurra@iit.cnr.it 28/1/2011 1/20 Programmazione II Lezione 23 28/1/2011 Sommario 1 2/20 Programmazione II Lezione 23 28/1/2011 Parte I 3/20 Programmazione
DettagliLABORATORIO 4 - Iterazioni
LABORATORIO 4 - Iterazioni Ripassiamo l utilizzo della classe Scanner Scrivete un programma che, chiede all utente di inserire un numero intero n e quindi chiede all utente di inserire n numeri interi
Dettaglipublic 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
DettagliI Metodi. Fondamenti di Informatica A-K
I Metodi Fondamenti di Informatica A-K Esercitazione 3 Introduzione al calcolatore e Java Linguaggio Java, basi e controllo del flusso I metodi: concetti di base Stringhe ed array Classi e oggetti, costruttori,
Dettagli