• Non ci sono risultati.

Esame di Fondamenti di Informatica II (N.O.) e V.O(prova pratica di programmazione)12-settembre-2002

N/A
N/A
Protected

Academic year: 2021

Condividi "Esame di Fondamenti di Informatica II (N.O.) e V.O(prova pratica di programmazione)12-settembre-2002"

Copied!
2
0
0

Testo completo

(1)

Cognome___________________ Nome ____________________ Matricola____________________

Questo compito è stato discusso e definito collegialmente dalla commissione di esame di Fondamenti di Informatica.

Esame di Fondamenti di Informatica II (N.O.) e V.O (prova pratica di programmazione)

12-settembre-2002

Testo dell’esercizio

Un punto di uno spazio n-dimensionale è un vettore di numeri double con n coordinate. Ad esempio, p=(1.4, -11) è un punto di uno spazio 2-dimensionale e p=(-2, 3.5, 43.1) è un punto di uno spazio 3-dimensionale. In generale, se p è un punto dello spazio n-dimensionale, indichiamo p al modo: p=(p1, p2, ... , pn).

Un operatore tra punti è un oggetto capace di memorizzare due punti p e q di uno spazio n- dimensionale e di eseguire alcune semplici operazioni tra tali punti. Sia data la seguente interfaccia Java, che descrive i metodi di un generico operatore tra punti:

public interface OperatoreTraPunti {

/* Stampa il punto r somma dei due punti memorizzati p e q, */

/* cioè r = (r1,r2,...,rn) = (p1+q1,p2+q2,...,pn+qn) public void somma ();

/* Stampa il prodotto scalare r dei due punti memorizzati p e q, */

/* cioè r = p1*q1 + p2*q2 + ... + pn*qn public void prodotto ();

/* Stampa i due punti memorizzati */

public void stampa ();

}

Si chiede di:

1. Definire le due seguenti classi, che definiscono rispettivamente operatori tra punti 2- dimensionali e 3-dimensionali.

public class OperatoreTraPunti2D implements OperatoreTraPunti { /* variabili di istanza */

double p1,q1; // prima coordinata double p2,q2; // seconda coordinata /* metodi */

...

}

public class OperatoreTraPunti3D implements OperatoreTraPunti { /* variabili di istanza */

double p1,q1; // prima coordinata double p2,q2; // seconda coordinata double p3,q3; // terza coordinata /* metodi */

...

}

2. Definire una classe TestOperatoriTraPunti che svolge le seguenti funzioni:

- Chiede all’utente di inserire un array A di oggetti OperatoreTraPunti (2D o 3D). Per ogni nuovo oggetto da inserire, l’utente deve specificare la dimensione (2 o 3) dei suoi due punti p e q, e le coordinate dei punti p e q.

- Per ogni oggetto dell’array A, stampa: i due punti p e q che esso memorizza, la somma tra p e q, e il prodotto scalare tra p e q.

(2)

Cognome___________________ Nome ____________________ Matricola____________________

Questo compito è stato discusso e definito collegialmente dalla commissione di esame di Fondamenti di Informatica.

Note importanti:

• Sul dischetto che ti è stato dato trovi il file ReadStream.class, utile per leggere dati immessi dall’utente.

• Salva sul dischetto le classi e le interfacce che devi definire.

• Scrivi Cognome, Nome e Matricola sia su questo foglio sia in un commento in testa alle classi che devi definire.

• Il dischetto va riconsegnato ben incartato in questo foglio

Riferimenti

Documenti correlati

• Fa creare un nuovo oggetto della classe Hotel permettendo all’utente di specificare il numero totale delle sue stanze ed i prezzi di ogni stanza.. • Fa inserire all’utente

• Sul dischetto che ti è stato dato trovi già i file delle classi GestoreDiStringhe e TestGestoreDiStringhe e gli scheletri dei metodi che devi implementare3. Dovrai pertanto

Questo compito è stato discusso e definito collegialmente dalla commissione di esame di Fondamenti di Informatica.. Esame di Fondamenti di Informatica II (N.O.) (prova pratica

Restituisce un array di interi conf di lunghezza k tale che: conf[i] = -1 se l’elemento di indice i in str1 precede lessicograficamente l’elemento di indice i di str2; conf[i]=1

Tale metodo svolge nell’ordine le seguenti azioni: (a) fa inserire all’utente un insieme di oggetti String ed inserisce tali oggetti in una lista di tipo EsercizioLinkedList

• Fa creare e riempire all’utente una matrice a di stringhe; le dimensioni di a (cioè numero di righe e di colonne) sono decise dall’utente.. • Fa inserire all’utente

Tale metodo svolge nell’ordine le seguenti azioni: (a) crea una nuova agenda e fa inserire all’utente un numero a sua scelta di utenze nell’agenda; (b) chiede all’utente di

Tale metodo svolge nell’ordine le seguenti azioni: (a) crea due liste lis1 e lis2 di tipo SempliceLinkedList; (b) fa inserire all’utente un numero a sua scelta di stringhe in lis1