Modalità di svolgimento dell'esercitazione

Viene richiesto di scrivere funzioni per risolvere vari problemi, e viene fornito anche uno strumento che mette alla prova il comportamento delle funzioni che avete scritto.

Create una cartella, nella quale saranno creati sia i file contenenti le funzioni che avete scritto (una per ciascun file), sia i file di test (forniti dal docente).
I nomi di questi file devono essere esattamente i seguenti:

Per ciascuno dei problemi elencati nel seguito dovrete scrivere un file contenente la soluzione richiesta, in cui il nome della funzione deve essere esattamente quello indicato nel testo seguente.

Una volta salvato il file nella cartella, e salvato anche il corrispondente file di test fornito dal docente, dovete eseguire il comando

python3 test_labEserc7_X.py
dove X è il numero da 1 a 5 corrispondente all'esercizio che volete verificare.

Il risultato del 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


Funzioni che manipolano liste

Primo esercizio: creazione di una lista

Scrivere una funzione crea_lista(a, b) che:

Il file di test da memorizzare nella propria cartella per questo esercizio è test_labEserc7_1.py
La soluzione deve essere prodotta in un file di nome labEserc7_1.py

Secondo esercizio: generalizzare il punto precedente

Scrivere una funzione con un parametro opzionale crea_lista(a, b, passo=1) che si comporta come la funzione al punto precedente nel caso venga invocata con due argomenti, mentre nel caso di invocazione con tre argomenti crea e restituisce una lista di b numeri naturali a partire da a con passo uguale al terzo argomento. Ad esempio, l'istruzione s = crea_lista(15, 5, 3) deve assegnare a s la lista [15, 18, 21, 24, 27]

Anche in questo caso si deve sollevare una eccezione ValueError se i parametri ricevuti non sono naturali. Il terzo parametro può essere anche zero.

Il file di test da memorizzare nella propria cartella per questo esercizio è test_labEserc7_2.py
La soluzione deve essere prodotta in un file di nome labEserc7_2.py

Terzo esercizio: azzerare elementi negativi

Scrivere una funzione azzera_elementi_negativi(valori) che:

Il file di test da memorizzare nella propria cartella per questo esercizio è test_labEserc7_3.py
La soluzione deve essere prodotta in un file di nome labEserc7_3.py

Quarto esercizio: posizione del minimo

Scrivere una funzione posiz_minimo(valori, start=0) che:

Il file di test da memorizzare nella propria cartella per questo esercizio è test_labEserc7_4.py
La soluzione deve essere prodotta in un file di nome labEserc7_4.py

Quinto esercizio: massimi locali

Scrivere una funzione massimi_locali(sequenza) che:

Il file di test da memorizzare nella propria cartella per questo esercizio è test_labEserc7_5.py
La soluzione deve essere prodotta in un file di nome labEserc7_5.py

Sesto esercizio: verificare se una sequenza è bitonica

Scrivere una funzione bitonica(sequenza) che:

Il file di test da memorizzare nella propria cartella per questo esercizio è test_labEserc7_6.py
La soluzione deve essere prodotta in un file di nome labEserc7_6.py