Diario delle esercitazioni (Spognardi)

Laboratori via Tiburtina 205, ore 9->13 (canale Sterbini) e 14->18 (canale Monti)

Mer 18 dicembre 2019: simulazione di esame

Prova d'esame proposta in aula: prova.zip

Correzione: es12.zip

Correzione streaming youtube canale Monti: https://youtu.be/DjEX2kPXIlQ

Correzione streaming youtube canale Sterbini: https://youtu.be/oqAqM18oBBU

Mer 11 dicembre 2019: ricorsione

Pacchetto zip con tutti gli esempi visti in classe: es11.zip

Streaming youtube canale Monti: https://youtu.be/OUuV9JYiuz4

Streaming youtube canale Sterbini: https://youtu.be/n3iS0ws1n_Y

Mer 4 dicembre 2019: ricorsione su liste, numeri, stringhe e alberi

Pacchetto zip con tutti gli esempi visti in classe: es10.zip

Streaming youtube canale Monti: https://youtu.be/ZK-1dxTJ8rk

Streaming youtube canale Sterbini: https://youtu.be/NQaQkPcavQE

Mer 27 novembre 2019: classi, immagini e ricorsione

Pacchetto zip con tutti gli esempi visti in classe: es9.zip

json file: https://jsonplaceholder.typicode.com/todos

Streaming youtube canale Monti: https://youtu.be/oMe6J5k9ji8

Streaming youtube canale Sterbini: https://youtu.be/elzc57X9qkU

Mer 20 novembre 2019: matrici e immagini

Pacchetto zip con tutti gli esempi visti in classe: es8.zip

Streaming youtube canale Monti: https://youtu.be/HWwixyJ06oI

Streaming youtube canale Sterbini: https://youtu.be/HizaRiiNPjE

Mer 13 novembre 2019: file e stringhe, matrici, immagini

Pacchetto zip con tutti gli esempi visti in classe: es7.zip

Streaming youtube canale Monti: https://youtu.be/iVzDqipXkUk

Streaming youtube canale Sterbini: https://youtu.be/DiHNBn3MrMw

Esercizi per allenarsi:

  1. Scrivere una funzione che prende due matrici di numeri come liste di liste e ne calcola una terza che è il prodotto righe colonne.
  2. Scrivere una funzione che prende una matrice di numeri come lista di liste e restituisce True se la matrice è simmetrica, False altrimenti.
  3. Scrivere una funzione disegna_quadrato_colorato(imm, x1, y1, x2, y2, colore_bordo, colore_interno) che prende
    1. una immagine imm come lista di liste di tuple di colore
    2. due punti x1,y1 e x2,y2 corrispondenti a due spigoli di un rettangolo
    3. due tuple di colori colore_bordo e colore_interno
      e modifica la immagine imm disegnando il rettangolo individuato dai due punti x1,y1 e x2,y2, usando colore_bordo per il perimetro del rettangolo e colore_interno per l'area. La funzione ritorna il numero di pixel modificati in imm.
  4. Scrivere una funzione scala_di_grigi(imm) che prende un'immagine imm come lista di liste di tuple di colore e la modifica trasformandola in scala di grigi, usando la "formula colometrica".
  5. Scrivere una funzione disegna_quadrati(imm, lista) che prende prende un'immagine imm come lista di liste di tuple di colore e la modifica disegnando tutti i quadrati elencati nella lista, nell'ordine in cui sono presenti. Ogni elemento della lista è del tipo (x, y, lato, colore), dove x,y è lo spigolo in alto a sinistra dove disegnare il quadrato, lato è la lunghezza in pixel del quadrato da disegnare e colore è una tupla di colore corrispondente al colore del quadrato da disegnare.
    1. Esempio di lista di quadrati: [(20,20,40,(255,255,255)), (30,30,30,(180,180,180)), (40,40,20,(100,100,100))]

Mer 30 ottobre 2019: differenza fra soluzione lineare e quadratica, file

Pacchetto zip con tutti gli esempi visti in classe: es6.zip

Streaming youtube canale Sterbini: https://youtu.be/czxhtNPaiQI

Streaming youtube canale Monti: https://youtu.be/SomLPtl5pmk

Mer 23 ottobre 2019: dizionari, cicli for

Streaming youtube canale Sterbini: https://youtu.be/hhlMn3qcy-I

