• 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

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

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