Esercizi di informatica

1.   Scrivere il codice per inserire 10 numeri e ricavarne la media aritmetica.
2.   Scrivere il codice per visualizzare i primi 100 numeri interi.
3.   Scrivere il codice per visualizzare i primi 100 numeri pari.
4.   Scrivere il codice per visualizzare i primi 100 numeri dispari.
5.   Scrivere il codice per visualizzare la somma dei primi 4 numeri interi.
6.   Scrivere il codice per fare l'input di 100 numeri, contando i numeri positivi, i numeri negativi, i numeri maggiori di 10; sommare i numeri positivi.
      Si visualizza la somma dei numeri positivi, quanti siano i numeri negativi e i numeri maggiori di 10.
7.   Scrivere il codice per definire un metodo che riceve come parametri formali due interi:
      - il primo indica quanti numeri debbano essere inseriti in input;
       - il secondo individua un valore di soglia.
      Il metodo restituisce il conteggio dei numeri inseriti che superano la soglia.
8.   Scrivere il codice che chiede di inserire un numero e ripete tale richiesta finchè il numero inserito non valga 5.
9.   Scrivere il codice che chieda di inserire 10 parole e visualizzi il numero delle parole che iniziano con la lettera A.
      Dire se queste 10 parole possono essere inviate con un solo sms.
10. Scrivere il codice che permette di inserire un numero intero e che visualizzi un numero di *(asterischi) pari al numero inserito.
11. Scrivere il codice per specificare il peso di n Funghi, dove n è un dato di input e visualizzare il peso totale e medio dei funghi.
12. Si vuole analizzare la lunghezza di un certo numero di viti; Determinare quante di queste viti abbiano lunghezza inferiore a 29.0 mm e quante abbiano       lunghezza maggiore di 30.0 mm.
      Visualizzare le informazioni ricavate.
13. Scrivere il codice per inserire il prezzo di n Prodotti: contare quante di questi prodotti abbiano un prezzo maggiore di € 200 e quanti abbiano prezzo       compreso tra € 7 e € 13.
14. Scrivere il codice che permette all'esecutore di inserire i prezzi di un prodotto fino a che risponde "si" alla domanda "ci sono altri prezzi da inserire?".
15. Scrivere il codice che permetta all'esecutore di inserire i prezzidi alcuni prodotti fino a che risponde "si" o "Si" alla domanda "ci sono altri prezzi da       inserire?".
16. Scrivere il codice che permetta all'esecutore di inserire i prezzi di alcuni prodotti fino a che risponde "si" alla domanda e contemporaneamente la       somma dei prezzi inseriti è inferiore a € 10.000.
17. Dato il fatturato e il nome di 10 agenti di commercio visualizzare il nome di quello che ha realizzato il fatturato maggiore.
18. Sono dati nomi e temperature massime registrate in alcune città della Russia settentrionale in un certo giorno; Scrivere il codice che visualizzi la città       con la temperatura più alta.
19. Dichiarare un array chiamato giorniMese in cui al primo elemento corrispondono i giorni di gennaio, al secondo quelli di febbraio ecc..
20. Dichiarare e creare un array studente dotato di 700 elementi, assegnando valori iniziali agli elementi tramite l'input.
21. Considerato un array di tipo double, contare e visualizzare quanti siano gli elementi positivi.
22. Dato un array di tipo numerico, scrivere il codice per visualizzare il massimo.
23. In un array chiamato prezzi composto da 50 elemente abbiano i valori di 50 prodotti; Scrivere il codice per visualizzare il prezzo più alto e visualizzare       quanti siano i prezzi superiori a 10.
24. In un array di 50 elementi chiamato prezzi si deve determinare e visualizzare il prezzo medio dei prodotti presenti nell'array.
      Ricavare il massimo e il minimo di un array ipotizzando che possa contenere valori positivi o negativi.
25. Scrivere un programma che per ciascuno di n Funghi, essendo n un dato di input, faccia specificare la qualità che può essere solo di due tipi:      "Porcino" o "Gallinaccio"; venga calcolata e visualizzata la % di Gallinacci presenti.
26. Scrivere un programma che analizzi il peso di alcuni lingotti, dei quali non si conosce in anticipo il numero; il programma determini quanti hanno peso       maggiore di 25 g.
27. Scrivere un programma che analizzi un numero inserito dall'esecutore dicendo se sia multiplo di 3,5 e 7.
      L'esecutore manifesta la volontà di inserire un nuovo numero rispondendo "si" alla domanda "vuoi continuare?".
      Il programma tiene conto di:
      - quanti numeri siano stati inseriti in tutto;
      - quanti siano multipli di 3;
      - quanti siano multipli di 5;
      - quanti siano multipli di 7.