Streaming youtube canale Monti: https://youtu.be/3S-ZZO-_KsY

Nota: durante la lezione di Sterbini si è vista una versione del mio codice per l'Homework opzionale 1. Se lo state cercando, ecco il link al momento preciso: https://youtu.be/hhlMn3qcy-I?t=18m59s chiaramente ne parleremo durante la prossima esercitazione.

Pacchetto zip con tutti gli esempi visti in classe: es5.zip

Esercizi per allenarsi:

  1. Scrivere una funzione che prende un dizionario e ritorna il dizionario invertito, in cui per ogni valore del dizionario in input c'è una chiaveil cui valore è la lista delle chiavi del dizionario in input che hanno quel valore.
  2. Scrivere una funzione che prende una stringa contenente una serie di parole separate da spazi e costruisce un dizionario in cui le chiavi sono le ultime lettere delle parole della stringa e i valori ad esse associati sono liste con le parole che terminano con quella lettera. Le liste devono essere ordinate lessicograficamente.
    Ad esempio, per la stringa "in verità non mi par vero affatto" deve restituire {'o':['affatto','vero'], 'n':['in','non'], 'à':['verità'], 'i':['mi'], 'r':['par']}
  3. Scrivere una funzione che prende un dizionario in cui ogni chiave è una stringa ed il valore è un intero e restituisce la lista ordinata di tutte le chiavi a cui corrisponde un valore pari.
    Ad esempio, per il dizionario
    { ’topolino’:12, ’pluto’:3, ’minnie’:7, ’pippo’:4, ’qui’:3 }
    la funzione deve restituire la lista [’pippo’,’topolino’].
  4. Scrivere una funzione che prende un dizionario del tipo {chiave:lista interi} e restituisce un nuovo dizionario con le stesse chiavi ma come valore la media degli interi nella lista del dizionario originale.
  5. Scrivere una funzione che prende due dizionari chiave:lista e ritorna un nuovo dizionario in cui sono presenti solo le chiavi presenti in entrambi i dizionari in input e i valori sono la lista data dall'unione delle due liste in input, associate alla stessa chiave

Mer 16 ottobre 2019: liste, for, insiemi e complessità

Streaming youtube canale Sterbini: https://youtu.be/yBBunTZX_Bk

Streaming youtube canale Monti: https://youtu.be/K2lraNqfuFU

Esercizio di verifica: esercizio.zip

Pacchetto zip con tutti gli esempi visti in classe: es4.zip

Esercizi per allenarsi:

Per gli esercizi con le liste, se possibile, scrivere sia la versione CON che quella SENZA "range" e, se possibile, scrivere sia la versione con FOR sia la versione con WHILE.

  1. Scrivere una funzione che presa una lista di interi restituisca il numero dei valori valle, considerando che un elemento si definisce valle se s[i] <s[i-1] e s[i]<s[i+1]
    Esempio: l'input [1,3,1,5,6,4,7,1,8] restituisce 3
  2. Scrivere una funzione che presa una lista di interi, la modifica in modo che non contenga elementi che sono multipli di 3. Attenzione: LA MODIFICA e NON ne crea una nuova...
  3. Scrivere una funzione che prende una stringa e SENZA USARE I CICLI ritornal'insieme dei caratteri che formano la stringa.
  4. Scrivere una funzione che prende due stringhe che rappresentano una sequenza di interi separati da virgole e restituisce una stringa nello stesso formato di quelle in input che contiene contenente soltanto gli elementi della prima stringa che hanno il loro quadrato nella seconda lista, ordinati
    Esempio: "2,5,3,11" e "19,25,4,181" restituisce la stringa "2,5"
  5. Scrivere la funzione intreccia che prende due stringhe e ritorna una nuova stringa che è l'intreccio delle due passate in input. Esempio:
    >>> intreccia("abc","efg")
    aebfcg
    >>> intreccia("abcd", "efghijk")
    aebfcgdhijk

Mer 9 ottobre 2019: stringhe, liste e correzione esercizi

Streaming youtube canale Sterbini: https://youtu.be/1M-EuM6EHtQ

Streaming youtube canale Monti: https://youtu.be/9I04TqswQS0

Pacchetto zip con tutti gli esempi visti in classe: es3.zip

Esercizi per allenarsi:

