Il 0% ha trovato utile questo documento (0 voti)
23 visualizzazioni3 pagine

24 Gennaio 2018 Python

Il documento contiene tre esercizi di programmazione Python. Il primo esercizio chiede di scrivere un programma per determinare se un anno è bisestile e correggere un codice contenente errori. Il secondo esercizio chiede di scrivere una funzione per calcolare i risultati di un'elezione. Il terzo esercizio chiede di scrivere due funzioni, una per verificare l'esistenza di un altopiano in una matrice e una per eliminare colonne da una matrice in base a un vettore.

Caricato da

ziumazuzza
Copyright
© © All Rights Reserved
Per noi i diritti sui contenuti sono una cosa seria. Se sospetti che questo contenuto sia tuo, rivendicalo qui.
Formati disponibili
Scarica in formato DOCX, PDF, TXT o leggi online su Scribd
Il 0% ha trovato utile questo documento (0 voti)
23 visualizzazioni3 pagine

24 Gennaio 2018 Python

Il documento contiene tre esercizi di programmazione Python. Il primo esercizio chiede di scrivere un programma per determinare se un anno è bisestile e correggere un codice contenente errori. Il secondo esercizio chiede di scrivere una funzione per calcolare i risultati di un'elezione. Il terzo esercizio chiede di scrivere due funzioni, una per verificare l'esistenza di un altopiano in una matrice e una per eliminare colonne da una matrice in base a un vettore.

Caricato da

ziumazuzza
Copyright
© © All Rights Reserved
Per noi i diritti sui contenuti sono una cosa seria. Se sospetti che questo contenuto sia tuo, rivendicalo qui.
Formati disponibili
Scarica in formato DOCX, PDF, TXT o leggi online su Scribd
Sei sulla pagina 1/ 3

Corso di Laurea in Ingegneria Gestionale

Prova scritta di Fondamenti di informatica (Python)

10 Luglio 2017
Tempo a disposizione: 2 ore

Cognome e nome: Matricola:

Esercizio 1

Si vuole scrivere un programma Python che restituisce TRUE se un anno è bisestile o FALSE
altrimenti (vedi definizione successiva). Il codice seguente tuttavia contiene errori.

def isLeapYear(anno)
{
resto1 = anno / 400;
resto2 = anno / 40; }
resto3 = anno // 100;
if (resto1 == 0 && resto2 == 0 && resto3 != 0)
return true;
else
return false;

Lo studente deve indicare con un cerchio il codice errato e scrivere il codice corretto.
/*Un anno è bisestile se è divisibile per 400 oppure per 4 ma non per 100.

Esercizio 2
Definire una funzione che riceva due liste, la prima contenenti i cognomi dei candidati a una carica
elettorale (assumendo che non ci siano omonimie), la seconda lista contenente l’espressione di
voto degli elettori, cioè (il cognome di un candidato, o una stringa vuota nel caso di scheda bianca
o non valida).
Esempio:
• lista dei candidati: ["Brambilla", "Galli", "Ferrari"]
• lista dei voti: ["Galli", "", "Ferrari", "Galli", "Brambilla",
"Galli", ""]

La funzione deve stampare in output gli esiti della votazione nel formato indicato nell’esemio: di
ogni candidato deve essere riportato il cognome, il numero di voti ottenuti, e la percentuale di tali
voti rispetto al numero dei votanti, approssimata alla parte intera; deve essere inoltre scritto il
numero di schede bianche o non valide. Nell’esempio precedente sarebbe:
Brambilla voto 1 percentuale 14%
Galli voto 3 percentuale 42%
Ferrari voto 1 percentuale 14%
Schede bianche o non valide: 2

Esercizio 3

(1) Scrivere una funzione altopiano che prende in input a) una matrice intera di dimensione n x
n (con n ≤ 500) rappresentante l’altitudine in metri di una zona di terreno e b) un intero
positivo k e verifica se esiste o no un altopiano di estensione k interamente compreso nella
matrice. Si definisce altopiano di estensione k un quadrato di dimensione k per k tale che la
differenza tra il valore minimo e massimo all’interno del quadrato è al più 10 metri (<= 10).

Esempio:
Si consideri la seguente matrice M (con n=14) e k=3

la funzione altopiano(M,k) restituisce TRUE perché considerando il quadrato evidenziato in


figura e rappresentato dai valori 119, 123, 117, 118,124, 122, 122, 124, 127,
esso costituisce un altopiano, infatti il min=117, il max=124 e max-min =7 < 10.

(2) Scrivere una funzione vettoreMatrice che prende in input un vettore di interi V di
lunghezza m e una matrice M di dimensioni n x m e restituisca in output una matrice M2 ottenuta
eliminando la colonna j-esima di M se M[i][j]=V[i].

Esempio:
V = [2, 4, 6, 1]

|2 14 7 4|
|4 8 12 0|
M = |0 12 18 0|
|0 16 24 0|
|0 0 30 0|
|0 0 36 0|

|14 7 |
| 8 12 |
M2 = |12 18 |
|16 24 |
|0 30 |
|0 36 |

Potrebbero piacerti anche