• Non ci sono risultati.

Si consideri il seguente fram- mento di codice in Java: char

N/A
N/A
Protected

Academic year: 2021

Condividi "Si consideri il seguente fram- mento di codice in Java: char"

Copied!
2
0
0

Testo completo

(1)

Laboratorio di Programmazione I (CdL Informatica) &

Laboratorio di Programmazione (CdL Matematica) a.a. 2005-2006

Prova Intermedia - 11 Novembre 2005

NOME COGNOME MATRICOLA

CORSO DI LAUREA

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

Si ricorda di riconsegnare il testo del compito insieme al proprio elaborato scritto.

Nota Bene: Le soluzioni degli esercizi non devono contenere alcun metodo main n´e alcuna istruzione di stampa n´e istruzioni switch, break, continue, etc. La non osservanza di tali requisiti comporter`a l’annullamento della prova scritta dello studente.

Infine, si ricorda che i metodi da definire sono statici.

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

char[][] a = b;

int i = 0, j = 0, k = 1;

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

k = 1;

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

k++;

j++;

} i++;

}

Determinare il valore finale delle variabili i, j e k nei seguenti casi:

1) r = 3 e b = {{’f’,’e’,’f’,’f’,’h’}, {’e’,’f’,’e’},{’c’,’c’,’c’,’h’}};

2) r = 2 e b = {{’v’,’k’,’k’,’v’}, {’d’,’g’,’g’,’g’}}.

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

String[] a = b;

boolean p = false;

int i = 0, j = 0, k = 0;

for (i=0; i<a.length; i++) { j = a[i].length()-1;

k = 0;

while (j >= 0 && !p) {

if (a[i].charAt(j) == c) { k++;

if (k == v) p = true;

} j--;

}

p = false;

}

Determinare il valore finale delle variabili i, j, k e p nei seguenti casi:

1) c = ’a’, v = 2 e

b = {"kiwi","pera","mela","banana"};

2) c = ’p’ e v = 2 e

b = {"pimpi","pluto","pippo"}.

(2)

Esercizio 3. Scrivere un metodo che, date due stringhe s1 ed s2, restituisce true se la stringa s1 `e uguale alla stringa s2 rovesciata, altrimenti il metodo restituisce false. Ad esempio, date s1 = "orebla" ed s2 = "albero", il metodo restituisce true.

Esercizio 4. Scrivere un metodo che, dati un array di interi a (contenente almeno due elementi), un intero v ed un intero k (k>0), restituisce true se in a esistono almeno k coppie di interi, la cui somma `e uguale a v, altrimenti il metodo restituisce false. Ad esempio, se l’array a `e {5,2,-4,7,-2}, v=3 e k=2, il metodo restituisce true (in quanto 3=5+(-2) e 3=-4+7).

Esercizio 5. Il triangolo di Tartaglia di livello n (n>0) pu`o essere visto come un array bidimensionale di interi definito come segue. Si costruisce il triangolo partendo dal vertice, corrispondente ai livelli 0 ed 1:

1 1 1

Ogni nuovo livello inizia e termina con 1, mentre i numeri intermedi sono la somma di due interi del livello precedente, come indicato dai segmenti scritti a matita nel seguente triangolo per n=5 (si noti che ogni livello k (0≤k≤n) `e costituito da k+1 numeri):

1 1 1

1 2 1

1 3 3 1

1 4 6 4 1

1 5 10 10 5 1

Scrivere un metodo che, dato un intero n, restituisce un array bidimensionale di interi che rappresenta il triangolo di Tartaglia di livello n.

Riferimenti

Documenti correlati

Tra i metodi della nuova classe, oltre a quelli che restituiscono i valori delle variabili istanza, definire un metodo etichetta che restituisce le informazioni relative ad

La presentazione della tesi di un laureando davanti ad una commissione di laurea pu`o essere descritta tramite il nome e la matricola del laureando, il titolo della tesi, il nome

La sessione di una conferenza pu`o essere caratterizzata dal nome della con- ferenza, dal numero di sessione, dal nome del coordinatore della sessione e dall’elenco delle

Usando le classi del precedente esercizio, scrivere una semplice classe Agenzia Assicurativa, dove ciascun oggetto della classe `e caratterizzato dal nome dell’agenzia e da un elenco

Scrivere un metodo in linguaggio Java che, dato un array di interi a, resti- tuisca true se i suoi elementi sono in ordine non decrescente (a[0]≤ a[1] ≤.. Si consideri la

Scrivere un metodo che, date due stringhe s1 ed s2 ed un intero k (k&gt;0), restituisce true se nella stringa s1 esistono almeno k sottostringhe uguali ad s2, altrimenti il

Scrivere un metodo che, dati un array bidimensionale di stringhe a ed un intero k &gt; 0, restituisce true se in ogni riga a[i] di a esistono almeno k coppie di stringhe adiacenti

Scrivere un programma che esegua la somma di tutti i numeri interi inseriti da tastiera finché tale somma non superi il valore di 150; dalla somma vanno esclusi i numeri