vuoi
o PayPal
tutte le volte che vuoi
MAX PERSONE
nel pullman associato al viaggio che ha ancora posti liberi; se tale pullman non ha un numero sufficiente di posti liberi, aggiungere un nuovo pullman al sistema, avente il numero massimo di persone e contenente le persone in eccedenza. Il metodo rimuove dal sistema il viaggio MAX PERSONE, partenza specificato dal parametro, assieme a tutti i pullman ad esso associati. Infine, il metodo statistica restituisce il viaggio con maggior numero di persone iscritte; risolvere arbitrariamente i casi di parità.
Fondamenti di Informatica IV Appello Pini - Canale 3 7 settembre 2016
Intestare ciascun foglio protocollo con: COGNOME, Nome, n. Matricola, Canale
Risolvere gli esercizi in ordine. Sulla prima facciata del primo foglio protocollo svolgere l'esercizio n.1, sulla seconda facciata l'esercizio n.2, sulla terza facciata l'esercizio n.3, sulla quarta facciata l'esercizio n.4.
Sul secondo foglio protocollo svolgere l'esercizio n.5 con la descrizione dei
-
1. [3 punti] Eseguire le seguenti conversioni, indicando i passaggi intermedi.
(a) Convertire il numero frazionario decimale 65.25 in base due. −74.
(b) Convertire in notazione complemento a due su 7 bit il numero decimale(c) Convertire in base dieci i seguenti numeri espressi in notazione complemento a due su 7 bit: 1101001,0010101.
-
2. [4 punti]
(a) Nella CPU ci sono due registri speciali. Come si chiamano e che funzione hanno.
(b) Cos’è la ROM? Che programma risiede nella ROM? Spiegare il funzionamento di tale programma.
-
3. [4 punti] Con riferimento al linguaggio Java:
(a) Spiegare la differenza tra parametro implicito e parametro esplicito. Quale parola riservata si utilizzaper accedere al parametro implicito?
(b) Spiegare la differenza tra metodo d’accesso e metodo modificatore.
-
4. [6 punti] Si implementi un metodo statico che restituisce laMediaDivisibiliPerTre(int[] myArray)media di tutti i numeri in che sono divisibili
per 3. Si assuma che l'array non sia vuoto.
myArrayDescrivere brevemente a parole il funzionamento del metodo implementato.
5. [16 punti] Si desidera sviluppare un programma per la gestione di un archivio di film. Si consideri la classe avente come variabile d'istanza (stringa), ed una classe con variabili d'istanza Regista nome Film titolo(stringa) ed un riferimento ad un oggetto di classe Regista. Si assuma siano già disponibili i metodi d'accesso ed un costruttore per ciascuna delle due classi (non sviluppare tale codice). Sviluppare la seguente classe:
public class ArchivioFilm {
private ArrayList<Regista> registi;
private ArrayList<Film> film;
public ArchivioFilm(){...}
private int cercaRegista(String unNome){...}
private int cercaFilm(String unTitolo){...}
public void aggRegista(String unNome){...}
public void aggFilm(String unTitolo, String unNomeRegista){...}
public void rimuoviFilm(String unTitolo){...}
public void rimuoviRegista(String
unNomeRegista){...}
public ArrayList<Film> lista(){...}
Il metodo restituisce l’indice, nell’arraylist del regista con il nome specificato o -1cercaRegista registi,se tale regista non è presente. Il metodo restituisce l’indice, nell’arraylist del film concercaFilm film,il titolo specificato o -1 se tale film non è presente. Non sviluppare il codice del metodo IlcercaFilm.metodo inserisce un nuovo regista (se non esiste già) nell’arraylist Il metodoaggRegista registi. aggFilminserisce un nuovo film (se non esiste già) con un riferimento all’oggetto regista appropriato nella arraylistSe il regista associato non esiste già, deve essere creato un oggetto che lo rappresenti. Il metodoregisti. elimina dall’archivio il film con il titolo specificato (se è presente). Il metodorimuoviFilm rimuoviRegistaelimina dall’archivio il regista specificato (se è presente) e tutti i suoi film. Il metodo restituisce unalistaarraylist con
Tutti i film dei registi che hanno un numero pari di film associati. Tale metodo non dovrà invocare un nuovo metodo ausiliario.
Sviluppare il costruttore e i metodi richiesti della classe nell'ordine in cui sono indicati.
ArchivioFilm
Fondamenti di Informatica IV Appello
Pini 7 settembre 2018
Intestare ciascun foglio protocollo con: COGNOME, Nome, n. Matricola, Canale
Risolvere gli esercizi in ordine. Sulla prima facciata del primo foglio protocollo svolgere l'esercizio n.1, sulla seconda facciata l'esercizio n.2, sulla terza facciata l'esercizio n.3, sulla quarta facciata l'esercizio n.4.
Sul secondo foglio protocollo svolgere l'esercizio n.5 con la descrizione dei metodi nell'ordine in cui sono richiesti.
1. [3 punti] Eseguire le seguenti conversioni, indicando tutti i passaggi intermedi.
−24.
(a) Convertire in notazione complemento a due su 4 bit il numero decimale
(b) Convertire in notazione eccesso 8 il numero 15.
(c) Convertire in un numero
frazionario in base decimale il seguente numero floating point: 11011001.2. [4 punti]
(a) Cosa si intende per notazione esadecimale? Spiegare.
(b) Cosa è l' instruction register?
3. [4 punti] Con riferimento al linguaggio Java:
(a) Spiegare come funziona il metodo substring della classe String e fare un esempio.
(b) Mostrare come funziona l'algoritmo di ordinamento per inserimento su questo array [9, 3, 5, 7, 4] descrivendo i vari passaggi.
4. [6 punti] Si implementi un metodo statico che
public static int[] sommaQuadrati(int[] myArray)
restituisce un nuovo array della stessa lunghezza di myArray dove il valore in posizione i-esima è dato dalla somma dei quadrati dei numeri interi presenti in myArray dalla posizione 0 alla posizione i-esima.
Per esempio, se myArray è [2,3,5] il metodo restituisce l'array [4, 13, 38], dove il primo elemento è il risultato di 2^2, il secondo elemento è il risultato di 2^2 + 3^3 e il terzo elemento è il risultato di 2^2 + 3^3 + 5^5.
elemento è il risultato di 22 + 33 + 55. Per risolvere l'esercizio usare due cicli for annidati. Descrivere brevemente a parole il funzionamento del metodo implementato.
5. [16 punti] Si desidera sviluppare il software per la gestione di un lettore di musica digitale. Assumere la classe avente la variabile d'istanza (String) e (String) e la classe avente Cantante, nome cognome Canzone, le variabili d'istanza (String), (int) e (riferimento a Cantante). Si assuma che ogni titolo durata cantante cantante sia individuato in modo univoco dal suo cognome e che ogni canzone sia identificata in modo univoco dal suo titolo. Si assuma siano già disponibili i metodi d'accesso ed un costruttore per le classi e Cantante (non sviluppare tale codice). Se dovesse servire un altro metodo in una delle classi o Canzone Cantante deve essere sviluppato il suo codice e indicato in quale classe va inserito.
Canzone
Sviluppare la seguente classe:
public class Lettore{ private
ArrayList<Cantante> cantanti; private ArrayList<Canzone> canzoni; public Lettore(){ ... } private int indiceCantante(String unCognome){ ... } private int indiceCanzone(String unTitolo){ ... } public void aggCantante(String unNome, String unCognome){ ... } public void aggCanzone(String unTitolo, int unaDurata, String unNome, String unCognome){ ... } public void rimuoviCantante(String unCognome); public ArrayList<Canzone> lista(String unCognome, int d){ ... } public ArrayList<Canzone> listaMax(){ ... }Il metodo restituisce l'indice, nell'arraylist del cantante con il cognome specificato o -1 se non è presente. Non sviluppare il codice del metodo. Il metodo restituisce l'indice, nell'arraylist della canzone con il titolo specificato o -1 se essa non è presente. Il metodo inserisce un nuovo cantante (se non esiste già) nell'arraylist cantanti.
aggCanzonecanzone (se non esiste già) nell’arraylist
Se il cantante non è presente bisogna aggiungerlo ma non vanno maicanzoni.creati doppioni.
Il metodo rimuove il cantante con il cognome specificato dall’arraylistrimuoviCantante cantanti(se esiste) e tutte le sue canzoni dall’arraylist
Il metodo restituisce la lista delle canzoni che hannocanzoni. listacome cantante quello con il cognome specificato e che hanno una durata minore al valore fornito come parametro.d
Il metodo restituisce la lista delle canzoni che hanno la durata massima.
L’arraylist e l’arraylistlistaMax cantantipotrebbero anche essere vuoti.canzoni
Sviluppare il costruttore e i metodi richiesti della classe nell’ordine in cui sono indicati.
LettoreFondamenti di Informatica II AppelloPini 16 febbraio 2018
Intestare ciascun foglio protocollo con: COGNOME, Nome, n. Matricola, Canale
Sulla prima facciata del primo foglio protocollo svolgere l’esercizio n.1, sulla
Risolvere gli
esercizi in ordine. seconda facciata l’esercizio n.2, sulla terza facciata l’esercizio n.3, sulla quarta facciata l’esercizio n.4. Sul secondo foglio protocollo svolgere l’esercizio n.5 con la descrizione dei metodi nell’ordine in cui sono richiesti.
-
[4 punti] Eseguire le seguenti conversioni, indicando tutti i passaggi intermedi.
- Convertire in notazione complemento a due su 6 bit il numero decimale -25.
- Convertire in un numero frazionario in base decimale il seguente numero floating point: 10111100.
- Convertire il numero frazionario 4.25 nella rappresentazione floating point ad 8 bit studiata nel corso.
-
[3 punti]
- Dare la definizione di program counter. Spiegare il suo ruolo nel ciclo della CPU.
- Dove risiede il sistema operativo? Come avviene l’avvio del sistema operativo?
-
[4 punti] Con riferimento al linguaggio Java:
- Spiegare la differenza tra parametro implicito e parametro esplicito. Indicare inoltre quale parola
(b) Spiegare come si invoca il costruttore della superclasse nella sottoclasse e fare un esempio.
4. [6 punti] Implementare un metodo che
public static boolean dispari(String s, char c, char d)
restituisce true se la stringa ha un numero di caratteri multiplo di 3, ha un numero dispari di caratteri
uguali a
c
e un numero dispari di caratteri uguali a d
. Restituisce false negli altri casi. Ad esempio, se la stringaxzxyzz
, z
e y
,ha un numero di elementi che è multiplo di 3 e sia
c
che d
compaiono un numero dispari di volte. Se la stringaxzxyzz
, x
e y
, x
compare un numero dispari di volte. Descriver