• Non ci sono risultati.

if (a[i].length()<a[i+1].length

N/A
N/A
Protected

Academic year: 2021

Condividi "if (a[i].length()<a[i+1].length"

Copied!
2
0
0

Testo completo

(1)

LABORATORIO DI PROGRAMMAZIONE 2003-2004 Compito Totale - 10 Dicembre 2003

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:

String[] a = b;

int i = 0;

boolean p = true;

while (i<a.length-1 && p) { if (i%2 == 0) {

if (a[i].length()<a[i+1].length()) i++;

else p = false;

} else {

if (a[i].length()>a[i+1].length()) i++;

else p = false;

} }

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

1)

{"ciao","hello","bye","salve","hi"};

2)

{"cane","gatto","leone","leopardo"}.

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

class Exc1 extends Exception { } public class A {

public static String m (String s, int k) throws Exc1 {

String x = "";

try {

if (s.charAt(0) == s.charAt(k)) { x = x+s.charAt(k);

return x+m(s,k-1);

}

else throw new Exc1();

}

catch (Exc1 e) {

if (x.length() > 0) return x;

else throw e;

} } }

Determinare il valore restituito dalle seguenti chiamate:

1) A.m("abcaa",4);

2) A.m("bdbef",2);

3) A.m("bdbef",3).

Esercizio 3. Scrivere un metodo che, data una matrice di interi a, restituisce true se le somme degli elementi delle righe della matrice sono uguali, false altrimenti. Ad esem- pio, data la matrice {{1,-2,5,3},{2,9,-1,-3},{-4,7,2,2}}, il metodo restituisce true.

(Suggerimento: pu`o risultare utile scrivere un ulteriore metodo che calcola la somma degli elementi in una riga della matrice).

Esercizio 4. Scrivere una versione ricorsiva dei metodi definiti per risolvere l’Esercizio 3.

(2)

Esercizio 5. Un aereoporto pu`o essere caratterizzato tramite il nome, la citt`a e la sigla (Es. Galilei, Pisa, PSA). Un passeggero di un volo pu`o essere caratterizzato tramite il nome, la nazionalit`a, la sigla del volo (Es. AZ124), il posto assegnato (Es. 16F), il tipo di pasto richiesto (Es. vegetariano). Scrivere due classi Aereoporto e Passeggero con gli opportuni costruttori ed i metodi che restituiscono i valori delle variabili istanza. Inoltre, nella classe Passeggero definire un metodo che cambia il posto assegnato ad un dato passeggero.

Esercizio 6. Un volo pu`o essere caratterizzato tramite la sigla (Es. AZ124), l’aereoporto di partenza, l’aereoporto di destinazione, l’aereomobile (Es. Airbus300) e l’elenco dei passeg- geri. Scrivere una classe Volo, il cui costruttore imposta il numero massimo di passeggeri (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 passeggero ad un volo;

- un metodo che restituisce una stringa che descrive un volo tramite sigla del volo, citt`a e nome dell’aereoporto di partenza e citt`a e nome dell’aereoporto di destinazione, ad esempio

"Volo AZ108 Roma Fiumicino - Londra Heathrow";

- un metodo che restituisce l’elenco dei nomi dei passeggeri di un volo;

- un metodo che restituisce l’elenco dei posti dei passeggeri che hanno richiesto un pasto vegetariano.

Esercizio 7. Un volo non diretto `e un volo con scali intermedi, ovvero gli aereoporti in cui il volo sosta prima di raggiungere l’aereoporto di destinazione. Scrivere una classe VoloNonDiretto, il cui numero massimo di scali intermedi viene impostato dal costruttore della classe (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 uno scalo intermedio;

- un metodo che restituisce una stringa che descrive un volo non diretto tramite sigla del volo, citt`a e nome dell’aereoporto di partenza, citt`a e nome dell’aereoporto di destinazione e citt`a e nome degli scali intermedi, ad esempio "Volo BA202 Londra Heathrow - Pisa Galilei via Parigi C. De Gaulle - Milano Malpensa".

Riferimenti

Documenti correlati

Il metodo assume di ricevere una matrice tab di stringhe, formata da due sole colonne. Il metodo restituisce il numero di righe per le quali la stringa della prima colonna è

Prima colazione in hotel e Proseguimento lungo la costa settentrionale dell'isola in direzione della penisola di Snaefell, il luogo dove Giulio Verne ha immaginato l'ingresso del

Ma negli anni settanta, non c’erano solo aerei civili che volevano volare più velocemente per far arrivare prima a destinazione i propri passeggeri; ce n’erano anche altri che, ad

– navetta per Pallino e Colle dei Cappuccini – trekking fino a Piazza della Repubblica ore 17.30 Collegio Raffaello – Sala degli Incisori ore 17.30 proiezione video Pascoli e Urbino

[r]

- un metodo che restituisce una stringa che descrive un volo non diretto tramite sigla del volo, citt`a e nome dell’aereoporto di partenza, citt`a e nome dell’aereoporto di

Monitoraggio della partecipazione a eventi, campagne di sensibilizzazione, concorsi sul tema del volontariato e dell’inclusione sociale; supporto nella nell'ideazione e promozione

Palio di Parma Il saluto del corteo storico alla città Ieri, a una settimana dall'evento, la visita rituale alle autorità La delegazione era capitanata dal presidente del Csi