Laboratorio di Algoritmi e Strutture Dati



Documenti analoghi
Capitolo IV L n-polo

Circuito Simbolico. Trasformazione dei componenti

Le ipotesi di base che si utilizzano sono le stesse quattro già viste con riferimento al caso della flessione semplice e cioè:

Laboratorio di Algoritmi e Strutture Dati

Laboratorio di Algoritmi e Strutture Dati

Diagramma circolare di un motore asincrono trifase

Definizione delle specifiche per un sistema di controllo a retroazione unitaria

ESAME DI STATO DI LICEO SCIENTIFICO CORSO DI ORDINAMENTO 2003

Lezione 12. Regolatori PID

Stato limite ultimo di sezioni in c.a. soggette. SLU per sezioni rettangolari in c.a. con. determinazione del campo di rottura

Ottica. LEYBOLD Schede di fisica P

Sezioni in c.a. La flessione composta. Catania, 16 marzo 2004 Marco Muratore

SCHEDA TECNICA DI VALUTAZIONE

Strumenti della Teoria dei Giochi per l Informatica A.A. 2009/10. Lecture 11: Maggio Meccanismi per la Condivisione dei Costi

Corso di Microonde II

Note su alcuni principi fondamentali di macroeconomia Versione parziale e provvisoria. Claudio Sardoni Sapienza Università di Roma

Capitolo. Il comportamento dei sistemi di controllo in regime permanente. 6.1 Classificazione dei sistemi di controllo. 6.2 Errore statico: generalità

Teorema del Limite Centrale

MANUALE ESSE3. Iscrizione alle prove d esame e visione esiti STUDENTI

CENTRO LIBRI AREA RISERVATA: ISTRUZIONI PERL USO

Prova di verifica parziale N Ott 2008

ESAME DI STATO DI LICEO SCIENTIFICO 2006 Indirizzo Scientifico-Tecnologico Progetto Brocca

Poiché la retta è definita dall equazione: y = a + bx. Capitolo 4. Regressione e Correlazione.

Manuale d uso per la raccolta: Sicurezza degli impianti di utenza a gas - Postcontatore

ERRORE STATICO. G (s) H(s) Y(s) E(s) X (s) YRET(s)

3. Catene di Misura e Funzioni di Trasferimento

Il progetto allo SLU per la flessione semplice e composta

SISTEMA DI FISSAGGIO EDILFIX

Controllore Processo. Le principali componenti del sistema sono: il rivelatore di errore, il controllore che ha il compito di trasformare il segnale

Lamiere grecate semplici in acciaio e alluminio

Trasformata di Laplace ESEMPI DI MODELLIZZAZIONE

d y d u + u y des C(s) F(s) Esercizio 1 Si consideri lo schema di controllo riportato in figura:

Sintesi tramite il luogo delle radici

Guida dell utente. Centro di fatturazione UPS

Esercizi sul moto del proiettile

Errori di misura. è ragionevole assumere che una buona stima del valore vero sia la media

ALU STAFFE IN ALLUMINIO SENZA FORI

15 febbraio Soluzione esame di geometria - 12 crediti Ingegneria gestionale - a.a COGNOME... NOME... N. MATRICOLA...

Servizio e-business Gare elettroniche standalone. Manuale Offerente

ISTRUZIONI GEAFER 2. Conclusa la registrazione, l utente potrà accedere al proprio profilo ed eventualmente modificare i dati inseriti.

2. LA DIFFUSIONE - CONCETTI BASE

Gestione degli appelli e verbalizzazione degli esami online GUIDA DOCENTI. (versione 1.0 del )

Lezione 2. Campionamento e Aliasing. F. Previdi - Controlli Automatici - Lez. 2 1

1 I prodotti finanziari di riferimento

Liberare la memoria allocata dinamicamente.

22 - Il principio dei lavori virtuali

Prova di Laboratorio di Programmazione

