ESERCIZIO 1. ------------ Scrivere un programma Java che legga da input una sequenza di cifre intere (quindi comprese tra 0 e 9) e le memorizzi in un array; la dimensione dell'array (e quindi quanti elementi sono contenuti nella sequenza) deve essere richiesta preventivamente all'utente (quindi: l'utente immettera' un numero - sia esso k - e il programma leggera' k interi da input, memorizzandoli in un array di dimensione k). Quindi, il programma deve stampare su standard output prima la somma di tutti gli elementi (cifre) dell'array, e poi le occorrenze di ciascuna cifra nella sequenza. ESEMPIO: se la sequenza prevedesse 5 cifre (su richiesta dell'utente), e fosse la seguente: 6 5 2 1 1 il programma dovrebbe stampare in output prima che la somma degli elementi e' 15, e poi, riguardo alle occorrenze, che la cifra '0' compare zero volte, la cifra '1' compare 2 volte, la cifra '2' compare una volta, e cosi' via fino alla cifra '9'. //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// ESERCIZIO 2. ------------ Si implementino i seguenti metodi ricorsivi: - a) ricevuta una matrice M, stampi ricorsivamente tutte le righe della matrice M, dalla prima all'ultima. SUGGERIMENTO: si potrebbe sfruttare un metodo che ricevuta una matrice M ed un indice i, stampi l'i-esima riga di M. - b) si faccia lo stesso di quanto richiesto al punto a), ma per le colonne della matrice. - c) si implementi una classe eseguibile con un semplice main che legga da input un numero intero k, altri due numeri interi n ed m, e riempia una matrice di dimesione k*k con k^2 numeri interi CASUALI compresi tra n ed m. //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// ESERCIZIO 3. ------------ Realizzare una piccola applicazione Java con un metodo main che invochi i metodi elencati di seguito, dopo aver effettuato da input le letture di quanto necessario (matrici e array). medodo 1 : dati una matrice ed un array, calcoli un nuovo array risultante dal prodotto della matrice per l'array dato. metodo 2 : date due matrici calcoli una nuova matrice risultante dalla somma delle due matrici date. metodo 3 : data una matrice, un array ed un numero intero k, sostituisca la k-esima riga della matrice data con l'array dato. metodo 4 : data una matrice, un array ed un numero intero k, sostituisca la k-esima colonna della matrice data con l'array dato. metodo 5 : data una matrice, restituisca "true" se la matrice è triangolare superiore, "false" in caso contrario. metodo 6 : data una matrice, calcoli una nuova matrice come trasposta della matrice data. metodo 7 : data una matrice, restituisca "true" se almeno un elemento della matrice è pari, "false" in caso contrario. metodo 8 : data una matrice, restituisca "true" se tutti gli elementi della matrice sono pari, "false" in caso contrario. metodo 9 : data una matrice, stampi la cornice più esterna. metodo 10 : data una matrice, calcoli la somma degli elementi della cornice più esterna. metodo 11 : data una matrice, restituisca "true" se la somma degli elementi sulla croce (diag. principale e diag. secontaria) è pari, "false" altrimenti. metodo 12 : dati due array, restituisca "true" se i due array sono identici, "false" altrimenti. metodo 13 : data una matrice ed un array, restituisca "true" se la matrice contiene ALMENO una riga identica all'array dato.