Per gli esercizi con le liste, se possibile, scrivere sia la versione CON che quella SENZA "range" e, se possibile, scrivere sia la versione con FOR sia la versione con WHILE.

  1. Scrivere una funzione che riceve tre numeri interi g, m, a (si ipotizza che a sia sempre un numero dispari per evitare anni bisestili) e restituisce True o False a seconda se i tre numeri formano una data valida nel formato "g/m/a". Es: 30/2/2017 False, 1/1/1111 True.
  2. Scrivere una funzione che prende una lista di interi e restituisce la somma di tutti i numeri pari meno la somma di tutti i numeri dispari che la compongono.
  3. Scrivere una funzione che prende in input una stringa di parole separate da spazi e restituisce una lista con le lunghezze delle parole della stringa.
  4. Scrivere una funzione che verifica se una lista è ordinata in modo crescente (<=) (supponiamo che la lista contenga oggetti ordinabili).
  5. Scrivere una funzione che prende in input una lista di interi e ritorna la lista con i complementi a 10 degli interi della lista in input. (Complemento a 10 di un numero: link)

Mer 2 ottobre 2019: correzione e discussione esercizi

Streaming youtube canale Sterbini: https://youtu.be/oE4kSbw7gg8

Streaming youtube canale Monti: https://youtu.be/H7crEGFPTRI

Pacchetto zip con tutti gli esempi visti in classe: es2.zip

Esercizi per allenarsi:

  1. Scrivere una funzione che dati in ingresso il prezzo di un prodotto e il valore percentuale dello sconto, la funzione calcola e stampa a video il prezzo finale
  2. Scrivere una funzione che dati in ingresso il costo del biglietto per visitare un museo e il numero di studenti di una classe in gita scolastica, ritorna la spesa totale, considerando che se gli studenti sono compresi fra 10 e 30 il biglietto per studente costa il 20% in meno, se sono 31 o più il 30% in meno.
  3. Scrivere una funzione che dati in ingresso il numero dei maschi e delle femmine che entrano in discoteca, la funzione calcola e stampa a video il prezzo totale sapendo che i primi pagano 12€ e le seconde 10€
  4. Scrivere una funzione che prende in input due interi e una stringa. In base al contenuto della stringa, che conterrà una operazione, la funzione eseguirà le 4 operazioni di base con i due interi: addizione, sottrazione, moltiplicazione, divisione.
  5. Scrivere una funzione 'invest' nel file 'invest.py', che prende in input un capitale, un interesse annuale e un numero di anni e ritorna come intero il capitale maturato dopo un investimento di n anni all'interesse i. Usare la formula maturato = capitale * (1+interesse/100)**anni.
    Usare il seguente programma per testare la corretta implementazione: test_invest.py.txt


Mer 25 settembre 2019: primi passi!

Potete seguire la guida con i primi passi a questo link.

Streaming youtube canale Sterbini: https://youtu.be/dFrdQ3_nS18

Streaming youtube canale Monti: https://youtu.be/atsEZmUvVIA

Primi esercizi svolti:

Esercizi per allenarsi:

  1. Scrivere uno script python che prende in input un numero float, ne calcola la radice cubica e la stampa a video
  2. Scrivere uno script python che prende in input un nome di persona (nome) e il nome di un frutto (frutto) e stampa: "(nome) adora mangiare (frutto)"
  3. Scrivere uno script python che prende in input due float a e b e calcola e stampa c, corrispondente all'ipotenusa del triangolo rettangolo avente per cateti due lati di lunghezza a e b, rispettivamente
  4. Scrivere uno script python che prende in input tre float a, b, c, e calcola e stampa l'espressione: CodeCogsEqn.gif
  5. Scrivere uno script python che prende in input tre float a, b, c, e calcola e stampa le due radici x dell'equazione: CodeCogsEqn1.gif
Topic attachments
I Attachment History Action Size Date Who Comment
Compressed Zip archivezip prova.zip r1 manage 69.8 K 2019-12-18 - 08:17 AngeloSpognardi  
Edit | Attach | Watch | Print version | History: r58 < r57 < r56 < r55 < r54 | Backlinks | Raw View | Raw edit | More topic actions
Topic revision: r58 - 2019-12-19 - AngeloSpognardi






 
Questo sito usa cookies, usandolo ne accettate la presenza. (CookiePolicy)
Torna al Dipartimento di Informatica
This site is powered by the TWiki collaboration platform Powered by PerlCopyright © 2008-2024 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback