programmazione
tecnologia
sistemi
inglese (traduzioni)
matematica
100

printf("%d", 'A');

cosa stampa questa linea di codice?

stampa "65".

100

in binario, il numero 101101101 è pari o dispari?

è dispari, ma se hai calcolato il numero in decimale -1,000 punti

100

per cosa stanno gli acronimi "IP" e "TCP"?

internet protocol, transmission/transport control protocol. 

-100 pts per 0/2, 0 pts per 1/2, +100 pts per 2/2.

100

GB to IT:

"we didn't know you could hear us from there"

"non sapevamo che potessi sentirci da lì"

(tempo verbale DEVE essere congiuntivo, il verbo DEVE essere "sentire" e NESSUN ALTRO)

100

qual è la funzione inversa di 2x?

log2x. a voce, "logaritmo in base due di ics".

200

a cosa serve "fflush(stdin);" in c, anche se considerato obsoleto?

nell'input di caratteri o stringhe, serve ad evitare che un carattere stampato prima dell'input venga interpretato come l'input saltando completamente l'inserimento da tastiera

200

con le tue due mani, fino a quanto puoi contare? (le dita possono solo essere o completamente giù o completamente su)

arrivi fino a 1,023 con tutte le dita su. è valida anche come risposta "2^10 - 1".

200

cos'è e a cosa serve una subnet mask? cosa filtra e cosa tiene?

è un numero da 32 bit diviso in due porzioni: network e host. esso "fa passare" l'indirizzo network e filtra il numero dell'host, per determinare se degli host sono sulla stessa rete locale

200

IT to GB:

"ieri lei ha deciso di abbandonare il suo lavoro".

"yesterday she decided to quit her job".

(deve essere ESATTAMENTE così, non deve cambiare una singola lettera o ordine di parole)

200

risolvi per x (60 secondi max):

|x2 + 36| = (x - 6)2 + 12x

∀ x ∈ R

300

correggi il seguente codice:

printf("%c", "p");

per stampare la lettera "p" a schermo.

(una delle due è sufficiente)

1. printf("%c", 'p'); // singolo apice, non virgolette

2. printf("%s", "p"); // stampa "p" come stringa

300

cosa significano "preemptive" e "non-preemptive"? fornisci un esempio per entrambi

un processo P può essere interrotto e poi ripreso dal punto di interruzione. se è N-P non può essere interrotto e ripreso. 200 pts per definizione, 100 per gli esempi

300

a cosa serve il carry bit nel linguaggio assembly? 

è il bit 0/1 che indica se in un'operazione binaria è presente il riporto. per esempio, 1 + 1 attiverà il carry bit (1 + 1 = 10)

300

IT to GB:

"basta morire, sei completamente inutile"

"stop dying, you're completely useless"

(deve essere ESATTAMENTE così, non deve cambiare una singola lettera o ordine di parole)

300

le funzioni y = x2 e y = x3 sono invertibili? perché?

x2 no, perché non è iniettiva, cioé un risultato può uscire da più di un'entrata (per esempio, y = 4 quando x = 2 oppure x = -2).

x3 sì, è iniettiva, perché i numeri negativi elevati ad esponenti dispari risultano ancora negativi.

400

fornisci il codice (o pseudocodice) per stampare l'intero alfabeto in minuscolo in questo formato:

a b c d e f g ... x y z

int i; for(i = 0; i < 26; i++) printf("%c ", i + 97);

oppure

char c; for(c = 'a'; c <= 'z'; c++) printf("%c ", c);


400

nel comando di linux "chmod", qual è il numero per dare direttamente tutti e tre i permessi a tutti? (200 pts). perché proprio quel numero? (200 pts).

777 in ottale. è proprio questo perché per i tre tipi di utente, ci sono tre permessi. in binario si traduce in "111 111 111", cioé "tutti e tre accesi per tutti e tre i tipi di utente".

400

le porte logiche possono essere rappresentate con operazioni matematiche. esempi:

A and B -> A * B
A or B -> A + B.

come rappresenteresti "not A"?
 

1 - A. 

se A = 1, 1 - 1 = 0;
se A = 0, 1 - 0 = 1.

400

IT to GB:

"gli piacciono ancora i cartoni animati? è infantile"

"he still likes cartoons? that's childish"

metà punteggio (200 pts) se hai detto "does he still like cartoons? that's childish", perché questa non è una domanda vera e propria, è un'affermazione con tono di domanda

400

risolvi per TUTTE le x (risposta precisa):

cos2x = 1/4

x = ±π/3 + kπ, k ∈ Z.

sono accettate anche risposte separate:
x = π/3 + 2kπ, 2π/3 + 2kπ, 4π/3 + 2kπ, 5π/3 + 2kπ, k ∈ Z.

500

int main(int argc, char *argv[]){}

cos'è argv, e perché è dichiarato come "char *[]"?

(punti: 0/2: -500, 1/2: 0, 2/2: +500)

argv sta per "argument vector", è un puntatore che indica gli argomenti passati al programma sulla linea di comando al lancio. "char *[]" significa "array di stringhe".

500

che numero è in floating point IEEE 754 single-precision 32 bit:

1 11111111 11111111111111111111111 

Not a Number. quando l'esponente è 255 (8 volte 1) e la mantissa non è = 0, ciò che è rappresentato è considerato NaN, cioé non un numero reale.

500

elenca i GPR (general-purpose registers) per sigla, il loro "nome completo" e la loro funzione. 

punti: si parte da -500 e si aggiunge 250 per registro elencato correttamente.

AX - accumulator - operazioni aritmetiche
BX - base - indirizzamento della memoria
CX - counter - gestione dei loop e rotazioni
DX - data - indirizzamento input/output

500

IT to GB:

"deve davvero andare a piedi? sta piovendo a catinelle".

"does he really have to go on foot? it's raining cats and dogs".

(400 pts per la grammatica, 100 pts per il modo di dire "raining cats and dogs").

500

risolvi per x:

x3 = -1. 

le soluzioni sono 3.

x1 = -1

x2 = 1/2 + √3i/2

x3 = 1/2 - √3i/2

(dare solo la prima risposta è invalido, -500 pts.)