Laboratorio di Python
|
|
|
- Riccardo Caselli
- 8 anni fa
- Просмотров:
Транскрипт
1 Laboratorio di Python Code Lab13 28 Aprile 2017
2 Outline Correzione esercizi per oggi Code Teoria Esercizi Esercizi per casa
3 Esercizio 1 per casa Scrivere una funzione che determina se uno studente può prendere il punto aggiuntivo all esame (ovvero se ha consegnato almeno 10 volte gli esercizi)
4 Esercizio 1 per casa Scrivere una funzione che determina se uno studente può prendere il punto aggiuntivo all esame (ovvero se ha consegnato almeno 10 volte gli esercizi) 1 import s t u d e n t i 2 3 def p u o p r e n d e r e p u n t o ( s ) : 4 return len ( s t u d e n t i. c o n s e g n e s t u d e n t e ( s ) )>=10
5 Esercizio 2 per casa Scrivere un programma che stampa un istogramma (con gli asterischi) delle consegne per ogni laboratorio (anche quelli con 0 consegne), ordinate dal laboratorio con più consegne a quello con meno consegne. I laboratori sono numerati da 1 a 15.
6 Esercizio 2 per casa 1 import s t u d e n t i 2 #s t a t i s t i c a consegne >0 3 ds = s t u d e n t i. s t a t i s t i c a c o n s e g n e ( ) 4 #aggiungo g l i z e r i 5 f o r i i n range ( 1, 1 6 ) : 6 i f i not i n ds : 7 ds [ i ] = 0 8 #r e s t i t u i s e i l secondo elemento d i una t u p l a 9 def second ( t ) : 10 return t [ 1 ] 11 ds. i t e m s ( ) r e s t i t u i s e una sequenza d i c o p p i e ( c h i a v e, v a l o r e ), l a t r a s f o r m o i n una l i s t a o r d i n a t a con s o r t e d, o r d i n a n d o l a i n modo d e c r e s c e n e ( r e v e r s e=true ) e i n base a l secondo elemento d e l l a t u p l a. 12 l i s t a = sorted ( ds. i t e m s ( ), key=second, r e v e r s e=true ) 13 f o r nlab, f r e q i n l i s t a : 14 p r i n t ( nlab, ' ' f r e q, sep=' \ t ' )
7 Esercizio 3 per casa Scrivere una funzione che prende in input una stringa e crea un dizionario in cui le chiavi sono i caratteri alfanumerici (string.digits+string.ascii letters) presenti nella stringa i valori sono dei dizionari che hanno: come chiavi tutti i caratteri che seguono il carattere considerato come valori la frequenza con cui quel carattere segue il carattere considerato
8 Esercizio 3 per casa 1 import s t r i n g 2 d e f s t a t f r e q ( s ) : 3 d r e s = d i c t ( ) 4 an = s t r i n g. d i g i t s+s t r i n g. a s c i i l e t t e r s 5 #non c o n s i d e r o l ' u l t i m a l e t t e r a p e r c h e ' non ha s u c c 6 f o r i i n range ( l e n ( s ) 1) : 7 c = s [ i ] 8 i f c i n an : 9 i f c not i n d r e s : 10 #nuovo d i z. p e r l e l e t t e r e s e g u e n t i c d r e s [ c ] = d i c t ( ) 12 # i n c u i i n s e r i s c o f r e q d e l s u c c e s s o r e d i c 13 d r e s [ c ] [ s [ i +1]] = 1 14 e l s e : #c e ' g i a ' p r e s e n t e 15 d r e s [ c ] [ s [ i +1]] = d r e s [ c ]. g e t ( s [ i +1],0)+1 16 r e t u r n d r e s
9 Outline Correzione esercizi per oggi Code Teoria Esercizi Esercizi per casa
10 Code Vogliamo utilizzare una nuova struttura dati: le code. Collezione ordinata e mutabile di elementi Ha un inizio (head) e una fine (tail) Operazioni: Accodamento (enqueue), aggiunge un elemento alla fine della coda Estrazione (dequeue), rimuove un elemento all inizio della coda
11 Code Vogliamo utilizzare una nuova struttura dati: le code. Collezione ordinata e mutabile di elementi Ha un inizio (head) e una fine (tail) Operazioni: Accodamento (enqueue), aggiunge un elemento alla fine della coda Estrazione (dequeue), rimuove un elemento all inizio della coda Questa struttura non esiste nativamente in Python, quindi dobbiamo costruircela noi, come tipo di dato astratto (abstract data type, ADT). Dobbiamo quindi costruire Un interfaccia, cioè (i nomi del)le le funzioni con cui manipoleremo il tipo di dato (e lo faremo solo con quelle) Un implementazione, cioè il modo con cui concretamente sono rappresentati i dati ed eseguite le operazioni in Python. Una volta costruita, non accederemo più a questa rappresentazione concreta per manipolare i dati.
12 Interfaccia e Implementazione Costruire un file di Python coda.py che contenga un implementazione tramite liste della seguente interfaccia. Poiché si tratta di un interfaccia, cioè un accordo comune su come utilizzare le code, nomi e numero di file, funzioni e parametri deve essere esattamente lo stesso. queue() - Crea una coda vuota enqueue(a, c) - Accoda a alla fine della coda c. Ritorna inoltre c. dequeue(c) - Rimuove il primo elemento della coda c e ne ritorna il valore. Se c è vuota ritorna None. is empty(c) - Ritorna True sse la coda c è vuota head(c) - Ritorna il primo elemento della coda c (senza rimuoverlo). Se c è vuota ritorna None. tail(c) - Ritorna l ultimo elemento della coda c (senza rimuoverlo). Se c è vuota ritorna None. length(c) - Ritorna il numero di elementi presenti nella coda
13 coda.py 1 def queue ( ) : 2 r e t u r n [ ] 3 4 def enqueue ( a, c ) : 5 c. append ( a ) 6 r e t u r n c 7 8 def dequeue ( c ) : 9 i f l e n ( c ) >0: 10 a = c [ 0 ] 11 d e l c [ 0 ] 12 r e t u r n a 13 r e t u r n None def i s e m p t y ( c ) : 16 r e t u r n l e n ( c ) == 0 17 def head ( c ) : 18 i f l e n ( c ) >0: 19 r e t u r n c [ 0 ] 20 e l s e : 21 r e t u r n None def t a i l ( c ) : 24 i f l e n ( c ) >0: 25 r e t u r n c [ 1] 26 e l s e : 27 r e t u r n None def l e n g t h ( c ) : 30 r e t u r n l e n ( c )
14 Ufficio Postale All ufficio postale apre un solo sportello. Arrivano Michael, Davide, Matteo e Simone. Come rappresentiamo questo con una coda in Python? 1 from coda import 2 up = queue ( ) 3 enqueue ( Michael, up ) 4 enqueue ( Davide, up ) 5 enqueue ( Matteo, up ) 6 enqueue ( Simone, up ) Ma se volessimo costruire direttamente la coda up e riempirla contestualmente con 4 elementi? Possiamo sfruttare il fatto che enqueue restituisce anche la coda stessa. Costruisco una nuova coda a partire dalla coda vuota: 1 from coda import 2 up = enqueue ( Simone, enqueue ( Matteo, enqueue ( Davide, enqueue ( Michael, queue ( ) ) ) ) )
15 Outline Correzione esercizi per oggi Code Teoria Esercizi Esercizi per casa
16 Aggiornamento dell interfaccia Aggiungere al file coda.py una funzione pretty print q(c) che stampa il contenuto della coda c senza virgole o parentesi, come una sequenza di elementi separati da spazi, che inizia con il carattere (potete pensarlo come lo sportello al quale sono in coda le persone). Esempio c = enqueue( Q, enqueue( T, enqueue( S, enqueue( P, queue())))) allora verrà stampato: P S T Q
17 Aggiornamento dell interfaccia Aggiungere al file coda.py una funzione pretty print q(c) che stampa il contenuto della coda c senza virgole o parentesi, come una sequenza di elementi separati da spazi, che inizia con il carattere (potete pensarlo come lo sportello al quale sono in coda le persone). Esempio c = enqueue( Q, enqueue( T, enqueue( S, enqueue( P, queue())))) allora verrà stampato: P S T Q 1 def p r e t t y p r i n t q ( c ) : 2 p r i n t (, end= ) 3 f o r e i n c : 4 p r i n t ( e, end= ) 5 p r i n t ( )
18 Attenzione! Negli esercizi seguenti ci dimenticheremo dell implementazione che abbiamo costruito. Accederemo alle code solo con le funzioni presenti nell interfaccia.
19 Esercizio d esame semplificato Si scriva una funzione Python fattorizza(a) che, data una coda a i cui elementi sono etichettati da numeri naturali positivi, ritorni una nuova coda b (i cui elementi sono numeri naturali) ottenuta da a rimpiazzando ciascun numero naturale con i suoi fattori primi (presi in un qualunque ordine e con la loro molteplicità). Ad esempio, sulla coda enqueue(4,enqueue(3,enqueue(10,queue()))), la funzione potrebbe ritornare la coda enqueue(2,enqueue(2,enqueue(3,enqueue(5,enqueue(2,queue()))))). La coda a può essere distrutta. E possibile usare la funzione ausiliaria: 1 def s c o m p o s i z i o n e ( n ) : 2 f a t t o r i = [ ] 3 d = 2 4 while n >= d : 5 i f n % d == 0 : 6 f a t t o r i. append ( d ) 7 n = n//d #NB: d i v i s i o n e i n t e r a 8 e l s e : 9 d = d return f a t t o r i
20 Esercizio d esame 1 from coda import #c o s i ' non s e r v e coda. 2 3 def f a t t o r i z z a ( a ) : 4 r e s = queue ( ) 5 while not i s e m p t y ( a ) : 6 f o r i i n s c o m p o s i z i o n e ( head ( a ) ) : 7 enqueue ( i, r e s ) 8 dequeue ( a ) 9 return r e s
21 Usare le code per una simulazione Un piccolo negozio con una sola cassa deve decidere se assumere una seconda cassiera. Per farlo vuole eseguire una simulazione sui tempi di attesa attuali alla cassa. Costruire una funzione simulazione(durata) che simula i clienti in coda alla cassa per una certa durata. In particolare: La durata è espressa in minuti. Il passare dei minuti è simulato semplicemente dall aumento di uno di una variabile intera. Un cliente è rappresentato in una coda di interi dal minuto al quale è arrivato Ad ogni minuto: se c è un cliente in coda, viene servito (dunque il tempo di servizio è costante ed uguale ad un minuto) Con probabilità 1/4, arriva un cliente, con probabilità 1/4 arrivano due clienti e con probabilità 2/4 non arriva nessun cliente. Usare la funzione random.randint(0,3) per decidere quanti clienti arrivano, e, se necessario, inserirli in coda. (Suggerimento: usare 0 e 3 per decidere nessun cliente, 1 e 2 per l arrivo di 1 o 2 clienti.) La funzione stamperà opportuni messaggi e la situazione della coda (usare la pretty print). In particolare, ogni volta che un cliente esce dalla coda, dovrà stampare quanto tempo ha aspettato (suggerimento: differenza tra il valore del cliente e il minuto attuale).
22 Esempio: simulazione(5) *** Minuto 0 *** Arriva un cliente *** Minuto 1 *** 0 Finito di servire un cliente, che ha aspettato 1 minuti Non e' arrivato nessun cliente *** Minuto 2 *** Arrivano due clienti *** Minuto 3 *** 2 2 Finito di servire un cliente, che ha aspettato 1 minuti Arrivano due clienti *** Minuto 4 *** Finito di servire un cliente, che ha aspettato 2 minuti Arrivano due clienti
23 Soluzione 1 def s i m u l a z i o n e ( d u r a t a ) : 2 c a s s a = queue ( ) 3 f o r minuto i n range ( d u r a t a ) : 4 p r i n t ( Minuto, minuto, ) 5 p r e t t y p r i n t q ( c a s s a ) 6 i f not i s e m p t y ( c a s s a ) : 7 c l = dequeue ( c a s s a ) 8 a t t e s a = minuto c l 9 p r i n t ( F i n i t o d i s e r v i r e un c l i e n t e, che ha a s p e t t a t o, a t t e s a, m i n u t i ) 10 a r r i v o = random. r a n d i n t ( 0, 3 ) 11 i f a r r i v o == 1 : 12 p r i n t ( A r r i v a un c l i e n t e ) 13 enqueue ( minuto, c a s s a ) 14 e l i f a r r i v o == 2 : 15 p r i n t ( A r r i v a n o due c l i e n t i ) 16 enqueue ( minuto, c a s s a ) 17 enqueue ( minuto, c a s s a ) 18 e l s e : 19 p r i n t ( Non e ' a r r i v a t o nessun c l i e n t e )
24 Migliorare la simulazione Scrivere una nuova funzione simulazione2(durata), molto simile alla precedente, ma che in più tiene traccia: Del totale di clienti arrivati durante la simulazione Della somma totale dei tempi di attesa Del tempo massimo di attesa registrato La funzione non stampa nulla ma restituisce una tupla che contiene le seguenti informazioni: (durata, totale clienti, media attesa, attesa massima)
25 Soluzione I 1 def s i m u l a z i o n e 2 ( d u r a t a ) : 2 c a s s a = queue ( ) 3 t o t a l e c l i e n t i = 0 4 s o m m a t o t a l e a t t e s a = 0 5 a t t e s a m a s s i m a = 0 6 m e d i a a t t e s a = 0 7 f o r minuto i n range ( d u r a t a ) : 8 #p r e t t y p r i n t q ( c a s s a ) 9 i f not i s e m p t y ( c a s s a ) : 10 c l = dequeue ( c a s s a ) 11 a t t e s a = minuto c l 12 s o m m a t o t a l e a t t e s a += a t t e s a 13 i f a t t e s a >a t t e s a m a s s i m a : 14 a t t e s a m a s s i m a = a t t e s a 15 a r r i v o = random. r a n d i n t ( 0, 3 ) 16 i f a r r i v o == 1 : 17 enqueue ( minuto, c a s s a ) 18 t o t a l e c l i e n t i +=1
26 Soluzione II 19 e l i f a r r i v o == 2 : 20 enqueue ( minuto, c a s s a ) 21 enqueue ( minuto, c a s s a ) 22 t o t a l e c l i e n t i +=2 23 i f t o t a l e c l i e n t i >0: 24 n u m s e r v i t i = t o t a l e c l i e n t i l e n g t h ( c a s s a ) #Contiamo i c l i e n t i s e r v i t i ( T u t t i meno q u e l l i r i m a s t i i n coda ) 25 i f n u m s e r v i t i >0: 26 m e d i a a t t e s a = s o m m a t o t a l e a t t e s a / n u m s e r v i t i 27 return ( durata, t o t a l e c l i e n t i, m e d i a a t t e s a, a t t e s a m a s s i m a )
27 Esercizi per casa (per il 10/05/2017 ore 8:59) (Mail: Lab13-...) 1. (Usando il tipo coda costruito a lezione) Scrivere una funzione che prende come parametro una coda ed elimina dalla coda tutti gli elementi in posizione pari (es. se c = a b c d e, verrà modificata in a c e ). La funzione modifica la coda originaria e non fa uso di strutture dati ausiliarie (liste, altre code, ecc). 2. (Usando le funzioni di simulazione costruite a lezione) Scrivere un programma che esegue 5 simulazioni della cassa del negozio per minuti: 5, 30, 60, 120, 480. Salva le tuple risultati in una lista. Dopodiché stampa la lista con i risultati. Usare la funzione round(f,2) per arrotondare f a 2 decimali. Esempio: Dur Tot Media Max continua...
28 Esercizi per casa (per il 10/05/2017 ore 8:59) (Mail: Lab13-...) 3. (Dizionari) La moda di una lista di valori è data da quei valori che compaiono nella lista con la massima frequenza. Ad esempio, la moda (unica) di [1,4,5,4,6,5,4,1,4] è 4, mentre la moda di [1,4,5,6,5,4,1] è costituita da 1,4,5. Si scriva una funzione moda(x) che restituisce come lista la moda della lista x. Suggerimento: usare un dizionario e una funzione che restituisce il massimo elemento di una sequenza. 4. (Dizionari) L orlo di una matrice è costituito dalle sue righe e dalle sue colonne più esterne (prima riga, prima colonna, ultima riga, ultima colonna). Scrivere una funzione orlo(a,m,n) che presa una matrice A di ordine m n restituisce True sse tutti gli elementi di A compaiono nel suo orlo (cioè gli elementi che non sono nell orlo sono presenti almeno una volta anche nell orlo). Si supponga che una matrice A sia memorizzata come un dizionario, i cui elementi sono coppie (i,j):e, in cui le chiavi sono le coppie di riga e colonna e il valore è l elemento della matrice: in questo modo l usuale notazione A[i,j] indica l elemento nella riga i e colonna j (partendo da 0).
Laboratorio di Python
Laboratorio di Python Pile Lab14 10 Maggio 2017 Outline Correzione esercizi per oggi Pile Teoria Esercizi Esercizi per casa Esercizio 1 per casa Scrivere una funzione che prende come parametro una coda
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
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)
Lezione 4 Le code. Informatica. 24 Aprile Le pizze devono essere preparate e consegnate seguendo l ordine di arrivo degli ordini
Lezione 4 Le code Informatica 24 Aprile 2015 Bender il pizzaiolo robot Bender ha aperto una pizzeria da asporto con i suoi amici: Dr. Zoidberg risponde al telefono e riceve gli ordini Bender prepara le
Lezione 4 Le code. Informatica. 26 Aprile 2016. Le pizze devono essere preparate e consegnate seguendo l ordine di arrivo degli ordini
Lezione 4 Le code Informatica 26 Aprile 2016 Bender il pizzaiolo robot Bender ha aperto una pizzeria da asporto con i suoi amici: Dr. Zoidberg risponde al telefono e riceve gli ordini Bender prepara le
Laboratorio di Python
Laboratorio di Python Iterazione determinata Lab05 17 Marzo 2017 Variazione data laboratorio! Mercoledì 22 marzo ci sarà laboratorio Mercoledì 3 maggio non ci sarà laboratorio (si terrà lezione regolare)
Lezione 5 Le pile. Informatica. 29 Aprile 2015
Lezione 5 Le pile Informatica 29 Aprile 2015 Il porto di Anversa Il terminal del porto merci di Anversa usa delle gru a cavaliere per movimentare i container: I container arrivano per nave e vengono messi
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
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
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
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
Lezione 6 Le pile. Informatica. 28 Aprile 2016
Lezione 6 Le pile Informatica 28 Aprile 2016 Il porto di Anversa Il terminal del porto merci di Anversa usa delle gru a cavaliere per movimentare i container: I container arrivano per nave e vengono messi
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
La struttura dati CODA
Programmazione M-Z Ingegneria e Scienze Informatiche - Cesena A.A. 2016-2017 La struttura dati CODA Pietro Di Lena - [email protected] Introduzione Una coda (o queue) è una struttura dati astratta
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
Usare Python in Linux
26 Febbraio 2015 Outline 1 Struttura e programma delle lezioni 2 3 Outline Struttura e programma delle lezioni 1 Struttura e programma delle lezioni 2 3 Lezione tipo Struttura e programma delle lezioni
Informatica 1. Prova di recupero 21 Settembre 2001
Informatica 1 Prova di recupero 21 Settembre 2001 Si risolvano i seguenti esercizi. Ai fini della determinazione del voto finale il loro punteggio andrà sommato al punteggio del laboratorio. Il tempo complessivo
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
Fogli Elettronici. Idoneità Informatica Prof. Mauro Gaspari
Fogli Elettronici Idoneità Informatica Prof. Mauro Gaspari Cosa è un foglio elettronico. Strumento per raccogliere dati organizzati in tabelle e farci delle operazioni: Le celle contengono numeri o altri
Corso di Linguaggi di Programmazione
Corso di Linguaggi di Programmazione Lezione 5 Alberto Ceselli [email protected] Università degli Studi di Milano 12 Marzo 2013 Le funzioni sono oggetti di prima classe in Scheme In Scheme le funzioni
CORSO DI PROGRAMMAZIONE
ISTITUTO TECNICO INDUSTRIALE G. M. ANGIOY SASSARI CORSO DI PROGRAMMAZIONE PILE E CODE DI DATI DISPENSA 11.02 11-02_Pile_Code_[ver_15] Questa dispensa è rilasciata sotto la licenza Creative Common CC BY-NC-SA.
Classe Vettore (i) Creare una classe che consenta di gestire un vettore di N elementi reali (double), che preveda i seguenti metodi:
Classe Vettore (i) Creare una classe che consenta di gestire un vettore di N elementi reali (double), che preveda i seguenti metodi: Vettore(int n): crea un oggetto Vettore contente n elementi, inizializzati
Esercizi su Python. 14 maggio Scrivere una procedura che generi una stringa di 100 interi casuali tra 1 e 1000 e che:
Esercizi su Python 14 maggio 2012 1. Scrivere una procedura che generi una stringa di 100 interi casuali tra 1 e 1000 e che: 1. conti quanti elementi pari sono presenti nella lista; 2. conti quanti quadrati
Array di array. Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1. Dispensa 03. A. Miola Febbraio 2008
Corso di Laurea Ingegneria Informatica Fondamenti di Informatica Dispensa Array di array A. Miola Febbraio 8 http://www.dia.uniroma.it/~java/fondinf/ Array di array Contenuti Array bidimensionali creazione
Struttura dati astratta Coda
CODE Struttura dati astratta Coda La coda o queue è una struttura dati astratta in cui l'inserimento e l estrazione sono consentite solo in specifiche posizioni; in particolare, l'inserimento è consentito
La simulazione con DERIVE Marcello Pedone LE SIMULAZIONI DEL LANCIO DI DADI CON DERIVE
LE SIMULAZIONI DEL LANCIO DI DADI CON DERIVE Premessa Abbiamo già visto la simulazione del lancio di dadi con excel Vedi: http:///statistica/prob_simu/index.htm Ci proponiamo di ottenere risultati analoghi
Un esempio per iniziare. Il controllo del programma in C. Altri cenni su printf() Esercizi (printf) printf( 8!=%d, fatt);
Un esempio per iniziare Il controllo del programma in C DD Cap.3 pp.91-130 /* calcolo di 8!*/ #include #define C 8 int main() int i=1; int fatt=1; while (i
Fondamenti di Informatica
Fondamenti di Informatica AlgoBuild: Strutture selettive, iterative ed array Prof. Arcangelo Castiglione A.A. 2016/17 AlgoBuild : Strutture iterative e selettive OUTLINE Struttura selettiva Esempi Struttura
Esercizi di riepilogo (Fondamenti di Informatica 1 Walter Didimo)
Esercizi di riepilogo (Fondamenti di Informatica 1 Walter Didimo) Selezione di prove di esame al calcolatore Esercizio 1 (esame del 13/01/2006) La classe Matrice definisce oggetti che rappresentano matrici
Laboratorio di Python
Correzione esercizi Alcuni moduli utili, Esercizi vari Università di Bologna 9 aprile 2015 Sommario Correzione esercizi 1 Correzione esercizi 2 3 4 Correzione esercizi Scrivere e documentare le funzioni
In questa lezione Strutture dati elementari: Pila Coda
In questa lezione Strutture dati elementari: Pila Coda 1 strutture dati (astratte) Una struttura dati astratti consiste di uno o più insiemi con delle operazioni che li modificano (insiemi dinamici). Le
Laboratorio di Python
25 marzo 2015 Sommario 1 2 Esercizi a casa Scrivere un unico programma, che attraverso un menù di selezione restituisca i risultati delle funzioni che seguono, senza uscire dal programma se non selezionando
Ingegneria degli Algoritmi (II parte pratica)
Ingegneria degli Algoritmi (II parte pratica) Correzione prova pratica Ing. Domenico Spera [email protected] Premessa Sono stati richiesti i seguenti task: Implementare la versione in-order
Gestione di files Motivazioni
Gestione di files Motivazioni Un programma in esecuzione legge (sequenzialmente) una sequenza di caratteri prodotti "al volo" dall'utente (tramite tastiera) il programma in esecuzione scrive (sequenzialmente)
<Nome Tabella>.<attributo>
Informatica Generale (AA 07/08) Corso di laurea in Scienze della Comunicazione Facoltà di Lettere e Filosofia Università degli Studi di Salerno : SQL (2) Tabelle mult., variabili, aggreg, group Prof. Alberto
Funzioni e moduli. Andrea Passerini Informatica. funzioni e moduli
Funzioni e moduli Andrea Passerini [email protected] Informatica Funzioni nella programmazione Descrizione Una funzione è una sequenza di istruzioni cui viene dato un nome Questo permette di riutilizzare
Algoritmi e Strutture Dati
Maria Rita Di Berardini, Emanuela Merelli 1 1 Dipartimento di Matematica e Informatica Università di Camerino A.A. 2006/07 Il concetto di dato Il concetto di tipo di dato Insertion Sort for j 2 to lenght[a]
Esercitazione: Implementazione in linguaggio C dell ADT. Stack con l utilizzo. di linked list
Esercitazione: Implementazione in linguaggio C dell ADT Stack con l utilizzo di linked list Laboratorio di Programmazione Introduzione un ADT (Abstract Data Type) è un modello (formale) che generalizza
5. Quinta esercitazione autoguidata: liste semplici
22 5. Quinta esercitazione autoguidata: liste semplici 5.1. Liste rappresentate mediante strutture e puntatori (LISTE1.C, LISTE2.C) Scrivere un programma che - costruisce una lista di k interi (con k letto
Stringhe e allocazione dinamica della memoria
Stringhe e allocazione dinamica della memoria Esercizio Scrivere un programma strings.c che legge da standard input una sequenza di parole separate da uno o più spazi, e stampa le parole lette, una per
Laboratorio di Python
Correzione esercizi Alcuni moduli utili, Esercizi vari Università di Bologna 4 aprile 2014 Sommario Correzione esercizi 1 Correzione esercizi 2 3 4 Esercizi Correzione esercizi Scrivere e documentare le
MATEMATICA PER LO STUDIO DELLE INTERAZIONI STRATEGICHE: TEORIA DEI GIOCHI. Anna TORRE
MATEMATICA PER LO STUDIO DELLE INTERAZIONI STRATEGICHE: TEORIA DEI GIOCHI Anna TORRE Dipartimento di Matematica, Università di Pavia, Via Ferrata 1, 27100, Pavia, Italy. E-mail: [email protected] 1 SOLUZIONI:
Foglio Elettronico Lezione 1
- Introduzione - Celle e riferimenti - Formule - Approfondimenti - Funzioni logiche Sommario Introduzione - Foglio elettronico o foglio di calcolo - Cos'è? Strumento per raccogliere dati organizzati in
Laboratorio di Python
Iterazione determinata, 12 marzo 2015 Sommario 1 2 3 Sintassi ed Esempi 4 Input da tastiera Sintassi = raw_input('stringa descrittiva') #versione 2.* = input('stringa descrittiva') #versione
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
Ogni parte non cancellata a penna sarà considerata parte integrante della soluzione.
Politecnico di Milano Facoltà di Ingegneria Industriale INFORMATICA B Appello del 18 luglio 2012 COGNOME E NOME RIGA COLONNA MATRICOLA Spazio riservato ai docenti Il presente plico contiene 3 esercizi
Problemi di ordinamento
Problemi di ordinamento Input: una sequenza di n numeri a 1, a 2,..., a n ; Output: una permutazione a 1, a 2,..., a n di a 1, a 2,..., a n tale che a 1 a 2... a n. Generalmente, la sequenza è rappresentata
4. I moduli in Access 2000/2003
LIBRERIA WEB 4. I moduli in Access 2000/2003 Il modulo è uno degli oggetti del database di Access e rappresenta un insieme di dichiarazioni e routine scritte con il linguaggio Visual Basic, memorizzate
Quicksort e qsort() Alessio Orlandi. 28 marzo 2010
Quicksort e qsort() Alessio Orlandi 28 marzo 2010 Intro Quicksort è l algoritmo di ordinamento più implementato, insieme con Mergesort. Tutte le librerie standard UNIX ne prevedono una implementazione.
Programmazione in Java (I modulo)
Programmazione in Java (I modulo) Lezione 4 Variabili di tipo primitivo. Dichiarazione di costanti Conversioni di tipo: operatore cast Altri operatori di assegnamento Operazioni aritmetiche e di confronto
n deve essere maggiore di 0, altrimenti il metodo restituisce null.
Esercizio 1 di classe Intersezione che presi in input due Array di int A e B, restituisce in output un array contenente gli elementi presenti sia in A che in B. Esercizio 2 di classe identità che prende
Esercizi 2. Marco Anisetti
Esercizi 2 Marco Anisetti Verifica del funzionamento con RAPTOR Implementare in RAPTOR i seguenti programmi visti a lezione Moltiplicazione per somme (la versione più efficiente) Divisione per sottrazione
Strutture dati e loro organizzazione. Gabriella Trucco
Strutture dati e loro organizzazione Gabriella Trucco Introduzione I linguaggi di programmazione di alto livello consentono di far riferimento a posizioni nella memoria principale tramite nomi descrittivi
La codifica. dell informazione
00010010101001110101010100010110101000011100010111 00010010101001110101010100010110101000011100010111 La codifica 00010010101001110101010100010110101000011100010111 dell informazione 00010010101001110101010100010110101000011100010111
Corso di Informatica di Base
Corso di Informatica di Base A.A. 2011/2012 Algoritmi e diagrammi di flusso Luca Tornatore Cos è l informatica? Calcolatore: esecutore di ordini o automa Programma: insieme di istruzioni che possono essere
Laboratorio di Informatica
Laboratorio di Informatica Seconda lezione a Python Dottore Paolo Parisen Toldin - [email protected] Dottoressa Sara Zuppiroli - [email protected] L'importanza di capire Perché non dobbiamo dichiarare
Programma del corso. Elementi di Programmazione. Introduzione agli algoritmi. Rappresentazione delle Informazioni. Architettura del calcolatore
Programma del corso Introduzione agli algoritmi Rappresentazione delle Informazioni Architettura del calcolatore Reti di Calcolatori Elementi di Programmazione Algoritmi e programmi Algoritmo Sequenza
Pensiero computazionale. Lezione 10 MIT AppInventor
Pensiero computazionale Lezione 10 MIT AppInventor Ripetizioni Dov è Ripeti 10 volte? Cosa succede: La variabile number assume i valori 1,2,.,9,10 by è l incremento A quel punto il ciclo termina Potete
Esercizi svolti. delle matrici
Esercizi svolti. astratti. Si dica se l insieme delle coppie reali (x, y) soddisfacenti alla relazione x + y è un sottospazio vettoriale di R La risposta è sì, perchè l unica coppia reale che soddisfa
I/O avanzato e File Esercizi proposti
Esercizi proposti 1 Esercizio: Olimpiadi invernali Uno sportivo vuole seguire gli eventi delle olimpiadi invernali di Torino 2006. Poiché molte gare si svolgono in parallelo, lo sportivo ha il problema
Implementazione Java di un ADT
Implementazione Java di un ADT Primo passo definire l'interfaccia (API) dell' ADT (l'api descrive i nomi dei metodi che l'adt supporta e come essi sono dichiarati e usati) Secondo passo scrivere il codice
Laboratorio di Programmazione Lezione 2. Cristian Del Fabbro
Laboratorio di Programmazione Lezione 2 Cristian Del Fabbro Prossima lezione GIOVEDÌ 29 OTTOBRE 14:00 Input da tastiera package input; import java.io.*; public class Input { public static void main(string[]
Il tipo astratto coda con priorità: specifiche sintattiche e semantiche. Realizzazioni.
Il tipo astratto coda con priorità: specifiche sintattiche e semantiche. Realizzazioni. Algoritmi e Strutture Dati + Lab A.A. 14/15 Informatica Università degli Studi di Bari Aldo Moro Nicola Di Mauro
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 dell array). A volte è necessario gestire informazioni
Fondamenti di Informatica T-1 Modulo 2
Fondamenti di Informatica T-1 Modulo 2 1 Obiettivi di questa esercitazione 1. Array e funzioni 2. Array e funzioni ricorsive 3. Array e confronto di array 2 Esercizio 1 Creare un programma che legga da
Laboratorio di Python
Problem solving, Ricorsione, Università di Bologna 13 e 15 marzo 2013 Sommario 1 2 3 4 Errore di semantica Esercizio def vocali(s): voc='' for c in s: if c in 'aeiou': voc=voc+c return voc Cerchiamo di
