Laboratorio 03. Programmazione - CdS Matematica. Andrea Burattin 12 novembre 2013
|
|
- Giorgia Spinelli
- 5 anni fa
- Visualizzazioni
Transcript
1 Laboratorio 03 Programmazione - CdS Matematica Andrea Burattin 12 novembre 2013
2 Dizionari Un dizionario è Contenitore di coppie: chiave, valore Non prevede alcun ordinamento (Un array associativo) A cosa può servire Iterare sulle coppie chiave / valore Aggiungere nuove coppie Ottenere un valore, data una chiave 2 of 31
3 Dizionari Definizioni equivalenti di un dizionario >>> dict1 = dict() >>> dict1 {} >>> >>> dict2 = {} >>> dict2 {} >>> 3 of 31
4 Dizionari Definizione >>> dict = {} >>> dict[ a ] = alpha >>> dict[ g ] = gamma >>> dict[ o ] = omega >>> dict { a : alpha, o : omega, g : gamma } >>> Rappresentazione 4 of 31
5 Dizionari Definizione >>> dict = { a :1, b :2.3, c : test } Accesso e modifica di un elemento >>> dict[ b ] # oggetto indicizzato dalla chiave b 2.3 >>> dict[ b ] = pippo >>> dict { a : 1, c : test, b : pippo } Rimozione di un elemento >>> del dict[ b ] >>> dict { a : 1, c : test } 5 of 31
6 Dizionari Le chiavi e valori possono avere tipo diverso (non omogenee all interno dello stesso dizionario) Le chiavi devono essere tipi immutabili >>> {(1, b ):[1,2]} # chiave e tupla di immutabili {(1, b ): [1, 2]} >>> {[1, b ]:[1,2]} # chiave e lista [...] TypeError: unhashable type: list >>> {(1,{2:3}):[1,2]} # chiave e tupla di mutabili [...] TypeError: unhashable type: dict >>> {(1,(2,3)):[1,2]} # chiave e tupla + tupla {(1, (2, 3)): [1, 2]} >>> {(1,(2,[])):[1,2]} # chiave e tupla + tupla + lista [...] TypeError: unhashable type: list 6 of 31
7 Dizionari >>> dict = { a : alpha, o : omega, g : gamma } >>> dict.keys() # lista di chiavi [ a, g, o ] >>> dict.values() # lista di valori [ alpha, gamma, omega ] >>> dict.items() # lista di tuple con chiave + valore [( a, alpha ), ( g, gamma ), ( o, omega )] >>> dict.has_key( a ) # controllo presenza chiave True >>> dict.has_key( z ) False >>> dict.clear() # rimozione di tutte le coppie 7 of 31
8 Dizionari Esercizio Esercizio Costruire la propria rubrica telefonica. 8 of 31
9 Dizionari Esercizio Esercizio Costruire la propria rubrica telefonica. Anzi, facciamo un archivio dei contatti : per ciascuno di questi si vuole poter archiviare: (i) numero di telefono, (ii) , (iii) note. 8 of 31
10 Dizionari Esercizio Esercizio Costruire la propria rubrica telefonica. Anzi, facciamo un archivio dei contatti : per ciascuno di questi si vuole poter archiviare: (i) numero di telefono, (ii) , (iii) note. Inserire i contatti almeno di tre persone. 8 of 31
11 Dizionari Esercizio Esercizio Costruire la propria rubrica telefonica. Anzi, facciamo un archivio dei contatti : per ciascuno di questi si vuole poter archiviare: (i) numero di telefono, (ii) , (iii) note. Inserire i contatti almeno di tre persone. Operazioni da provare: 1 Stampare l di un contatto 2 Modificare l di un contatto 3 Rimuovere le note di un contatto 4 Stampare la lista delle persone in rubrica 5 Verificare (via codice) se un contatto è in rubrica 8 of 31
12 Dizionari Esercizio Definizione struttura dati >>> archivio = {... "Andrea Burattin" : {... " " : "burattin@math.unipd.it",... "tel" : " ", # un intero era ok?... "note" : "boh?"... }... } >>> 9 of 31
13 Dizionari Esercizio Definizione struttura dati >>> archivio = {... "Andrea Burattin" : {... " " : "burattin@math.unipd.it",... "tel" : " ", # un intero era ok?... "note" : "boh?"... }... } >>> 1. Stampare l di un contatto >>> archivio[ Andrea Burattin ][ ] burattin@math.unipd.it 9 of 31
14 Dizionari Esercizio 2. Modificare l di un contatto >>> archivio[ Andrea Burattin ][ ] = test@nomail. com >>> archivio[ Andrea Burattin ][ ] test@nomail.com 3. Rimuovere le note di un contatto >>> del archivio[ Andrea Burattin ][ note ] >>> archivio[ Andrea Burattin ] { tel : , test@nomail.com } 10 of 31
15 Dizionari Esercizio 4. tampare la lista delle persone in rubrica >>> archivio.keys() [ Andrea Burattin, Fabio Aiolli, Michele Donini ] 5. Verificare (via codice) se un contatto è in rubrica >>> archivio.has_key( Fabio Aiolli ) True >>> archivio.has_key( Bill Gates ) False 11 of 31
16 Insiemi I set rappresentano insiemi (no ordine, no duplicati). Esistono due costruttori: 1 Costruttore vuoto 2 Costruttore da lista >>> set() set([]) >>> set([1,2,3]) set([1, 2, 3]) 12 of 31
17 Insiemi I set rappresentano insiemi (no ordine, no duplicati). Esistono due costruttori: 1 Costruttore vuoto 2 Costruttore da lista >>> set() set([]) >>> set([1,2,3]) set([1, 2, 3]) >>> set("ciao") set([ i, a, c, o ]) 12 of 31
18 Insiemi >>> s = set(range(3)) Operazioni su insiemi >>> s.add(2) >>> s.add(3) >>> s set([0, 1, 2, 3]) >>> s.remove(1) >>> s set([0, 2, 3]) >>> >>> len(s) 3 13 of 31
19 Insiemi >>> disp = set(range(1,10,2)) >>> pari = set(range(2,10,2)) >>> disp pari # unione set([1, 2, 3, 4, 5, 6, 7, 8, 9]) >>> mul3 = set([3,6,9]) # multipli di 3 >>> disp & mul3 # intersezione set([9, 3]) >>> pari - mul3 # complemento (pari ma non multiplo di 3) set([8, 2, 4]) >>> disp ^ mul3 # differenza simmetrica (in uno ma non nell altro) set([7, 5, 6, 1]) 14 of 31
20 Insiemi Esercizio Esercizio Contare il numero di parole, distinte e non, nella frase conto su di te per far di conto usando le strutture dati appena viste. Aiuto: funzione len si applica sia a liste che insiemi. 15 of 31
21 Insiemi Esercizio Esercizio Contare il numero di parole, distinte e non, nella frase conto su di te per far di conto usando le strutture dati appena viste. Aiuto: funzione len si applica sia a liste che insiemi. >>> s = "conto su di te per far di conto".split() >>> len(s) 8 >>> len(set(s)) 6 15 of 31
22 Tipi iterabili Operatori di appartenenza (in e not in) >>> pari = range(2,10,2) >>> 5 in pari False >>> 4 not in pari False Dimensione (len) >>> len([2, 4, 6, 8]) 4 >>> len([[1, 2, 3], [4, 5, 6], [7, 8, 9]]) 3 16 of 31
23 Tipi iterabili Operatore di somma per collezioni numeriche (sum) >>> sum([1, 2, 3.0]) 6.0 Somma dei numeri da 0 a 100 (senza Gauss ma con Python) >>> sum(range(101)) of 31
24 Tipi iterabili Relazioni d ordine (min e max) >>> a = range(100) >>> min(a), max(a) (0, 99) >>> b = ["ZZZ", "aaa"] >>> min(b), max(b) ( ZZZ, aaa ) Operazioni di ordinamento (sorted) >>> b = set(["zzz", "aaa", "AAA", "zzz"]) >>> sorted(b) [ AAA, ZZZ, aaa, zzz ] >>> sorted(b, reverse=true) [ zzz, aaa, ZZZ, AAA ] 18 of 31
25 Tipi iterabili Operatore di aggregazione (zip) >>> nomi = ["Fabio", "Andrea", "Michele"] >>> cognomi = ["Aiolli", "Burattin", "Donini"] >>> zip(nomi, cognomi) [( Fabio, Aiolli ), ( Andrea, Burattin ), ( Michele, Donini )] >>> nomi = set(["fabio", "Andrea", "Michele"]) >>> cognomi = set(["aiolli", "Burattin", "Donini"]) >>> zip(nomi, cognomi) [( Fabio, Donini ), ( Andrea, Aiolli ), ( Michele, Burattin )] 19 of 31
26 Tipi iterabili Operatore di aggregazione (zip) (cont.) >>> a = {"a" : (1, 2), "b" : 4, "c" : "prova"} >>> b = [1, 2] >>> zip(a, b) [( a, 1), ( c, 2)] 20 of 31
27 Descrittori di lista Data una collezione iterabile, si può costruire agilmente una lista analizzando gli elementi della collezione. Operatore descrittore di lista [f(x) for x in l] = [f(l[0]),..., f(l[n])] 21 of 31
28 Descrittori di lista Data una collezione iterabile, si può costruire agilmente una lista analizzando gli elementi della collezione. Operatore descrittore di lista [f(x) for x in l] = [f(l[0]),..., f(l[n])] Calcolare il quadrato di una lista di numeri >>> l = [2, 3, 5, 7, 11, 13] >>> [i**2 for i in l] [4, 9, 25, 49, 121, 169] 21 of 31
29 Descrittori di lista Descrittori di lista condizionali [f(x) for x in l if g(x)] Quadrati solo per i numeri maggiori o uguali a 3 >>> l = [1, 2, 3, 4] >>> [i**2 for i in l if i >= 3] [9, 16] 22 of 31
30 Descrittori di lista Descrittori con più iteratori [f(x1,x2) for x1 in l1 for x2 in l2 if g(x1,x2)] Tutte le combinazioni di valori distinti da due iterabili. >>> l1 = [-1, 0, 1] >>> l2 = [-1, 0, 1] >>> [(x,y) for x in l1 for y in l2 if x!= y] [(-1, 0), (-1, 1), (0, -1), (0, 1), (1, -1), (1, 0)] 23 of 31
31 Descrittori di lista Descrittori con più iteratori [f(x1,x2) for x1 in l1 for x2 in l2 if g(x1,x2)] Tutte le combinazioni di valori distinti da due iterabili. >>> l1 = [-1, 0, 1] >>> l2 = [-1, 0, 1] >>> [(x,y) for x in l1 for y in l2 if x!= y] [(-1, 0), (-1, 1), (0, -1), (0, 1), (1, -1), (1, 0)] Idea generale x IT x y IT y (x), se vale g(x, y), allora f (x, y) (La valutazione procede da sinistra a destra) 23 of 31
32 Descrittori di lista È possibile annidare descrittori di lista. Ricostruire una matrice tramite descrittori di lista >>> matrix = [[1, 2], [3, 4]] >>> [[item for item in row] for row in matrix] [[1, 2], [3, 4]] 24 of 31
33 Descrittori di lista È possibile annidare descrittori di lista. Ricostruire una matrice tramite descrittori di lista >>> matrix = [[1, 2], [3, 4]] >>> [[item for item in row] for row in matrix] [[1, 2], [3, 4]] Costruire una lista con tutti gli elementi di una matrice >>> [item for item in row2 for row2 in matrix] 24 of 31
34 Descrittori di lista È possibile annidare descrittori di lista. Ricostruire una matrice tramite descrittori di lista >>> matrix = [[1, 2], [3, 4]] >>> [[item for item in row] for row in matrix] [[1, 2], [3, 4]] Costruire una lista con tutti gli elementi di una matrice >>> [item for item in row2 for row2 in matrix] Traceback (most recent call last): File "<stdin>", line 1, in <module> NameError: name row2 is not defined >>> [item for row3 in matrix for item in row3] 24 of 31
35 Descrittori di lista È possibile annidare descrittori di lista. Ricostruire una matrice tramite descrittori di lista >>> matrix = [[1, 2], [3, 4]] >>> [[item for item in row] for row in matrix] [[1, 2], [3, 4]] Costruire una lista con tutti gli elementi di una matrice >>> [item for item in row2 for row2 in matrix] Traceback (most recent call last): File "<stdin>", line 1, in <module> NameError: name row2 is not defined >>> [item for row3 in matrix for item in row3] [1, 2, 3, 4] 24 of 31
36 Descrittori di lista Esercizio Esercizio Data la stringa conto su di te per far di conto : 1 Costruire una lista i cui elementi rappresentino il numero di lettere di ogni parola della stringa 2 Costruire una lista i cui elementi indichino (con True/False) se le lettere [ a, b, c ] compaiono o meno 25 of 31
37 Descrittori di lista Esercizio Costruire una lista i cui elementi rappresentino il numero di lettere di ogni parola della stringa >>> s = "conto su di te per far di conto" >>> [len(w) for w in s.split()] [5, 2, 2, 2, 3, 3, 2, 5] 26 of 31
38 Descrittori di lista Esercizio Costruire una lista i cui elementi rappresentino il numero di lettere di ogni parola della stringa >>> s = "conto su di te per far di conto" >>> [len(w) for w in s.split()] [5, 2, 2, 2, 3, 3, 2, 5] Costruire una lista i cui elementi indichino (con True/False) se le vocali [ a, b, c ] compaiono o meno >>> l = [ a, b, c ] >>> [v in s for v in l] [True, False, True] 26 of 31
39 Descrittori di lista Esercizio Esercizio Data la lista di coordinate (1, 5), (5, 2), (3, 9), (1, 3): 1 Per ogni punto, calcolare la somma delle coordinate 2 Calcolare il quadrato della distanza dei punti della lista dal punto P(1,1) 3 Calcolare le coordinate dei punti in un sistema di riferimento con origine O(3,-1) 27 of 31
40 Descrittori di lista Esercizio Per ogni punto, calcolare la somma delle coordinate >>> l = [(1,5),(5,2),(3,9),(1,-3)] >>> [sum(coord) for coord in l] [6, 7, 12, -2] 28 of 31
41 Descrittori di lista Esercizio Per ogni punto, calcolare la somma delle coordinate >>> l = [(1,5),(5,2),(3,9),(1,-3)] >>> [sum(coord) for coord in l] [6, 7, 12, -2] Calcolare il quadrato della distanza dei punti l[i] dal punto P(1,1) >>> P = (1,1) >>> [(x - P[0])**2 + (y - P[1])**2 for x,y in l] [16, 17, 68, 16] 28 of 31
42 Descrittori di lista Esercizio Calcolare le coordinate dei punti in un sistema di riferimento con origine O(3,-1) >>> O = (3, -1) >>> [(x - O[0], y - O[1]) for x,y in l] [(-2, 6), (2, 3), (0, 10), (-2, -2)] 29 of 31
43 Descrittori di lista Cifrario di Cesare Cifrario di Cesare per singolo carattere: >>> k = 3 >>> chiaro = "a" >>> chr(ord("a") + ((ord(chiaro) - ord("a") + k) % 26)) d Esercizio Estendere l esercizio al trattamento di stringhe. Note: gli spazi vanno preservati come tali; per comodità, convertire il messaggio in minuscolo. 30 of 31
44 Descrittori di lista Cifrario di Cesare >>> k = 3 >>> t = "Questo e un esempio di testo di prova" >>> t = t.lower() >>> code = [[chr(ord("a") + ((ord(c) - ord("a") + k) % 26)) for c in parola] for parola in t.split()] >>> code [[ t, x, h, v, w, r ], [ h ], [ x, q ], [ h, v, h, p, s, l, r ], [ g, l ], [ w, h, v, w, r ], [ g, l ], [ s, u, r, y, d ]] >>> code = ["".join(c) for c in code] >>> code = " ".join(code) >>> code txhvwr h xq hvhpslr gl whvwr gl suryd 31 of 31
Laboratorio 03. Programmazione - CdS Matematica. Michele Donini 11 novembre 2014
Laboratorio 03 Programmazione - CdS Matematica Michele Donini 11 novembre 2014 Dizionari Un dizionario è Contenitore di coppie: chiave, valore Non prevede alcun ordinamento A cosa può servire Iterare sulle
Laboratorio 03. Programmazione - CdS Matematica. Monica Dessole 14 novembre 2017
Laboratorio 03 Programmazione - CdS Matematica Monica Dessole 14 novembre 2017 Dizionari Un dizionario è Contenitore di coppie: chiave, valore Non prevede alcun ordinamento A cosa può servire Iterare sulle
Liste, dizionari, set e tuple
Liste, dizionari, set e tuple Andrea Passerini passerini@disi.unitn.it Informatica Liste Descrizione Una lista è una sequenza di oggetti qualunque (anche di tipo diverso, anche altre liste) >>> l = ["AG01",
Essendo una sequenza, condivide le operazioni su sequenza viste per le stringhe
Liste Descrizione Una lista è una sequenza di oggetti qualunque (anche di tipo diverso, anche altre liste) = ["AG01", 857, ["PAZ","Piwi"]] Essendo una sequenza, condivide le operazioni su sequenza viste
Ora l2 e l1 si riferiscono a due oggetti list diversi. Questo significa che sostituendo / rimuovendo un elemento di l2, l1 rimane invariata.
Liste di liste Abbiamo visto che, date due liste l1, l2, l'istruzione l2 = l1 assegna a l2 lo stesso riferimento di l1 (l1 e l2 puntano alla stessa lista). Quindi modificando (la lista riferita da) l1,
Liste, dizionari e tuple
Liste, dizionari e tuple Andrea Passerini passerini@disi.unitn.it Informatica Liste Descrizione Una lista è una sequenza di oggetti qualunque (anche di tipo diverso, anche altre liste) >>> l = ["abc",
Laboratorio 04. Programmazione - CdS Matematica. Michele Donini 19 Novembre 2013
Laboratorio 04 Programmazione - CdS Matematica Michele Donini 19 Novembre 2013 Controllo del flusso Selezione: ci permette di modificare il normale flusso sequenziale di un programma a seconda della valutazione
Laboratorio 02. Programmazione - CdS Matematica. Mirko Polato 3 Novembre 2015
Laboratorio 02 Programmazione - CdS Matematica Mirko Polato 3 Novembre 2015 Contenitori Spesso è necessario utilizzare contenitori di oggetti. 2 of 26 Contenitori Spesso è necessario utilizzare contenitori
Statements: blocchi di istruzioni
Statements: blocchi di istruzioni Andrea Passerini passerini@disi.unitn.it Informatica Statements Descrizione Uno statement è un blocco di istruzioni semplici consistono di una singola riga. I tipi visti
Essendo una sequenza, condivide le operazioni su sequenza viste per le stringhe
Liste Descrizione Una lista è una sequenza di oggetti qualunque (anche di tipo diverso, anche altre liste) = ["abc", 2, [1,2]] Essendo una sequenza, condivide le operazioni su sequenza viste per le stringhe
Programmazione in Python per la bioinformatica
per la bioinformatica University of Verona Sommario La struttura dati Lista Lista Come si rappresenta una lista in python Reminder: Lista collezione ordinata di elementi L = a 0, a 1,, a n 1 La variabile
Laboratorio 01. Programmazione - CdS Matematica. Michele Donini 27 Ottobre 2015
Laboratorio 01 Programmazione - CdS Matematica Michele Donini 27 Ottobre 2015 Prendiamo confidenza Apriamo la console di Python: python Python 2.7.3 (default, Sep 26 2013, 20:03:06) [GCC 4.6.3] on linux2
Laboratorio 01. Programmazione - CdS Matematica. Mirko Polato 6 Novembre 2018
Laboratorio 01 Programmazione - CdS Matematica Mirko Polato 6 Novembre 2018 Prendiamo confidenza Apriamo la console di Python: python Python 2.7.3 (default, Sep 26 2013, 20:03:06) [GCC 4.6.3] on linux2
Dizionari e Tabelle di dati
Dizionari e Tabelle di dati Informatica@SEFA 08/09 - Laboratorio 6 Massimo Lauria http://massimolauria.net/courses/infosefa08/ Lunedì, 6 Novembre 08 Dizionari Dizionari Il dizionario
Laboratorio 01. Programmazione - CdS Matematica. Ivano Lauriola 31 Ottobre 2017
Laboratorio 01 Programmazione - CdS Matematica Ivano Lauriola 31 Ottobre 2017 Prendiamo confidenza Apriamo la console di Python: python Python 2.7.3 (default, Sep 26 2013, 20:03:06) [GCC 4.6.3] on linux2
I set (iterable, mutable) INDICE
INDICE I set (iterable, mutable) Per creare i set literals la funzione set la funzione membro copy set comprehension Modifica dei set Aggiunta di un elemento con add Aggiunta elementi con update Rimozione
Strutture blocco. Indentazione e istruzione blocco
Strutture blocco Indentazione e istruzione blocco In Python il blocco di istruzioni è definito tramite il meccanismo dell indentazione. L indentazione consiste nell inserire un certo numero di spazi (o
Operazione +. La somma di due oggetti str s1, s2 è un nuovo oggetto str dato dalla concatenazione dei caratteri di s1 e s2
Tipi numerici Python gestisce diversi formati numerici. int è il formato standard per la gestione dei numeri interi. x = 42 type(x) # > int float è il formato standard per la gestione dei numeri con la
Laboratorio di Python
Laboratorio di Python Code Lab13 28 Aprile 2017 Outline Correzione esercizi per oggi Code Teoria Esercizi Esercizi per casa Esercizio 1 per casa Scrivere una funzione che determina se uno studente può
Laboratorio di Python
, Input da tastiera, Iterazione incondizionata 7 marzo 2014 Sommario 1 2 3 Outline 1 2 3 Definizione di funzione import modulo Si importa il modulo specificato def nome_f(par 1,, par n ) : Si definiscono
Elementi del linguaggio Python
Elementi del linguaggio Python Informatica@SEFA 07/08 - Lezione Massimo Lauria http://massimolauria.net/courses/infosefa07/ Venerdì, 9 Settembre 07 Tipi numerici e calcoli In
Programmazione in Python. Moreno Marzolla
Programmazione in Python Moreno Marzolla http://www.moreno.marzolla.name/ Copyright 2011, Moreno Marzolla (http://www.moreno.marzolla.name/teaching/labinf2011/) This work is licensed under the Creative
Laboratorio di Python
Istruzione di condizione, Input da tastiera, Università di Bologna 6 e 8 marzo 2013 Sommario 1 Tipi di errore e Debugging 2 3 4 Outline Tipi di errore e Debugging 1 Tipi di errore e Debugging 2 3 4 Esercizio
Statements: blocchi di istruzioni
Statements: blocchi di istruzioni Andrea Passerini passerini@disi.unitn.it Informatica Statements Descrizione Uno statement è un blocco di istruzioni semplici consistono di una singola riga. I tipi visti
Laboratorio di Python (con Linux)
8 a lezione Università di Bologna 2, 4 maggio 2012 Sommario 1 2 3 Diversi Python 2.6 vs 2.7 v.s 3.x La versione di Python installata sulle macchine del laboratorio è la 2.6 (per l esattezza 2.6.6 ). Versioni
Laboratorio 04. Programmazione - CdS Matematica. Michele Donini 17 Novembre 2015
Laboratorio 04 Programmazione - CdS Matematica Michele Donini 17 Novembre 2015 Controllo del flusso Selezione: ci permette di modificare il normale flusso sequenziale di un programma a seconda della valutazione
Laboratorio 05b. Programmazione - CdS Matematica. Lauriola Ivano 13 dicembre 2016
Laboratorio 05b Programmazione - CdS Matematica Lauriola Ivano 13 dicembre 2016 Script Aprire idle dal terminale (ricordarsi la & per poter utilizzare lo stesso terminale con idle in esecuzione): idle
Laboratorio: introduzione al Python
Laboratorio: introduzione al Python Primo esercizio: 1) Definiamo due oggetti il primo intero, il secondo float, entrambi con valore 3. 2) Controlliamone il tipo con il comando type() 3) Controlliamone
Esercizi in Laboratorio
Esercizi in Laboratorio Informatica@SEFA 2017/2018 - Laboratorio 2 Massimo Lauria http://massimolauria.net/courses/infosefa2017/ Lunedì, 9 Ottobre 2017 1 Errata corrige (tuple
Metodi Informatici per la Biologia
Metodi Informatici per la Biologia Esercitazione 8 1. Altri dettagli sulle funzioni Come ormai sapete bene, la forma generale di una funzione è: def nome_funzione(argomento1, argomento2, ): "documentazione"
Raccolta di tutorial Python #1: basi e Tkinter dal sito francescomilanese.com SOMMARIO
Prima parte: le basi di Python 1. Introduzione. Cosa ci serve, cosa è richiesto, cosa faremo. Note sull'indentazione 1 Introduzione 1 Scrittura degli script: l'idle 2 Importare moduli in uno script 3 I
Esercitazioni di Fondamenti di Informatica - Lez /12/2018
Esercitazioni di Fondamenti di Informatica - Lez. 0 //08 Esercizi su Python. ESAME 3/08/07 es. 6. Scrivere un programma Python 3 che definisce un apposito dizionario che contiene, attraverso le coppie
Fondamenti di Programmazione
Fondamenti di Programmazione Capitolo 9 Tuple Prof. Mauro Gaspari: gaspari@cs.unibo.it Le tuple Due strutture dati composte: Stringhe: non modificabili (immutabili) Liste: modificabili (mutabili) Le tuple
Laboratorio di Informatica
Laboratorio di Informatica Terza lezione a Python Dottore Paolo Parisen Toldin - parisent@cs.unibo.it Dottoressa Sara Zuppiroli - sara.zuppiroli@unibo.it Ricorsione La ricorsione primitiva è una operazione
MICROSOFT EXCEL FORMULE E FUNZIONI
MICROSOFT EXCEL FORMULE E FUNZIONI Lezione 1.2 a.a. 2016-2017 Ing. Giulia Fiscon Sommario Introduzione Microsoft Excel Lavorare con i fogli di calcolo Riferimenti di cella Formule e Funzioni Funzioni logiche
Laboratorio Programmazione Anno Lezione 3
Laboratorio Programmazione Anno 2012-2013 Lezione 3 Scripting Fino ad ora, per fare esercizi, abbiamo utilizzato l ambiente interattivo di python. È possibile creare dei file contenenti (lunghe) sequenze
Laboratorio di Python
Laboratorio di Python Esercizi di debug Lab07 27 Marzo 2018 Outline Correzione esercizi per oggi Debug Strategia Esercizi di debug Esercizi per casa Outline Correzione esercizi per oggi Debug Strategia
Laboratorio 05. Programmazione - CdS Matematica. Marco Virgulin 2 dicembre 2014
Laboratorio 05 Programmazione - CdS Matematica Marco Virgulin 2 dicembre 2014 Script Aprire idle dal terminale (ricordarsi la & per poter utilizzare lo stesso terminale con idle in esecuzione): idle &
Esercizi su strutture dati
Esercizi su strutture dati Marco Alberti Programmazione e Laboratorio, A.A. 2016-2017 Dipartimento di Matematica e Informatica - Università di Ferrara Ultima modifica: 21 dicembre 2016 Liste collegate
Elementi del linguaggio Python
Elementi del linguaggio Python Informatica@SEFA 08/09 - Lezione 5 Massimo Lauria http://massimolauria.net/courses/infosefa08/ Mercoledì, Ottobre 08 Capitoli del libro su Python
I S T I T U T O T E C N I C O I N D U S T R I A L E S T A T A L E
I S T I T U T O T E C N I C O I N D U S T R I A L E S T A T A L E G u g l i e l m o M a r c o n i V e r o n a Dipartimento di Progetto didattico disciplinare per le classi terze della articolazione Anno
Espressioni aritmetiche
Espressioni aritmetiche Consideriamo espressioni costruite a partire da variabili e costanti intere mediante applicazione delle operazioni di somma, sottrazione, prodotto e divisione (intera). Ad esempio:
Esercizi in Laboratorio
Esercizi in Laboratorio Informatica@SEFA 2017/2018 - Laboratorio 3 Massimo Lauria http://massimolauria.net/courses/infosefa2017/ Lunedì, 16 Ottobre 2017 1 Formattazione delle
Laboratorio di Python
Laboratorio di Python Matrici con Liste Lab09 5 Aprile 2017 Outline Correzione esercizi per oggi Matrici Teoria Esercizi Esercizi per casa Esercizio 1 per casa Scrivere una funzione che verifica se una
Programmare in Python e uscirne incolumi #3. docente Vito Tafuni aa 2017/2018
Programmare in Python e uscirne incolumi #3 docente Vito Tafuni aa 27/28 + Di più sulle Stringhe I tipi stringa sono delle sequenze... di caratteri. È possibile utilizzare indici numerici per individuare
Lezione 2 I Dizionari
Lezione 2 I Dizionari Informatica 21 Aprile 2016 Un esempio di codice inefficiente Prendiamo come esempio il codice per calcolare la serie di Fibonacci: def (n): if n == 0: return 0 if n == 1: return 1
Logica booleana, Costrutto IF
Logica booleana, Costrutto IF Informatica@SEFA 207/208 - Lezione 4 Massimo Lauria http://massimolauria.net/courses/infosefa207/ Mercoledì, 4 Ottobre 207 La logica booleana 2
Laboratorio 06. Programmazione - CdS Matematica. Michele Donini 03 dicembre 2013
Laboratorio 06 Programmazione - CdS Matematica Michele Donini 03 dicembre 2013 Esercizio I Esercizio Scrivere una funzione crypt che cripta una stringa, passando un carattere per volta alla funzione (parametro)
laboratorio di python
laboratorio di python iterazione in python 22 Marzo 2019 1/31 Correzione esercizi per oggi esercizio 1 per casa Scrivere una funzione che restituisce True se una stringa passata come parametro è palindroma
Progetti Algoritmi e Strutture Dati A.A Si intende realizzare una coda di priorità mediante un max-heap.
Progetti Algoritmi e Strutture Dati A.A. 2017-2018 Esercizio 1 Si intende realizzare una coda di priorità mediante un max-heap. Ogni singolo elemento della struttura è rappresentato da una coppia < categoria,
liste e tuple informatica e laboratorio di programmazione Alberto Ferrari Informatica e Laboratorio di Programmazione
liste e tuple informatica e laboratorio di programmazione Alberto Ferrari Informatica e Laboratorio di Programmazione lista o sequenza di elementi (di solito dello stesso tipo) o l'intera lista può essere
Esecuzione condizionale ed espressioni logiche
Esecuzione condizionale ed espressioni logiche Informatica@SEFA 08/09 - Lezione 6 Massimo Lauria http://massimolauria.net/courses/infosefa08/ Venerdì, 5 Ottobre 08 Ripartiamo
Corso di Linguaggi di Programmazione
Corso di Linguaggi di Programmazione Lezione 5 Alberto Ceselli alberto.ceselli@unimi.it Università degli Studi di Milano 12 Marzo 2013 Le funzioni sono oggetti di prima classe in Scheme In Scheme le funzioni
Programmare in Python e fare i fighi. docente Vito Tafuni
Programmare in Python e fare i fighi docente Vito Tafuni Scrivere il programma che costruisca la lista dei quadrati dei numeri da a 9. + Costruzione veloce di liste Python ha una sintassi compressa per
laboratorio di python
laboratorio di python esercizi vari, pratiche di debug e di tracing 29 Marzo 2019 1/18 Debug esercizio a cosa non va in questo codice? Scrivere una funzione che prende come parametro una tupla t e restituisce
Introduzione a Matlab
INFORMATICA B Ingegneria Elettrica Introduzione a Matlab Introduzione a Matlab Matlab (MATrix LABoratory) è uno strumento per il calcolo scientifico ed ingegneristico Matlab facilita lo sviluppo di programmi
Laboratorio di Python
Laboratorio di Python Alberi binari Lab15 12 Maggio 2017 Outline Correzione esercizi per oggi Alberi binari Teoria Esercizi Esercizi per casa Saluti Esercizio 1 per casa Scrivere una funzione palindroma(s)
A. Languasco - Esercizi Matematica B - 2. Spazi Vettoriali e Trasformazioni lineari 1
A. Languasco - Esercizi Matematica B - 2. Spazi Vettoriali e Trasformazioni lineari 1 A: Spazi vettoriali e sottospazi Corso di Matematica B - Ingegneria Informatica Testi di Esercizi A1. Provare che l
Fondamenti di Informatica T1 Interfaccia Comparable Collezioni
Fondamenti di Informatica T1 Interfaccia Comparable Collezioni Tutor Melissa Licciardello melissa.licciardell2@unibo.it Melissa Licciardello Fondamenti di Informatica T1 1 / 19 Interfaccia Comparable Fa
laboratorio di python
laboratorio di python definizioni di booleani, selezione ed uso degli input 13 Marzo 2019 1/32 Correzione esercizi per oggi esercizio 1 per casa Scrivere una funzione che non ha nessun parametro, non restituisce
Prova di Laboratorio del [ Corso A-B di Programmazione (A.A. 2004/05) Esempio: Media Modalità di consegna:
Prova di Laboratorio del 12.1.2005 [durata 90 min.] Corso A-B di Programmazione (A.A. 2004/05) 1. Leggere da tastiera un insieme di numeri interi ed inserirli in un vettore A 2. Calcolare tramite una funzione
Trasformare array paralleli in array di record
Trasformare array paralleli in array di record Trasformare array paralleli in array di record Un array è una struttura di dati omogenea: gli elementi dell array sono tutti dello stesso tipo (che è il tipo
Laboratorio di Python
Laboratorio di Python Matrici con Liste Lab09 10 Aprile 2018 Outline Correzione esercizi per oggi Matrici Teoria Esercizi Esercizi per casa Outline Correzione esercizi per oggi Matrici Teoria Esercizi
Laboratorio di Python (con Linux)
Indeterminata,,,... Università di Bologna 14, 16 marzo 2012 Sommario 1 2 3 4 5 Modularità Quando si deve fare un programma complicato è meglio suddividerlo in più parti. Per ridurre la complessità (più
Informazioni su oggetti R
Informazioni su oggetti R Vettori ed array multi-dimensionali sono oggetti R che servono a rappresentare oggetti omogenei Se a è un oggetto R, per avere informazioni su a esistono alcuni comandi. 'mode'
Concetti fondamentali
Concetti fondamentali elemento insieme sequenza tutto si riconduce a questi insieme: esempi {,3,5,7,9} insieme dei numeri dispari positivi minori di dieci {Antonio, Beatrice, Carlo, Daria} insieme dei
Laboratorio di Python
Laboratorio di Python Variabili e Funzioni Lab02 1 Marzo 2017 Outline Variabili modificabili Teoria Esempi ed esercizi Funzioni Teoria Esempi ed esercizi Esercizi per casa Outline Variabili modificabili
Tipi di dato primitivi
Tipi di dato primitivi (oltre int) Tipi di dato primitivi int (già trattati) Valori logici (ricordati) Valori reali Valori carattere Informatica - A.A. 2009/2010 - Tipi di dato 2 1 Valori logici (il caso
Python Parte 1: Caratteristiche di base
Python Parte 1: Caratteristiche di base Parte del ciclo di seminari su Programmazione Orientata agli Oggetti e Scripting in Python a cura di: Giancarlo Cherchi Introduzione Un programma Python è composto
PROGRAMMAZIONE 2 15bisbis. OCaML: un veloce ripasso
PROGRAMMAZIONE 2 15bisbis. OCaML: un veloce ripasso PR2 2017-2018 1 Funzioni generiche Analizziamo la funzione length applicata a int list e string list let rec length (l : int list) : int = match l with
1. (A1) Quali tra le seguenti uguaglianze sono vere? 2. (A1) Una sola delle seguenti affermazioni è vera. Quale?
M ============= (A) Aritmetica ===================== rappresentazione dei numeri algebra dei numeri proprietà delle operazioni. (A) Quali tra le seguenti uguaglianze sono vere? e. 2 + 2 2 2 + = 2 2 + =
Laboratorio di Python
Laboratorio di Python Booleani, Selezione, Input Lab03 7 Marzo 2018 Outline Correzione esercizi per oggi Booleani e Selezione (if) Teoria Esercizi Input Teoria Esercizi Esercizi per casa Esercizio 1 per
La Standard Template Library Heap, algoritmi e funtori
La Standard Template Library Heap, algoritmi e funtori Pericle Perazzo 27 maggio 2011 Riassunto contenitori e iteratori Un contenitore è un oggetto che contiene un insieme di altri oggetti di tipo omogeneo
Fondamenti di Informatica
Vettori e matrici #1 Le variabili definite come coppie sono dette variabili scalari Fondamenti di Informatica 5. Algoritmi e pseudocodifica Una coppia è una variabile
CORSO DI AZZERAMENTO DI MATEMATICA
CORSO DI AZZERAMENTO DI MATEMATICA 1 LE BASI FONDAMENTALI INSIEMI INSIEMI NUMERICI (naturali, interi, razionali e reali) CALCOLO LETTERALE RICHIAMI DI TRIGONOMETRIA I NUMERI COMPLESSI ELEMENTI DI GEOMETRIA
Uso delle liste per rappresentare tipi astratti di dati
Uso delle liste per rappresentare tipi astratti di dati Il tipo astratto di dati dizionario Il tipo astratto dizionario è una collezione di elementi, ciascuno dei quali è costituito da una coppia (chiave,
Numeri e stringhe. Andrea Passerini Conoscenze informatiche e relazionali Corso di laurea in Scienze dell Ingegneria Edile
Andrea Passerini passerini@dsi.unifi.it Conoscenze informatiche e relazionali Corso di laurea in Scienze dell Ingegneria Edile Numeri Principali tipi numerici interi normali interi con una gamma prefissata
se di diverso tipo, gli operandi vengono comunque prima convertiti nel tipo più complesso
Numeri Principali tipi numerici interi normali interi con una gamma prefissata di possibili valori (che dipende dall architettura, e.g. [-2147483648,2147483647] con parole a 32-bit): 3452, -15, 0 interi
PREAPPELLO. QUANDO: Giovedì 24 Novembre ore DOVE: Aula Informatica LabTA (Torre Archimede) COME: Domande a scelta multipla o aperta
PREAPPELLO QUANDO: Giovedì 24 Novembre ore 14.00 DOVE: Aula Informatica LabTA (Torre Archimede) COME: Domande a scelta multipla o aperta TURNI: DUE/TRE alle 14.15 e alle 18.00 ISCRIZIONI: verrà inserito
GARA SECONDARIA PRIMO GRADO - INDIVIDUALE
ESERCIZIO 1 GARA1 2019 - SECONDARIA PRIMO GRADO - INDIVIDUALE La tabella che segue descrive le attività di un progetto (indicate rispettivamente con le sigle A1, A2,...), riportando per ciascuna di esse
public static boolean occorre (int[] a, int n) { int i = 0; boolean trovato = false;
Metodi iterativi con array monodimensionali 1. Scrivere un metodo che, dato un array di interi a, restituisce il valore minimo in a. public static int minimo (int[] a) { int min = a[0]; for (int i=1; i
Il linguaggio Python
Il linguaggio Python Capitolo 2 Variabili, Espressioni e Comandi Prof. Mauro Gaspari: gaspari@cs.unibo.it Il Linguaggio Python Python e' un linguaggio imperativo con alcune caratteristiche funzionali.
Appunti di informatica. Lezione 8 anno accademico Mario Verdicchio
Appunti di informatica Lezione 8 anno accademico 2016-2017 Mario Verdicchio Il ciclo FOR Molto spesso in un programma bisogna ripetere un operazione per un numero prefissato di volte Si tratta di un iterazione
Tipi di dato strutturati: Array
Tipi di dato strutturati: Array I dati visti finora sono: numeri (interi o razionali), booleani le stringhe (sequenze di caratteri) ma i dati manipolati nelle applicazioni reali sono spesso complessi (o
Altro di ADT. Dominio. Funzioni. Dominio. Funzioni. Costanti - Collezioni
di astratto Abstract Data Type Paolo Bison Fondamenti di Informatica 1 A.A. 2004/05 Università di Padova definizione di un indipendente dalla sua rappresentazione interna e dalla effettiva implementazione
Esercizi vari. Alberto Montresor. 19 Agosto, 2014
Esercizi vari Alberto Montresor 19 Agosto, 2014 Alcuni degli esercizi che seguono sono associati alle rispettive soluzioni. Se il vostro lettore PDF lo consente, è possibile saltare alle rispettive soluzioni
Informatica (A-K) 5. Algoritmi e pseudocodifica
Vettori e matrici #1 Informatica (A-K) 5. Algoritmi e pseudocodifica Corso di Laurea in Ingegneria Civile & Ambientale A.A. 2011-2012 2 Semestre Prof. Giovanni Pascoschi Le variabili definite come coppie
Laboratorio 26/09/2000
Laboratorio 26/09/2000 Note Il compilatore usato è il DJGPP, un compilatore C/C++ a 32 bit ANSI C. Documentato e supportato via Internet (www.delorie.com). Per compilare utilizzare un comando del tipo
Università Ca Foscari Dipartimento di informatica. Programmazione part-time. Esame Ocaml
Soluzione Università Ca Foscari Dipartimento di informatica Programmazione part-time Esame Ocaml Nome: Matricola: Samuel Rota Bulò, a.a. 2009/2010 Programmazione part-time a.a. 2009/2010 Esame Ocaml Nome:
Introduzione Il costrutto if: else: Il costrutto while: Il costrutto for: Sommario FONDAMENTI DI INFORMATICA. Avviso. Introduzione
Università degli Studi di Cagliari Corsi di Laurea in Ingegneria Chimica ed Ingegneria Meccanica FONDAMENTI DI INFORMATICA http://www.diee.unica.it/~marcialis/fi A.A. 2016/2017 Docente: Gian Luca Marcialis
Fondamenti di Informatica 6. Algoritmi e pseudocodifica
Vettori e matrici #1 Fondamenti di Informatica 6. Algoritmi e pseudocodifica Corso di Laurea in Ingegneria Civile A.A. 2010-2011 1 Semestre Prof. Giovanni Pascoschi Le variabili definite come coppie
Programmazione Orientata agli Oggetti e Scripting in Python
DIEE - Università degli Studi di Cagliari Programmazione Orientata agli Oggetti e Scripting in Python Paradigma ad Oggetti - 2 Alessandro Orro DIEE Univ. di Cagliari 1 ereditarietà: metodi Il meccanismo
Laboratorio di Python
, sequenze immutabili 5 marzo 2015 Sommario 1 2 3 Input da tastiera Sintassi = raw_input('stringa descrittiva') #versione 2.* = input('stringa descrittiva') #versione 3.* si assegna a
Anagrammando Proposte di variazione sul tema Cosa hai imparato
Indice Introduzione... XI A chi si rivolge questo libro...xi Requisiti per la lettura...xi Struttura del libro... XII Presentazione dei capitoli... XIII Programmi presentati nel libro... XIV Credits...
Lezione 10 Alberi e gestione delle eccezioni
Lezione 10 Alberi e gestione delle eccezioni Informatica 5 Maggio 2016 1 Visita in ampiezza ed esercizi Esercizio: stampa per livelli Scrivere una funzione che stampa le etichette di tutti i nodi dell
1. (A1) Quali tra le seguenti uguaglianze sono vere? = vera. 2. (A1) Una sola delle seguenti affermazioni è vera. Quale?
M Commenti generali I test sono divisi in cinque gruppi (A) Aritmetica (A2) Aritmetica 2 (C) Calcolo (O) Ordinamenti (D) Divisioni Osservazione (/2/20): Sono stati sperimentati sugli studenti aggiungendo
Laboratorio di Python
Algoritmo, sulle liste Università di Bologna 3 e 5 aprile 2013 Sommario Correzione esercizi 1 Correzione esercizi 2 3 4 Correzione Correzione esercizi scrivere e documentare un programma con un menu dove:
ML è un linguaggio interattivo La modalità interattiva di OCaml Ciclo: LETTURA, VALUTAZIONE, STAMPA. Objective Caml version 3.06
1 ML è un linguaggio interattivo La modalità interattiva di OCaml Ciclo: LETTURA, VALUTAZIONE, STAMPA # Objective Caml version 3.06 Il cancelletto è il prompt di Caml. # 3*8;; - : int = 24 LETTURA: viene