• Non ci sono risultati.

Corso di Informatica per Scienze Geologiche Prova scritta del 20 Gennaio 2016

N/A
N/A
Protected

Academic year: 2021

Condividi "Corso di Informatica per Scienze Geologiche Prova scritta del 20 Gennaio 2016"

Copied!
2
0
0

Testo completo

(1)

Corso di Informatica per Scienze Geologiche Prova scritta del 20 Gennaio 2016

Tempo a disposizione: ore 1:30.

Gli studenti che hanno svolto, con profitto, il progetto non devono svolgere i primi due esercizi.

Si ricorda che:

• Per quanto possibile, occorre scrivere in bella calligrafia (il testo illeggibile non verrà preso in considerazione).

• Su tutti i fogli che vi abbiamo consegnato occorre riportare cognome, nome e numero di matricola.

• Occorre riportare in modo chiaro tutti i passi che portano alla determinazione del risultato.

• Il numero dell’esercizio che si sta svolgendo va sempre riportato in modo chiaro.

• Non è consentita la consultazione di appunti, libri, etc.

• Non è consentito l’uso di calcolatrici, telefoni cellulari, etc.

• Non è concesso chiedere alcunché ai docenti e agli altri studenti.

• Occorre consegnare anche la brutta copia ai docenti.

Esercizio 1. (Punti 8)

Scrivere una funzione Python chiamata merge edefinita su due parametri formali a e b di tipo lista e che restituisca una terza lista contenente, in ciascuna posizione n, la tupla (an, ,bn) dove an e bn sono gli elementi di a e b in posizione n, rispettivamente. Se una tra a e b è più lunga dell’altra, i corrispondenti elementi devono comparire da soli. Ad esempio, merge su input le liste [2,7,4,8] e [6,1,9] deve restituire la lista [(2,6),(7,1),(4,9),8].

Soluzione.

Una possibile soluzione è la seguente:

def m e r g e ( a , b ):

c =[]

for i in r a n g e (0 , min ( len ( a ) , len ( b ) ) ) : c = c +[( a [ i ] , b [ i ])]

for i in r a n g e ( len ( a ) , len ( b )):

c = c +[ b [ i ]]

for i in r a n g e ( len ( b ) , len ( a )):

c = c +[ a [ i ]]

r e t u r n c

Esercizio 2. (Punti 7)

Scrivere un programma Python che, preso in input dall’utente un numero naturale n, stampa tutti i numeri interi dispari compresi tra −n2e n2, esclusi. Se l’utente digita da tastiera 3, ad esempio, il programma dovrebbe stampare la seguente sequenza di numeri: -7, -5, -3, -1, 1, 3, 5, 7.

Soluzione.

Una possibile soluzione è la seguente:

s = r a w _ i n p u t () n = int ( s )

for i in r a n g e ( - n * n +1 , n * n ):

if ( i % 2 ! = 0 ) : p r i n t i

Esercizio 3. (Punti 5)

Si dica cosa produce in output il seguente programma Python:

def f ( a , b , c ):

a [ 1 ] = c a =[2 ,7 ,[5 ,1]]

b = a [2]

c = a [0]

b [ 1 ] = 8 c = b [0]

f ( a , b , c ) p r i n t a , b , c

(2)

Esercizio 4. (Punti 5, la risposta occupi al massimo 20 righe)

Si discuta brevemente di conoscenza dichiarativa e conoscenza imperativa.

Esercizio 5. (Punti 5, la risposta occupi al massimo 20 righe)

Cosa si intende per semantica statica e dinamica, in un linguaggio di programmazione?

Riferimenti

Documenti correlati

• Su tutti i fogli che vi abbiamo consegnato occorre riportare cognome, nome e numero di matricola.. • Occorre riportare in modo chiaro tutti i passi che portano alla determinazione

Scrivere un programma Python che chiesti in input all’utente due interi, stampi a video tutti i numeri interi divisibili per 3 e compresi tra il primo e il secondo (inclusi). (Punti

Scrivere un programma Python che chiesti in input all’utente una stringa e un intero, stampi a video tutti i caratteri della stringa in posizione divisibile per il numero. (Punti 5,

Scrivere un programma Python che chiesti in input all’utente due numeri naturali, stampi i divisori del primo numero che siano compresi tra il secondo e il terzo. (Punti 5, la

Ad esempio, incid su input ’cdecde’ deve restituire False, mentre su input "eccdcce" deve restituire True..

Il componente deve essere implementato o utilizzando una tabella di verità (in questo caso sarà un componente di tipo primitive) o utilizzando espressioni dell’algebra

Quelle generate da una istruzione di LDR richiedono uno stallo di 1 ciclo di clock dal momento che il valore da leggere è disponibile solo dopo la lettura nella memoria

è ancora una istruzione condizionale con due frasi: la prima rimanda alla istruzione 1., mentre la seconda conclude op 2 e ritorna all’istruzione 0 (vedi figura in alto a