welcome: please sign in
location: attachment:20111206-LAB-classi-ricorsione-array.txt of InformaticaCDLmatematica

Attachment '20111206-LAB-classi-ricorsione-array.txt'

Download

   1 Esercizio 1
   2 -----------
   3 Creare in Java una classe “PuntoCartesiano” che rappresenti i punti su un piano 
   4 cartesiano. Definire per la classe i seguenti metodi (oltre agli eventuali altri 
   5 metodi accessori quali: costruttori, toString, get, set, etc.): 
   6 
   7  - PuntoCartesiano leggi(Scanner) 
   8  
   9 che richiede in input le coordinate e costruisce un punto avente tali 
  10 coordinate; 
  11 
  12  - double distanzaDa(PuntoCartesiano) 
  13  
  14 che dato un punto cartesiano restitusce la distanza tra l'oggetto corrente ed 
  15 il punto dato; 
  16 
  17 Scrivere poi un programma (con un main()) che legga da input un array 
  18 di N punti cartesiani (N letto da input), e determini e stampi il punto 
  19 cartesiano con la maggiore distanza dall'origine degli assi e la coppia di punti 
  20 più distanti tra loro.
  21 
  22 
  23 
  24 ///////////////////////////////////////////////////////////////////////////////
  25 
  26 
  27 
  28 Esercizio 2
  29 -----------
  30 Creare una classe “Cerchio” caratterizzata da un raggio (rappresentato con un double) e 
  31 da un centro (rappresentato con un oggetto di classe PuntoCartesiano).
  32 Definire per la classe i seguenti metodi (oltre agli eventuali altri metodi accessori, quali
  33 costruttori, toString, get, set, etc.):
  34 
  35  - Cerchio leggi(Scanner)
  36 
  37 che richiede in input raggio e centro e restituisce un nuovo cerchio;
  38 
  39  - double circonfernza()
  40  		
  41 che calcola la circonferenza dell'oggetto corrente;
  42 
  43  - double area()
  44  		
  45 che calcola l'area dell'oggetto corrente;
  46 
  47 Scrivere quindi un programma (con un main()) che faccia le seguenti cose: 
  48 
  49  - legga da input un array "cerchi" di N cerchi (N letto da input)
  50  
  51  - crei due nuovi array: "circonferenze"  e "aree", in cui memorizzare 
  52    rispettivamente le circonferenze e le aree dei cerchi in input (per 
  53    ogni i, circonferenze[i] deve contenere la misura della circonferenza di 
  54    cerchi[i] e aree[i] la misura dell'area). 
  55    
  56  - legga altri 2 cerchi da input, e verifichi se questi si intersecano 
  57    oppure no.
  58 
  59 
  60 
  61 ///////////////////////////////////////////////////////////////////////////////
  62 
  63 
  64 
  65 Esercizio 3
  66 -----------
  67 Si definisce come "indice accompagnato" in un array "v" un indice "i" tale per cui l'elemento corrispondente "v[i]" compare almeno una volta nell'insieme degli elementi con indice "j>i". Si scriva un metodo in Java che, ricevuto un array, restituisca il primo indice "non accompagnato". Si svolga l'esercizio prima con approccio "iterativo" e poi con approccio "ricorsivo".
  68 
  69 ESEMPIO: se l'array "v" fosse [ 2 3 6 7 4 3 2 5 ], il metodo dovrebbe restituire "2": infatti all'indice "0" c'e' il numero due, che e' presente piu' avanti; all'indice "1" c'e' il numero tre, presente piu' avanti; all'indice "2", invece, e' presente il numero sei, che non compare in nessuna posizione successiva.

Attached Files

You are not allowed to attach a file to this page.