• Non ci sono risultati.

Esercitazione n.2

N/A
N/A
Protected

Academic year: 2021

Condividi "Esercitazione n.2"

Copied!
3
0
0

Testo completo

(1)

Esercitazione n.2

Utilizzando le classi StackArray e QueueArray viste a lezione completare le classi Esercizio1.java ed Esercizio2.java specificate di seguito, rispettando il seguente vincolo:

per i metodi di entrambe le classi è possibile utilizzare solamente strutture dati locali di appoggio di tipo StackArray

Vi vengono fornite le classi TestEsercizio1.java e TestEsercizio2.java per testare i metodi delle due classi

NOTA: per poter compilare correttamente le classi StackArray.java QueueArray.java Esercizio1.java ed Esercizio2.java devono stare nella stessa directory

Consegnare entro domenica 2 Novembre 2008

Esercitazione n.2

Primo Esercizio: completare l!implementazione della classe

public class Esercizio1 { // pre: Q non nulla

// post: ritorna una stringa che contiene tutti gli elementi in Q // separati da uno spazio. L'ordine degli elementi nella stringa // deve essere corrispondere all'ordinamento FIFO della coda.

// Il metodo non deve alterare lo stato originale di Q public static String toString(QueueArray Q) {…}

// pre: Q non nulla

// post: scambia l'ordine dei primi due elementi in coda, lasciando // inalterati gli altri elementi

// NOTA: se Q ha meno di due elementi allora rimane inalterata public static void scambia(QueueArray Q) {…}

// pre: Q non nulla

// post: ritorna uno stack che rappresenta fedelmente lo stato attuale di // Q, lasciando inalterato lo stato di Q stessa

// NOTA: rappresenta fedelmente significa che, dopo l'esecuzione del // metodo, l'ordine di uscita degli elementi dallo stack e da Q // deve essere lo stesso.

public static StackArray toStack(QueueArray Q) {…}

}

(2)

Esercitazione n.2

Primo Esercizio: esempio

toString(Q) ritorna la stringa: “m x b e”

toStack(Q) ritorna uno stack il cui stato è il seguente:

scambia(Q) modifica la coda come segue:

Primo Esercizio: consegnare

- la classe Esercizio1.java completa

- la prova di correttezza del metodo toString

in

out m x b e

in

out x m b e

Q

e b x m in out

Esercitazione n.2

Secondo esercizio: completare l!implementazione della classe

public class Esercizio2 { // pre: S non nullo

// post: ritorna una stringa che contiene tutti gli elementi in S // separati da uno spazio. L'ordine degli elementi nella stringa // deve essere corrispondere all'ordinamento LIFO dello stack.

// Il metodo non deve alterare lo stato originale di S public static String toString(StackArray S) {…}

// pre: S non nullo

// post: scambia l'ordine dei primi due elementi nello stack, lasciando // inalterati gli altri elementi. Se S ha meno di due elementi allora // rimane inalterato

public static void scambia(StackArray S) {…}

// pre: S non nullo

// post: ritorna una coda che rappresenta fedelmente lo stato attuale di // S, lasciando inalterato lo stato di S stesso

// NOTA: rappresenta fedelmente significa che, dopo l'esecuzione del // metodo, l'ordine di uscita degli elementi dalla coda e da S // deve essere lo stesso.

// OSS: per questo metodo e’ possibile utilizzare una coda di supporto public static QueueArray toQueue(StackArray S) {…}

}

(3)

Esercitazione n.2

Secondo Esercizio: esempio

toString(S) ritorna la stringa: “v d t k”

toQueue(S) ritorna una coda il cui stato è il seguente:

scambia(S) modifica lo stack come segue:

Secondo Esercizio: consegnare - la classe Esercizio2.java completa

- la prova di correttezza del metodo toQueue

out v d t k in

k t d v in out

k t v d in out

Riferimenti

Documenti correlati

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,

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

- 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

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

Oltre ai metodi che restituiscono i valori delle variabili istanza, definire un metodo che aggiunge il nome di un monumento nell’elenco di una via storica ed un metodo che

Inoltre, definire un metodo per modificare il nome del docente titolare di un corso, un metodo equals che restituisce true se due corsi sono uguali (altrimenti restituisce false) ed

Inoltre, definire un metodo per modificare il nome del produttore, un metodo che, dati due farmaci, controlla se appartengono alla stessa categoria e hanno lo stesso principio