• Non ci sono risultati.

LABORATORIO DI PROGRAMMAZIONE 2003-2004

N/A
N/A
Protected

Academic year: 2021

Condividi "LABORATORIO DI PROGRAMMAZIONE 2003-2004"

Copied!
2
0
0

Testo completo

(1)

LABORATORIO DI PROGRAMMAZIONE 2003-2004 Recupero - 15 Settembre 2004

NOME COGNOME MATRICOLA

Scrivere in stampatello Nome, Cognome e Matricola su ogni foglio consegnato.

Esercizio 1. Si consideri il seguente frammento di codice in Java:

int[][] a = b;

int i = 0, j = 0;

int n = 0;

boolean q = false;

while (i < a.length) { j = 0;

q = false;

while (j < a[i].length && !q) { if (a[i][j] % k == 0) n++;

if (n >= k) q = true;

j++;

} i++;

}

Determinare il valore finale delle variabili i,j, n e q per i seguenti valori di b e k:

1) b = {{6,7,4,3,12},{-1,3,9,-2,5},{18,6,-5,3,1}} e k = 3;

2) b = {{8,-1,4},{-3,5,2},{4,7,13},{-5,10,9}} e k = 2.

Esercizio 2. Si consideri il seguente frammento di codice in Java:

class Exc1 extends Exception { } public class B {

public static String m (String s) throws Exc1 { try {

if (s.length() >= 2 && s.charAt(0) == s.charAt(1)) return s.charAt(0)+m(s.substring(2));

else throw new Exc1();

}

catch (Exc1 e) {

if (s.length() == 1) return "";

else throw e;

} } }

(2)

Determinare il valore restituito dalle seguenti chiamate:

1) B.m("aabb");

2) B.m("kkfff");

3) B.m("aabbc").

Esercizio 3. Scrivere un metodo che, dati un array a di stringhe ed un intero k (k ≥ 2), restituisce true se in a esistono almeno k stringhe di uguale lunghezza, altrimenti il metodo restituisce false. Ad esempio, dato a = {"leone","cane","gatto","pesce","elefante"}

e k = 3, il metodo restituisce true. Il metodo deve sollevare opportune eccezioni nel caso in cui il valore di k non sia corretto.

Esercizio 4. Scrivere una versione ricorsiva del metodo definito per risolvere l’Esercizio 3.

Esercizio 5. Un programma televisivo pu`o essere caratterizzato tramite il titolo, il nome del regista, l’anno di produzione, la durata, il nome della rete su cui viene trasmesso, l’essere in diretta o registrato. Scrivere una classe ProgrammaTV con gli opportuni costruttori (ed opportune eccezioni in caso di parametri numerici non corretti) ed i metodi che restituiscono i valori delle variabili istanza. Inoltre, definire un metodo presentazione che restituisce una stringa con tutte le informazioni relative ad un programma televisivo.

Esercizio 6. Uno sceneggiato `e un programma televisivo registrato caratterizzato dal nu- mero di puntate in cui `e suddiviso e dall’elenco dei nomi degli attori che vi hanno recitato.

Scrivere una classe Sceneggiato con gli opportuni costruttori ed i metodi che restituiscono i valori delle variabili istanza. Infine, definire un metodo che restituisca una stringa contenente tutte le informazioni relative ad uno sceneggiato.

Esercizio 7. La videoteca RAI pu`o essere caratterizzata dal nome del suo direttore, l’indirizzo e l’elenco dei programmi televisivi conservati. Scrivere una classe VideotecaRAI, il cui costruttore imposta il numero massimo di programmi televisivi che possono esservi conservati (con le opportune eccezioni in caso di parametri numerici non corretti). Oltre ai metodi che restituiscono i valori delle variabili istanza, definire i seguenti metodi:

- un metodo che aggiunge un programma televisivo nella videoteca (il metodo deve segnalare eventuali eccezioni);

- un metodo che restituisce l’elenco dei programmi televisivi prodotti prima di un dato anno k;

- un metodo che restituisce l’elenco dei titoli dei programmi televisivi diretti da un regista di nome s.

Riferimenti

Documenti correlati

Il risultato finale fase deve essere un diagramma delle classi che rappresenti le classi e le interfacce che ritenete necessarie per implementa- re un giocatore artificiale di

Come bisogna completare il criterio d’arresto del ciclo while affinch´ e n sia il pi` u grande indice per cui tutti i numeri di Fibonacci calcolati siano rappresentabili

Il passo deve essere tale che (λh) appartenga ad una certa regione: la regione di assoluta stabilit `a del metodo.. Regioni di assoluta stabilit `a dei

Scrivere una classe Articolo con gli opportuni costruttori (ed opportune eccezioni in caso di parametri numerici non corretti) ed i metodi che restituiscono i valori delle

Scrivere una classe InsegnContratto con gli opportuni costruttori (ed opportune eccezioni in caso di parametri numerici non cor- retti) ed i metodi che restituiscono i valori

[r]

In Java il passaggio dei parametri ai metodi avviene per valore I metodi lavorano su copie delle variabili passate come parametri E quando si passano oggetti ai metodi. Le variabili

Come possiamo osservare nel codice appena scritto, oltre che alla inizializzazione degli attributi, nel secondo costruttore viene anche richiamato un metodo : infatti il costruttore