• Non ci sono risultati.

Si consideri il seguente frammento di codice in Java: String[] a = b

N/A
N/A
Protected

Academic year: 2021

Condividi "Si consideri il seguente frammento di codice in Java: String[] a = b"

Copied!
2
0
0

Testo completo

(1)

Modulo di Laboratorio di Programmazione I (CdL Informatica) &

Corso di Informatica (CdL Matematica) a.a. 2009-2010

Prova Intermedia - 14 Dicembre 2009

NOME COGNOME MATRICOLA

CORSO DI LAUREA

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

Nota Bene: Il testo del compito deve essere riconsegnato insieme al proprio elaborato scritto. 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 stu- dente. Infine, si ricorda che i metodi da definire sono statici .

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

String[] a = b;

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

boolean q = false;

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

while (j < a[i].length() && !q) { if (a[i].charAt(j) == c) {

k++;

if (k >= v) q = true;

} j++;

}

q = false;

}

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

1) b = {"alfa","cassata","albachiara"}, c = ’a’ e v = 3;

2) b = {"fifa","tuffo","baffi","farfalla"}, c = ’f’ e v = 2.

(2)

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

int[][] a = b;

int i = 0, j = 0;

boolean p = true;

while (i < a.length && p) {

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

p = false;

} i++;

}

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

1) b = {{3,2,-4,-5},{7,4,1,-2,8},{3,2}};

2) b = {{12,5,0},{11},{8,3,3,-4,-7}}.

Esercizio 3. Scrivere un metodo che, dati un array monodimensionale di stringhe a ed un intero m, restituisce un array monodimensionale di caratteri b tale che per ogni i si ha che b[i]

`e uguale al carattere che si trova alla posizione m della stringa a[i], se m `e una posizione in a[i], altrimenti b[i] `e uguale al carattere ’-’. Ad esempio, se a = {"aabcdef","abbc","afghh"}

ed m = 4, il metodo restituisce l’array b = {’d’,’-’,’h’}.

Esercizio 4. Scrivere un metodo che, dati un array bidimensionale di stringhe a ed un intero k > 0, restituisce true se in ogni riga a[i] di a esistono almeno k coppie di stringhe adiacenti di uguale lunghezza, altrimenti il metodo restituisce false. Ad esempio, se a = {{"att","xdr","qp","yy","xx"},{"psi","rho","csi","af"},{"g","bb","kk","vv"}}

e k = 2, il metodo restituisce true.

Esercizio 5. Scrivere un metodo che, dati un array bidimensionale di caratteri a ed un array monodimensionale di interi b, restituisce un array bidimensionale di stringhe c tale che ogni riga c[i] `e costituita dalle stringhe ottenute replicando b[i] volte i caratteri nelle posizioni corrispondenti. Ad esempio, dati a = {{’a’,’b’,’c’},{’d’,’e’},{’f’,’g’,’h’,’i’}} e b= {3,4,2}, il metodo restituisce l’array c = {{"aaa","bbb","ccc"},{"dddd","eeee"}, {"ff","gg","hh","ii"}}.

Si assuma che gli array a e b abbiano la stessa lunghezza e b[i] > 0 per ogni i.

Nota: pu`o essere utile definire un metodo che, dati un carattere ch ed un intero k, calcola la stringa ottenuta concatenando ch . . . ch per k volte.

Riferimenti

Documenti correlati

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

Scrivere un metodo che, dati un array di interi a (contenente almeno due elementi), un intero v ed un intero k (k&gt;0), restituisce true se in a esistono almeno k coppie di interi,

Le due classi, oltre ad ereditare i metodi della classe Contenitore di animali, hanno metodi che restituiscono l’habitat (classe Gabbia) ed il tipo di acqua e il flusso

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 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

- un metodo che, data una stringa s che denota il nome di una casa editrice, restituisce l’elenco dei quotidiani venduti da un’edicola che sono pubblicati da s.

Scrivere un metodo statico iterativo che, dato un array bidimensionale a di stringhe, restituisce un array monodimensionale b di stringhe tale che b[i] `e la stringa