Questionario Python PDF
Document Details
Uploaded by Deleted User
Tags
Summary
Il documento contiene domande su concetti di base di programmazione Python, focalizzandosi su argomenti come memoria, CPU, strutture dati (liste, dizionari, insiemi) e stringhe.
Full Transcript
## QUESTIONARIO PYTHON ### In una memoria ad accesso casuale * i dati possono essere soltanto letti * i dati possono essere soltanto scritti * il tempo d'accesso ai dati non dipende dall'indirizzo della cella in cui sono memorizzati * il tempo d'accesso ai dati dipende in modo casuale dall'indiriz...
## QUESTIONARIO PYTHON ### In una memoria ad accesso casuale * i dati possono essere soltanto letti * i dati possono essere soltanto scritti * il tempo d'accesso ai dati non dipende dall'indirizzo della cella in cui sono memorizzati * il tempo d'accesso ai dati dipende in modo casuale dall'indirizzo della cella in cui sono memorizzati ### Nel modello di von Neumann, l'unita' di controllo della CPU * non e' presente * costituisce uno dei quattro blocchi collegati al bus * e' una parte di uno dei quattro blocchi collegati al bus * si trova nel bus ### Nella CPU, il contatore di programma (program counter) * contiene l'indirizzo dell'istruzione da eseguire * contiene il numero di istruzioni eseguite dalla CPU * contiene il numero di istruzioni che la CPU deve ancora eseguire * contiene il risultato dell'ultima operazione aritmetica eseguita dalla ALU ### Quale delle seguenti caratteristiche e' vera per la memoria secondaria? * mantiene l'informazione anche quando il calcolatore e' spento * la CPU puo' elaborare direttamente i dati che vi sono contenuti * e' piu' veloce della memoria principale * nessuna delle altre risposte e' corretta ### Quale di questi dispositivi fa parte della "memoria secondaria" ? * La memoria RAM * Il disco fisso (hard disk) * La memoria EPROM * La tastiera ### Quale, tra i seguenti, e' il dispositivo di memoria avente maggiore capacita' (considerando i rispettivi valori "tipici")? * Floppy disk * CD * Hard disk * DVD ### Un indirizzo di memoria * rappresenta il contenuto di una cella di memoria * e' una stringa di lettere * rappresenta il numero totale delle celle di memoria * individua univocamente una singola cella di memoria ### Cosa visualizza l'esecuzione del seguente frammento di codice? ```python s = "12345" print(s[1], s[3]) ``` * 24 (con uno spazio interposto tra le due cifre) * 24 (senza spazi interposti tra le due cifre) * 12 (con uno spazio interposto tra le due cifre) * 13 (senza spazi interposti tra le due cifre) * nessuna delle altre risposte e' corretta ### Cosa visualizza l'esecuzione del seguente frammento di codice? ```python s = "12345" print(s[1:4]) ``` * 24 (senza spazi interposti tra le due cifre) * 12 (con uno spazio interposto tra le due cifre) * 13 (senza spazi interposti tra le due cifre) * nessuna delle altre risposte e' corretta ### Il confronto lessicografico di due stringhe richiede sempre un numero di confronti tra coppie di caratteri * non minore della lunghezza della stringa piu' lunga * non minore della lunghezza della stringa piu' corta * non minore della somma delle lunghezze delle due stringhe * nessuna delle altre risposte e' corretta ### Il confronto lessicografico di due stringhe richiede sempre un numero di confronti tra coppie di caratteri * non maggiore della lunghezza della stringa piu' lunga * non maggiore della lunghezza della stringa piu' corta * non maggiore della somma delle lunghezze delle due stringhe * nessuna delle altre risposte e' corretta ### Se x è una variabile contenente un valore numerico, quando è vera l'espressione not(x < 0 or x > 10)? * mai, per nessun valore di x * quando x ha un valore compreso tra 0 e 10, estremi inclusi * sempre, per qualsiasi valore di x * quando x ha un valore compreso tra 0 e 10, estremi esclusi * nessuna delle altre risposte e' corretta ### Se x è una variabile contenente un valore numerico, quando è vera l'espressione not(x < 10 or x > 0) ? * sempre, per qualsiasi valore di x * quando x ha un valore compreso tra 0 e 10, estremi inclusi * mai, per nessun valore di x * quando x ha un valore compreso tra 0 e 10, estremi esclusi * nessuna delle altre risposte e' corretta ### Se x è una variabile contenente un valore numerico, quando è vera l'espressione not(x < 0 and x > 10)? * sempre, per qualsiasi valore di x * mai, per nessun valore di x * quando x ha un valore compreso tra 0 e 10, estremi inclusi * quando x ha un valore compreso tra 0 e 10, estremi esclusi * nessuna delle altre risposte e' corretta ### se x è una variabile contenente un valore numerico, quando è vera l'espressione not(x < 10 and x > 0) ? * mai, per nessun valore di x * sempre, per qualsiasi valore di x * quando x ha un valore compreso tra 0 e 10, estremi esclusi * nessuna delle altre risposte e' corretta ### The correct answer is: nessuna delle altre risposte e' corretta ### Se x e y sono due variabili che contengono stringhe, la valutazione dell'espressione x < y restituisce True se e solo se la stringa y * precede la stringa x nell'ordinamento lessicografico * precede la stringa x nell'ordinamento alfabetico * segue la stringa x nell'ordinamento alfabetico * nessuna delle altre risposte e' corretta ### Se x e y sono due variabili che contengono stringhe, la valutazione dell'espressione x < y restituisce True se e solo se la stringa y * precede la stringa x nell'ordinamento lessicografico * precede la stringa x nell'ordinamento alfabetico * segue la stringa x nell'ordinamento alfabetico * segue la stringa x nell'ordinamento lessicografico * nessuna delle altre risposte e' corretta ### Se x e y sono due variabili che contengono stringhe, la valutazione dell'espressione x < y restituisce True se e solo se la stringa x * segue la stringa y nell'ordinamento lessicografico * segue la stringa y nell'ordinamento alfabetico * precede la stringa y nell'ordinamento alfabetico * nessuna delle altre risposte e' corretta ### Se x e y sono due variabili che contengono stringhe, la valutazione dell'espressione x < y restituisce True se e solo se la stringa x * segue la stringa y nell'ordinamento lessicografico * segue la stringa y nell'ordinamento alfabetico * precede la stringa y nell'ordinamento alfabetico * precede la stringa y nell'ordinamento lessicografico * nessuna delle altre risposte e' corretta ### L'esecuzione del seguente frammento di codice ```python greet = 'ciao' x = greet.upper() ``` * provoca la memorizzazione di 'CIAO' nella variabile greet * provoca la memorizzazione di 'CIAO' sia nella variabile greet sia nella variabile x * provoca la memorizzazione di 'CIAO' nella variabile x, senza modificare il contenuto della variabile greet * si interrompe per un errore di sintassi ### L'esecuzione del seguente frammento di codice ```python s = "xxx" for i in range(3): print(s[i], end="") ``` * stampa xxx e termina correttamente * stampa xx e termina correttamente * termina con l'errore IndexError * nessuna delle altre risposte e' corretta ### L'esecuzione del seguente frammento di codice ```python s = "XXX" for i in range(3): if i % 2 == 1: print(s[i], end="") ``` * stampa xxx e termina correttamente * stampa xx e termina correttamente * termina con l'errore IndexError * nessuna delle altre risposte e' corretta ### L'esecuzione del seguente frammento di codice ```python S = "XXX" for i in range(3): if i % 2 == 0: print(s[i], end="") ``` * stampa xxx e termina correttamente * stampa xx e termina correttamente * termina con l'errore IndexError * nessuna delle altre risposte e' corretta ### L'esecuzione del seguente frammento di codice ```python s = "xxx" for i in range(4): print(s[i], end="") ``` * stampa xxx e termina correttamente * stampa xx e termina correttamente * termina con l'errore IndexError * nessuna delle altre risposte e' corretta ### L'esecuzione del seguente frammento di codice ```python s = "xxx" for i in range(4): if i % 2 == 0: print(s[i], end="") ``` * stampa xxx e termina correttamente * stampa xx e termina correttamente * termina con l'errore IndexError * nessuna delle altre risposte e' corretta ### esecuzione del seguente frammento di codice ```python s = "XXX" i = 0 while i <= 3 : print(s[i], end="") i += 1 ``` * stampa xxx e termina correttamente * stampa xx e termina correttamente * termina con l'errore IndexError * nessuna delle altre risposte e' corretta ### esecuzione del seguente frammento di codice ```python S = "XXX" i = 0 while i <= 3: if i % 2 == 0: print(s[i], end="") i += 1 ``` * stampa xxx e termina correttamente * stampa xx e termina correttamente * termina con l'errore IndexError * nessuna delle altre risposte e' corretta ### L'esecuzione del seguente frammento di codice ```python s = "xxx" i = 0 while i <= 3: if i % 2 == 1: print(s[i], end="") i += 1 ``` * stampa xxx e termina correttamente * stampa xx e termina correttamente * termina con l'errore IndexError * nessuna delle altre risposte e' corretta ### L'esecuzione del seguente frammento di codice ```python s = "xxx" i = 0 while i < 3: if i % 2 == 1: print(s[i], end="") i += 1 ``` * stampa xxx e termina correttamente * stampa xx e termina correttamente * termina con l'errore IndexError * nessuna delle altre risposte e' corretta ### L'esecuzione del seguente frammento di codice ```python s = "XXX" i = 0 while i < 3: print(s[i], end="") i += 1 ``` * stampa xxx e termina correttamente * stampa xx e termina correttamente * termina con l'errore IndexError * nessuna delle altre risposte e' corretta ### L'esecuzione del seguente frammento di codice ```python s = "xxx" i = 0 while i < 3: if i % 2 == 0: print(s[i], end="") i += 1 ``` * stampa xxx e termina correttamente * stampa xx e termina correttamente * termina con l'errore IndexError * nessuna delle altre risposte e' corretta ### L'esecuzione del seguente frammento di codice ```python s = '012345' i = 0 while i < len(s) : s = s[i:] i += 1 print(s) ``` * visualizza 345 * visualizza 45 * visualizza 012 * nessuna delle altre risposte e' corretta ### L'esecuzione del seguente frammento di codice ```python s = '012345' i = 0 while i < len(s): s = s[:i] i += 1 print(s) ``` * visualizza 345 * visualizza 45 * visualizza 01 * nessuna delle altre risposte e' corretta ### Il confronto lessicografico di due stringhe, nel caso migliore, richiede un numero di confronti tra coppie di caratteri * uguale alla lunghezza della stringa piu' lunga * uguale alla lunghezza della stringa piu' corta * uguale alla somma delle lunghezze delle due stringhe * nessuna delle altre risposte e' corretta ### Il confronto lessicografico di due stringhe, nel caso peggiore, richiede un numero di confronti tra coppie di caratteri * uguale alla lunghezza della stringa piu' lunga * uguale alla lunghezza della stringa piu' corta * uguale alla somma delle lunghezze delle due stringhe * nessuna delle altre risposte e' corretta ### In una memoria ad accesso casuale * i dati possono essere soltanto letti * i dati possono essere soltanto scritti * il tempo d'accesso ai dati dipende in modo casuale dall'indirizzo della cella in cui sono memorizzati * nessuna delle altre affermazioni e' corretta ### Qual e' il contenuto della lista b al termine dell'esecuzione di questo programma? ```python b = [1, 2, 3, 4, 5] i = 4 while i > 0: b[i] = b[i - 1] i -= 1 ``` * [1, 1, 2, 3, 4] * [0, 1, 2, 3, 4] * [5, 5, 5, 5, 5] * nessuna delle altre risposte e' corretta ### Qual e' il contenuto della lista b al termine dell'esecuzione di questo programma? ```python b = [1, 2, 3, 4, 5] i = 1 while i < len(b): b[i] = b[i - 1] i += 1 ``` * [1, 1, 2, 3, 4] * [0, 1, 2, 3, 4] * [1, 1, 1, 1, 1] * nessuna delle altre risposte e' corretta ### Qual e' il contenuto della lista b al termine dell'esecuzione di questo programma? ```python b = [1, 2, 3, 4, 5] i = 1 while i < len(b): b[i-1] = b[i] i += 1 ``` * [1, 1, 2, 3, 4] * [0, 1, 2, 3, 4] * [1, 1, 1, 1, 1] * nessuna delle altre risposte e' corretta ### Quale delle seguenti caratteristiche e' vera per la memoria di massa? * la CPU puo' elaborare direttamente i dati che vi sono contenuti * e' piu' veloce della memoria principale * mantiene l'informazione anche quando il calcolatore e' spento * nessuna delle altre risposte e' corretta ### Quale di questi dispositivi fa parte della "memoria di massa"? * La memoria RAM * Il disco fisso (hard disk) * La memoria EPROM * La tastiera ### Se a e b sono variabili che contengono liste ed e' vero che a+b != b+a, puo' essere vero che a == b ? * No * Si * Si ma solo se sono liste di numeri * Si ma solo se sono liste di stringhe ### Se a e b sono variabili che contengono liste ed e' vero che a+b == b+a, e' necessariamente vero che a == b? * No * Si * Si ma solo se sono liste di numeri * Si ma solo se sono liste di stringhe ### Se a e b sono variabili che contengono liste ed e' vero che a+b == b+a, puo' essere vero che a != b ? * No * Si * Si ma solo se sono liste di numeri * Si ma solo se sono liste di stringhe ### Quale affermazione e' corretta, usando i tipi predefiniti in Python? * una tupla di stringhe puo' far parte di un insieme * una lista di stringhe puo' far parte di un insieme * un insieme di stringhe puo' far parte di un insieme * nessuna delle altre affermazioni e' corretta ### Quale affermazione e' corretta, usando i tipi predefiniti in Python? * una tupla di stringhe puo' svolgere il ruolo di chiave in un dizionario * una lista di stringhe puo' svolgere il ruolo di chiave in un dizionario * un insieme di stringhe puo' svolgere il ruolo di chiave in un dizionario * nessuna delle altre affermazioni e' corretta ### L'espressione canonica [^p]*p[^p]*p.* descrive l'insieme di stringhe (non contenenti il carattere ) composto da * tutte e sole le stringhe che contengono esattamente due lettere p non consecutive * tutte e sole le stringhe che contengono esattamente due lettere p, anche consecutive * tutte e sole le stringhe che contengono almeno due lettere p * nessuna delle altre affermazioni e' corretta ### L'espressione canonica [^p]*p[^p]*p[^p]* descrive l'insieme di stringhe composto da * tutte e sole le stringhe che contengono esattamente due lettere p non consecutive * tutte e sole le stringhe che contengono esattamente due lettere p, anche consecutive * tutte e sole le stringhe che contengono almeno due lettere p * nessuna delle altre affermazioni e' corretta ### L'espressione canonica [^p]*p[^p]+p[^p]* descrive l'insieme di stringhe composto da * tutte e sole le stringhe che contengono esattamente due lettere p non consecutive * tutte e sole le stringhe che contengono esattamente due lettere p, anche consecutive * tutte e sole le stringhe che contengono almeno due lettere p * nessuna delle altre affermazioni e' corretta ### Qual e' la lunghezza della lista argv creata dall'interprete quando si esegue la riga di comando seguente? ```python python x.py 34 22 xy -s ``` * 4 * 3 * 34 * nessuna delle altre risposte e' corretta ### al punto di vista logico, la CPU (Central Processing Unit) è costituita da tre parti principali * 1) L'unità logico-aritmetica (ALU). 2)L'unità di controllo, che ne governa il funzionamento. 3) Un insieme di registri, che sono spazi ad accesso molto veloce per la memorizzazione temporanea dei dati (in pratica, un'altra piccola memoria). * Nessuna delle altre risposte e' corretta * 1) L'unità logico-aritmetica (ALU). 2) I registri. 3) Una memoria cache. * Scelgo di non rispondere * 1) L'unità logico-aritmetica (ALU). 2) L'unità di controllo. 3) Una memoria cache. ### Cosa c'è di sbagliato nel seguente codice? ```python x = float(input("inserisci un numero: ")) if x < 200 : print('Smaller than 200') elif x < 20: print('Medium value') else: print('Bigger than 20') ``` * Scelgo di non rispondere * All'ultimo print avrei dovuto scrivere: ```python print('Bigger than 200') ``` * Il codice è scorretto nella sintassi ma corretto dal punto di vista logico * Il codice è corretto nella sintassi ma scorretto dal punto di vista logico * Il codice è perfettamente corretto ### Vella CPU, durante la fase di accesso * Nel registro Program Counter viene messo l'indirizzo della RAM dove è contenuta la prossima istruzione da eseguire, mentre nell'Instruction Register viene messa l'istruzione da eseguire * Nel registro Program Counter viene messa l'istruzione da eseguire mentre nell'Instruction Register viene messo il risultato dell'istruzione * Nel registro Program Counter viene messa l'istruzione da eseguire mentre nell'Instruction Register viene messo l'indirizzo della RAM dove è contenuta la prossima istruzione da eseguire * Scelgo di non rispondere * Nessuna delle altre risposte e' corretta ### Cos'è la CPU Pipeline? * E' un programma che aggiunge al codice le funzioni di libreria che vengono utilizzate dal programma * È una tecnologia utilizzata nell'architettura hardware dei microprocessori dei computer per incrementare il throughput, ovvero la quantità di istruzioni eseguite in una data quantità di tempo, parallelizzando i flussi di elaborazione di più istruzioni. * E' un programma per ottimizzare la traduzione in linguaggio macchina di un codice sorgente * E' un tipo particolare di RAM ad accesso veloce * Scelgo di non rispondere ### numero minimo di bit necessari per codificare 60000 simboli diversi e' * 60000 * 16 * 20 * 10 * Scelgo di non rispondere * nessuna delle altre risposte e' corretta ### Qual'è la durata di un ciclo di clock in una CPU a 4 GHz? * 250 ps * Scelgo di non rispondere * Nessuna delle altre risposte e' corretta * Dipende dalla velocità della RAM * 250 ns ### Data l'espressione (1 + 2 ** 3/4*5) in quale ordine vengono eseguite le operazioni in Python? * 1+2=3; 3*3=9; 9/4=2.25; 2.25*5=11.25 * 2^3=8; 8/4=2; 2*5=10; 1+10=11 * Scelgo di non rispondere * nessuna delle altre risposte e' corretta * 1+2=3; 3^3=27; 27/4=6.75; 6.75*5=33.75 * 3/4=0.75; 0.75*5=3.75; 2^3.75-13.45; 1+13.45-14.45 ### Come si verifica se il primo carattere della stringa 'myString' è una lettera maiuscola? * nessuna delle altre risposte e' corretta * 'myString'[1].isupper() * myString[0].isupper() * 'myString'[0].isupper() * isupper('myString'[0]) ### In un ciclo while l'istruzione break * interrompe l'iterazione corrente e salta all'inizio del ciclo per eseguire l'iterazione successiva * nessuna delle altre risposte e' corretta * interrompe l'iterazione corrente e esce dal ciclo * continua ad eseguire l'iterazione corrente e esce dal ciclo ### In un ciclo while l'istruzione continue * interrompe l'iterazione corrente e salta all'inizio del ciclo per eseguire l'iterazione successiva * interrompe l'iterazione corrente e esce dal ciclo * nessuna delle altre risposte e' corretta * continua ad eseguire l'iterazione corrente e esce dal ciclo ### Dato il seguente codice Python, quale istruzione non verrà mai eseguita indipendentemente dal valore di x? ```python if x < 2: print('Below 2') elif x >= 2: print('Two or more') else: print('Something else') ``` * nessuna delle altre risposte e' corretta * print('Two or more') * print('Something else') * print('Below 2') ### Si dice algoritmo la descrizione di un metodo di soluzione di un problema che * codifichi una serie di istruzioni in Python * nessuna delle altre risposte e' corretta * riceva in ingresso un programma specificato ad alto livello e restituisca lo stesso programma in linguaggio macchina * sia eseguibile, sia priva di ambiguità e arrivi a conclusione in un tempo finito * codifichi una serie di istruzioni sequenziali eseguibili da una macchina automatica ### Un'espressione booleana * deve contenere almeno un operatore booleano (and, or o not) * deve fornire, come risultato della propria valutazione, una delle due costanti, True o False * deve contenere una delle due costanti, True o False ### Un algoritmo è: * Una descrizione di un metodo di soluzione di un problema che sia priva di ambiguità e arrivi a conclusione in un tempo finito * Scelgo di non rispondere * Una descrizione di un metodo di soluzione di un problema che sia eseguibile, sia priva di ambiguità e arrivi a conclusione in un tempo finito. * Una descrizione di un metodo che memorizza dati (numeri, parole, immagini, suoni...), interagisce con dispositivi (schermo, tastiera, mouse...), esegue programmi * Una sequenza di istruzioni che il computer esegue per svolgere una certa attività ### Quale delle seguenti funzioni converte una stringa in un numero floating point in python? * long(x [,base]) * int(x [,base]) * str(x) * float(x) ### È lecito invocare "Hello, World".print()? * Scelgo di non rispondere * Sì, perché l'oggetto "Hello, World" appartiene alla classe str. * Sì purché prima io assegni la stringa "Hello, World" a una variabile. * No, perché l'oggetto "Hello, World" appartiene alla classe str, che non ha un metodo print. * Nessuna delle altre risposte è corretta ### Vogliamo controllare se la stringa s contiene caratteri consecutivi uguali. Quale, tra i seguenti, è il codice corretto per eseguire questa operazione? ```python # codice a): i = 0 while i < len(s) - 1: if s[i] == s[i+1]: found = True i = i + 1 ``` ```python # codice b): i = 0 while i < len(s): if s[i] == s[i+1]: found = True i = i + 1 ``` ```python # codice c): i = 0 while i <= len(s) - 1: if s[i] == s[i+1]: found = True i=i+1 ``` ```python # codice d): i = 0 while i <= len(s): if s[i] == s[i+1]: found = True i = i + 1 ``` * Il codice d) * Scelgo di non rispondere * Il codice b) * Il codice c) * Il codice a) ### Vogliamo contare il numero di lettere maiuscole all'interno di una stringa s. Qual è, tra i seguenti, il codice corretto per eseguire questa operazione? ```python # count = 0 # i = 0 # while i < len(s) : # if s[i].isupper(): # count = count + 1 # i=i+1 ``` ```python # count = 0 # i = 0 # while i <= len(s): # if s[i-1].isupper(): # count = count + 1 # i=i+1 ``` * Entrambi i codici proposti sono corretti * Il primo codice è corretto * Entrambi i codici proposti sono scorretti * Scelgo di non rispondere * Il secondo codice è corretto ### in un sistema operativo il gestore della memoria: * Scelgo di non rispondere * contiene i programmi necessari all'avvio del computer utili a gestire Input e Output * è responsabile delle operazioni di ingresso/uscita che coinvolgono le periferiche * è responsabile della gestione dei file in memoria di massa * ha la funzione di allocare la memoria e partizionarla tra i vari programmi ### Qual è l'output delle seguenti righe di codice Python? ```python total={} def insert(item,tot): tot[item] = tot.get(item, 1) + 1 insert('Apple',total) insert('Ball',total) insert('Apple', total) for i,t in total.items(): print (i,t,end="") ``` * 3 2 * Apple 2 Ball 1 * Scelgo di non rispondere * Apple 3 Ball 2 * 2 1 ### Che cosa stampa il seguente codice? ```python x = 4 while x >= 0 : x = x - 1 print(x) ``` * 3210-1 * 3210 * Scelgo di non rispondere * 43210 * 43210-1 ### Quale delle seguenti affermazioni è corretta? * Quando viene eseguita un'istruzione di trasferimento, nella RAM è contenuto un codice per il tipo di istruzione di trasferimento, un codice con l'indirizzo del dispositivo di input e un codice con l'indirizzo del dispositivo di output. * Quando viene eseguita un'istruzione di trasferimento, nella RAM è contenuto un codice per il tipo di istruzione aritmetica, un codice per il registro che contiene l'operando 1 e un codice per il registro che contiene l'operando 2 * Scelgo di non rispondere * Quando viene eseguita un'istruzione di trasferimento, nella RAM è contenuto un codice per il tipo di istruzione di trasferimento, un codice con l'indirizzo del dispositivo di input/output e un codice con l'indirizzo della RAM in cui andare a prelevare o caricare i dati. * Quando viene eseguita un'istruzione di trasferimento, nella RAM è contenuto un codice con l'indirizzo del dispositivo di input e un codice con l'indirizzo del dispositivo di output e un codice con l'indirizzo della RAM in cui andare a prelevare o caricare i dati. ### Qual è il risultato delle seguenti istruzioni python: ```python lict1 = {"name": "Mike", "salary": 8000} lict2=dict1 ct1["age"] = dict1.get("age", 0) + 1 ``` * dict1 = {'name': 'Mike', 'salary': 8000, 'age': 0} dict2 = {'name': 'Mike', 'salary': 8000} * dict1 = {'name': 'Mike', 'salary': 8000, 'age': 1} dict2 = {'name': 'Mike', 'salary': 8000, 'age': 1} * dict1 = {'name': 'Mike', 'salary': 8000, 'age': 1} dict2 = {'name': 'Mike', 'salary': 8000} * dict1 = {'name': 'Mike', 'salary': 8000, 'age': 0} dict2 = {'name': 'Mike', 'salary': 8000, 'age': 0} ### Considerate il seguente programma. ```python def main(): x = 4 x = mystery(x + 1) print(x) def mystery(x): s = 0 for i in range(x): x = i + 1 s=s+x return s ``` Quali righe appartengono all'ambito di visibilità della variabile parametro x definita nella riga 6? * Tutte le righe dalla 6 alla 10 * Le righe 2, 3, 4, 6, 8, 9 e 10 * Tutte le righe dalla 6 alla 11 * Tutte le righe dalla 2 alla 11 ### L'architettura di von Neumann è composta da quattro blocchi comunicanti tra loro per mezzo di un bus, un canale di scambio di informazioni. I quattro blocchi sono: * Scelgo di non rispondere * CPU, Memoria RAM, Memoria ROM, Dispositivi di Input e Output * CPU, Memoria Principale, Memoria Seecondaria, Dispositivi di Input e Output * CPU, Memoria, Dispositivi di Input, Dispositivi di Output ### Data la lista: ```python [1, 9, 5, 4, 2, 0, 4] ``` Quale sarebbe la lista dei numeri dopo quattro iterazioni di selection sort? * Scelgo di non rispondere * [1, 4, 5, 9, 2, 0, 4] * [0, 9, 4, 5, 2, 1, 4] * [0, 1, 2, 4, 5, 9, 4] * [0, 1, 9, 5, 2, 4, 4] ### Tra queste memorie, dove passa la maggior parte dei dati analizzati da un programma? * ROM * Scelgo di non rispondere * BIOS * RAM ### Qual'è l'output delle seguenti righe di codice Python? ```python a={} a[2]=1 a[1]=[2,3,4] print(a[1][1]) ``` * Scelgo di non rispondere * 3 * 2 * Viene sollevata un'eccezione * [2,3,4] ### cosa viene stampato in output all'esecuzione del seguente codice Python? ```python def foo(): try: res = 1 finally: res += 2 return res print(foo()) ``` * Scelgo di non rispondere * Viene sollevata un'eccezione * 2 * 1 ### La CPU (central processing unit o unità centrale di calcolo), esegue programmi scritti in linguaggio macchina (una serie di 0 e 1), ripetendo continuamente una serie di operazioni dette ciclo ADE. Ogni ciclo ADE ha tre fasi: * Scelgo di non rispondere * Accesso: la CPU riconosce di quale istruzione si tratta (tra quelle possibili). Decodifica: la CPU traduce l'istruzione in linguaggio macchina. Esecuzione: La CPU esegue l'istruzione * Accesso: la CPU legge l'istruzione da eseguire dalla memoria secondaria. Decodifica: la CPU riconosce di quale istruzione si tratta e la carica in memoria primaria. Esecuzione: La CPU esegue l'istruzione * Accesso: la CPU legge l'istruzione da eseguire dalla RAM. Decodifica: la CPU riconosce di quale istruzione si tratta (tra quelle possibili). Esecuzione: La CPU esegue l'istruzione ### Qual è l'output di [1, 2, 3] + [4, 5, 6]? * [5, 7, 9] * [1, 2, 3, 4, 5, 6] * [1, 2, 3],[4, 5, 6] * 21 ### **Domanda 10:** Cosa stampa l'esecuzione del seguente codice: ```python v = None alfa = "ciao" alfa = alfa+alfa if alfa == "ciao ciao": v = 1 if alfa == "ciaociao": v = 2 else: v = 3 print(v) ``` ### **Domanda 11:** La definizione di funzione non alterano il flusso di esecuzione di un programma. Scegli un'alternativa: * Falso