fondamenti informatica 25-56 ecampus
![]() |
![]() |
![]() |
Title of test:![]() fondamenti informatica 25-56 ecampus Description: test fondamenti informatica Creation Date: 2024/07/02 Category: University Number of questions: 185
|




New Comment |
---|
NO RECORDS |
"int[] a=new int[5]" cosa vuol dire?. crea un array di 5 elementi di tipo intero. rinnova un array di 5 elementi e li azzera. salva il valore 0 in una variabile di 5 elementi. crea un array di 5 elementi interi o a virgola mobile. Il primo elemento "dell'array int[] a" si indica come: a. a[1]. a[0]. a[a.length]. Quale di queste affermazioni è vera per gli array?. Tutti gli elementi dell'array sono dello stesso tipo. Un array contiene uno e un solo valore. La lunghezza dell'array è variabile. Gli elementi dell'array possono essere di tipo diverso. Un indice di un array: Serve ad indicare un array. Serve a scorrere gli elementi dell'array. Serve a trovare la lunghezza dell'array. Identifica un array. Come variano gli indici di un array?. Da 1 a length-1. Da 0 a length-1. Da 1 a length. Da 0 a length. Cosa fa a[10]=100?. assegna il valore 10 al centesimo elemento dell'array. assegna il valore 100 all'undicesimo elemento dell'array. assegna il valore 100 al decimo elemento dell'array. verifica se a[10] è uguale a 100. "double[] d;" cosa indica?. un vettore che possa contenere caratteri. un vettore che possa contenere valori doppi. un vettore che possa contenere valori in virgola mobile. un vettore che possa contenere stringhe. L'istruzione "byte[] i = {2, 3, 6, 100, 230, 340};" cosa provoca se compilata?. Crea un array di byte di 6 elementi con i valori specificati tra graffe. Crea un array di byte di lunghezza fissa. Genera un errore in fase di compilazione. Crea un array vuoto di byte di 6 elementi. Un ciclo for esegue un numero di cicli pari a: un numero finito noto prima della prima istruzione. un numero massimo pari a 100. un numero non prevedibile. un numero infinito. Quale fra i seguenti cicli for provoca un errore di compilazione?. for (;). for (;;). for (;i<5;i++). for (;i<5;). Dato l'array "char[] a={'1','2','3'}" come possiamo stamparlo invertito con un ciclo for?. for (int i=a.length-1;i>=0;i--) System.out.print(a[i]). for (int i=0;i). for (int i=0;i). for (int i=a.length;i>=0;i--) System.out.print(a[i]);. Nell'istruzione "for (int a=0; a<100; a++)" che valori assume la a?. Da 1 a 99. Da 1 a 100. Da 0 a 99. Da 0 a 100. 05. Nell'istruzione "for (int a=0; a<100; a++)" la variabile a a quale dominio di definizione appartiene?. virgola mobile. booleano. infinito. intero. A cosa serve il ciclo for?. Ad eseguire una o più istruzioni almeno una volta. Ad eseguire una o più istruzioni in un certo arco di tempo. Ad eseguire una o più istruzioni più di una volta. Ad eseguire una sola istruzione più volte. Quale fra le seguenti sintassi del for è la più corretta?. for (inizializzazione; valore-booleano) istruzioni;. for (inizializzazione; valore-booleano; incremento) istruzioni;. for (inizializzazione; valore-booleano);. for (inizializzazione; valore-booleano; incremento);. Quale fra i seguenti cicli for è equivalente al ciclo "while (true)"?. for (i=0;i. for (i=10;i<1;i++). for (;i. for (;;). Se una istruzione di un ciclo può essere eseguita 0 volte: E' possibile usare il do-while solo con condizioni booleane. E' possibile usare il do-while. Si può usare il while o il for. Non è mai possibile usare il do-while. E' sempre possibile che do-while sia equivalente ad un ciclo for?. No, perchè il for non è mai equivalente ad un do-while. No, perchè il do-while non è un ciclo. No, perchè il do-while viene eseguito almeno una volta. Si, perchè il do-while viene eseguito almeno una volta. Quando si utilizza l'istruzione do-while?. Quando ci serve eseguire le istruzioni del ciclo almeno una volta. Quando ci serve eseguire le istruzioni del ciclo una e una sola volta. Quando ci serve eseguire le istruzioni del ciclo una sola volta. Quando ci serve eseguire le istruzioni del ciclo in ordine inverso. La sintassi corretta dell'istruzione do-while è: do while (condizione) istruzione/blocco-di-istruzioni;. do istruzione/blocco-di-istruzioni while (condizione);. do (condizione) while istruzione/blocco-di-istruzioni;. while (condizione) do istruzione/blocco-di-istruzioni;. Se i=1, l'istruzione "do {fat = fat * i; i = i + 1;} while (i <= n)" esegue: La moltiplicazione di fat*i esattamente n volte. La moltiplicazione di fat*i almeno n-1 volte. La moltiplicazione di fat*i esattamente n-i volte. La moltiplicazione di fat*i 0 volte. Se i=1, l'istruzione "do {fat = fat * i; i = i + 1;} while (i <n)" esegue: La moltiplicazione di fat*i almeno n volte. La moltiplicazione di fat*i 0 volte. La moltiplicazione di fat*i esattamente n-i volte. La moltiplicazione di fat*i esattamente n-1 volte. Se i=n, l'istruzione "do {fat = fat * i; i = i + 1;} while (i <= n)" esegue: La moltiplicazione di fat*i almeno n-1 volte. La moltiplicazione di fat*i esattamente 1 volta. La moltiplicazione di fat*i esattamente n-i volte. La moltiplicazione di fat*i 0 volte. Se una istruzione di un ciclo può essere eseguita 0 volte: Si può sempre usare il do-while. E' possibile usare il do-while. Non è mai possibile usare il do-while. E' possibile usare il do-while solo con condizioni booleane. Cosa fa una istruzione break?. Salta una iterazione del ciclo senza uscire. Riavvia il sistema operativo. Blocca ed esce dal programma. Interrompe il ciclo e riporta alla prima istruzione dopo il blocco. Cosa fa una istruzione continue?. Interrompe il ciclo e riporta alla prima istruzione dopo il blocco. Riavvia il sistema operativo. Blocca ed esce dal programma. Salta una iterazione del ciclo senza uscire. Dove si usa il comando break?. Solo nell'if. In un ciclo o in uno switch/case. Solo nei cicli. Solo nello switch/case. Dove si usa il comando default?. Solo nello switch/case. Solo nei cicli. In un ciclo o in uno switch/case. Solo nell'if. Quando è possibile usare un comando di break?. Solo in caso di assegnazione di variabile. Anche all'interno di un do-while. Solo nel blocco else. Solo all'interno di un do-while. Quando è possibile usare un comando di continue?. Anche all'interno di un for. Solo in caso di assegnazione di variabile. Solo all'interno di un for. Solo nel blocco else. Quante volte viene eseguito il seguente ciclo : "for (i=0; i<100; i++) { break; }"?. Viene eseguito 1 volta. Viene eseguito 99 volte. Viene eseguito 100 volte. Viene eseguito 0 volte. Quante volte viene eseguito il seguente ciclo : "for (i=0; i<100; i++) { continue; }"?. Viene eseguito 0 volte. Viene eseguito 100 volte. Viene eseguito 1 volta. Viene eseguito 99 volte. Usando quale proprietà degli array si ottiene il conteggio dei suoi elementi?. non si può ottenere. size. length. dimensions. Quale fra le seguenti frasi è falsa se riferita alla proprietà length degli array?. serve a sapere il numero totale dei suoi elementi. serve a sapere quanti elementi sono stati allocati in memoria. serve a sapere quanti elementi sono occupati. serve a sapere quanti elementi compongono il vettore. Per copiare nel modo più efficiente possibile un array in un altro usiamo: la funzione arraycopy della classe System. un doppio ciclo for. la funzione copyarray della classe System. un ciclo for. Quale fra le seguenti frasi è falsa se riferita allo scambio di due elementi di un array?. per effettuare lo scambio abbiamo bisogno di un vettore di appoggio. per effettuare lo scambio abbiamo bisogno di una variabile temporanea. per effettuare lo scambio basta assegnare un elemento dell'array all'altro e viceversa. per effettuaro lo scambio basta usare una funzione predefinita di Java. Quale fra le seguenti frasi è falsa se riferita all'inversione degli elementi di un array?. non abbiamo bisogno di memoria aggiuntiva, oltre quella già allocata per l'array. possiamo utilizzare una variabile temporanea. possiamo utilizzare un array di appoggio. possiamo utilizzare due indici. Quale fra le seguenti frasi è falsa se riferita al metodo System.arraycopy()?. Il metodo ha cinque parametri. Il metodo permette la copia di elementi fra array di lunghezze diverse. Il metodo implementa una copia efficiente fra array. Il metodo ha tre parametri. Quale fra le seguenti frasi è corretta se riferita al metodo System.arraycopy()?. Il metodo trova gli elementi in comune fra due array. Il metodo copia gli elementi di un array in un altro. Il metodo accetta tre parametri. Il metodo copia due array con la stessa efficienza di un ciclo for. Supponendo di aver dichiarato un array "int[] a = new int[5]", quale fra le seguenti frasi è falsa?. nell'array a possiamo inserire elementi con valore fino a 5. nell'array a possiamo inserire elementi fino a un massimo di 5. gli elementi di a hanno indici che vanno da 0 a 4. l'ultimo elemento dell'array ha indice pari a 4. Cosa indica "nomi[0][1]"?. l'elemento dell'array nomi uguale a 01. l'elemento dell'array nomi in prima riga. l'elemento dell'array non è valido perchè la riga 0 non esiste. l'elemento dell'array nomi in prima riga e seconda colonna. La seguente struttura "String[][] nomi" cosa rappresenta?. una struttura dati per contenere un numero pari di nomi. una struttura dati per contenere un nome. un insieme di nomi. un array di 10 stringhe. Quale fra le seguenti frasi è falsa se riferita agli array in Java?. In Java gli indici degli array partono sempre da 0. In Java si possono creare solo array monodimensionali. In Java gli array multidimensionali aggregano solo elementi dello stesso tipo base. In Java si possono creare array di qualsiasi dimensione. Quale fra le seguenti frasi è falsa se riferita alla matrice "int[][] matrix = {{1,2},{3,4}}"?. la matrice è 3x3. il valore 2 è in posizione matrix[0][1]. il valore 3 è in posizione matrix[1][0]. la matrice è bidimensionale. Data l'istruzione "float[][][] m = new float[5][5][5]" quante variabili vengono allocate in memoria?. 125. 5. 25. 15. L'elemento di un array indicato con "a[1][2]" cosa indica?. indica l'elemento di valore 12. indica l'elemento in riga 2, colonna 1. indica l'elemento in prima riga, seconda colonna. indica l'elemento in seconda riga, terza colonna. Quale fra le seguenti frasi è falsa se riferita agli array in Java?. un array contiene sempre righe della stessa lunghezza. un array può contenere righe di lunghezze diverse. i componenti di un array multidimensionale sono a loro volta array. la lunghezza di un array si ottiene con la proprietà length. Una matrice 5x2 in Java si definisce come: int[][] = new int[5][2]. int[][] = new int[5,2]. int[][][] = new int[2][5]. int[][] = new int[2][5]. Data una matrice r[][] di interi, l'operazione "System.out.print(r[i][j])": Stampa il valore contenuto nella cella in colonna i e riga j di r. Stampa la dimensione delle matrice (ovvero il valore di "i" e il valore di "j"). Stampa tutti i valori della matrice per ogni posizione i,j di r. Stampa il valore contenuto nella cella in riga i e colonna j di r. La seguente istruzione: "float[][] g = new float[4][7]" esegue il seguente comando: Crea e istanzia una matrice 4x7 per numeri a virgola mobile. Crea e istanzia una matrice di 7 righe e 4 colonne. Crea e istanzia un array di 28 elementi. Crea e istanzia una matrice 4x7 di valori verità. La seguente istruzione: "v[0] *= 121" ha il seguente significato: Prende il valore contenuto nella cella 0 dell'array v, lo moltiplica per 121 e il risultato lo rimette in v. Prende il valore contenuto nella cella 0 e ci copia 121. Prende il valore della cella 0 dell'array v e ci mette un asterisco. Prende 121 lo moltiplica per 0 e lo inserisce nella posizione v[0]. Quale di queste affermazioni per un array "double[] a" è falsa?. La variabile "a" indica un array e può contenere anche valori interi. La variabile "a" indica un array di valori numerici in virgola mobile. La variabile "a" è una matrice. La variabile "a" indica un array. Quale di queste affermazioni per un array "double[] a" è vera?. La variabile "a" indica un array doppio. La variabile "a" indica un array e può contenere valori di verità. La variabile "a" indica un array non ancora allocato in memoria. La variabile "a" indica un array di lunghezza arbitrari. Per moltiplicare una matrice m per un array v: La dimensione della matrice in posizione 0 (m[0].length) deve esser maggiore di v.length. La dimensione dell'array deve essere uguale alla dimensione dell'array in posizione 0 ovvero m[0].length deve esser uguale a v.lenght. La dimensione della matrice in posizione 1 (m[1].length) deve esser uguale a v.length. La dimensione dell'array deve essere maggiore di 1 della dimensione dell'array in posizione 0 ovvero m[0].length deve esser uguale a v.length. Date due matrici "double[][] a = {{1,2}, {4,3}, {7,4}}" e "double[][] b = {{1,2,3}, {4,3,6}}": Non è possibile fare il prodotto a*b. Si può fare solo il prodotto b*a. Si può fare la somma a+b. E' possibile fare il prodotto a*b. Dati due array "double[] a = {1,2,3}" e "double[] b = {4,5,6,7}", quale fra le seguenti affermazioni e' falsa: Non si può fare il prodotto scalare a*b. E' possibile fare il prodotto a*b. Si può stampare sia a che b. Non è possibile fare il prodotto a*b. La tecnica di programmazione ricorsiva: Si basa sulla tecnica di induzione. Si basa sulla tecnica di programmazione dinamica. Si basa sulla programmazione iterativa. Si basa su metodi euristici. Dato un algoritmo matematicamente ricorsivo si dice che: Non è possibile stabilire se la sua implementazione iterativa sia sempre migliore di quella ricorsiva. Non si può mai definire una implementazione iterativa. E' sempre possibile indicare una implementazione iterativa ma mai ricorsiva. Si può definire sempre e solo una implementazione ricorsiva. Dovendo implementare in Java l'algoritmo di calcolo del fattoriale di un numero contenuto in una variabile "n", quale fra queste linee di codice posso utilizzare?. La linea di codice "return n * fact(n-1)". La linea di codice "return (n+1)*fact(n+1)". La linea di codice "return fact(n)*fact(n)". La linea di codice "return fact(n+1)". Quale di queste affermazioni è falsa: La tecnica di ricorsione si usa ad esempio per il calcolo del numero di fibonacci. La tecnica di ricorsione si può solo usare se contiene cicli (for o while). La tecnica di ricorsione è una funzione che contiene il nome della funzione al suo interno. La tecnica di ricorsione si usa ad esempio per il calcolo del fattoriale di un numero. Data una funzione recursive(), quale delle seguenti affermazioni è certamente corretta?. La funzione recursive() è ricorsiva perché fa parte delle librerie Java. La funzione deve avere nel suo blocco di codice l'istruzione "recursive()" per definirsi ricorsiva. La funzione deve includere sempre un ciclo di while per esser ricorsiva. La funzione deve contenere una invocazione ricorsiva in un ciclo. Il calcolo del fattoriale di un numero intero si può. Calcolare solo con metodo ricorsivo. Calcolare solo con l'ausilio del calcolo parallelo. Calcolare solo con un ciclo di for. Calcolare sia con la tecnica ricorsiva che tramite l'uso di cicli. La tecnica ricorsiva consente di invocare una stessa funzione dall'interno del codice in quanto: Usa lo Stack di attivazione. Usa il calcolo parallelo. Usa il disco rigido. Usa la memoria a nastro. La Ricorsione e' una tecniche di programmazione che: Si utilizza quando è necessario ripetere delle azioni in modo ottimale. Si basa sulla rincorsa del codice. Si utilizza solo per analizzare numeri interi. Si basa sulla invocazione di una stessa funzione dall'interno della funzione stessa. Per aggiungere una stringa ad un'altra stringa in una variabile si usa: Il metodo "string.appendMeOnline()". Il metodo "StringBuffer.append(char[] c)". Il metodo "Char.AggangiaStringa()". Il metodo "String.Append(s1, s2)". Data la funzione "StringBuffer insert(int offset, long l)" consente di: Inserire un nuovo valore di offset su una stringa s. Cancellare una stringa di lunghezza l da un una posizione "offset". Inserire la rappresentazione stringa dell'argomento long nella sequenza di caratteri. Stampare a video una parola inserita in una stringa. Data una variabile sb di tipo StringBuffer, con valore: sb = "Prova "; la funzione sb.append("test"): Appende uno spazio vuoto alla fine di sb (risultato sb = "Prova "). Appende un carattere alla variabile sb (risultato sb = "Prova t"). Appende un testo alla variabile sb (risultato sb = "Prova test"). Appende la parola append alla variabile sb (risultato sb = "Prova append"). Data l'istruzione: String s = new String("test"); la variabile s consente di: Definire un insieme di caratteri stampabili singolarmente. Memorizzare solo bytecode. Memorizzare in s valori numerici. Stampare il contenuto della variabile s. Se serve per una stringa manipolare i singoli caratteri è necessario: Si usa un array di caratteri della forma char[]. Si usa una tecnica di mappaggio delle stringhe in interi. Non si può implementare mai in Java. Si definisce una funzione dedicata che usi i double. Data l'istruzione: String saluto = "Ciao a tutti"; quale di queste affermazioni è vera: Non si possono modificare i singoli caratteri della variabile "saluto". Si possono invertire o saltare i caratteri dalle stringa "saluto". Non si può stampare la stringa "saluto". Si possono cambiare i caratteri della stringa "saluto". In Java le stringhe si definiscono utilizzando: La classe CharacaterString(). Le funzioni char(). Le matrici definite dagli utenti. La classe statica definita nella libreria di Java di nome String. Quale di queste affermazioni è sicuramente falsa?. Una istanza di una variabile char è stampabile a video. Una istanza di stringa String() è stampabile a video. Una istanza della classe String e un array di char sono esattamente uguali. I caratteri in una istanza di String sono immutabili. Le due operazioni: 1) String s = new String(); e 2) String s = "";. Sono differenti e costruiscono una stringa s con valori nulli e una stringa s senza caratteri. Sono equivalenti e costruisono una stringa con 10 caratteri vuoti. Sono equivalenti e costruiscono una stringa vuota. Sono differenti e costruiscono una stringa s senza caratteri e una stringa s con valori nulli. Date le due istruzioni Java in sequenza: "char[] c = {‘t’, ‘e’, ‘s’, ‘t’};" e "String s = new String(c);". Crea una stringa s che contiene il primo carattere "t" della variabile c. Crea una stringa s che contiene la parola "'t''e''s''t'". Crea una nuova stringa s che non contiene nulla. Crea una stringa s che contiene la parola "test". Data una stringa s = new String("prova");, per stampare la lettera "o" si procede con: System.out.println([2]);. System.out.println([II]);. System.out.println(s.charAt(2));. System.out.println(s.2). Per confrontare due stringhe s1 ed s2 e verificare se hanno lo stesso valore si procede con: L'istruzione Java "if (s1=s2)". L'istruzione Java "if (Equals(s1,s2))". L'istruzione Java "if (s1==s2)". L'istruzione Java "if (s1.equals(s2))". Data una stringa s generata in Java come: s = new String("prova");, quale delle seguenti affermazioni è falsa?. s2=s.substring(1,3) inserisce in s2 la stringa "rov". s2=s.substring(1,3) inserisce in s2 la stringa intera. s2=s.substring(1,3) serve a copiare una parte di s in s2. s2=s.substring(1,3) si usa per generare una sottostringa di s. La funzione "String concat(String s)": E' una funzione della classe String che serve a concatenare una stringa data con la stringa parametro s. E' una funzione che serve a concatenare sue stringhe date in input e mette in risultato nel parametro s. E' una procedura della classe String che serve a stampare la stringa s concatenata con se stessa. E' una funzione che serve a comunicare una stringa s a una funzione di stampa. Data il seguente codice: String s1 = new String("stringa"); String s2 = new String(" di prova"); quale delle seguenti affermazioni è vera?. System.out.println(s1.concat(s2)) stampa "stringa di prova". System.out.println(s1.concat(s2)) stampa " prova di stringa". System.out.println(s1.concat(s2)) stampa " prova". System.out.println(s1.concat(s2)) stampa " stringa". A cosa serve la classe StringTokenizer?. Serve ad estrarre token da una stringa. Serve a gestire una sequenza di stringhe come interi. Serve a fare dei cicli sulle stringhe. Serve a generare token casuali usando le stringhe. La parola chiave "import" indica: Un modo per dire che una istruzione è importante. Un modo per escludere alcune classi. Un modo per includere le funzionalità di una classe. Un modo per indicare l'importazione di variabili. La parola chiave protected si può usare: Nella definizione dei package per cui chiedo protezione. Nella definizione dei metodi di una classe. Per le funzioni invocabili solo con sistema operativo. Nella definizione di codice antihacker. Quali di queste affermazioni è sicuramente falsa?. La parola chiave "long" è un intero con segno. La parola chiave "long" indica un tipo. La parola chiave "long" si usa per i valori numerici. La parola chiave "long" serve a definire stringhe più lunghe. La parola chiave package: Indica la versione dei pacchetti generati dall'utente. Indica la versione della CPU. Indica la versione del compilatore di Java. Indica un pacchetto o libreria di funzioni. La parola chiave instanceof si utilizza per. Testare se un programma è istanziato. Testare se un programma è in esecuzione. Testare se una variabile e istanziabile. Testare se una variabile è una istanza di un certo tipo. Data l'istruzione: String final = "fine"; che succede se la compiliamo?. Genera un errore perchè final è una parola chiave. Genera un errore perchè una stringa non si definisce così. Non genera alcun errore. Genera un errore perchè dopo l'uguale non ci vogliono mai le virgolette. Quali delle seguenti parole non è una parola chiave di Java?. Class. abstract. else. boolean. Per invocare un metodo di una classe padre nella gerarchia di classi Java si usa la parola chiave: super. ancestor. ancien. overthetop. Data la classe "Persona", la seguente istruzione "Persona p1 = new Persona();" serve a: Creare un oggetto p1 che sia di tipo Persona. Inizializzare la classe Persona. Creare una nuova classe p1 di tipo Persona. Creare una variabile p1 che contenga un array di persone. L'istruzione new serve a: Creare un nuovo programma Java. Istanziare un nuovo sistema operativo. Istanziare una nuova funzione. Istanziare un nuovo oggetto di una classe. Data la classe "public class Persona { String nome; }" e una sua istanza p1, quali delle seguenti istruzioni è corretta: System.out.println(nome);. System.out.println(p1->nome);. System.out.println(p1.nome);. System.out.println(p1);. Per ottenere una nuova istanza di una classe non statica è necessario: Allocare la memoria con una istruzione di new. Invocare e allocare la classe. Allocare la classe. Definire la classe. Data una classe quante istanze di oggetti si possono creare?. Fino a un massimo di 10. Soltanto due. Un numero illimitato. Un numero limitato. Il codice sorgente Java che definisce una classe di nome "Prova" in quale file deve essere salvato?. Prova.exe. Prova.class. Un file di testo qualsiasi. Prova.java. Dato un insieme di classi java è conveniente: Salvare tutto in un file.doc. Salvare ogni classe in un file nomeclasse.java. Salvare ogni classe in un file estensione ".txt". Salvare ogni classe in una cartella senza estensione. Dato un insieme di classi java è conveniente: Salvare tutto in un file.doc. Salvare ogni classe in un file nomeclasse.java. Salvare ogni classe in un file estensione ".txt". Salvare ogni classe in una cartella senza estensione. Per accedere alla variabile di istanza "n" della classe "NomeClasse" si usa: n.NomeClasse.GetClassVariable. NomeClasse.n. n.NomeClasse. NomeClasse.GetName("n"). E' possibile definire dei metodi statici di classe: L'utente non può mai farlo. Inserendo il punto prima del metodo. Inserendo la parola NoDynamic prima del metodo. Inserendo il nome static prima del metodo. Data la classe Math che fa parte del package java.lang, la funzione sqrt(double a): Esegue il quadrato del valore nella variabile "a". Esegue la radice cubica del valore nella variabile "a". Arrotonda il valore del numero a virgola mobile di "a". Esegue la radice quadrata del valore nella variabile "a". Un metodo statico può essere: Invocato una sola volta. Non può mai esser invocato. Invocato senza definire un oggetto. Invocato senza programmazione dinamica. La funzione "static double cos(double a)" della classe Math restituisce: Il valore doppio della variabile a. Il coseno della variabile a. True se la variabile a contiene un valore costante. L'arcoseno della variabile a. Data una classe ed un oggetto, l'operatore instanceof consente di: Sapere se la classe è statica. Sapere se l'oggetto è statico. Sapere se sia l'oggetto che la classe sono istanze statiche. Sapere se l'oggetto è istanza della classe. Dato il seguente codice Java: String s = new String("test"); if (s instanceof String), il risultato del test dell'if è: Non si può eseguire. false. true. "test. La funzione "static double abs(double a)" della classe Math restituisce: Il valore zero se a è pari. Il valore assoluto della variabile a. Il valore zero se a è dispari. La parte decimale del valore di a. Data la funzione Java: "public void stampa() {System.out.println("Messaggio di prova");}", il metodo main "public static void main(String[] args) {stampa();}" è: Errato in quanto la funzione richiede che venga creata una istanza della classe. Corretto in quanto il main viene sempre compilato. Errato perchè il main non può chiamare una funzione pubblica. Corretto in quanto la funzione non richiede che venga creata una istanza della classe. Data la seguente porzione di codice: "Punto p = new Punto();", dove Punto è il nome di una classe, quale delle seguenti affermazioni è falsa?. p è un metodo. p è una istanza di classe. p è una istanza e si può accedere alle sue variabili. p non è un metodo. In Java un attributo e un metodo: Sono sinonimi. Sono due cose diverse. Sono intercambiabili. Sono la stessa cosa. Dato il seguente spezzone di codice Java "Punto p = new Punto();" se la classe Punto contiene due variabili accessibili x e y, allora: E' possibile accedere ad x e ad y usando p^x e p^y. E' possibile accedere ad x e ad y usando p->x e p->y. E' impossibile accedere ad x e y. E' possibile accedere ad x e ad y usando p.x e p.y. Quale delle seguenti affermazioni è corretta?. Gli attributi di una classe sono metodi che si invocano dall'esterno. Gli attributi di una classe sono delle variabili che ne rappresentano lo stato. Gli attributi di una classe sono metodi che si invocano dall'interno. Gli attributi di una classe sono metodi ricorsivi. L'istruzione Java "return Math.sqrt(x*x + y*y);" ritorna: La radice quadrata di x sommato ad y. Il quadrato di x. Il quadrato di x sommato ad y. La radice quadrata della somma dei quadrati di x e y. Data una classe di nome "Punto" ed un metodo dichiarato come "double getDistanza()": Il metodo non è invocabile. Il metodo si invoca attraverso il nome di una istanza di classe. Il metodo si invoca senza istanza di classe. Il metodo si invoca solo dall'interno della classe. In Java un attributo si definisce usando: Solo tipi definiti dagli utenti. Tipi interessanti. Tipi speciali. Tipi di base. In Java, dovendo dichiarare due variabili x e y, le due seguenti modalità: 1) "double x, y;" e 2) "double x; double y;": La modalità 1 è errata mentre la 2 è corretta. Sono entrambe errate. Sono equivalenti ma la prima modalità è sconsigliata. Sono due modalità diverse che hanno effetti differenti in memoria. In Java un costruttore di una classe: Ha lo stesso nome della classe. E' un oggetto che è obbligatorio definire. E' un sistema di costruzione degli attributi. Ha un metodo standard build. Se ci riferiamo ai costruttori, quale fra le seguenti affermazioni è falsa?. In Java un costruttore di classe ha il nome della classe. In Java un costruttore di classe si invoca nella istruzione new. In Java un costruttore di classe è sempre presente. In Java un costruttore di classe può avere parametri. Data una classe Java è possibile: Avere un costruttore che ritorna un int. Avere più costruttori. Avere due costruttori con gli stessi parametri. Avere un costruttore che ritorna un valore booleano. In una classe Java due costruttori: Si distinguono per nome. Si distinguono per il tipo di ritorno. Si distinguono per i valori che ritornano. Si distinguono per numero di parametri passati alla funzione di costruzione. In un costruttore è possibile utilizzare il comando "this" per: Riferirsi alle variabili esterne. Riferirsi ai link alle variabili e ai metodi. Riferirsi all'istanza corrente. Riferirsi agli oggetti che di collegano a questo oggetto. Si utilizzano più costruttori quando: Si vuole cambiare attributi velocemente. Si vuole avere più metodi di inizializzazione. Non si utilizzano mai. Si vuole istanziare più volte lo stesso oggetto. Se in una classe non è stato definito alcun costruttore: La classe non potrà essere compilata. Vuol dire che esiste solo il distruttore. E' considerato un errore. Non è un errore. In una classe Java "Punto", il seguente metodo "Punto() { this(0.0, 0.0); }": E' un costruttore che invoca un altro costruttore. E' errato perchè manca il tipo di ritorno. Genera un errore di compilazione. E' incompleto. Quale di queste affermazioni risulta corretta?. La parola chiave this non si usa mai all'interno della classe. La parola chiave this nel costruttore si usa per ovviare a problemi di sovrapposizione di nomi. La parola chiave this nel costruttore non si usa mai. La parola chiave this si usa solo per compilare e nel costruttore. In Java il concetto di incapsulamente serve a: Incapsulare le istanze dei dati. Nascondere il codice. Nascondere le classi. Nascondere i dettagli implementativi di un Tipo di Dato Astratto. L'incapsulamento in Java: Consente di nascondere i dati. Consente di avere classi astratte. Consente di avere diverse implementazioni. Non si usa in Java. Uno dei vantaggi dell'incapsulamento è: Evitare che i metodi di una classe possano essere invocati da classi esterne. Nascondere i metodi di una classe. Bloccare l'accesso ai costruttori di una classe. Limitare gli effetti derivanti dalle eventuali modifiche future ad un sistema software. Per implementare l'incapsulamento in Java: Si evita l'accesso diretto alla classe da parte di classi esterne. Si evita l'accesso diretto ai metodi da parte del sistema operativo. Si evita l'accesso diretto ai metodi della classe da parte di classi esterne. Si evita l'accesso diretto agli attributi della classe da parte di classi esterne. Cosa possiamo dire della visibilità di una variabile in Java?. E' visibile solo nei blocchi di codice che contengono il blocco in cui è dichiarata. E' visibile solo nel blocco in cui è stata dichiarata e nei blocchi in esso contenuti. E' visibile solo dal metodo main. E' visibile solo dai metodi che sono figli della classe di appartenenza. Una variabile dichiarata in un ciclo for è disponibile: Solo all'esterno del ciclo for e nel metodo. Solo all'esterno della classe e del ciclo for. Solo all'interno del ciclo for. Solo all'interno del main e nella classe. Una variabile locale ad un metodo: Si vede dal punto in cui viene dichiarata fino alla fine del blocco del metodo. Si vede nel metodo e nella classe a cui appartiene. Si vede al di fuori del blocco di codice in cui è stata dichiarata. Si vede dal punto in cui l'istanza viene creata con la new fino alla fine del programma che la contiene. In Java si usano le eccezioni: Per gli errori in fase di compilazione. Solo per gestire gli errori di input/output da tastiera. Per gli errori in fase di scrittura. Per gli errori a run time per evitare interruzioni inattese del codice. Nel codice Java "catch (NumberFormatException ex) {...}" la variabile "ex": Indica una istanza di un metodo di emergenza. Indica una istanza di salvataggio del codice. Indica una istanza dell'errore che viene passata da chi genera l'errore. Indica una istanza di variabile per stampare messaggi a schermo. Quale delle seguenti affermazioni è certamente falsa?. java.lang.Exception è la classe che gestisce gli errori a run time. java.lang.Exception serve a scrivere codice in modo eccezionalmente efficiente. java.lang.Exception è inclusa nelle API di Java. Le eccezioni sono sottoclassi di java.lang.Exception. Il seguente metodo: "public int f(int num) throws DivisionePerZero {...}": Evita che venga generato un errore dal metodo. Solleva sempre un errore di DivisionePerZero al chiamante. Notifica sempre un errore al chiamante. Solleva un errore di DivisionePerZero per qualche input. Il blocco catch {...} serve a: Non serve in Java. Invoca il modulo di scrittura a schermo. Scrivere metodi per gestire gli errori di compilazione. Scrivere codice che gestisca l'eccezione a tempo di esecuzione. L'istruzione throw si usa per: Lanciare un metodo a tempo di compilazione. Lanciare una eccezione in modo programmatico. Gestire gli errori di compilazione. Bloccare il programma ed uscire. Il blocco try catch serve a: Provare ad agganciare un errore a tempo di compilazione. Agganciare un errore e gestirlo nel proprio codice. Agganciare gli errori di input output. Provare a scrivere meglio il codice. In Java la classe Exception: Serve a segnalare eccezioni di compilazione. Non si usa. Serve a definire dei metodi eccezionali. Serve a catturare gli errori come oggetto istanza della classe eccezione. Nell'ereditarietà delle classi: Una classe si estende mentre una interfaccia non si usa. Una classe si implementa (implements) mentre una interfaccia si estende (extends). Una classe si estende (extends) mentre una interfaccia si implementa (implements). Una classe si estende mentre una superclasse non può essere usata. In Java le classi che implementano una interfaccia: Possono implementare tutti i metodi dell'interfaccia. Devono implementare tutti i metodi dell'interfaccia. Non implementano tutti i metodi dell'interfaccia. Implementano alcuni i metodi dell'interfaccia. In una interfaccia Java i metodi: Contengono instruzioni astratte. Non contengono istanze. Non contengono istruzioni. Contengono parametri. Una interfaccia in Java: Non può mai essere instanziata. Si può sempre istanziare. Si può istanziare ma solo nel metodo main(). Non si può mai istanziare tranne che nel metodo main(). Quale dei seguenti esempi rappresenta la definizione di una interfaccia in Java?. private extends MiaInterfaccia. public MiaInterfaccia. public extends MiaInterfaccia. public interface MiaInterfaccia. Cosa è vero se ci si riferisce all'ereditarietà multipla in Java?. Non esiste in Java. Una classe può avere più superclassi. Si implementa tramite l'uso di interfacce. Una classe può avere una e una sola sottoclasse. Data una classe Java Persona e le interfaccie Cantante e Vip, quali fra le seguenti definizioni della classe CantanteVip è la più corretta?. public class CantanteVip extends Vip implements Persona, Cantante {...}. public class CantanteVip implements Persona, Cantante, Vip {...}. public class CantanteVip extends Persona implements Cantante, Vip {...}. public class CantanteVip extends Cantante implements Persona, Vip {...}. Tutti i metodi di una interfaccia: Devono essere privati. Devono essere pubblici. Devono essere implementati. Devono essere liberi. Dato un oggetto P di una classe C, a seguito dell'operazione "p=null;" si ottiene che: Lo spazio di memoria occupato dall'oggetto p viene marcato come da conservare. Lo spazio di memoria di p contiene 0. Vengono settati a null tutti gli attributi dell'oggetto p. Lo spazio di memoria occupato dall'oggetto p viene marcato come da cancellare. L'errore "error: variable p might not have been initialized" si genera se: La variabile p punta a dati non azzerati. La variabile p potrebbe non essere stata inizializzata. La variabile p non esiste. La variabile p esiste ma non ha dati diversi da zero. L'errore "java.lang.NullPointerException" si genera: Se un oggetto contiene troppi dati. Se i puntatori degli oggetti si incrociano. Quando un oggetto è stato allocato ma gli attributi sono vuoti. Se si cerca di accedere ad una variabile che è stata associata a null. Le seguenti istruzioni in Java: Persona p=null; p.nome="Mario"; provocano: Un errore perchè p non punta ad alcuna locazione di memoria. Nessun effetto perchè p non esiste in memoria. La memorizzazione della stringa "Mario" alla variabile nome di p. L'associazione di null alla variabile nome di p. Il Garbage Collector della Java Virtual Machine: Interviene quando si compila un programma. Interviene per liberare la memoria dopo che ad un oggetto viene assegnato null. Interviene quando si esegue un programma. Interviene per liberare la memoria dopo che termina un programma. In Java, quando si assegna il valore null ad un oggetto: Esso non esiste in memoria. Viene salvato come valore zero. Viene salvato come valore -1. Viene salvato come valore speciale e memorizzato nella locazione di memoria dell'oggetto. Una stringa String s che non è inizializzata: Contiene un valore nullo memorizzato in memoria. Non esiste come variabile e non può essere usata. Contiene un valore nullo ovvero non esiste in memoria. Non si può usare perchè vuota. In Java, relativamente ai valori nulli, le variabili definite come tipi complessi: Possono contenere valori nulli. Non possono contenere valori nulli. Possono contenere esclusivamente valori nulli. Possono contenere solo valori nulli. Dove si trovano le funzioni della classe Math?. Nel package java.hello. Nel package java.lang. Nel package java.Geometry. Nel package java.io. In Java un package. E' un pacchetto di strumenti per stampare. E' un pacchetto di variabili. E' uno strumento per raggruppare classi che abbiano una qualche similarità. E' uno strumento per raggruppare variabili. La sintassi gerarchica di un package Java è: dominio1.dominio2.dominio3. dominio1.Link.dominio2.Link.dominio3... dominio1/dominio2/dominio3... dominio1->dominio2->dominio3... Un package si può utilizzare nel proprio codice usando la direttiva: define. export. import. use. Le classi del package java.lang: Sono importate automaticamente. Sono inutili. Sono rilevanti. Vanno importate dall'utente. Un package "miopackage" si definisce all'inizio del codice con la dicitura: package newpackage miopackage. package miopackage. miopackage package. package new miopackage. Per importare tutte le classi al package "miopackage" si usa: import All miopackage. import miopackage.*. import miopackage. import All class in miopackage. In relazione ai package, un programmatore può: Importare solo package che non siano i suoi. Definire ma non includere un proprio package. Definire ma non usare un proprio package. Definire ed usare un proprio package. A cosa servono i modificatori di accesso?. A stabilire la correttezza di un attributo o di un metodo. A stabilire le politiche di visibilità di un attributo o di un metodo. A modificare l'accesso di un attributo ma non di un metodo. A verificare le politiche di visibilità di un attributo o di un metodo. Come si definisce in Java la politica di accesso di un metodo?. Verificandone la correttezza formale. Con l'indice di livello del metodo. Con le politiche di programmazione. Con un modificatore di accesso. A cosa serve la visibilità public?. A inibire l'accesso di un metodo alle sottoclassi. A rendere accessibile il metodo main al Sistema Operativo. A pubblicare un metodo in un package. A inibire l'accesso di un metodo alla superclasse. Per quale motivo si usa il livello di visibilità private?. Per rendere metodi e attributi inaccessibili anche dalla classe che li contiene. Per rendere attributi accessibili solo dalle sottoclassi. Per rendere metodi inaccessibili e incapsulare attributi. Per rendere metodi accessibili solo da classi dello stesso package. Per quale motivo si usa il livello di visibilità protected?. Per permettere l'accesso ad attributi e metodi anche alle sottoclassi. Per permettere l'accesso solo da classi dello stesso package. Per proteggere l'accesso di metodi e attributi da parte di tutte le altre classi. Per rendere metodi accessibili solo da classi dello stesso package. Per quale motivo si usa il livello di visibilità package?. Per permettere l'accesso solo da classi dello stesso package. Per rendere metodi inaccessibili e incapsulare attributi. Per rendere package inaccessibili. Per permettere l'accesso ad attributi e metodi anche alle sottoclassi. Nel linguaggio Java esiste la possibilità di rendere una risorsa non accessibile anche alla classe cui appartiene?. No. Si. Dipende dal contesto. Nessuna risposta è quella corretta. Quanti sono e con quale parola chiave si indicano i livelli di visibilità in Java?. Sono 4, indicati con "public", "private", "protected" e "". Sono 2, indicati con "public" e "private". Sono 3, indicati con "public", "private" e "protected". Sono 4, indicati con "public", "private", "protected" e "package". Il metodo "public boolean equals(Object obj)": Ritorna 0 se l'oggetto passato come parametro è uguale a quello corrente. Ritorna false se l'oggetto passato come parametro è uguale a quello corrente. Ritorna true se l'oggetto passato come parametro è uguale a quello corrente. Ritorna 1 se l'oggetto passato come parametro è uguale a quello corrente. La classe Object di Java fa parte di: Del package java.input. Del package java.lang. Del package java.output. Di nessun package. La funzione "public String toString()" cosa fa?. Ritorna una rappresentazione in formato float dell'oggetto. Ritorna una rappresentazione in formato stringa dell'oggetto. Ritorna una rappresentazione in formato intera dell'oggetto. Ritorna una rappresentazione in formato double dell'oggetto. L'espressione "!(obj instanceof NomeClasse)": Genera un errore se obj è una istanza della classe NomeClasse. Ritorna true se obj è una istanza della classe NomeClasse. Ritorna sempre false. Ritorna false se obj è una istanza della classe NomeClasse. Per definire un ordinamento esiste l'interfaccia Comparable. Per usarla bisogna: Definire oggetti dell'interfaccia. Implementare i metodi dell'interfaccia. Istanziare oggetti dell'interfaccia. Usare i metodi dell'interfaccia. La funzione "protected Object clone()" della classe Object: Crea e ritorna un puntatore all'oggetto. Crea e ritorna una copia degli oggetti in memoria. Crea e ritorna una copia di tutti gli Object. Crea e ritorna una copia di questo oggetto. La funzione della classe oggetto "int compareTo(Object o)": Ritorna false se l'oggetto su cui si invoca il metodo non è uguale a "o". Ritorna uno se l'oggetto su cui si invoca il metodo è uguale a "o". Ritorna uno se l'oggetto su cui si invoca il metodo è maggiore di "o". Ritorna true se l'oggetto su cui si invoca il metodo è uguale a "o". Il metodo "protected void finalize()" è chiamato: dal Garbage Collector quando esso rileva che l'oggetto corrente non è più raggiungibile. dal compilatore quando esso rileva che l'oggetto corrente non è più raggiungibile. dal Sistema Operativo quando esso rileva che l'oggetto corrente non è più raggiungibile. dall'utente quando esso rileva che l'oggetto corrente non è più raggiungibile. Il metodo Math.random(): Genera numeri double pseudocasuali fra 0 e 1. Genera numeri double pseudocasuali fra 1 e 10. Genera numeri interi pseudocasuali fra 0 e 1. Genera numeri interi pseudocasuali fra 1 e 10. E' possibile generare numeri casuali: usando esclusivamente hardware. sia usando algoritmi software che, in alcuni casi, usando hardware. usando esclusivamente codice scritto dall'utente. usando esclusivamente codice del sistema operativo. Come si possono generare numeri pseudocasuali in Java?. Si può utilizzare la classe RandomNumber. Si può utilizzare sia la classe Random che la classe Math. Si può utilizzare il metodo Math.pseudorandom(). Si può utilizzare la classe PseudoRandom. Quali sono le proprietà che deve soddisfare una sequenza di numeri pseudocasuali?. devono essere indipendenti. devono essere distribuiti uniformemente e devono essere indipendenti fra di loro. devono essere distribuiti in modo costante. devono essere generati uno di seguito all'altro nell'intervallo di definizione. Considerando l'intervallo [1,10], la sequenza di numeri {1,2,3,4,5,6,7,8,9,10} non è pseudocasuale perchè. non soddisfa la proprietà di indipendenza fra i numeri. i numeri sono interi e non double. i numeri non sono distribuiti equamente nell'intervallo. i numeri non sono sufficientemente casuali. La classe Random: genera numeri pseudocasuali solo interi. genera numeri pseudocasuali solo interi e solo nell'intervallo [0,n]. genera numeri pseudocasuali solo double. genera numeri pseudocasuali interi e double. Da cosa è generato un numero pseudocasuale?. da un algoritmo ricorsivo. da un algoritmo deterministico. da un algoritmo casuale. da un algoritmo random. Quali caratteristiche ha un numero pseudocasuale?. ha proprietà sia ricorsive che iterative. ha proprietà numeriche di tipo esponenziale. ha proprietà statistiche simili a quelle di un processo casuale. ha proprietà sia simmetriche che transitive. |