ERASED TEST, YOU MAY BE INTERESTED ON fondamenti informatica 25-56 ecampus
|
---|
TAKE THE TEST
![Add to favorites Add to favorites](/images/corazon2.png)
Title of test:
fondamenti informatica 25-56 ecampus Description: test fondamenti informatica Author: saso305 Other tests from this author Creation Date: 02/07/2024 Category: University Number of questions: 185 |
Share the Test:
![Facebook Facebook](/images/RS1N.png)
![Twitter Twitter](/images/RS4N.png)
![Whatsapp Whatsapp](/images/RS7N.png)
New Comment
No comments about this test.
Content:
"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. |
Report abuse