• 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 Compito - 24 Marzo 2004

NOME COGNOME MATRICOLA

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

Esercizio 1. Si consideri il seguente fram- mento di codice in Java:

int[][] a = b;

int i; int j = 0;

int r = 0;

boolean p = false;

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

p = false;

while (j<a[i].length-1 && !p) { if (a[i][j] == a[i][j+1]) {

r++;

p = true;

} j++;

} }

Determinare il valore finale delle variabili i,j, r e p per i seguenti valori dell’array b:

1) {{4,3,-3},{-1,2,2},{3,6,3}};

2) {{-5,9,2,2,2},{1,3,3,3,-1}}.

Esercizio 2. Si consideri il seguente fram- mento di codice in Java:

class Exc1 extends Exception { } public class C {

public static String m (String s) throws Exc1 {

int k = s.length();

try {

if (k>1 && s.charAt(0)==s.charAt(k-1)) return s.charAt(0)+m(s.substring(1,k-1));

else throw new Exc1();

}

catch (Exc1 e) { if (k<=1) return "";

else throw e;

} } }

Determinare il valore restituito dalle seguenti chiamate:

1) C.m("baobab");

2) C.m("madam");

3) C.m("abba").

Esercizio 3. Scrivere un metodo che, dati un array a di stringhe ed un intero k, restituisce l’array a ruotato di k posizioni verso destra. Ad esempio, dati a ={"winnie","pimpi","ro",

"tigro","kanga"} e k=3, il metodo restituisce l’array {"ro","tigro","kanga","winnie",

"pimpi"}. Il metodo deve sollevare opportune eccezioni nel caso in cui il parametro k non sia corretto.

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

(2)

Esercizio 5. Uno studente pu`o essere caratterizzato tramite il nome, il numero di matricola, il nome del corso di laurea a cui `e iscritto e l’anno di iscrizione. Scrivere una classe Studente con un opportuno costruttore ed i metodi che restituiscono i valori delle variabili istanza.

Inoltre, definire un metodo che restituisce una stringa con le informazioni relative ad uno studente costituita da nome, matricola, anno di iscrizione e corso di laurea (in tale ordine).

Esercizio 6. Uno studente fuori corso `e uno studente caratterizzato anche dal numero di anni di fuori corso. Scrivere una classe StudenteFC con un opportuno costruttore. Tra i metodi della classe StudenteFC, oltre a quelli che restituiscono i valori delle variabili istanza, definire un metodo che restituisca una stringa contenente tutte le informazioni relative ad uno studente fuori corso.

Esercizio 7. Scrivere una classe Corso i cui oggetti rappresentano gli insegnamenti di un corso di laurea e sono caratterizzati da nome del corso, nome del docente, anno e quadrimestre in cui il corso viene insegnato, e l’elenco degli studenti che frequentano il corso (il cui numero massimo viene impostato dal costruttore della classe). Definire un costruttore per gli oggetti della classe con le opportune eccezioni in caso di parametri numerici non corretti. Infine, definire (oltre ai metodi che restituiscono i valori delle variabili istanza) i seguenti metodi:

- un metodo che inserisce un nuovo studente in un dato corso (il metodo deve segnalare eventuali eccezioni);

- un metodo che restituisce l’elenco dei nomi degli studenti che frequentano un dato corso;

- un metodo che restituisce l’elenco degli studenti iscritti all’anno di corso in cui viene insegnato un dato corso. Esempio: dato un corso che viene insegnato al secondo anno del corso di laurea, si vuole l’elenco degli studenti iscritti al secondo anno.

Riferimenti

Documenti correlati

■ così come una classe è un modello per istanziare oggetti (della classe) a tempo d'esecuzione, un template è un modello per istanziare classi o funzioni (del template) a tempo

determinare il numero di gradi di lib ert a del sistema e scegliere le co

lungo una circonferenza di raggio R p osta su un piano verticale e l'asta AB e' lib era. di ruotare nel piano verticale attorno

In un piano verticale Oxy si consideri un disco omogeneo, di massa m e raggio R, vincolato con il diametro AB a scorrere su una guida rettilinea mobile attorno ad un suo punto fisso

In un piano verticale Oxy, si consideri un sistema materiale pesante, costituito da un’asta omogenea AB, di massa m e lunghezza 2L, da un disco omogeneo, di massa 2m e raggio R, e da

Punteggi: punti 3 per risposta esatta, punti 0 per risposta non crocettata, punti -1 per risposta

In un piano orizzontale Oxy, si consideri un sistema materiale pesante, costituito da un’asta omogenea OA, di massa m e lunghezza L, e da un disco omogeneo, di massa m e raggio

CORSO DI GEOMETRIA E ALGEBRA.. 10