Please ignore secret bonuses. Secret tests do NOT award bonus. Max hw grade is 30+2 bonus efficiency

Do you need help?

Notice Board

Per partecipare al corso di Fondamenti di programmazione 2023-24 loggatevi e attivatelo nella vostra pagina dei corsi preferiti. A quel punto il corso appare nel menù personale cliccando sul proprio avatar. Per i materiali degli anni precedenti seguite lo stesso metodo.

To join the Programming/Lab 2023-24 course, log-on and select it on the my courses page. It will appear on the personal menu of your avatar. For earlier years use the same method.

[AVVISO] Homework 1 - manipolazione di stringhe, lampadine e voti

andrea.sterbini (207880 points)
745 1264 2372
in Avvisi by (208k points)
closed by

Istruzioni

ATTENZIONE: HO AGGIUNTO I TEST "SEGRETI"

Per svolgere l'homework:

  • Installate le librerie necessarie
    • Se avete installato Anaconda aprite una finestra "Anaconda Prompt" ed eseguite i comandi
      • conda install -c conda-forge ddt
      • conda install pytest-timeout
    • Se invece usate python3 senza Anaconda
      • pip install ddt
      • pip install pytest-timeout
  • Scaricate il file homework01.zip e scompattatelo in una directory
    • Lo zip contiene
      • i tre esercizi, che sono descritti all'inizio dei file program01.py program02.py program03.py
        • ciascun esercizio consiste nel realizzare, se necessario definendo funzioni ausiliarie, la funzione descritta all'inizio del file, completandone il codice
      • altre librerie necessarie ad eseguire i test sulla vostra macchina
  • Posizionatevi nella directory homework01 creata unzippando l'archivio ed editate i file program01.py program02.py program03.py
  • Scrivete una descrizione in italiano (o inglese) dell'algoritmo che state implementando in un file di testo algoritmo0X.txt per ciascun esercizio
    • E' assolutamente VIETATO metterci codice python o descrizioni a livello di singola istruzione, dovete descrivere il RAGIONAMENTO
    • La descrizione deve essere ANONIMA (non indicate chi siete, plis)
  • ATTENZIONE: i programmi NON DEVONO eseguire nessun input(), infatti ricevono tutte le informazioni di cui hanno bisogno tamite i parametri della funzione che dovete completare.
  • ATTENZIONE: potete usare SOLO la libreria math
  • ATTENZIONE: non usate variabili globali, ne possono venire malfunzionamenti difficili da debuggare.
  • ATTENZIONE: per semplicità di costruzione abbiamo usato dei test "periodici" che replicano un input piccolo più volte. NON sfruttate questa struttura nei vostri algoritmi. Aggiungerò dei test non periodici per penalizzare questo tipo di soluzioni.
  • Per eseguire i test
    • aprite una finestra "Anaconda Prompt" e posizionatevi nella directory homework01
    • eseguite il comando (test senza timeout)
      • pytest test_01.py -v
    • oppure (test del primo esercizio con timeout di 1 secondo per ciascun test e con una stampa dei tempi impiegati per eseguire ciascun test)
      • pytest test_01.py -v --timeout 1 --durations 0
    • Per chi usa Spyder è possibile eseguire i test direttamente da dentro Spyder installando il plugin spyder-unittest
      • conda install -c spyder-ide spyder-unittest
    • oppure per chi non usa Anaconda
      • pip install spyder-unittest

Per la consegna dovrete consegnare per ciascun esercizio (for X in [1, 2, 3]: ) solo il file program0X.py e il file algoritmo0X.txt (sono necessari entrambi)

Consegna

Ecco la pagina di consegna. I test automatici ancora non ci sono, appena posso li attivo (per il momento li lancerò io a mano ogni tanto)