28. Rappresentare degli agenti di commercio di un'azienda con nome, cognome e fatturato.
      Creare un array con 100 agenti di commercio.
      Chiesto in input il numero effettivo, scrivere il codice per inserire nome e cognome di un agente.
29. Preso in input un valore per fatturati, visualizzare quanti agenti abbiano un fatturato maggiore di tali valori.
30. Scrivere un programma che per ciascuno di n Studenti, essendo n un dato input, faccia specificare la mano con la quale scrivono; Venga quindi       calcolata e presentata la percentuale di mancini.
31. Scrivere un programma in java che inserisca 10 elementi interi di un array per poi calcolare la somma degli elementi, il prodotto, l'elemento maggiore       e minore e la media degli elementi.
32. Considerato un array di n interi, visualizzare il massimo dei valori presenti nell'array.
33. Definire un metodo che riceva un array di stringhe e ne restituisca la lunghezza dell'array.
34. Definire un metodo che riceva come parametro formale un array di tipo string e restituisca un array nel quale ogni elemento ha il valore dell'elemento       corrispondente nell'array con parametro preceduto da Vee dash (V -).
35. Definire un metodo che riceve come parametri 2 array di stringhe e restituisca la somma delle lunghezze degli elementi di ciascun array.
36. Definire ed invocare un metodo che riceve un array e ne restituisca lo stesso arrauùy con valori raddoppiati.
37. Scrivere il codice per definire ed invocare il metodo che ricevuti 2 array di tipo int ne restuisce un terzo; Il primo array è costituito da tutti gli elementi       dell'array seguiti da tutti gli elementi del secondo array.
38. Scrivere il codice che, ricevuto un numero input, dica se la somma degli elementi dell'array, supera o meno il numero inserito in input.
39. Scrivere un programma che chieda di analizzare il peso di alcuni cilindretti dei quali l'esecutore specifica preliminarmente il numero.
      Il programma deve determinare quanti cilindretti superano i 100 g di peso, quanti abbiano peso inferiore a 96 g e la percentuale di cilindretti aventi       peso superiore a 100 g sul totale.
40. Scrivere un programma che chieda all'esecutore se vuole tentare di indovinare un numero che poi dovrà provvedere ad inserire; Il numero viene       stabilito dal programmatore.
      Si noti che se l'esecutore risponde "no", il programma non deve chiedere l'inserimento di questo numero; La ripetizione del gioco deve continuare se       l'esecutore risponde "si" ed il numero non è stato indovinato.
41. Scrivere un programma che analizza la lunghezza di alcuni tubi, dei quali si conosce in anticipo il numero; Il programma determini quanti hanno       altezza maggiore di un altezza inserita dall'esecutore.
42. Scrivere un programma per analizzare una mandria, della quale l'esecutore non specifica preliminarmente il numero di capi; Il programma deve       determinare quanti capi superino il quintale e la percentuale sul totale.
43. Scrivere il programma che riceve in ingresso:
      - l'età di ciascuno degli studenti di una classe e conti i maggiorenni e il numero totale;
      Il numero degli studenti non è conosciuto a priori; l' esecutore afferma di voler inserire l'etò di un altro studente rispondendo "si" alla domanda "ci           sono altri studenti?".
44. Definire la classe automobile che estende la classe veicolo dotandola dell'attributo costante, num_ruote e del metodo distanzaPercorsa che prende       come parametro formale la nuova posizione, la posizione precedente e assegna all'attributo di tipo double la distanza tra 2 punti.
      Creare poi 2 automobili e muoverle fino al punto (-1;0) (1;0).
45. Scrivere un programma che riceva in ingresso:
      - il numero delle insufficienze di ciascuno degli studenti di una classe e conti:
      - i bocciati, cioè quelli che hanno 4 o più insufficienze;
      - il numero totale degli studenti.
      Il numero degli studenti non è conosciuto a priori; L' esecutore afferma di voler inserire le insufficienze di un altro studente rispondendo "si" alla             domanda "ci sono altri studenti?".