Ing. Mariagrazia Dotoli Controlli Automatici NO (9 CFU) Antitrasformata di Laplace PROCEDIMENTI DI ANTITRASFORMAZIONE

Gruppo Buffetti S.p.A. Via F. Antolisei Roma

Omnia Web Timesheet. Manuale utente

UNIVERSITA DEGLI STUDI DI BRESCIA Facoltà di Ingegneria

DFD DISPENSA DEL CORSO DI SISTEMI INFORMATIVI UNIVERSITÀ DEGLI STUDI DI VERONA FACOLTÀ DI MM.FF.NN LAUREA SPECIALISTICA IN INFORMATICA

Progettazione e realizzazione di un applicativo Web Annunci Immobiliari

Università degli Studi di Messina

Utilizzo delle formule in Excel

L ACQUISIZIONE E LA GESTIONE DEI DOCUMENTI ELETTRONICI

FISH Sardegna ONLUS. Manuale Utente.

SUAP. Per gli operatori SUAP/amministratori. Per il richiedente

CONCETTO DI ANNIDAMENTO

ELETTRONICA ANALOGICA INDUSTRIALE PARTE 4. Retroazione

ISCRIZIONE GARE NUOTO ON LINE ISTRUZIONI OPERATIVE PER LE SOCIETA

(Esercizi Tratti da Temi d esame degli ordinamenti precedenti)

Parrucchiera / parrucchiere con attestato federale di capacità (AFC)

Capitolo 16. La teoria dell equilibrio generale. Soluzioni delle Domande di ripasso

Introduzione al MATLAB c Parte 2

Statica del corpo rigido: esercizi svolti dai compitini degli anni precedenti

SPORTELLO UNICO DELLE ATTIVITÀ PRODUTTIVE MANUALE OPERATIVO FUNZIONI DI SCRIVANIA PER GLI UFFICI SUAP

MODULO 5 ACCESS Basi di dati. Lezione 4

Servizio Tirocini. Facoltà di Psicologia. A cura dell Ufficio Tirocini

Laboratorio di Algoritmi e Strutture Dati

La manutenzione. Definizioni. Evoluzione storica. Manutenzione: Manutenibilità: Dott.ssa Brunella Caroleo

MANUALE DELLA QUALITA Revisione: Sezione 4 SISTEMA DI GESTIONE PER LA QUALITA

Guida all utilizzo della Piattaforma per la staffetta di Scrittura Creativa Manuale pratico per docenti e tutor

Classe 5 Bi Laboratorio di informatica Esercitazione di gruppo: configurazione server Apache

ISTRUZIONI PER L UTILIZZO DELLA SCHEDA INFORMATIZZATA E MODALITA DI INVIO DEI DATI - L. R. 162/98 PROGRAMMA

STAFFE ROTANTI. Programma generale. Pressione d esercizio fino a 500 bar. A semplice e doppio effetto. 7 differenti tipi di corpo

NAVIGAZIONE DEL SI-ERC: UTENTE PROGETTISTA

Descrizione generale di Spice

Selezionando la sezione Avviso Bonario, si apre la schermata seguente:

Prova Finale di Livello Base Compito n.21

FLASHINVESTOR Manuale dell Utente

5.3 TABELLE RECORD Inserire, eliminare record in una tabella Aggiungere record Eliminare record

1 Generalità sui sistemi di controllo

GUIDA ALLA PRENOTAZIONE DEGLI APPELLI ON-LINE (STUDENTE)

Valutazione della Didattica On-Line

Transcript:

