---+ 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: [[%ATTACHURL%/prova.zip][prova.zip ]] Correzione: [[%ATTACHURL%/es12.zip][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: [[%ATTACHURL%/es11.zip][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: [[%ATTACHURL%/es10.zip][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: [[%ATTACHURL%/es9.zip][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: [[%ATTACHURL%/es8.zip][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: [[%ATTACHURL%/es7.zip][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 <a href="https://www.youmath.it/lezioni/algebra-lineare/matrici-e-vettori/1567-prodotto-riga-per-colonna.html" target="_blank">prodotto righe colonne</a>. 1 Scrivere una funzione che prende una matrice di numeri come lista di liste e restituisce True se la matrice è simmetrica, False altrimenti. 1 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 1 due punti x1,y1 e x2,y2 corrispondenti a due spigoli di un rettangolo 1 due tuple di colori colore_bordo e colore_interno<br />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. 1 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 "<a href="https://en.wikipedia.org/wiki/Grayscale#Converting_color_to_grayscale" target="_blank">formula colometrica</a>". 1 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: [[%ATTACHURL%/es6.zip][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: [[%ATTACHURL%/es5.zip][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. 1 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.<br />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']} 1 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.<br />Ad esempio, per il dizionario<br />{ topolino:12, pluto:3, minnie:7, pippo:4, qui:3 }<br />la funzione deve restituire la lista [pippo,topolino]. 1 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. 1 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: [[%ATTACHURL%/esercizio.zip][esercizio.zip]] Pacchetto zip con tutti gli esempi visti in classe: [[%ATTACHURL%/es4.zip][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]<br /> Esempio: l'input [1,3,1,5,6,4,7,1,8] restituisce 3 1 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... 1 Scrivere una funzione che prende una stringa e SENZA USARE I CICLI ritornal'insieme dei caratteri che formano la stringa. 1 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 <br />Esempio: "2,5,3,11" e "19,25,4,181" restituisce la stringa "2,5" 1 Scrivere la funzione intreccia che prende due stringhe e ritorna una nuova stringa che è l'intreccio delle due passate in input. Esempio:<br /> >>> intreccia("abc","efg")<br /> aebfcg<br /> >>> intreccia("abcd", "efghijk")<br /> 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: [[%ATTACHURL%/es3.zip][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. 1 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. 1 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. 1 Scrivere una funzione che verifica se una lista è ordinata in modo crescente (<=) (supponiamo che la lista contenga oggetti ordinabili). 1 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: [[http://www.pierluigidamico.it/ABACUS/COMPLEMENTO%20A%2010%20E%20COMPLEMENTO%20A%202.pdf][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: [[%ATTACHURL%/es2.zip][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 1 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. 1 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 1 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. 1 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 <span class="WYSIWYG_TT">maturato = capitale * (1+interesse/100)**anni.<br /></span>Usare il seguente programma per testare la corretta implementazione: [[%ATTACHURL%/test_invest.py.txt][test_invest.py.txt]]<br /><br /><br /> ---++ Mer 25 settembre 2019: primi passi! <b>Potete seguire la guida con i primi passi a [[PrimiPassi][questo link]].<br /></b> Streaming youtube canale Sterbini: https://youtu.be/dFrdQ3_nS18 Streaming youtube canale Monti: https://youtu.be/atsEZmUvVIA Primi esercizi svolti: * [[%ATTACHURL%/four.py.txt][four.py.txt]]: four.py * [[%ATTACHURL%/sommaprod.py.txt][sommaprod.py.txt]]: sommaprod.py * [[%ATTACHURL%/rettangolo.py.txt][rettangolo.py.txt]]: rettangolo.py * [[%ATTACHURL%/media.py.txt][media.py.txt]]: media.py * [[%ATTACHURL%/circonferenza.py.txt][circonferenza.py.txt]]: circonferenza.py * [[%ATTACHURL%/somma.py.txt][somma.py.txt]]: somma.py * [[%ATTACHURL%/operazioni.py.txt][operazioni.py.txt]]: operazioni.py * [[%ATTACHURL%/hello.py.txt][hello.py.txt]]: hello.py * [[%ATTACHURL%/ciao.py.txt][ciao.py.txt]]: ciao.py * [[%ATTACHURL%/primo_spaziale.py.txt][primo_spaziale.py.txt]]: primo_spaziale.py ---++++ 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 1 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)" 1 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 1 Scrivere uno script python che prende in input tre float a, b, c, e calcola e stampa l'espressione: <img alt="CodeCogsEqn.gif" height="41" src="%ATTACHURL%/CodeCogsEqn.gif" title="CodeCogsEqn.gif" width="176" /> 1 Scrivere uno script python che prende in input tre float a, b, c, e calcola e stampa le due radici x dell'equazione: <img alt="CodeCogsEqn1.gif" height="18" src="%ATTACHURL%/CodeCogsEqn1.gif" title="CodeCogsEqn1.gif" width="130" />
Attachments
Attachments
Topic attachments
I
Attachment
History
Action
Size
Date
Who
Comment
zip
prova.zip
r1
manage
69.8 K
2019-12-18 - 08:17
AngeloSpognardi
This topic: Programmazione1/AA19_20
>
WebHome
>
DiarioDelleEsercitazioni
Topic revision: r58 - 2019-12-19 - AngeloSpognardi
Copyright © 2008-2025 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki?
Send feedback