46. Scrivere il codice necessario per chiedere l'inserimento di una parola; Fare in modo che la richiesta d'inserimento venga reiterata finchè il valore       inserito non sia "fine".
47. Definire la classe Persona dotata degli attributi nome e di classe Figlio; in un altra classe definire il metodo figli che restituisce un booleano: se è true       il parametro ricevuto di classe Persona ha figli altrimenti è false.
48.  Definire la classe P dotata del metodo ordina che ordina un parametro formale di tipo array numerico, dotata del metodo scambia che prende 3               parametri formali: il primo è un array, il secondo e il terzo è di tipo int.
      Invocare il metodo scambia dove opportuno nel metodo ordina.
      Definire una classe che estenda la classe precedente dotata del metodo visualizza che visualizza tutti gli elementi dell'array; creare un array con 7       elementi e visualizzarlo ordinato.
49. Definire una classe dotata del metodo stampa che usa un parametro tipo alfanumerico per stamparlo e uno di tipo intero per stampare il primo       parametro un numero di volte pari al valore del secondo parametro.
50. Definire la classe Animale dotata del metodo emetteVerso che restituisce una stringa con il nome del verbo che descrive il verso emesso dall'animale in       questione.
      La classe è anche dotata del metodo pesoMedio di tipo double; Definire la classe Gatto che estende la classe Animale dotata del metodo emetteVerso       che restuisce la stringa "Miagolare".
51. Definire la classe Punto e la classe PuntoDen che estende la classe Punto.
      La classe Punto ha come attributi x e y e come metodo un costruttore che inizializza x e y, ovviamente come parametri formali avrà 2 double.
      La classe PuntoDen ha come attributo nome di tipo String, come costruttore ha un costruttore che richiama il costruttore della superclasse e inizializza       nome e come parametri formali avrà 2 double e 1 dato di tipo String.
52. Definire la classe Punto con gli attributi x, y e nome rispettivamente di tipo double, double e String.
      Dotare la classe di un costruttore che prende 2 double e li assegna ad x e y rispettivamente.
      Dotare la classe di un costruttore che prende 2 double e uno string e li assegna rispettivamente ad x, y e nome.
      Dotare la classe di un costruttore che prende uno Strin e assegna 0.0 ad x e y se il parametro di tipo String è "o", "O" oppure "Origine".
53. Dotare la classe Punto di 2 metodi chiamati distanza:
      - il primo che prende come parametro formale un altro punto e restituisce la distanza dei 2 punti;
      - il secondo che prende come parametri formali due double e restituisce la distanza del punto sui cui si invoca il metodo dal punto che si ottiene usando       il primo parametro come ascissa e il secondo come ordinata di un altro punto.
54. Definire la classe PuntoIQ figlia di Punto; Dotare la classe di x e y incapsulate.
      Il metodo setX e setY assegnano un valore a x e y soltanto se è positivo. (Usare Math.abs()).
55. Scrivere il codice per generare un numero casuale di punti incapsulati.
      Assegnare alle coordinate di ciascun punto un valore casuale compreso tra - 10 e 10.
      Scrivere (Salvare lo stato di) ciascun punto su un singolo file.
56. Scrivere il codice per contare quanti punti entro un file hanno ascissa maggiore di 5.
      Scrivere il codice per trovare il massimo delle ascisse dei punti presenti in un file.
      Scrivere il codice facendo in modo che i metodi max e assegnaMax non usano parametri formali.
57. Rappresentare un conto corrente con saldo, codice fiscale dell'intestatario e numero identificativo.
      Rappresentare un movimento di c/c specificando il c/c, importo, segno importo e data.
      Fare l'input di un numero del c/c; Leggere dal file tutti i movimenti e traferisce quelli al c/c in un array di movimenti.
58. Dati in input il numero degli alunni in una classe, determinare quanti sono maggiorenni.
59. Dati 20 numeri in input, trovare il massimo di questi.
60. Dati 5 numeri inseriti in input, trovare quali superano i 50.
61. Scrivere il codice che permetta di fare l'input del peso di nPersone e determinare il peso massimo.
62. Scrivere il codice che inseriti n Numeri in input, visualizzi quanti siano maggiori di 4.12.
63. Data l'altezza di 4 edifici, determinare l'altezza media delle costruzioni.
64. Date 5 capitali, scrivere il codice per determinare quali sono le città che hanno temperatura maggiore di 15.
      (avendo in input la temperatura e il nome delle città).
65. Dati in input n Penne e il loro prezzo, trovare il prezzo medio.
66. Dati in input la velocità e il nome di n Macchine, indicare il nome della macchina con velocità maggiore.
67. Inserire in input l'altezza di n Grattacieli e trovare il massimo.
68. Scrivere il codice che chieda di analizzare un numero predefinito di temperature e dica quante sono comprese tra 17 e 23.
69. Inserite n Lunghezze, si contino quante di queste sono inferiori ad un valore inserito in input.
70. Non conoscendo a priori il numero degli imballi da pesare, si determini facendo l'input del peso di ciascuno, quanti di essi superino il quintale e il loro       numero totale.
71. Definire un oggetto di classe ObjectOutputStream che apra il file "mioFile.mxt".
72. Creare un oggetto di classe Punto di coordinate 3 e 2.
      Scrivere quest'oggetto sul file creato o aperto al punto precedente.
73. Creare un oggetto di classe Persona con gli attributi nome, cognome e cod. fiscale.
      Aprire un file di nome "persona.mxt" e scrivere su questo file l'oggetto appena creato.
      Aprire il file "mioFile.mxt", creare un punto di coordinate 0, 1 e scriverlo su questo file.
74. Scrivere il codice per creare 100 punti e scriverli sul file "mioFile.mxt".
75. Scrivere il codice per generare un numero intero casuale compreso tra 0 e 100.
76. Scrivere il codice per fare l'input delle coordinate di 100 punti, scrivendoli su un file di nome "mieiPunti.mxt".
77. Aprire il file "a.mxt" per leggere degli oggetti e aprire il file "b.mxt" per scrivere degli oggetti.
78. Scrivere il codice per leggere un oggetto dal file "a.mxt" supponendo che sia un punto, visualizzarne le coordinate e quindi scriverlo sul file "b.mxt".
79. Scrivere il codice che dica se un file è vuoto (un file è vuoto quando non contiene nessun oggetto).
80. Scrivere il codice che conta e visualizza quanti oggetti contiene il file "a.mxt".
81. I file "punti.mxt" contiene i punti; scrivere il codice per visualizzare l'ascissa di tutti i punti presenti su tale file.
82. Aprire in lettura il file "f1.mxt" e "f2.mxt"; Leggere i due punti da f1 e un punto da f2.
      Dire se la somma delle ascisse dei primi 2 punti supera l'ordinata del terzo.
83. Scrivere il codice per leggere da un file di nome "puntiCasuali.mxt" i punti presenti, visualizzando le coordinate dei punti nel primo quadrante.
84. Definire la classe Dipendente con gli attributi nome, cognome, codice fiscale, e stipendio.
      Scrivere il codice che permette di scrivere i dati di un numero di dipendenti specificati in input sul file "dipendenti.mxt".
85. Scrivere il codice che visualizza:
      - quanti dipendenti hanno stipendio maggiore di € 1.000;
      - il nome e cognome di tutti i dipendenti con stipendio maggiore di € 1.000;
      - il minimo dello stipendio;
      - il nome e cognome di uno dei dipendenti con lo stipendio minimo.
86. Considerare il file "nomiDaRicordare.mxt"; Tale file conterrà nomi completi: la classe NomeCompleto ha gli attributi nome e cognome.
      Scrivere il codice che permette di inserire sul file i nomi completi specificati acquisendo il nome e cognome da tastiera.
      L'esecutore manifesta l'intenzione di salvare un altro nome rispondendo ad una opportuna domanda.
87. Scrivere il codice per inserire una stringa finchè la stringa inserita non sia "12".
88. Scrivere il codice per inserire l'altezza e il nome di alcuni edifici finchè l'esecutore risponde "si" alla domanda "ci sono altri edifici da analizzare?".
      Visualizzare l'altezza del più alto, il nome del più alto e quanti edifici abbiano altezza compresa tra 50 e 100.
89. Degli n Studenti di una classe, dove n è un dato di input, vengono inseriti il nome, cognome e il punteggio (sempre maggiore di 0); visualizzare il nome       e cognome dello studente con il punteggio minimo.
90. Finchè si risponde affermativamente alla domanda se ci sono altri gruppi da ammettere si inseriscono il nome e il numero di componenti di ciascun       gruppo.
      Determinare il numero di componenti medi dei gruppi analizzati.
      Determinare quanti gruppi sono stati analizzati.
91. Scrivere il codice che legge i punti da un file presenti sul file "punti.mxt" e ricopia sul file "puntiIQ.mxt" i punti che appartengono al 1 quadrante.
92. Aprire 2 file e copiare il contenuto in un terzo file: l'utente deve specificare in input il nome dei tre file.
93. Leggere da un file tutti i nomiCompleti presenti e copiare sul file "nomiCorti.mxt" quelli che hanno la somma delle lettere di nome e cognome minore       di 15 e sul file "nomiLunghi.mxt" gli altri.
94. Scrivere il codice per analizzare lo stipendio di n Lavoratori dei quali interessa anche il nome e cognome e il loro numero è noto a priori.
      Visualizzare il nome e il cognome della persona che guadagna di più e la percentuale di colore che percepiscono più di € 1.500.
95. Rappresentare con un array il peso di n Molecole, n conosciuto a priori.
      Fare poi l'input dei valori del peso e visualizzare quanti superino 70.
96. Rappresentare con un array le lunghezze di alcuni tratti autostradali, il loro numero è conosciuto a priori.
      Scrivere il codice per visualizzare la lunghezza del tratto più lungo.
97. Leggere gli oggetti di classe Punto presenti sul file "punti.mxt", visualizzare il massimo dei valori delle ascisse.
      Contare quanti punti appartengono al terzo quadrante e visualizzarlo.
98. Usando la classe PuntoS, scrivere il codice che chiede in input le coordinate di un punto e ne visualizza la distanza dall'origine.
99. Definire la classe NomeCompleto con attributi nome e cognome.
      Scrivere il codice per creare un array con 30 oggetti di classe NomeCompleto specificando in input i valori di nome e cognome.(usare il for).
100. Aggiungere l'opzione 'q' che chiede di fare in input del numero di un quadrante e visualizza tutti i punti dell'arrau che appartengono al quadrante         specificato.
101. In un istituto con 20 classi viene inserito per ciascuna classe il numero di respinti; visualizzare il numero totale dei respinti.
102. In un istituto con n classi, n specificato in input, vengono inseriti per ciascuna classe il numero degli studenti e il numero degli ammessi.
        visualizzare:
        - il numero totale degli ammessi;
        - il numero totale degli studenti;
        - la percentuale degli studenti ammessi.
103. In un istituto con n classi, n specificato in input, vengono inseriti per ciascuna classe il nome, il numero degli ammessi e il numero degli studenti.
        Visualizzare:
        - il massimo numero di studenti di una classe;
        - il massimo numero degli studenti ammessi;
        - la classe con il massimo numero di studenti.
104. Scrivere il codice che permetti di analizzare alcune città il cui numero non è conosciuto a priori.
        Di ogni città vengono inseriti il numero degli abitanti e il numero delle automobili.
        Si visualizzi la città con più auto, la citta più caotica e la città con più automobili della media.
105. Scrivere il codice che permette all'esecutore di specificare un numero; la somma dei numeri che vengono via via inseriti non deve superare 800.
        A quel punto il programma si ferma.
106. Scrivere il codice che permetta di analizzare l'anno di costruzione di alcuni edifici e visualizza:
        - l'anno di costruzione del più vecchio;
        - il nome dell'edificio più vecchio.
107. Aggiungere l'opzione 'a' che permette di inserire un nuovo elemento di classe Traduzione facendo l'input dei valori degli attributi da tastiera.
108. Rappresentare la traduzione di una parola con attributi parola, lingua e traduzione.
        Leggere le traduzioni presenti sul file"traduzioni.mxt"; offrire l'opzione con inserito in input, il valore di una parola e ne mostra tutte le traduzioni.
        Aggiungere l'opzione esci dal programma.
109. Considerato l'array centoPrimi che contiene i primi 100 numeri primi, scrivere il codice che effettuato l'input di un intero dica all'esecutore se si         tratta di uno dei primi 100 numeri primi.
110. Scrivere il codice che a metà degli elementi di un array da il valore 0 e agli altri 1.
111. Scrivere il codice per stampare "si" se l'array A contiene le istruzioni di input.
112. Scrivere il codice che colloca in un arrayList 10 numeri interi generati casualmente compresti tra 0 e 9.
113. Copiare l'array di Punti N, i Punti di P con ascissa negativa.
        Scrivere sul file "puntiNeg.mxt" l'array N.
        Nell'array ss copiare i punti di P che hanno l'ordinata maggiore di un valore inserito in input.
114. Leggere da un file un array di oggetti di classe NomeCompleto, copiare su un file chiamato "russo.mxt" tutti i nomi completi per i quali il campo        cognome vale "russo" preliminarmente raccolti in un altro array di oggetti di classe NomeCompleto.
115. Considerato un array di stringhe che contiene le iniziali dei nomiCompleti presenti nell'array a, Si usi il metodo SubString cercandolo sul testo.
        Si scrive poi il codice per fare l'input di una stringa di due caratteri dicendo se esiste un nome completo con le iniziali specificate in input.
        Dotare l'applicazione delle opzioni 's' ed 'i' per scrivere e leggere l'array di iniziali dal file "iniziali.mxt".
116. Leggere un array di interi dal file "uno.mxt", uno di double dal file "due.mxt" e visualizzare la somma degli elementi del primo array e il massimo         degli elementi del secondo array.
117. Leggere dal file "uno.mxt" e "due.mxt" un array di punti.
        Scrivere sul file "estremi.mxt" i due punti che hanno l'ascissa massima.
        Copiare i punti dei 2 arry che appartengono al terzo quadrante in un file.
118. Contare quanti sono i punti tra il primo e il secondo array con ascissa positiva.
119. Definire l'oggetto Fattura con gli attributi codice, data, cliente, importo e quantità.
        Leggere dal file "fatture.mxt" l'array con le fatture e aggiungere l'opzione che permette di visualizzare tutte le fatture che hanno come cliente un         cliente il cui nome è inserito in input.
        Aggiungere l'opzione per inserire una nuova fattura e scriverla sul file.
120. Aggiungere l'opzione che visualizza la somma delle quantità vendute per il prodotto di codice PO (inserito in input).
121. Modificare le fatture (gli importi) residenti su un file aumentando l'intero importo di ciascuna di € 1, salvandole poi sul medesimo file.
122. Definire l'archivio dei dipendenti con nome, cognome, stipendio base e premio di ciascuno.
        Supponendo che le informazioni siano conservate su un file di nome "Stipendi.mxt", Scrivere il codice per aumentare di € 33,21 il premio di coloro         che hanno stipendio inferiore a € 1.600.
123. Leggere 2 array di punti da un file ciascuno e scrivere su un altro file quanti tra gli elementi del primo e del secondo array hanno ascissa compresa         tra 0 e 10.
124. Letti 2 array di interi dal file, scrivere un array di punti che hanno le ascisse che sono i valori del primo array e le ordinate sono i valori del secondo            array. (i 2 array hanno elementi uguali).
125. Considerato un array di classe Punto, restituito dal metodo statico creaArray(), determinare il massimo delle ascisse dei punti e scriverlo sul file         "max.mxt".
126. Il file "a.mxt" contiene 3 oggetti di classe Punto; Costruire il codice che scriva sul file "b.mxt" la somma delle ascisse di questi 3 punti.
127. Definire la classe NomeCompleto con gli attributi nome e cognome.
        Scrivere il codice per creare un array con 30 oggetti di classe NomeCompleto specificando in input i valori nome e cognome.
        Scrivere l'array sul file "nomeCompleto.mxt".
128. Definire una sottoclasse di JPanel che ha come dato globale un array con 3 elementi di tipo Image.
        Caricare i file grafici "qui.jpg", "qua.jpg" e "quo.jpg" rispettivamente nei 3 elementi dell'array.
        Supponendo  che le immagini siano graduate da 100 pixel di lato, scrivere il codice (entro paintComponent) per visualizzare affiancate 3 immagini.
        Come didascalia, scrivere "qui, qua e quo" sotto ciascuna immagine avvalendosi del metodo drawString.
129. Scrivere il codice che sostituisce l'oggetto di classe Rectangle2D double con un oggetto di classe Ellipse2D.double quando l'ascissa del quadrato rosso         sia inferiore a 85 o superio a 165.
        Modificare il metodo moveImage in modo tale che l'altezza del quadrato diminuisca nella metà di sinistra del pannello muovendosi dal centro verso le         X negative.
        Nella metà destra implementare un comportamento analogo.