Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Paniere Linguaggi Di Programmazione Ecampus Ingegneria Informatica lm32
Paniere Linguaggi Di Programmazione Ecampus Ingegneria Informatica lm32
LINGUAGGI DI PROGRAMMAZIONE
INGEGNERIA INFORMATICA E DELL'AUTOMAZIONE
Docente: Vecchio Massimo
Set Domande: LINGUAGGI DI PROGRAMMAZIONE
INGEGNERIA INFORMATICA E DELL'AUTOMAZIONE
Docente: Vecchio Massimo
Indice
Indice Lezioni .......................................................................................................................... p. 2
Lezione 002 ............................................................................................................................. p. 3
Lezione 003 ............................................................................................................................. p. 7
Lezione 004 ............................................................................................................................. p. 12
Lezione 005 ............................................................................................................................. p. 22
Lezione 006 ............................................................................................................................. p. 23
Lezione 007 ............................................................................................................................. p. 25
Lezione 008 ............................................................................................................................. p. 30
Lezione 009 ............................................................................................................................. p. 32
Lezione 010 ............................................................................................................................. p. 36
Lezione 011 ............................................................................................................................. p. 37
Lezione 012 ............................................................................................................................. p. 38
Lezione 013 ............................................................................................................................. p. 40
Lezione 014 ............................................................................................................................. p. 41
Lezione 015 ............................................................................................................................. p. 42
Lezione 016 ............................................................................................................................. p. 43
Lezione 017 ............................................................................................................................. p. 45
Lezione 018 ............................................................................................................................. p. 47
Lezione 019 ............................................................................................................................. p. 48
Lezione 020 ............................................................................................................................. p. 52
Lezione 021 ............................................................................................................................. p. 54
Lezione 022 ............................................................................................................................. p. 55
Lezione 023 ............................................................................................................................. p. 56
Lezione 024 ............................................................................................................................. p. 57
Lezione 025 ............................................................................................................................. p. 60
Lezione 026 ............................................................................................................................. p. 61
Lezione 027 ............................................................................................................................. p. 62
Lezione 028 ............................................................................................................................. p. 63
Lezione 029 ............................................................................................................................. p. 64
Lezione 030 ............................................................................................................................. p. 65
Lezione 041 ............................................................................................................................. p. 66
Lezione 043 ............................................................................................................................. p. 67
Lezione 054 ............................................................................................................................. p. 68
Lezione 072 ............................................................................................................................. p. 69
Lezione 073 ............................................................................................................................. p. 70
Lezione 095 ............................................................................................................................. p. 71
Lezione 002
01. In Java, affinchè una classe possa diventare un programma eseguibile
è uno statement del tutto lecito (non produrrà errore né a tempo di compilazione, né a tempo di esecuzione, sempre e comunque)
produrrà un errore a tempo di esecuzione, se la variabile "value" non verrà inizializzata prima dell'uso
08. All'interno della classe Prova, il metodo costruttore con la seguente signature: private Prova Prova()
non è lecito, perché non esistono costruttori con modificatore d'accesso diverso da quello di default
09. In ambito di programmazione Object Oriented il termine "istanzare" (un oggetto)
è sinonimo di scopo
è sinonimo di variabile
è sinonimo di valore
è corretto a prescindere
è errato a prescindere
è errato a prescindere
è corretto a prescindere
a basso livello
a medio livello
è errato se prima non viene re-indirizzato lo stream su err, trattandosi di un messaggio di errore
20. si faccia un esempio di creazione di un oggetto in Java usando l'operatore appropriato
Integer a = 3;
new a = Integer(3);
è errato a prescindere
è corretto a prescindere
22. Con riferimento al Java, si commenti il seguente: public class Territorio {Int a;}
28. si faccia un esempio di creazione di un oggetto in Java usando l'operatore appropriato
29. In Java quale è la signature corretta del metodo main? Motivare la risposta
30. Con riferimento al Java, si introducano delle definizioni diverse, ma non contradditorie, di "oggetto"
31. Con riferimento al Java, si introducano delle definizioni diverse, ma non contradditorie, di "classe"
32. Con riferimento al Java, cosa si intende per "metodi di interfaccia" (o "interfaccia esposta")?
34. In ambito di programmazione Object Oriented, cosa si intende con il verbo "istanzare" (un oggetto)? Motivare la risposta
35. In ambito di programmazione Object Oriented, cosa si intende con il termine "metodo"? Motivare la risposta
36. In ambito di programmazione Object Oriented, cosa si intende con il termine "interfaccia"? Motivare la risposta
37. In ambito di programmazione Object Oriented, cosa si intende con il termine "costruttore"? Motivare la risposta
38. In Java, di cosa necessita una classe affinchè possa diventare un programma eseguibile?
Lezione 003
01. in Java il seguente blocco: for(;i<1;i++){int a=1;}
genera errore
genera errore
03. Se una variabile di istanza var viene dichiarata private all'interno di una classe MiaClasse, allora:
Solo metodi statici appartenenti alla classe MiaClasse possono accedere a var.
posso definire quante classi public e non public voglio, e chiamarle come voglio
posso definire quante classi non public voglio, e chiamarle come voglio
può esporre dei metodi private di interfaccia, se un'altra classe dovrà richiamarli
deve esporre dei metodi pubblici di interfaccia e una serie di metodi private per l'interfaccia nascosta
può esporre dei metodi pubblici di interfaccia, se un'altra classe dovrà richiamarli
può esistere, a patto che al suo interno la definizione della classe "Pippo" sia con la lettera maiuscola
può esistere, pippo però deve essere una classe istanziabile nel programma
può esistere, a patto che al suo interno la definizione della classe "pippo" sia con la lettera minuscola
è istanziabile da tutti
è modificabile da tutti
è chiamabile da tutti
a interfacce
a classi
a metodi
genera errore
Un package si può utilizzare solo dopo averne definito i modificatori di accesso
Un package è uno strumento per raggruppare tipi in qualche modo legati fra di loro
28. Cosa riferimento al Java, si introduca il blocco "for", eventualmente aiutandosi con un diagramma di flusso
29. Da cosa è costituito un programma Java nella sua forma statica ?
30. Cosa riferimento al Java, che relazione c'è tra una classe pubblica e il il nome del file che contiene la sua definizione? Motivare la risposta
31. Cosa riferimento al Java, quante classi classi posso definire all'interno di un singolo file? Argomentare la risposta
33. Cosa riferimento al Java, cosa si intende per blocco? Argomentare la risposta
34. Cosa riferimento al Java, si introduca il blocco "if", eventualmente aiutandosi con un diagramma di flusso
35. Cosa riferimento al Java, cosa succede se una variabile di istanza è dichiarata public? Motivare la risposta
36. Cosa riferimento al Java, si introduca il blocco "if", eventualmente aiutandosi con un diagramma di flusso
37. Cosa riferimento al Java, si introduca il blocco "while", eventualmente aiutandosi con un diagramma di flusso
38. Cosa riferimento al Java, si introduca il blocco "do", eventualmente aiutandosi con un diagramma di flusso
39. Cosa riferimento al Java, si introduca il blocco "switch", eventualmente aiutandosi con un diagramma di flusso
41. Cosa riferimento al Java, cosa succede se una classe è dichiarata public? Motivare la risposta
42. Cosa riferimento al Java, cosa succede se un metodo di istanza è dichiarato public? Motivare la risposta
45. Si faccia un esempio minimo di programma Java che possa essere mandato in esecuzione.
Lezione 004
01. In Java, l'operatore tilde ( ~)
è un operatore binario
non esiste
è un operatore unario
vale false se gli operandi sono discordi (uno è true e uno è false)
vale false se gli operandi sono discordi (uno è true e uno è false)
genera errore
è un assegnamento lecito
genera errore
è un assegnamento lecito
genera errore
è un assegnamento lecito
genera errore
è un assegnamento lecito
vale true se gli operandi sono discordi (uno è true e uno è false)
10. in Java solo uno dei seguenti è un tipo wrapper (contenitore) quale?
Double
double
Doubles
Doubled
11. in Java tutti i seguenti sono operatori di confronto tranne uno, quale?
=
>=
>
<
è un operatore unario
è un operatore binario
è un operatore binario
non esiste
è un operatore unario
è un operatore unario
è un operatore unario
è un operatore unario
è un operatore unario
è un operatore unario
è un operatore unario
è un operatore unario
Il valore restituito da mioMetodo non dipende da quello che era contenuto in x prima dell'invocazione di mioMetodo.
Se x fosse una variabile di istanza, allora sarebbe possibile rimpiazzare x con this.x.
Il metodo è corretto se x è dichiarata nella classe MiaClasse come variabile di istanza.
25. in Java tutti i seguenti sono operatori di assegnazione tranne uno, quale?
==
+=
-=
>*=
sono classi
sono interfacce
27. in Java tutti i seguenti sono operatori tranne uno, quale?
<=
!=
?=
>=
28. in Java solo uno dei seguenti è un tipo wrapper (contenitore) quale?
bool
Buul
Boolean
Bool
29. in Java solo uno dei seguenti è un tipo wrapper (contenitore) quale?
boolean
byte
double
Void
30. in Java solo uno dei seguenti è un tipo wrapper (contenitore) quale?
void
Double
byte
boolean
31. in Java solo uno dei seguenti è un tipo primitivo, quale?
Double
Boolean
void
Byte
32. in Java solo uno dei seguenti è un tipo primitivo, quale?
shop
shol
short
shors
33. in Java solo uno dei seguenti è un tipo primitivo, quale?
char
Byse
floap
Double
34. in Java solo uno dei seguenti è un tipo wrapper (contenitore) quale?
Floas
Float
Flots
Floats
35. in Java solo uno dei seguenti è un tipo primitivo, quale?
Float
Double
long
Integer
36. in Java i seguenti sono tutti tipi primitivi, tranne uno, quale?
Int
long
double
float
37. in Java i seguenti sono tutti tipi primitivi, tranne uno, quale?
int
double
Long
float
38. in Java i seguenti sono tutti tipi primitivi, tranne uno, quale?
Float
int
long
double
39. in Java i seguenti sono tutti tipi primitivi, tranne uno, quale?
long
float
double
Integer
40. in Java i seguenti sono tutti tipi primitivi, tranne uno, quale?
long
int
float
Double
sono interfacce
sono classi
42. in Java solo uno dei seguenti è un tipo wrapper (contenitore) quale?
Pants
Shirt
Shoes
Short
43. in Java tutti i seguenti sono operatori tranne uno, quale?
++
**
--
==
44. in Java i seguenti sono tutti tipi wrapper (contenitore) tranne uno, quale?
Int
Long
Float
Integer
45. in Java i seguenti sono tutti tipi wrapper (contenitore) tranne uno, quale?
Float
Integer
Bool
Long
46. in Java i seguenti sono tutti tipi wrapper (contenitore) tranne uno, quale?
Floats
Boolean
Integer
Float
47. in Java i seguenti sono tutti tipi wrapper (contenitore) tranne uno, quale?
Short
Void
Byte
Bool
48. in Java i seguenti sono tutti tipi wrapper (contenitore) tranne uno, quale?
Set
Large
Long
Void
50. in Java solo uno dei seguenti è un tipo wrapper (contenitore) quale?
Voit
Voip
Vois
Void
sono immutabili
sono proibite
sono mutabili
sono variabili
è un literal
è una variabile
è una stringa
54. in Java, tutti i seguenti sono literal corretti, tranne uno quale?
3.14D
3.14f
3.14M
3.14F
55. in Java, tutti i seguenti sono literal corretti, tranne uno quale?
3141592E-6N
0.3142592E+1f
3141592E-6F
3.141592D
56. in Java, solo uno dei seguenti è un literal corretto, quale?
GREEKPI
PI
null
PIGRECO
57. in Java solo uno dei seguenti è un tipo primitivo, quale?
Long
byte
floap
Double
58. in Java solo uno dei seguenti è un tipo primitivo, quale?
int
floap
Long
Double
70. Con riferimento al Java, si introduca (se esiste) l'operatore punto esclamativo ( !)
71. Si introduca l'operatore logico NOT; se necessario ricorrere all'uso di una tabella
73. Si introduca l'operatore logico AND; se necessario ricorrere all'uso di una tabella
74. Si introduca l'operatore logico XOR; se necessario ricorrere all'uso di una tabella
81. Con riferimento al Java, si faccia un esempio pratico di utilità dei tipi wrapper (contenitore)
84. Si introduca l'operatore logico OR; se necessario ricorrere all'uso di una tabella
Lezione 005
01. Una sola delle seguenti affermazioni riguardanti l'uso di this è corretta. Quale?
this può essere usato sia all'interno di metodi statici che non statici.
Nel corpo di un metodo, this contiene sempre il riferimento all'oggetto su cui quel metodo è invocato.
L'uso di this è sempre facoltativo, quindi rimuoverne tutte le occorrenze da un programma non ne modifica il comportamento.
this è una variabile come tutte le altre e quindi può essere modificata a piacere.
Lezione 006
01. che differenza c'è tra una classe ed un oggetto?
Un oggetto è la descrizione astratta di un tipo di dato; una classe è la realizzazione (istanza) di un oggetto
Una classe è la descrizione astratta di un tipo di dato; un oggetto è la realizzazione (istanza) di una classe
la possibilità nativa del linguaggio di utilizzare modificatori di accesso (public, private, protected in Java)
il polimorfismo
l'esistenza di un costrutto nativo del linguaggio che realizzi una interfaccia (interface in Java)
03. con riferimento al linguaggio di programmazione Java, quale delle seguenti affermazioni è corretta?
cambiando l'implementazione di un metodo di interfaccia del server, devo andare a modificare anche il codice nel client
Un tipo di dato astratto è un modello di struttura dati che specifica le operazioni che possono essere eseguite su tali tipi
Un tipo di dato astratto è un modello di struttura dati che specifica le caratteristiche che gli oggetti di quel tipo avranno
Un tipo di dato astratto è un modello di struttura dati che specifica le caratteristiche che gli oggetti di quel tipo avranno, più le operazioni che possono essere eseguite su
tali tipi
05. facendo esplicito riferimento al linguaggio Java, come si realizza una struttura dati?
implementando un metodo
importando un package
06. In Java, se una variabile di istanza x viene dichiarata private all'interno di una classe Prova, allora:
si definisce incapsulamento la tecnica di impedire all'utilizzatore il cambio delle variabili membro di una classe, in modo da rendere tali membri costanti duranti tutta
l'esecuzione del programma e facilitare la fase di debug
si definisce incapsulamento la tecnica di nascondere l'interfaccia esposta di una classe (deciso in fase di progetto), in modo da proteggere le altre parti della classe dai
cambiamenti che si produrrebbero in esse nel caso che questo funzionamento fosse difettoso, oppure si decidesse di implementarlo in modo diverso
si definisce incapsulamento la tecnica di nascondere il funzionamento interno (deciso in fase di progetto) di una parte di un programma, in modo da proteggere le altre
parti del programma dai cambiamenti che si produrrebbero in esse nel caso che questo funzionamento fosse difettoso, oppure si decidesse di implementarlo in modo diverso
L'assegnazione int x = y è sbagliata, e non può essere corretta in alcun modo poichè un valore di tipo double non può essere mai convertito in un valore di tipo int.
L'assegnazione int x = y è corretta indipendentemente dal fatto che y contenga un numero intero o meno.
14. che differenze tra tipo di dato astratto e struttura dati? si faccia riferimento al linguaggio Java
16. si faccia un esempio di classe Java che realizzi il principio dell'incapsulamento dei dati
Lezione 007
01. In Java, una sotto-classe
se non specifica la super-classe da cui eredita, allora di default sta ereditando da Java.Lang
se non specifica la super-classe da cui eredita, allora di default sta ereditando da System
se non specifica la super-classe da cui eredita, allora di default sta ereditando da Object
è sotto-classe di tutte le classi del programma che non ereditano esplicitamente da Object
è super-classe di tutte le classi del programma che non ereditano esplicitamente da Object
09. In Java, se in una sotto-classe definisco una variabile con lo stesso nome di una variabile della super-classe
commetto un errore
10. In Java, se in una sotto-classe definisco un metodo con la stessa signature di un metodo della super-classe
commetto un errore
11. In Java, se in una sotto-classe definisco un metodo con lo stesso nome (ma con diverso numero e/o tipo di argomenti di ingesso) di un metodo della super-classe
commetto un errore
12. In Java, se definisco una variabile (che non è definita nella super-classe) all'interno di una sotto-classe
commetto un errore
è un design pattern
non può specificare altri metodi statici rispetto alla sua super-classe
non può specificare altre variabili rispetto alla sua super-classe, solo altri metodi
19. In Java, dopo aver fatto override del metodo mioMetodo
posso richiamare il metodo della super-classe usando la parola chiave super (per esempio super.mioMetodo)
posso richiamare il metodo della super-classe usando la parola chiave this (per esempio this.mioMetodo)
non può specificare altre variabili rispetto alla sua super-classe, solo altri metodi
non può specificare altri metodi rispetto alla sua super-classe, solo altre variabili
non può specificare altre variabili e altri metodi membro rispetto alla sua super-classe, solo altri metodi statici
non esiste
esiste
è un meccanismo che permette ad uno stesso oggetto di esibire comportamenti (quindi funzionalità) di volta in volta differenti a tempo di compilazione
è un meccanismo che permette la definizione di classi (dette classi derivate) a partire da altre già definite (dette classi base)
è un meccanismo che permette ad uno stesso oggetto di esibire comportamenti (quindi funzionalità) di volta in volta differenti a run time.
è un meccanismo che permette la definizione di classi (dette classi derivate) a partire da altre già definite (dette classi base)
24. Una sola delle seguenti affermazioni sull'uso dell'istruzione break è vera. Quale?
Il break può essere usato nel ramo if di una istruzione if..else per saltare al ramo else.
Il break può essere usato per interrompere un ciclo, ma è consentito scrivere cicli senza usare break.
di solito è più specifica di una sua eventuale sotto-classe, ma questa non è una regola
ha un numero di metodi e di variabili minore o uguale delle sotto-classi che da essa derivano
di solito è più specifica di una sua eventuale super-classe, ma questa non è una regola
31. si faccia un esempio di classi Java che realizzano il principio dell'ereditarietà
40. Con riferimento al Java, si discuta come è possibile nascondere variabili delle super-classi nelle sotto-classi
43. Con riferimento al Java, si faccia un esempio (preferibilmente codice) di super-classi e sotto-classi
Lezione 008
01. Una sola delle seguenti affermazioni riguardanti il passaggio dei parametri in Java è corretta. Quale?
Durante l'invocazione di un metodo, i parametri formali vengono copiati nei corrispondenti parametri attuali.
Durante l'invocazione di un metodo, i parametri attuali vengono copiati nei corrispondenti parametri formali.
I parametri attuali possono anche essere più dei parametri formali, ma non viceversa.
è un tipo
è una interfaccia
è un tipo
05. In Java, chi realizza i metodi di una interfaccia (costrutto interface)?
06. In Java, una interfaccia (costrutto interface) può essere realizzata
da un numero illimitato di classi, basta che siano tutte sotto-classi della stessa super-classe
da un numero illimitato di classi, basta che siano tutte super-classi della stessa sotto-classe
11. In Java, una interfaccia (costrutto interface) può essere realizzata
12. Con riferimento al Java, chi realizza i metodi di una interfaccia (costrutto interface)? Argomentare la risposta
17. Con riferimento al Java, chi definisce una interfaccia (costrutto interface)? Argomentare la risposta
18. Con riferimento al Java, chi implementa una interfaccia (costrutto interface)? Argomentare la risposta
Lezione 009
01. La struttura di dati "coda" (o "queue")
entrambi i tipi di dato astratto possono essere realizzati con la stessa struttura dati
entrambe le strutture dati possono essere realizzati con lo stesso tipo di dato astratto
la pila realizza una politica LIFO, la coda una politica FIFO
la pila realizza una politica FIFO, la coda una politica LIFO
Il valore restituito da mioMetodo non dipende da quello che era contenuto in x prima dell'invocazione di mioMetodo.
Il metodo è corretto se x è dichiarata nella classe MiaClasse come variabile di istanza.
Se x fosse una variabile di istanza, allora sarebbe possibile rimpiazzare x con this.x.
a=vec_i
a= vec(i);
a= vec[i];
a=int vec[i];
è una istruzione che produce un risultato di tipo intero (somma della lunghezza di s1 e di s2)
non esitono
si può cambiare la sua dimensione tramite metodo opportuno, ma solo se l'array contiene elementi di tipo primitivo
si può cambiare la sua dimensione tramite metodo opportuno, ma solo se l'array contiene elementi di tipo derivato
non esiste
26. in Java, se s1 e s2 sono oggetti di tipo String, qual è il risultato di s1+s2? Motivare la risposta
27. Con riferimento al Java, cosa sono StringBuffer e StringBuilder ? Argomentare la risposta
37. si faccia un esempio pratico in cui c'è bisogno utilizzare array non monodimensionali
41. è possibile utilizzare una struttura dati array per realizzare un tipo di dato astratto Lista? Come?
Lezione 010
01. Si considerino le seguenti espressioni: "Fondamenti".concat(" di").concat(" Informatica")
"Fondamenti".concat(" di".concat(" Informatica"))
Una sola delle seguenti affermazioni è vera. Quale?
la prima espressione restituisce la stringa "Fondamenti di Informatica", mentre la seconda provoca un errore del compilatore perché l'argomento della prima
invocazione del metodo concat non è corretta.
la seconda espressione restituisce la stringa "Fondamenti di Informatica", mentre la prima provoca un errore del compilatore perché l'oggetto della prima
invocazione del metodo concat non è corretta.
la prima espressione restituisce la stringa "Fondamenti Informatica di", mentre la seconda restituisce la stringa "Fondamenti di Informatica".
la conversione automatica che il programmatore fa tra tipo primitivo e suo equivalente oggetto wrapper (contenitore)
la conversione automatica che il compilatore fa tra tipo primitivo e suo equivalente oggetto wrapper (contenitore)
la conversione automatica che il compilatore fa tra oggetto wrapper (contenitore) e suo equivalente tipo primitivo
la conversione automatica che il programmatore fa tra oggetto wrapper (contenitore) e suo equivalente tipo primitivo
la conversione automatica che il compilatore fa tra oggetto wrapper (contenitore) e suo equivalente tipo primitivo
la conversione automatica che il compilatore fa tra tipo primitivo e suo equivalente oggetto wrapper (contenitore)
la conversione automatica che il programmatore fa tra tipo primitivo e suo equivalente oggetto wrapper (contenitore)
la conversione automatica che il programmatore fa tra oggetto wrapper (contenitore) e suo equivalente tipo primitivo
non aggiunge funzionalità matematiche a quello che già offre Java di default
05. Con riferimento al Java, cosa si intende per "Autoboxing"? Argomentare la risposta
08. Con riferimento al Java, cosa si intende per "Unboxing"? Argomentare la risposta
Lezione 011
01. in Java, ActionListener
è una classe
è un metodo
è una interfaccia
è un metodo
Il corpo del ciclo while può non essere mai eseguito, se la condizione del ciclo risulta falsa.
La condizione del ciclo while viene valutata solo una volta.
La condizione del ciclo while viene valutata prima dell'eventuale esecuzione del corpo del ciclo.
Lezione 012
01. in Java cosa si intende per "collezione"?
è un tipo di dato astratto in cui le chiavi corrispondono agli indici dell'array in cui memorizzare i valori mappati
è un tipo di dato astratto che permette di gestire collezioni di valori a cui vengono associati chiavi prese da un dominio totalmente ordinato
è un tipo di dato astratto che permette di gestire collezioni di chiavi a cui vengono associati valori presi da un dominio ordinato
04. Tutte le seguenti entità fanno parte del Java Collections Framework tranne una, quale?
HashMap
ArrayDoubleList
HashSet
ArrayList
Il ciclo while non si può usare per fare l'input di una sequenza di dati.
06. Quale è il vantaggio più immediato nell'usare un ArrayList del Java Collections Framework?
08. Si introducano le enità principali che fanno parte del Java Collections Framework
Lezione 013
01. Si consideri il seguente metodo:
public static int[] mioMetodo(int[] s) {
int[] v = new int[s.length];
for (int i=0 ; i < s.length; i++)
v[i] = s[i+1];
return v;
}
Una sola delle seguenti affermazioni è vera. Quale?
Il metodo restituisce un array v tale che v[i] contiene il valore dell'elemento di s nella posizione i + 1.
L'array restituito come risultato ha un elemento in meno dell'array passato come parametro.
L'istruzione v[i] = s[i+1] viene correttamente eseguita tante volte quanto è il numero restituito da s.length.
Il metodo genera un errore di esecuzione di tipo ArrayIndexOutOfBoundsException sull'istruzione v[i] = s[i+1], poichè l'indice i+1 non è un indice
valido.
Lezione 014
01. in Java, i tipi generici
04. Siano a,b,c tre variabili di tipo int. L'espressione di tipo boolean !((a!=b) && (a!=c)) restituisce valore vero se:
a ha un valore diverso da b e da c.
06. cosa si intende per metodi generici in Java? Si faccia un esempio di utilizzo
Lezione 015
01. Quale delle seguenti affermazioni relative a == è errata?
== restituisce sempre falso se i suoi argomenti non sono di tipo primitivo.
== si usa per confrontare due valori dello stesso tipo primitivo.
== restituisce vero se i suoi argomenti sono riferimenti allo stesso oggetto.
Lezione 016
01. Cosa è Throwable?
una classe
una interfaccia
un metodo
Viene modificato l'array passato come argomento rovesciando l'ordine degli elementi.
Viene restituito un array in cui l'ordine degli elementi risulta rovesciato rispetto all'array passato come argomento.
Viene calcolato un array di valori temporanei senza modificare l'array passato come argomento.
Viene memorizzata la lunghezza dell'array passato come argomento in una variabile temporanea.
è un evento che, verificandosi durante l'esecuzione di un programma, ne interrompe il normale flusso di esecuzione
è un evento che, verificandosi durante la scrittura di un programma, ne interrompe il normale flusso di scrittura
è un evento che, verificandosi durante la compilazione di un programma, ne interrompe il normale flusso di compilazione
il compilatore
una interruzione
07. In Java tutte le seguenti sono situazioni che generano eccezioni tranne una, quale?
divisione per 0
una classe
un metodo
una interfaccia
mai
sempre
a volte
10. quale è la clausola (parola chiave) per lanciare una eccezione in Java?
throw
launch
dispatch
11. come si specifica che un certo metodo può lanciare una certa eccezione, in Java?
12. quale è la clausola (parola chiave) per lanciare una eccezione in Java?
18. come si specifica che un certo metodo può lanciare una certa eccezione, in Java?
20. Con riferimento al Java, si elenchino almeno tre situazioni che generano eccezioni
Lezione 017
01. in Java, il metodo System.out.format()
a disaccoppiare le azioni di effettiva lettura/scrittura del sistema operativo dalla macchina virtuale Java
sia una sorgente di dati in ingresso al programma che una destinazione in cui il programma scrive i risultati dell'elaborazione
In tutti i metodi non statici della classe a meno che non vengano mascherate da dichiarazioni locali.
non possono essere propagate agli strati software diversi da quello in cui esse si sono generate
Lezione 018
01. riguardo ai file in Java
Lezione 019
01. la seguente espressione regolare: [^abc]
matcha la stringa a
un file
matcha la stringa /d
Lezione 020
01. Si consideri il seguente metodo Java:
public static int f(int[] x, int y){
int c=0;
for (int i=0; i<x.length; i++)
if (x[i]>y)
c++;
return c;
}
Una sola delle seguenti affermazioni è vera. Quale?
Il metodo restituisce l'elemento piu' grande di x che è anche piu' grande di y
Il metodo restituisce l'elemento piu' piccolo di x fra quelli piu' grandi di y
02. Un Design Pattern definisce tutte le seguenti entità tranne una, quale?
le origini
il problema
le conseguenze
il nome
è un modello
è una implementazione
quando un soggetto cambia, tutti gli osservatori di quel soggetto vengono aggiornati di conseguenza
Lezione 021
01. Si considerino gli array in Java. Una sola delle seguenti affermazioni è vera. Quale?
Non è possibile passare come parametro un array, a meno che questo non contenga valori di tipo intero
Gli array servono per mantenere collezioni di valori necessariamente di tipo primitivo
02. Quali di questi Design Pattern appartiene alla categoria dei Pattern "creazionali"?
Visitor
Factory
Observer
PublishSubscribe
Observer
Singleton
Factory
non potremmo in alcun modo impedire la creazione di più istanze diverse di una classe visuale
non potremmo in alcun modo impedire la creazione di più istanze diverse di una classe
Lezione 022
01. Riguardo al paradigma di programmazione funzionale, Java
03. Si consideri la seguente espressione Java:a==b, dove a e b sono riferimenti ad oggetti di tipo String. Una sola delle seguenti affermazioni è vera. Quale?
L'espressione vale true se a e b sono riferimenti ad oggetti di tipo String che contengono gli stessi caratteri
L'espressione vale true se a e b contengono lo stesso indirizzo, cioè puntano al medesimo oggetto String
sono imperativi
sono dichiarativi
07. Nei linguaggi funzionali, cosa sono le funzioni di ordine superiore? Argomentare la risposta
08. Si introducano le principali differenze tra linguaggi imperativi e dichiarativi (se ce ne seono).
Lezione 023
01. Si consideri il seguente metodo Java:
public static void add(int y) {
this.x += y;
}
Una sola delle seguenti affermazioni è vera. Quale?
Il metodo è errato, poichè non è possibile usare this in un metodo statico
Il metodo è errato solo se la variabile di istanza x non è dichiarata di tipo int
è un design pattern
04. Con riferimento a Java 8, quale è la differenza sostanziale tra uno stream e una collezione?
non vi è alcuna differenza (Java 8 utilizza gli stream, le versioni precedenti di Java utilizzavano le collezioni)
06. Con riferimento a Java 8, quale è la differenza sostanziale tra uno stream e una collezione? Argomentare la risposta
Lezione 024
01. In Java, Il garbage collector
ripulisce il frame
ripulisce lo stack
ripulisce lo heap
03. In Java tutti i seguenti sono tipi reference tranne uno, quale?
interfacce
array
classi
short
consente l'esecuzione in parallelo di diversi sotto-processi solo se appartenenti allo stesso programma
lo heap può solo ridursi di dimensione, man mano che viene utilizzato
09. che differenza c'è tra un linguaggio di programmazione interpretato e uno compilato?
è puramente compilato
è puramente interpretato
un processo in cui il codice sorgente è trasformato in un linguaggio molto vicino al linguaggio macchina, in modo da poter essere eseguito da una macchina virtuale
un processo in cui tutte le variabili di un programma vengono trasferite nello stack di una macchina virtuale per poter essere poi utilizzate
un processo in cui il codice macchina è trasformato in un linguaggio molto ad alto livello, in modo da poter essere letto con facilità dal programmatore
17. Si introduca il program counter (pc) in contesto Java Virtual Machine
19. che differenza c'è tra un linguaggio di programmazione interpretato e uno compilato?
Lezione 025
01. Una sola delle seguenti affermazioni riguardanti l'overflow numerico in Java è vera. Quale?
L'overflow numerico si ha quando si assegna un valore frazionario ad una variabile di tipo intero
Si ha overflow numerico quando in un programma si supera il numero massimo di classi consentite in Java
Si ha overflow numerico quando il risultato di un'operazione aritmetica è piu' grande del massimo valore rappresentabile mediante il tipo dei suoi operandi
Lezione 026
01. Si considerino la variabili di istanza in Java. Una sola delle seguenti affermazioni è vera. Quale?
Le variabili di istanza sono accessibili solo nel corpo dei metodi statici
Una volta creata, una variabile di istanza non verra' piu' distrutta fino alla fine dell'esecuzione del programma
Una variabile di istanza viene creata quando viene creato l'oggetto che la contiene
Lezione 027
01. Si considerino le variabili locali in Java. Una sola delle seguenti affermazioni è vera. Quale?
Una variabile locale è visibile solo nel metodo in cui essa è dichiarata
Dichiarando public una variabile locale, essa è accessibile anche in metodi di classi diverse da quella in cui la variabile compare
Se un metodo A usa una variabile locale x, nessun'altra variabile locale con quel nome potra' essere usata in un metodo diverso da A
Dichiarando private una variabile locale, essa sara' accessibile solo nei metodi della classe in cui la variabile compare
Lezione 028
01. Si considerino i costruttori in Java. Una sola delle seguenti affermazioni è vera. Quale?
Un costruttore è un metodo speciale che ha lo stesso nome della classe in cui compare
Lezione 029
01. Si ricorda che sia il tipo int che il tipo float sono rappresentati in Java da 32 bit. Una sola delle seguenti affermazioni è vera. Quale?
Il numero di int distinti rappresentabili è uguale al numero di float distinti rappresentabili.
Il numero di int distinti rappresentabili è minore del numero di float distinti rappresentabili.
Il numero di int distinti rappresentabili è maggiore del numero di float distinti rappresentabili.
In entrambi i tipi di dato lo zero è rappresentato due volte (positivo e negativo).
Lezione 030
01. Si consideri il seguente metodo della classe Prova:
public void mioMetodo(int x) {
...
}
Una sola delle seguenti affermazioni è corretta. Quale?
Il metodo mioMetodo può essere reso static mantenendone intatta la funzionalità realizzata purché gli si aggiunga un ulteriore parametro formale p di tipo Prova e si
rimpiazzi ogni occorrenza (esplicita ed implicita) di this con p.
I metodi che non sono static dovrebbero essere tutti dichiarati private.
Il metodo mioMetodo non può essere in nessun caso reso static.
Lezione 041
01. In una architettura multi-tier, il livello data
si occupa, per esempio, di controllare il flusso delle pagine sul client
03. In una architettura multi-tier, il sottolivello web svolge tutte le seguenti mansioni tranne una, quale?
04. In una architettura multi-tier, uno dei seguenti livelli può essere ulteriormente diviso nei sottolivelli web e business, quale?
livello client
livello model
livello intermedio
livello data
05. In una architettura multi-tier, il seguente livello è quello che interagisce con gli utenti dell'applicazione in modo diretto
livello data
livello client
livello model
livello intermedio
06. In una architettura multi-tier tutti i seguenti sono livelli tranne uno, quale?
livello data
livello intermedio
livello model
livello client
Lezione 043
01. Un application server
è un modulo software
è un componente hardware
02. Tutti i seguenti sono esempi di application server tranne uno, quale?
GlassFish
Webshpere
Tomcat
JVM
una volta avviato non può essere spento, a meno di staccare la spina
una volta avviato non può essere spento, a meno di staccare la spina
Lezione 054
01. Che tecnologia hai usato per lo svolgimento del progetto?
Lezione 072
01. Quanti casi d'uso hai dettagliato nel documento di specifiche?
uno
tanti
nessuno
Lezione 073
01. Il progetto consegnato utilizza un database per la persistenza dei dati?
no
si
Lezione 095
01. Il progetto consegnato è fornito come archivio eseguibile?
si
no
no
si