Il problema Laboratorio di Algoritmi e Strutture Dati Docenti: M. Goldwurm, S. Aguzzoli Appello del 5 Aprile 005 Progetto Recinti Conegna entro il Aprile 005 Si tudia la reitenza di alcune pecie di piante a trattamenti anticrittogamici particolarmente aggreivi e potenzialmente nocivi per le piante tee. Formalmente, chiamiamo piano l inieme dei punti { x, y Z Z }. Una pianta è caratterizzata dalla poizione x, y in cui è collocata e dalla pecie w di appartenenza, dove x, y è un punto del piano e w è una parola ull alfabeto {a,..., z}. In un punto può eervi al più una pianta. Un recinto è un poligono conveo. Uiamo la notazione Rx, y, x, y,..., x n, y n, dove n 3, per definire il recinto i cui vertici elencati in eno orario ono i punti di coordinate x, y, x, y,..., x n, y n. Ad eempio R7,, 5, 9, 5, 5, 9,, 3, 3,, 7,, 0 è il recinto nella figura. 0 8 6 4 0 4 6 8 0 4 6 Lo teo recinto può eere anche definito ad eempio come R5, 5, 9,, 3, 3,, 7,, 0, 7,, 5, 9. Nel eguito i aume che i vertici del recinto iano forniti dall utente in modo corretto. Ad eempio, non verrà mai chieto di cotruire i recinti R,, 3, 3, 4,,, 5,, R0, 3, 4,,,,,

Infatti, nel primo cao il punto, non è un vertice del poligono, nel econdo cao il poligono riultante non è conveo. Nel piano può eervi al maimo un recinto. Un punto è nel recinto e i trova all interno o ul bordo del recinto. Ad eempio, riferendoi al recinto in figura, i punti 8,9, 7,, 3, 4, 5,7 ono nel recinto mentre i punti 0,0,,4,,3 non lo ono. Una pianta è nel recinto e è poizionata in un punto nel recinto. La capienza di un recinto è data dal maimo numero di piante che poono eervi nel recinto. Il recinto nella figura ha capienza 03. Un trattamento anticrittogamico tabilice fra le pecie di piante una gerarchia di reitenza al trattamento teo, decritta da una relazione d ordinamento tretto <. Queto ignifica che < deve verificare le eguenti proprietà degli ordinamenti tretti: P. Per ogni pecie w e w, e w < w, allora non vale w < w. P. Per ogni pecie w, w e w 3, e w < w e w < w 3, allora w < w 3. La gerarchia fra le pecie è tabilita dall utente e il programma deve controllare che le aerzioni del tipo u < v inerite dall utente non violino le proprietà critte opra. Ad eempio, upponiamo che la relazione fra pecie ia coì definita: begonia<geranio geranio<gardenia primula<oleandro gardenia<oleandro oleandro<magnolia gardenia<azalea geranio<camelia camelia<azalea In queta ituazione l utente non può aggiungere a < l aerzione oleandro<begonia. Infatti, per la proprietà P i ha che begonia<oleandro, quindi per P non può valere oleandro<begonia. È poibile invece inerire begonia<primula oppure: primula<begonia, camelia<gardenia oppure: gardenia<camelia, ecc. La omminitrazione del trattamento nel recinto determina una elezione alla concluione della quale rimangono olo le piante appartenenti alle pecie più reitenti. La elezione fra le piante nel recinto avviene econdo la eguente regola: Una pianta della pecie w nel recinto viene eliminata e e olo e eite nel recinto una pianta di pecie w tale che w < w. Nell eempio precedente, e nel recinto eite un oleandro, tutte gli eemplari di primula, di geranio, di begonia e di gardenia nel recinto ono eliminati. Si richiede di implementare una truttura dati efficiente che permetta di eeguire le operazioni eguenti i tenga preente che la minima porzione rettangolare di piano contenente tutte le piante può eere molto grande ripetto al numero di piante preenti, quindi non è icuramente efficiente rappreentare il piano mediante una matrice. - crea Crea un piano vuoto eliminando l eventuale piano già eitente e le piante in eo preenti, eliminando inoltre il trattamento coniderato e dunque ogni aerzione relativa alla relazione <. - inerici x, y, w Se ul punto x, y non c è alcuna pianta, pone u x, y una pianta di pecie w, altrimenti non compie alcuna operazione.

