Compito B - L.Int.Ar

annuncio pubblicitario
1
1.1
Domande di teoria – Compito B
Domanda A
Il risultato della compilazione di un programma Java è un file eseguibile? Giustificare la risposta.
1.2
Domanda B
Quali sono le componenti che gestiscono la comunicazione del sistema operativo
con le periferiche?
1
2
Verifica comprensione Java – Compito B
1. Dato il seguente frammento di codice:
int n=1, m=2;
double x=4, y=5;
boolean t = true;
Quale dei seguenti assegnamenti è valido?
◦ m = y + n * x
◦ nessuno di quelli proposti
◦ x = n / m * y
◦ n = 3.1 + m
◦ t = n % m
2. Qual’è il valore della seguente espressione:
5 + 44 ∗ (3/12) − 2 ∗ (3 + 2)
◦ -5
◦ non compila
◦ 6
◦ nessuno di quelli proposti
3. Si consideri il seguente frammento di codice:
int x = 8,y = 2;
int tmp=x;
y--;
while (???) { x = x*tmp; y = y-1; }
System.out.println(x);
Quale condizione deve essere inserita al posto di ??? perché venga stampata su output l’elevamento di x alla potenza di y?
◦ x >= 0
◦ y>0
◦ x<y
◦ x>0
◦ y >= 0
2
4. Dopo l’esecuzione del frammento di codice
int[] x = {2,1,4,2,4,0};
int i = 0;
while (i < x.length){
x[i] = x[x[i]]-1;
i++;
}
qual e’ il contenuto dell’array x?
◦ 432167
◦ 303232
◦ 327641
◦ 216530
5. Dato il seguente programma
public class A {
public static int metodo1(int attributo1, int attributo2) {
attributo1=attributo2-1;
return 3;
}
public static int metodo2(int attributo1, int attributo2) {
if (attributo1>attributo2)
return attributo1;
else
return attributo2;
}
public static void main(String args[]) {
int attributo1 = 6;
int attributo2 = 5;
int x = A.metodo1(attributo1,attributo2);
int y = A.metodo2(attributo1,attributo2);
System.out.println(x+y);
}
}
che cosa viene stampato a video?
◦ 9
◦ 36
◦ 34
◦ non compila
3
6. Dato il seguente programma
public class A {
public static void metodo1(int[] b)
{
???
}
public static void metodo2(int[] a) {
int temp;
temp = a[0];
a[0] = a[2];
a[2] = temp;
}
public static void main(String args[]) {
int[] a = {8, 7, 6};
A.metodo1(a);
A.metodo2(a);
System.out.println(a[0]+" " + a[1] + " " + a[2]);
}
}
che istruzione va sostituita al posto di ??? per ottenere come output “6 7
13”?
◦ b[0] = b[1] + b[2];
◦ b[1] = b[2] + b[0];
◦ non c’è modo di ottenere l’output indicato
◦ a[0] = a[1] + a[2];
4
3
Esercizio programmazione Java – Compito B
Si realizzi un programma che, dato un array di interi:
• calcoli la media dei numeri contenuti nell’array;
• individui i numeri maggiori della media, li inserisca in un opportuno array
e lo visualizzi.
Le due operazioni sopraindicate devono essere realizzate tramite opportuni
metodi, ed è inoltre richiesta la realizzazione di un diagramma di flusso di almeno
uno di tali metodi.
5
Scarica