• 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!
1
0
0

Testo completo

(1)

LABORATORIO DI PROGRAMMAZIONE 2003-2004 Prova Intermedia - 7 Novembre 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;

char c1 = c;

boolean p = true;

int i = 1, x = 0;

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

if (a[i].length()<a[i-1].length()) p = false;

if (a[i-1].charAt(0) == c1) x++;

i++;

}

Determinare il valore finale delle variabili i, p ed x nei seguenti casi:

1) b = {"ab","bcde","bfrt","hjkilm"}

e c = ’b’;

2) b = {"da","yes","oui","ja"}

e c = ’j’.

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

int n = a.length;

char[][] c = new char[n][n];

for (int i=0; i<c.length; i++)

for (int j=0; j<c[i].length; j++) { if (i+j < c.length)

c[i][j] = a[i+j];

else

c[i][j] = a[i];

}

String s = "";

for (int i=0; i<c.length; i++) s = s+c[i][i];

System.out.println(s);

Determinare il valore che viene stampato nel caso in cui a = {’f’,’w’,’j’,’v’}.

Esercizio 3. Scrivere un metodo iterativo che, dati una stringa s ed un array a di in- teri, restituisce un array di caratteri c tale che l’elemento c[i] `e il carattere di s in po- sizione a[i]. Ad esempio, dati s = "abcd" e a = {2,1,0,1,3}, il metodo restituisce c = {’c’,’b’,’a’,’b’,’d’}. (Nota: si assuma che valga 0 ≤ a[i] ≤ s.length()−1 per ogni i.) Esercizio 4. Scrivere una versione ricorsiva del metodo definito nell’Esercizio 3.

Esercizio 5. Scrivere un metodo che, data una matrice di interi, restituisce true se gli ele- menti sul bordo esterno della matrice sono tutti uguali, false altrimenti. Ad esempio, la ma- trice {{3,3,3,3,3},{3,-4,-1,6,3},{3,-2,8,-6,3},{3,9,-7,1,3},{3,3,3,3,3}} soddi- sfa tale propriet`a.

Esercizio 6. Un numero n (n ≥ 1) si dice triangolare se n = 1+2+3+ . . . +k, ovvero n `e la somma dei primi k numeri interi positivi per un qualche k ≤ n. I primi numeri triangolari sono 1, 3, 6, 10, 15, 21, etc. Scrivere un metodo iterativo che, dato un numero n, restituisce true se n `e triangolare, false altrimenti.

Esercizio 7. Scrivere una versione ricorsiva del metodo definito nell’Esercizio 6.

Riferimenti

Documenti correlati

Dalle equazioni degli errori si deduce che la convergenza di un metodo iterativo dipende esclusivamente dallo splitting scelto per la matrice dei coefficienti.. La matrice B definita

Date le seguenti matrici A e B, dire se sia possibile calcolare il prodotti AB e BA.. In caso sia

Corso di Laurea in Ingegneria Gestionale Corso di Algebra Lineare e Geometria.. Paladino Foglio di

Say if the following statements are unambiguously true (TRUE), unambigu- ously false (FALSE) or impossible to classify the way they are stated

Say if the following statements are unambiguously true (TRUE), unambigu- ously false (FALSE) or impossible to classify the way they are stated (CAN’T SAY)... Table 1 contains

- 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

Scrivere un metodo ricorsivo che, dati un array bidimensionale di interi a ed un intero n, restituisce true se n compare in a, false altrimenti. public static boolean

Le variabili istanza sono il veicolo assicurato, identificato dalla targa (ad esempio, “CA 075 DS”), ed il valore assicurato RC.. Una polizza auto incendio e furto si differenzia da