- recinto x, y,..., x n, y n Cotruice il recinto Rx, y,..., x n, y n n 3 ditruggendo l eventuale recinto già eitente. Si aume che i punti x, y,..., x n, y n iano i vertici di un poligono conveo, elencati in eno orario. - capienza Stampa la capienza del recinto ul piano 0 e il recinto non è definito. - tampa Stampa il contenuto del recinto econdo il formato pecificato nell appoita ezione. - minore w, w Aggiunge alla relazione < l aerzione w<w fra le pecie w e w e non vengono violate le proprietà P,P definitorie dell ordine tretto, altrimenti tampa il meaggio: Impoibile aggiungere l aerzione w<w. - confronta w, w Stampa w < w e w < w, w < w e w < w, w <> w altrimenti. - elezione Somminitra il trattamento e compie la elezione fra le piante nel recinto. - eemplari w Stampa il numero totale di piante di pecie w preenti nel piano. Alcuni uggerimenti Il determinante della matrice aociata a due vettori a, a Z Z e b, b Z Z è a b det = a a b b a b. Il valore aoluto di tale determinante fornice l area del parallelogramma P i cui vertici ono 0, 0, a, a, a + b, a + b, b, b. Inoltre tale valore coincide con il numero di punti di Z Z contenuti nel parallelogramma P eccettuati quelli giacenti ul egmento di etremi a, a, a + b, a + b e quelli giacenti ul egmento di etremi a + b, a + b, b, b. Sia k = a b a b il valore del determinante. k > 0 e la rotazione che porta il egmento di etremi 0, 0, a, a a ovrappori alla emiretta di origine 0, 0 e paante per b, b è effettuata in eno antiorario. k < 0 e tale rotazione è effettuata in eno orario. k = 0 e i tre punti 0, 0, a, a, b, b giacciono ulla tea retta. Il numero di punti di Z Z giacenti ul egmento 0, 0, a, a è uguale a gcda, a +, dove gcd denota il maimo comun diviore. 3

Specifiche di implementazione Il programma deve leggere dallo tandard input tdin una equenza di linee eparate da \n, ciacuna delle quali corriponde a una linea della prima colonna della Tabella, dove x, x,..., x n, y n ono numeri interi e w, w ono parole ull alfabeto {a,..., z}. I vari elementi ulla linea ono eparati da uno o più pazi. Quando una linea è letta, viene eeguita l operazione aociata; le operazioni di tampa ono effettuate ullo tandard output tdout, e ogni operazione deve iniziare u una nuova linea. Linea di input Operazione c crea i x y w inerici x, y, w r x y... x n y n recinto x, y,..., x n, y n C capienza tampa < w w minore w, w? w w confronta w, w S elezione e w eemplari w f Termina l eecuzione del programma Tabella : Specifiche del programma Note. Non devono eere preenti vincoli ulla dimenione del piano, ulla lunghezza delle parole, ul numero di lati del recinto, ul numero di elementi nel piano e non quelli determinati dal tipo di dato intero. Non i richiede anzi i coniglia l uo di grafica, e non per tet peronali: in modo particolare, non i ui conio.h e neppure clrcr.. Per emplicità i uppone che l input ia empre conforme alle pecifiche di Tabella, per cui non è neceario controllare la correttezza dell input. Per leggere l input i uino le funzioni tandard ANSI C getchar e/o canf. 4

3. Siano x, y,..., x k, y k i punti nel recinto in cui vi è una pianta, dove i punti ono ordinati ripetto all ordinamento leicografico. Supponendo che la pianta in x i, y i appartenga alla pecie w i, l output del comando deve eere viualizzato nel eguente formato: Eempio x, y : w x, y : w. x k, y k : w k Si upponga che le linee di input iano: c < origano alvia < camomilla bailico < ortica prezzemolo < mirto maggiorana < romarino alvia < romarino origano < camomilla origano < alvia camomilla < ortica mirto < mirto ginepro < cicuta ambuco < menta prezzemolo < ginepro menta < prezzemolo mirto < cipolla prezzemolo < cicuta prezzemolo < cicuta cipolla < cicuta menta < ginepro cicuta < maggiorana cicuta r 4 3 8 4 4 0 6 4 6 4 C i 3 cicuta i 3 3 ortica i 9 8 romarino i 33 camomilla i 6 6 origano i 3 3 prezzemolo i 0 9 ginepro i 5 bailico i 4 bailico i 9 9 cipolla In bae a tale ordinamento, a, b < c, d e e olo e a < c oppure a = c e b < d. 5

