Lo scopo del laboratorio è di esercitarsi e misurare la propria preparazione: gli esercizi non sono troppo difficili, se si sono seguite le lezioni. Non vi viene comunque messo alcun voto.
Modalità di lavoro: gli studenti devono lavorare in autonomia o in piccoli gruppi, senza disturbare i colleghi. Il lavoro di gruppo è fruttuoso solo se tutti partecipano e se ognuno scrive una propria soluzione per tutti gli esercizi.
Il docente cercherà per quanto possibile di non occupare il tempo del laboratorio per introdurre materiale nuovo, anche se a volte questo sarà necessario. Il docente è a disposizione per aiutare gli studenti, che possono iniziare a lavorare anche prima che il docente arrivi in aula, se lo desiderano
Raccomandazioni: leggete bene il testo degli esercizi prima di chiedere chiarimenti. In ogni caso sarò in aula con voi.
Uso dei file di test: per aiutarvi a completare questa esercitazione avete a disposizione dei programmi di test per testare la vostra soluzione. Questi sono simili a quelli che avrete in sede di esame, pertanto vi consiglio di imparate ad usarli. Per portare a termine l’esercizio è necessario
python3 <fileditest>
dove <fileditest>
va ovviamente sostituito con il
nome del file di test appropriato per l’esercizio su cui state
lavorando. Per ogni esercizio ci sta un file di test indipendente, così
da poter lavorare sugli esercizi uno alla volta con più agio.
Il risultato di ogni test è una schermata (o più schermate) nella quale si mostra:
Per ogni funzione scritta vengono eseguite chiamate con diversi valori dei parametri. L’esito dei test viene riportato con il carattere
E
se la chiamata non può essere eseguita,F
se la funzione non restituisce il risultato
corretto,.
se la funzione restituisce il risultato
corretto.Scrivere una funzione somma_mat(m)
che:
m
;Ricordiamo che in Python noi rappresentiamo una matrice r × c come una lista di lunghezza r, contenente r liste tutte quante di lunghezza c. Potete sempre assumere che l'input di questo esercizio sia una matrice ben formata, con r ≥ 1 e c ≥ 1, e che tutte le liste che rappresentano le righe contengano c valori numerici.
Il programma Python deve essere salvato nel file:
somma_mat.py
File di test: test_somma_mat.py
Scrivere una funzione min_mat(m)
che:
m
;Ricordiamo che in Python noi rappresentiamo una matrice r × c come una lista di lunghezza r, contenente r liste tutte quante di lunghezza c. Potete sempre assumere che l'input di questo esercizio sia una matrice ben formata, con r ≥ 1 e c ≥ 1, e che tutte le liste che rappresentano le righe contengano c valori numerici.
Il programma Python deve essere salvato nel file:
min_mat.py
File di test: test_min_mat.py
Scrivere una funzione posmax_mat(m)
che:
m
;return i, j
che siano rispettivamente l'indice di riga e di
colonna in cui compare il massimo elemento della matrice. In caso di più
massimi, deve essere restituita la posizione del primo di essi (minima
riga e, in caso di più massimi sulla riga, minima colonna).Il programma Python deve essere salvato nel file:
posmax_mat.py
File di test: test_posmax_mat.py
Scrivere una funzione sommadiagonale_mat(m)
che:
m
;n
righe ed n
colonne si devono sommare solo n
elementi.Ricordiamo che in Python noi rappresentiamo una matrice r × c come una lista di lunghezza r, contenente r liste tutte quante di lunghezza c. Potete sempre assumere che l'input di questo esercizio sia una matrice ben formata, con r ≥ 1 e c ≥ 1, e che tutte le liste che rappresentano le righe contengano c valori numerici.
Il programma Python deve essere salvato nel file:
sommadiagonale_mat.py
File di test: test_sommadiagonale_mat.py
Scrivere una funzione somme_per_riga_mat(m)
che:
m
di numeri;i
è la
somma degli elementi della riga i
-esima. La lunghezza di
tale lista è uguale al numero di righe della matrice.Ricordiamo che in Python noi rappresentiamo una matrice r × c come una lista di lunghezza r, contenente r liste tutte quante di lunghezza c. Potete sempre assumere che l'input di questo esercizio sia una matrice ben formata, con r ≥ 1 e c ≥ 1, e che tutte le liste che rappresentano le righe contengano c valori numerici.
Il programma Python deve essere salvato nel file:
somme_per_riga_mat.py
File di test: test_somme_per_riga_mat.py
Scrivere una funzione somme_per_colonna_mat(m)
che:
m
;i
è la
somma degli elementi della colonna i
-esima. La lunghezza di
tale lista è uguale al numero di colonne della matrice.Ricordiamo che in Python noi rappresentiamo una matrice r × c come una lista di lunghezza r, contenente r liste tutte quante di lunghezza c. Potete sempre assumere che l'input di questo esercizio sia una matrice ben formata, con r ≥ 1 e c ≥ 1, e che tutte le liste che rappresentano le righe contengano c valori numerici.
Il programma Python deve essere salvato nel file:
somme_per_colonna_mat.py
File di test: test_somme_per_colonna_mat.py
Scrivere una funzione pos_maxriga_mat(m)
che:
riceva come parametro una matrice m
;
restituisca la posizione della riga che ha massima somma. Ad esempio, se viene chiamata con parametro
[ [2, 4, 3, 6, 8], [3, 1, 4, 0, 0], [9, 5, 9, 7, 4] ]
deve restituire il valore 2, poiché la riga in posizione 2 ha somma 34, mentre le righe in posizione 0 e 1 hanno rispettivamente somma 23 e 8.
Ricordiamo che in Python rappresentiamo una matrice r × c come una lista di lunghezza r, contenente r liste tutte quante di lunghezza c. Potete sempre assumere che l'input di questo esercizio sia una matrice ben formata, con r ≥ 1 e c ≥ 1, e che tutte le liste che rappresentano le righe contengano c valori numerici.
Il programma Python deve essere salvato nel file:
pos_maxriga_mat.py
File di test: test_pos_maxriga_mat.py