Scadenze

  • prima consegna (algoritmo0X.txt e program0X.py) entro le ore 23:59 del 31 ottobre 2018
    • potete consegnare più volte, vale l'ultima consegna
    • se cambiate in qualche modo l'algoritmo aggiornate anche il file algoritmo0X.txt
  • SOLO per chi ha consegnato:
    • peer-assessment: 3 giorni dalle 8AM del 1 novembre 2018 alle 23:59 del 3 novembre 2018
      • 3 algoritmi da valutare per ciascun esercizio, dando consigli su come migliorarli
  • SOLO per chi ha partecipato al peer-assessment:
    • seconda consegna migliorata e feedback sui consigli ricevuti: entro le ore 23:59 del 6 novembre 2018
12.0k views
closed with the note: COMPRESO DI TEST "SEGRETI"

4 Answers

Valerio (300 points)
0 0 3
by (300 points)
Nel testo del program01 alla fine accenna alla funzione es2, ma mi sembra più un errore di battitura, giusto?
andrea.sterbini (207880 points)
745 1264 2372
by (208k points)
yeah                              .
Valerio (300 points)
0 0 3
by (300 points)
Grazie                              
a
alessandrobasi (790 points)
1 4 10
by (790 points)
nell'esercizio programm01.py chiede l'immissione di un valore "soglia" per vedere gli studenti che passano,

bisogna usare un input o dobbiamo passarlo come parametro alla funzione?

e anche: bisogna verificare l'idoneità del parametro? (es. troppo grande o negativo)
andrea.sterbini (207880 points)
745 1264 2372
by (208k points)
Non dovete eseguire NESSUN input. I dati che vi servono vi vengono forniti dagli argomenti della funzione.
a
alessandrobasi (790 points)
1 4 10
by (790 points)
ok grazie mille

per la validazione?
andrea.sterbini (207880 points)
745 1264 2372
by (208k points)
edited by
i dati sono sempre corretti
by (980 points)
Scusate ma non ho capito quando è la data di consegna il 31 ottobre oppure il 6 novembre ?
andrea.sterbini (207880 points)
745 1264 2372
by (208k points)
rileggi le regole del corso
a
ares.angeloni (1060 points)
9 24 37
by (1.1k points)
da quando ho installato i due blocchi richiesti, né anaconda né il terminale si aprono più .-.
andrea.sterbini (207880 points)
745 1264 2372
by (208k points)
Venerdì a lezione se puoi porta il portatile che controllo.
a
ares.angeloni (1060 points)
9 24 37
by (1.1k points)
infatti li ho installati nel root di anaconda, il terminale nero che apre di base, e li ha installati. il mio problema è che da quel momento in poi, ne spyder ne anaconda vengono aperti quando li lancio; non so se mi spiego
a
ares.angeloni (1060 points)
9 24 37
by (1.1k points)
il "portatile" è un fisso atx da gaming, e non possiedo un portatile
andrea.sterbini (207880 points)
745 1264 2372
by (208k points)
(speravo fosse un portatile)
hai eseguito le istruzioni come indicate?
Ti hanno chiesto dopo in po' se volevi installare ed hai detto Y?
Strano che ora non funzioni (sicuramente hai restartato il PC, immagino)
e
enricograziani (1190 points)
1 13 27
by (1.2k points)
stesso problema anche io
l
lupodellasleppa (530 points)
1 2 6
by (530 points)
hai provato a dare dalla stessa finestra

conda update --all

certe volte aggiornando si risolve da solo (y) anche a me non apriva Spyder appena avevo installato Anaconda, dopo l'update tutto regolare
andrea.sterbini (207880 points)
745 1264 2372
by (208k points)
Stavo per suggerire lo stesso.
Aggiungo una pagina di info sulle istallazioni
m
matia plateroti (1600 points)
1 12 23
by (1.6k points)
prof suggerirei,se posso permettermi,anche,al momento dell installazione del pacchetto anaconda,di selezionare la scelta 'just for me' e non 'all users' ,purtroppo quest ultima scelta crea a volte delle problematiche nell installazione di alcuni pacchetti aggiuntivi(ci sono passato e leggendo in vari forum sembra capitare spesso)
andrea.sterbini (207880 points)
745 1264 2372
by (208k points)
OK                                      .