i 9 5 bailico i 5 0 carota i 0 0 menta i 5 origano i 5 7 alvia i 7 9 cipolla i 4 maggiorana i 4 9 menta i 9 5 origano i 9 ginepro? carota bailico? ortica menta? menta mirto? carciofo aparago e ginepro S e ginepro r 7 9 4 9 9 5 0 7 5 3 C e origano S e origano r 7 4 34 5 5 8 7 7 7 8 3 4 C S i 0 6 prezzemolo S e ortica f L output prodotto dal programma deve eere: Impoibile aggiungere l aerzione alvia < camomilla Impoibile aggiungere l aerzione prezzemolo < mirto 33 5,:bailico 6,6:origano 0,9:ginepro 3,3:prezzemolo 6

carota <> bailico ortica < menta mirto < menta carciofo <> aparago 5,:bailico 6,6:origano 3,3:prezzemolo 73 7,9:cipolla 9,5:origano 0,0:menta,5:origano,9:ginepro 4,:bailico 5,7:alvia 9,9:cipolla 3 7,9:cipolla 0,0:menta 4,:bailico 5,7:alvia 9,9:cipolla 34 4,9:menta 4,:maggiorana 7,9:cipolla 0,0:menta 4,:bailico 5,7:alvia 9,5:bailico 9,9:cipolla 4,9:menta 7,9:cipolla 0,0:menta 7

4,:bailico 5,7:alvia 9,5:bailico 9,9:cipolla 0,6:prezzemolo 4,:bailico 5,7:alvia 9,5:bailico Preentazione del progetto Il progetto deve eere inviato per pota elettronica all indirizzo aguzzoli@di.unimi.it entro il Aprile 005 incluo. La dicuione del progetto e l eame orale i volgeranno in data e luogo da pecificari conultare al riguardo il ito: http://home.di.unimi.it/ goldwurm/algo. Occorre preentare:. il codice orgente rigoroamente ANSI C, compilabile con gcc;. una intetica relazione formato pdf o rtf che illutra le trutture dati utilizzate e analizza il coto delle divere operazioni richiete dalla pecifica. I due o più file file orgenti C + relazione devono eere contenuti in un unico file.zip il cui nome dovrà eere cognome.zip. La relazione e il codice devono riportare il votro nome, cognome e matricola. Una copia cartacea della relazione e del codice deve inoltre eere conegnata al dr. Aguzzoli empre entro il Aprile 005 laciandola eventualmente nella ua caella potale preo il dipartimento in via Comelico. Si ricorda infine di preentari alla prova orale con una copia tampata della relazione e del codice. Per ogni ulteriore chiarimento: E-mail: aguzzoli@di.unimi.it Ricevimento: il mercoledì, ore 5-6, tanza S04. Avvii La verione aggiornata del progetto è pubblicata in.pdf ul ito: http://home.di.unimi.it/ aguzzoli/algo.htm. Si coniglia di conultare periodicamente queto ito per eventuali correzioni e/o preciazioni relative al teto del progetto. Si richiede allo tudente di effettuare un adeguato collaudo del proprio progetto u numeroi eempi diveri per verificarne la correttezza e valutarne le pretazioni. La realizzazione del progetto è una prova d eame da volgeri individualmente. I progetti giudicati frutto di collaborazioni aranno etromei d ufficio dalla valutazione. 8