Laboratorio di Algoritmi
|
|
- Norma Rinaldi
- 4 anni fa
- Visualizzazioni
Transcript
1 Laboratorio di Algoritmi Docenti: M. Goldwurm, M. Frasca Progetto Attività Accademica valido per l appello del 21 novembre Il problema Il Ministero dell Istruzione ha deciso di monitorare in maniera piú rigorosa l attività di ricerca universitaria per migliorarne ed aumentarne la produttività. L obiettivo principale è ottenere delle statistiche affidabili circa l operato di docenti, dottorandi, assegnisti etc., a cui per semplicità faremo riferimento come ricercatori. Si vuole inoltre valutare la vicinanza di interessi tra ricercatori, per cercare di suddividerli opportunamente in aree di ricerca. Aspetto fondamentale in tale contesto è rappresentato dalle pubblicazioni di ciascun ricercatore, non solo dal punto di vista quantitativo ma anche qualitativo. Ogni articolo infatti può essere collocato in una conferenza o su rivista (nazionale o internazionale): a seconda della collocazione l articolo assume una rilevanza diversa. Inoltre, un articolo può contenere alcune citazioni per altri articoli e, a sua volta, può essere citato da altre pubblicazioni. Quindi, può essere interessante valutare quale impatto un articolo abbia avuto sulla comunità internazionale, considerandone il numero di citazioni ricevute e la collocazione delle citazioni stesse. 2 Descrizione del progetto Il progetto richiede la stesura di un programma che legga da un file una sequenza di istruzioni corrispondenti a diversi eventi, quali ad esempio l inserimento nella comunità scientifica di un nuovo ricercatore/autore o la pubblicazione di un articolo scientifico. Il programma deve leggere dallo standard input (stdin) una sequenza di righe (separate da \n), ciascuna delle quali corrisponde ad un comando descritto in una delle sezioni successive. Useremo la seguente convenzione: i nomi dei comandi e i simboli da non modificare sono scritti in monospace, mentre in corsivo sono indicati i parametri. Il nome del comando è separato dai suoi parametri da uno o piú spazi; i vari parametri sono separati dal carattere speciale ; il carattere speciale & è invece usato per separare gli elementi di un elenco. Se i parametri sono di tipo stringa, si assume che non contengano questi caratteri speciali; possono invece contenere simboli di spaziatura diversi da \n. Quando una riga è letta, viene eseguita l operazione associata; le operazioni di stampa sono effettuate sullo standard output (stdout), e ogni operazione deve stampare su una nuova riga. 2.1 Operazioni di base Comando R : arrivo di un nuovo Ricercatore. Un nuovo ricercatore entra nella comunità e da questo momento in poi sarà un potenziale autore di articoli scientifici. L arrivo di un nuovo ricercatore è rappresentato dal comando R nome dove nome è una stringa di lunghezza arbitraria che identifica il nuovo ricercatore. Se nome esiste già, il comando si arresta stampando il messaggio Autore nome gia presente. 1
2 Comando A : pubblicazione di un Articolo scientifico. Un articolo scientifico è caratterizzato dai seguenti elementi: - il codice identificativo; - la collocazione editoriale, che può essere: rivista internazionale, conferenza internazionale, rivista nazionale, conferenza nazionale; - il titolo; - i suoi autori; - la bibliografia, ovvero un insieme di altre pubblicazioni che vengono citate. La pubblicazione di un articolo scientifico è rappresentata dal comando A c id titolo nome 1 & nome 2 &... & nome n id 1 & id 2 &... & id m dove c RI, CI, RN, CN, n, m > 0, mentre id, titolo, nome i, id i sono stringhe di lunghezza arbitraria che non contengono i caratteri speciali e &. Nel dettaglio: c indica la collocazione (RI= rivista internazionale, CI= conferenza internazionale, RN= rivista nazionale, CN= conferenza nazionale) dell articolo, id è il suo codice identificativo, titolo è il titolo, nome 1,..., nome n è l insieme degli autori, id 1,..., id n è l insieme degli identificativi delle pubblicazioni citate. Quando un articolo viene pubblicato, non può che citare articoli già pubblicati in precedenza. Pertanto, se per qualche i, l identificativo id i non corrisponde ad alcuna precedente pubblicazione, il programma dovrà stampare il messaggio Articolo id i inesistente. Se id esiste già tra gli articoli inseriti, viene stampato a video il messaggio Articolo id gia presente ; se nome i per qualche i 1,, n non esiste, viene stampato il messaggio Ricercatore nome i inesistente. In ciascuno di questi casi l operazione richiesta non viene eseguita. Coll. Id Titolo Autori Art. citati RI 1 the paper Alan Turing, Douglas Hofstadter, Seymour Papert RI 2 algorithms for everybody Don Knuth, Edsger W. Dijkstra 1 RI 3 un eterna ghirlanda brillante per finta Douglas Hofstadter, Edsger W. Dijkstra 1, 2 RI 4 logo programming language Seymour Papert 3 RI 5 algorithms on graphs Don Knuth, Paul Erdos 1, 2 RI 6 are you human? Alan Turing 3 RI 7 mathematicians on computers Alan Turing, Seymour Papert 5, 6 RI 8 combinatorics on graphs Don Knuth, Paul Erdos 2 RI 9 divulgazione o scienza? Alan Turing, Douglas Hofstadter 1, 5, 8 Tabella 1: Elenco Articoli Comando P : stampa dell elenco delle Pubblicazioni di un ricercatore. Il comando P n 2
3 deve stampare l elenco delle pubblicazioni del ricercatore di nome n, per id in ordine lessigrafico crescente, rispettando questo formato n 1,1 & n 1,2 &... & n 1,m1 titolo 1 c 1 n 2,1 & n 2,2 &... & n 2,m2 titolo 2 c 2... n t,1 & n t,2 &... & n t,mt titolo t c t dove t è il numero delle pubblicazioni del ricercatore di nome n e n j,1, n j,2,..., n j,mj sono gli autori della pubblicazione j-esima, mentre titolo j e c j ne rappresentano il titolo e la collocazione editoriale, per ogni j = 1, 2,... t. Se n non esiste, il comando termina stampando il messaggio Ricercatore n inesistente. Esempio. Consideriamo i ricercatori e gli articoli indicati nella Tabella 1. Il comando P Alan Turing ha il seguente output: Alan Turing & Douglas Hofstadter & Seymour Papert the paper RI Alan Turing are you human? RI Alan Turing & Seymour Papert mathematicians on computers RI Alan Turing & Douglas Hofstadter divulgazione o scienza? RI Comando G : Graduatoria dei ricercatori in base alle pubblicazioni. L insieme delle pubblicazioni di un ricercatore può dare una prima misura della sua produttività. Una pubblicazione id ha una rilevanza ril(id) diversa a seconda della sua collocazione, come definito di seguito: ril(id) := 2.5, 1.50, 0.75, 0.25, rispettivamente per Rivista Internazionale, Conferenza Internazionale, Rivista Nazionale e Conferenza Nazionale. Inoltre, la valutazione di un articolo dipende anche dal numero di citazioni ricevute e dalla loro collocazione. Si consideri la seguente quantità: ril(id) + j C id ril(j) dove C id è l insieme degli identificativi degli articoli che citano id. Oltre alla rilevanza dell articolo, tale quantità tiene in considerazione anche l impatto che l articolo id ha avuto sulla comunità scientifica. Tuttavia, tale impatto è da dividersi ugualmente, a meno di specifiche diverse, tra tutti gli autori dell articolo; siccome si vuole calcolare l impatto della pubblicazione in relazione al singolo autore, definiamo impatto ϕ(id) della pubblicazione id il seguente valore: ϕ(id) = ril(id) + j C id ril(j) A id dove A id è l insieme degli autori dell articolo id. Il comando G 3
4 deve stampare l elenco di tutti i ricercatori in ordine decrescente rispetto alla somma degli impatti delle loro pubblicazioni. La graduatoria deve avere questo formato n 1 x 1 n 2 x 2... n t x t dove x i è la somma degli impatti delle pubblicazioni del ricercatore di nome n i. In caso di parità di coefficiente, vale l ordine alfabetico dei nomi degli autori. Esempio. Consideriamo i ricercatori e gli articoli indicati nella Tabella 1. Il comando G ha come output (nel formato specificato) la sequenza: Alan Turing , Don Knuth , Douglas Hofstadter 9.167, Edsger W. Dijkstra 8.750, Seymour Papert 7.917, Paul Erdos Comando C : distanza di Collaborazione tra due ricercatori. 1 Due ricercatori si dicono co-autori se hanno pubblicato un articolo di cui sono entrambi autori. La distanza di collaborazione tra due ricercatori r 1 r 2 è il minimo intero n per cui esiste una sequenza a 0, a 1,..., a n di autori a i tali che a 0 = r 1, a n = r 2 e a i è coautore di a i+1 per ogni i = 0, 1,... n 1. Se non esiste alcuna sequenza di questo tipo, si dice che r 1 e r 2 hanno distanza di collaborazione indefinita. Chiaramente si assume che un autore sia coautore di se stesso. Il comando C n 1 & n 2 deve calcolare e stampare la distanza di collaborazione degli autori di nomi n 1 e n 2 oppure -1 se tale distanza è indefinita. Inoltre, il comando C n 1 & n 2 c deve calcolare e stampare la distanza di collaborazione tra gli autori di nomi n 1 e n 2, considerando solo le publicazioni che hanno collocazione individuata dal parametro c RI, CI, RN, CN, oppure -1 se tale distanza è indefinita. Se c non è una categoria valida, il comando deve stampare a video Categoria c non ammissibile e terminare. Se qualche n i non esiste, tutti i comandi elencati terminano stampando Autore n i inesistente. Esempio. Consideriamo gli Autori e gli Articoli indicati nella Tabella 1. Il comando C Alan Turing & Edsger W. Dijkstra ha come output 2, C Alan Turing & Edsger W. Dijkstra RN produce in output -1, mentre C Douglas Hofstadter & Edsger W. Dijkstra ha come output Note e suggerimenti 1. Il funzionamento del programma (compilazione ed esecuzione) e la correttezza delle soluzioni prodotte sono requisiti necessari. Un progetto sarà considerato più o meno valido rispetto all efficienza (tempo di calcolo e scelte implementative) nel risolvere istanze del problema di dimensioni via via crescenti. 1 Questo comando prende ispirazione dal Numero di Erdos, si veda veda 4
5 2. Non devono essere presenti vincoli né sul numero di ricercatori, né su quello degli articoli. Si assuma che ricercatori e articoli possano essere molte migliaia. Inoltre si assumano numerose le operazioni di inserimento di articoli e di ricercatori. 3. Per semplicità si supponga che l input sia sempre conforme alle specifiche contenute nella Sezione 2.1, per cui non è necessario controllarne la correttezza sintattica. 3 Esempi di esecuzione Si supponga che le righe di input siano: R A1 R A2 R A3 R A4 R A5 R A6 R A7 R A8 R A9 R A7 A CI p1 t1 A1 & A2 & A3 A RI p2 t2 A2 & A6 p1 A RI p1 t2 A2 & A6 p1 A CN p3 t3 A5 & A9 p1 & p2 A CN p4 t4 A117 p2 A CN p4 t4 A7 p2 A RN p5 t5 A8 & A9 p1 & p4 A RI p6 t6 A4 p3 G C A1 & A6 P A9 R A10 A CI p7 t7 A7 & A10 p3 & p15 A CI p7 t7 A7 & A10 p3 & p6 A RN p8 t8 A1 & A2 & A4 p5 A RI p9 t9 A3 & A4 & A5 p2 & p8 A RI p10 t10 A9 p1 & p7 & p8 G C A3 & A9 C A3 & A9 RN C A8 & A9 RN L output prodotto dal programma deve essere il seguente: Ricercatore A7 gia presente Articolo p1 gia presente Ricercatore A117 inesistente 5
6 A A A A A A A A A A5 & A9 t3 CN A8 & A9 t5 RN Articolo p15 inesistente A A A A A A A A A A Organizzazione degli appelli e modalità di consegna Il progetto va svolto individualmente. La versione aggiornata dello stesso è pubblicata sul sito: Si consiglia di consultare periodicamente questo sito per eventuali correzioni e/o precisazioni relative al testo del progetto. Per ogni ulteriore chiarimento scrivere all indirizzo frasca@di.unimi.it. Il presente progetto è valido per l appello del 21 novembre 2016 e deve essere consegnato entro il 14 novembre, ore 23:59. L elenco degli ammessi ai colloqui orali sarà disponibile sulla pagina del corso qualche giorno dopo il termine di consegna del progetto. Il progetto va inviato per posta elettronica all indirizzo frasca@di.unimi.it entro la data sopra indicata. Occorre presentare: 1. il codice sorgente in standard ANSI C, e il relativo makefile. Commentare ogni funzione con una descrizione sintetica della sua semantica, dei suoi argomenti e dell eventuale output; 2. una relazione (formato pdf), opportunamente indentata e suddivisa in sezioni, che illustri in maniera esauriente e chiara la logica delle scelte implementative fatte per ogni operazione, l algoritmo 6
7 utilizzato (descrizione generale, non parti di codice e relativi commenti) e le strutture dati utilizzate per lo svolgimento delle singole operazioni. Inoltre, occorre analizzare la complessità asintotica di ogni operazione principale. I due o più file (file sorgenti C + relazione) devono essere contenuti in un unico file.zip il cui nome dovrà essere della forma cognome_matricola.zip. La relazione e il codice devono riportare nome, cognome e matricola. 7
Laboratorio di Algoritmi e Strutture Dati
Laboratorio di Algoritmi e Strutture Dati 1 Il problema Docenti: M. Torelli, M. Frasca Progetto Citazioni valido per l appello di settembre 2011 Il Ministero dell Istruzione ha deciso di monitorare in
DettagliLaboratorio di Algoritmi
Laboratorio di Algoritmi Docenti: M. Goldwurm, M. Frasca Progetto Facebook valido per gli appelli di gennaio e febbraio 2016 1. Descrizione Il progetto richiede la stesura di un programma scritto in linguaggio
DettagliProgetto Prestiti Laboratorio di Algoritmi
Progetto Prestiti Laboratorio di Algoritmi Docenti: M. Goldwurm, M. Frasca Valido per l appello di luglio 2016 1 Il problema Il progetto prende in esame l attività di finanziamento, da parte di istituti
DettagliLaboratorio di Algoritmi e Strutture Dati
Laboratorio di Algoritmi e Strutture Dati Docenti: M Goldwurm, V Lonati Progetto Componenti elettroniche valido per gli appelli di giugno e luglio 2010 Premessa La realizzazione del progetto è una prova
DettagliProgetto Prestiti Laboratorio di Algoritmi
Progetto Prestiti Laboratorio di Algoritmi Docenti: M. Goldwurm, M. Frasca Valido per l appello di giugno 2016 1 Il problema Il progetto prende in esame l attività di finanziamento, da parte di istituti
DettagliLaboratorio di Algoritmi e Strutture Dati
Il problema Laboratorio di Algoritmi e Strutture Dati Docenti: M. Torelli, S. Aguzzoli Appello del settembre 2007 Progetto Daltonismo Consegna entro il 24 settembre 2007 Gli abitanti di una remota isola
DettagliLaboratorio di Algoritmi e Strutture Dati
Il problema Laboratorio di Algoritmi e Strutture Dati Docenti: M. Goldwurm, S. Aguzzoli Appello del 1 Luglio 2005 Progetto Oleodotti 2 Consegna entro il 17 Luglio 2005 In un piano sono presenti dei pozzi
DettagliLaboratorio di Algoritmi e Strutture Dati
Il problema Laboratorio di Algoritmi e Strutture Dati Docenti: M. Torelli, S. Aguzzoli Appello del 12 giugno 2008 Progetto Ingranaggi Consegna entro il 30 giugno 2008 L obiettivo è quello di costruire
DettagliLaboratorio di Algoritmi e Strutture Dati
Laboratorio di Algoritmi e Strutture Dati Docente: V. Lonati Progetto Il faccendiere Bis valido per l appello di settembre 2012 Questo progetto si ispira a quello proposto per gli appelli di giugno e luglio,
DettagliLaboratorio di Algoritmi e Strutture Dati
Laboratorio di Algoritmi e Strutture Dati Roberto Radicioni Progetto Social Net Consegna entro il 10 Febbraio 2009 - ore 12.00 Il problema Alcuni sociologi vogliono studiare le dinamiche delle reti sociali
DettagliLaboratorio di Algoritmi e Strutture Dati
Il problema Laboratorio di Algoritmi e Strutture Dati Docenti: M. Torelli, S. Aguzzoli Appello del 22 gennaio 2007 Progetto Templi Consegna entro l 11 febbraio 2007 In una regione lontana si erigono templi
DettagliLaboratorio di Algoritmi e Strutture Dati
Laboratorio di Algoritmi e Strutture Dati Docenti: M. Torelli, S. Aguzzoli Progetto Incastri valido per l appello di gennaio 2011 Premessa La realizzazione del progetto è una prova d esame da svolgersi
DettagliLaboratorio di Algoritmi
Laboratorio di Algoritmi Progetto Insiemistica (luglio 2019) Nota: La scadenza del progetto è fissata per venerdì 12 luglio compreso. Nota: Si consiglia di consultare sulla pagina web il documento che
DettagliLaboratorio di Algoritmi e Strutture Dati
Laboratorio di Algoritmi e Strutture Dati Docenti: M. Goldwurm, V. Lonati Appelli del 29 gennaio e del 19 febbraio 2009 Progetto FACCIALIBRO Introduzione Il progetto è ispirato ad un popolarissimo sito
DettagliLaboratorio di Algoritmi e Strutture Dati
Laboratorio di Algoritmi e Strutture Dati Docenti: M. Goldwurm, S. Aguzzoli Appello del 1 Aprile 2003 Progetto Trasporti Pubblici Consegna entro il 28 Aprile 2003 Il problema Obiettivo del progetto è lo
DettagliLaboratorio di Programmazione (Corso di Laurea in Informatica)
Laboratorio di Programmazione (Corso di Laurea in Informatica) ESAME del 13 Febbraio 2017 Avvertenze VERRANNO CORRETTI SOLO E SOLTANTO I COMPITI IL CUI ESERCIZIO FIL- TRO FUNZIONA PERFETTAMENTE I programmi
DettagliLaboratorio di Algoritmi e Strutture Dati
Laboratorio di Algoritmi e Strutture Dati Docente: V. Lonati Progetto Depositi custoditi Bis valido per l appello di settembre 2015 Premessa Questo documento presenta la traccia del progetto valida per
DettagliSimpleFS - un semplice filesystem. Prova finale di Algoritmi e Principi dell Informatica. DEIB, Politecnico di Milano. Anno accademico
SimpleFS - un semplice filesystem Prova finale di Algoritmi e Principi dell Informatica DEIB, Politecnico di Milano Anno accademico 2016-17 Sommario L obiettivo è l implementazione di un semplice filesystem
DettagliLaboratorio 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
DettagliEsame Laboratorio di Programmazione
Esame Laboratorio di Programmazione 20 Giugno 2014 NOA Non è possibile usare le classi del package prog.io del libro di testo L obiettivo è scrivere una applicazione che permette di costruire delle torri
Dettaglistrutture e file di testo/binari Esercizio - lettura/filtro/scrittura PEOPLE.TXT PARTNERS.DAT Due persone sono compatibili
Fondamenti di Informatica T-1 modulo 2 Laboratorio 06: strutture e file di testo/binari 1 Esercizio i 1: Strutture tt e file Esercizio - lettura/filtro/scrittura È dato un file di testo PEOPLE.TXT che
DettagliLaboratorio di Programmazione (Corso di Laurea in Informatica)
Laboratorio di Programmazione (Corso di Laurea in Informatica) ESAME del 05 Luglio 2017 Avvertenze VERRANNO CORRETTI SOLO E SOLTANTO I COMPITI IL CUI ESER- CIZIO FILTRO FUNZIONA PERFETTAMENTE!!! I programmi
DettagliI/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
DettagliLaboratorio di Programmazione (Corso di Laurea in Informatica)
Laboratorio di Programmazione (Corso di Laurea in Informatica) ESAME del 22 Giugno 2017 Avvertenze VERRANNO CORRETTI SOLO E SOLTANTO I COMPITI IL CUI ESERCIZIO FIL- TRO FUNZIONA PERFETTAMENTE I programmi
DettagliLe classi in java. Un semplice programma java, formato da una sola classe, assume la seguente struttura:
Le classi in java Un semplice programma java, formato da una sola classe, assume la seguente struttura: class Domanda static void main(string args[]) System.out.println( Quanti anni hai? ); La classe dichiarata
DettagliIntroduzione alla programmazione Esercizi risolti
Esercizi risolti 1 Esercizio Si determini se il diagramma di flusso rappresentato in Figura 1 è strutturato. A B C D F E Figura 1: Diagramma di flusso strutturato? Soluzione Per determinare se il diagramma
DettagliProgrammazione di base
Fondamenti di Informatica Quarto Appello 016-17 4 luglio 017 Rispondi alle domande negli appositi spazi. I punti assegnati per ogni domanda sono indicati nel riquadro a lato. L'esame contiene 10 domande,
DettagliEsercizio Filtro Rombi di Lettere
Esercizio Filtro Rombi di Lettere Scrivere un programma che legga da linea di comando un intero n>=0 e quindi stampi un rombo di altezza 2n-1 composto da lettere maiuscole, come indicato negli esempi.
DettagliConsegnare solo questo testo (non la minuta), riportare obbligatoriamente i passaggi significativi e il risultato.
Elementi di Informatica Ingegneria Meccanica Ingegneria Elettrica Ingegneria Civile T P COMPITO DI TEORIA 13 settembre 2008 Matricola: Cognome: Nome: Corso di Laurea: MECCANICA ELETTRICA CIVILE Consegnare
DettagliEsercizi in Python. Docente: Domenico Daniele Bloisi
Esercizi in Python Docente: Domenico Daniele Bloisi http://profs.scienze.univr.it/~bloisi/asl/asl.html Esercizio 1 Utilizzare il linguaggio di programmazione Python per stampare a video la scritta "prima
DettagliCorso di Informatica Modulo T1 C1-Sequenza e selezione
Corso di Informatica Modulo T C-Sequenza e selezione Prerequisiti Analizzare un problema Scrivere un algoritmo Istruzioni semplici Espressione logica 2 Introduzione La programmazione a salti crea diverse
DettagliLaboratorio di Algoritmi e Strutture Dati
Laboratorio di lgoritmi e trutture Dati Docenti: M. Trubian,. guzzoli ppello del 1 Giugno 2004 Progetto pecchi onsegna entro il 17 Giugno 2004 Il problema Obiettivo del progetto è studiare il percorso
DettagliALGORITMI E COMPLESSITA COMPUTAZIONALI LA MACCHINA DI TURING.
ALGORITMI E COMPLESSITA COMPUTAZIONALI LA MACCHINA I TURING francesca.piersigilli@unicam.it MACCHINA I TURING (MdT) Nel 936 il matematico inglese Alan Turing propose l'idea di una macchina immaginaria
DettagliPrimi passi con JFlex
Primi passi con JFlex Luca Chiodini Abstract Ci proponiamo di muovere i primi passi nel mondo dell analisi lessicale e della produzione automatica di un analizzatore lessicale. Verrà mostrato l uso di
DettagliEsercizi per il corso di Algoritmi, anno accademico 2011/12
Esercizi per il corso di Algoritmi, anno accademico 2011/12 Esercizi sulla Tecnica Divide et Impera N.B. Tutti gli algoritmi vanno scritti in pseudocodice (non in Java, nè in C++, etc. ). Di tutti gli
DettagliESECUZIONE DI PROGRAMMI C SU MACCHINE REALI. Docente: Giorgio Giacinto AA 2008/2009. formalizzazione degli algoritmi in linguaggio C
Università degli Studi di Cagliari Corso di Laurea Specialistica in Ingegneria per l Ambiente ed il Territorio Corso di Laurea Specialistica in Ingegneria Civile - Strutture FONDAMENTI DI INFORMATICA 2
DettagliProf. Pagani Corrado INTRODUZIONE AL LINGUAGGIO C
Prof. Pagani Corrado INTRODUZIONE AL LINGUAGGIO C IL LINGUAGGIO C Nel 1972 Dennis Ritchie nei Bell Laboratories progettò il linguaggio C Il linguaggio possiede tutti i costrutti di controllo dei linguaggi
DettagliFondamenti 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
DettagliNozioni di base (II Parte)
Nozioni di base (II Parte) 1 Ricorsione [GTG14, Par. 5.1-5.4 and 13.1] Algoritmo Ricorsivo: algoritmo che invoca se stesso (su istanze sempre più piccole) sfruttando la nozione di induzione. La soluzione
DettagliDiagrammi di flusso - Flowcharts. E un formalismo che consente di rappresentare graficamente gli algoritmi
Diagrammi di flusso - Flowcharts E un formalismo che consente di rappresentare graficamente gli algoritmi Un diagramma di flusso descrive le azioni da eseguire ed il loro ordine di esecuzione Ogni azione
DettagliL AMBIENTE CODE BLOCKS E L IO
L AMBIENTE CODE BLOCKS E L IO Il primo programma in C++ #include using namespace std; main() { cout
Dettaglisito web aziendale Formazione operatori addetti alla gestione della comunicazione web
sito web aziendale Formazione operatori addetti alla gestione della comunicazione web 1 Principi di base Scrivere contenuti per il web /1 Semplicità Per scrivere un testo destinato ad un pubblico generico
DettagliMacchine di Turing: somma di due numeri
Informatica Teorica 2/2 M.Di Ianni Macchine di Turing: somma di due numeri Vogliamo definire una macchina di Turing che, presi in input due numeri n e m espressi in notazione binaria, calcola il valore
DettagliProgrammazione di base
Fondamenti di Informatica Sesto Appello 016-17 11 Settembre 017 Rispondi alle domande negli appositi spazi. I punti assegnati per ogni domanda sono indicati nel riquadro a lato. L'esame contiene 10 domande,
DettagliVariabili e input/ Alessandra Giordani Lunedì 18 marzo
Variabili e input/ output da tastiera Alessandra Giordani agiordani@disi.unitn.it Lunedì 18 marzo 2013 http://disi.unitn.it/~agiordani/ Es. compilazione helloworld.c 2 Variabili e valori Una variabile
DettagliLaboratorio di informatica Ingegneria meccanica
Laboratorio di informatica Ingegneria meccanica Esercitazione 6 7 novembre 2007 Correzione di un programma Un programma può contenere errori sintattici e/o errori logici. Gli errori sintattici vengono
DettagliLABORATORIO DI INFORMATICA ESERCITAZIONE VIII
LABORATORIO DI INFORMATICA ESERCITAZIONE VIII Cercate di eseguire gli esercizi da soli. Se non ci riuscite, cercate di capire i messaggi di errore. Se non ci riuscite, provateci di nuovo. Poi chiamate
DettagliProva 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
DettagliUnità F1. Obiettivi. Il linguaggio C. Il linguaggio C++ Linguaggio C. Pseudolinguaggio. Primi programmi
Obiettivi Unità F1 Primi programmi Conoscere il significato di dichiarazione e definizione di variabili Conoscere i tipi di dato numerici Essere in grado di realizzare semplici algoritmi in pseudolinguaggio
DettagliLaboratorio 1. 2) All interno della directory c:\temp\cognome\codici creare il file sorgente hello.c contenente il seguente codice:
Corso di Ingegneria Biomedica Corso di Ingegneria Elettronica Insegnamento di Informatica I a.a. 2007-08 Laboratorio 1 Durante le esercitazioni verra utilizzato il compilatore a riga di comando DJGPP,,
DettagliProgrammazione II Compitino (Vers. A)
Programmazione II Compitino (Vers. A) 15 gennaio 2015 Cognome... Nome... Matricola... Anno di corso... Nei seguenti quesiti, quando vi è richiesto di scrivere un programma, potete limitarvi al corpo del
DettagliProf. Pagani Corrado ALGORITMI ESERCITAZIONI ARRAY
Prof. Pagani Corrado ALGORITMI ESERCITAZIONI ARRAY ESERCIZI ARRAY 1 1. Dato un vettore composto da 10 numeri interi (assegnati direttamente da codice o letti da tastiera) determinare somma e media. 2.
DettagliLaboratorio di Algoritmi e Strutture Dati
Laboratorio di Algoritmi e Strutture Dati Docente: Camillo Fiorentini 16 ottobre 2007 1 Rappresentazioni di caratteri in C In C un carattere è una costante intera il cui valore è dato dal codice ASCII
DettagliElementi di informatica
Elementi di informatica Programmare in C 1 Calcolare l area di un rettangolo /* Calcolo area rettangolo */ int base; int altezza; int area; Conosciamo base = 3; altezza = 7; area = base*altezza; printf("%d",
DettagliUML Introduzione a UML Linguaggio di Modellazione Unificato. Corso di Ingegneria del Software Anno Accademico 2012/13
UML Introduzione a UML Linguaggio di Modellazione Unificato Corso di Ingegneria del Software Anno Accademico 2012/13 1 Che cosa è UML? UML (Unified Modeling Language) è un linguaggio grafico per: specificare
DettagliInformatica/ Ing. Meccanica/ Edile/ Prof. Verdicchio/ 25/02/2016/ Foglio delle domande / VERSIONE 1
Informatica/ Ing. Meccanica/ Edile/ Prof. Verdicchio/ 25/02/2016/ Foglio delle domande/ VERSIONE 1 1) In Python, se scrivo v = [ ] in un programma, vuol dire che a) v è un quadrato b) v è una list c) v
DettagliDefinizione di metodi in Java
Definizione di metodi in Java Un metodo in Java definisce un operazione ad alto livello (sottoprogramma) che consente di manipolare dati e oggetti. Durante la computazione effettuata da un programma, un
DettagliProgetto di Algoritmi e Strutture Dati - A.A
Progetto di Algoritmi e Strutture Dati - A.A. 2015-16 Esercizio 1 L'associazione Amici dell algoritmica ha necessità di gestire una collezione di valori di tipo numerico ognuno dei quali identifica in
DettagliEsercizi 5 CICLI. Es.5(cicli)
Esercizi 5 CICLI 1 Es.5(cicli) Esercizio 1 Realizzare una funzione che, chiesto all utente un numero intero pari a N, ricavi e stampi a video tutte le terne pitagoriche con i cateti minori o uguali ad
DettagliEsercizio 1. Esercizio 2
Esercizio 1 Progettare e Codificare in C un programma che permetta di Chiedere all utente quanti numeri vuole inserire Leggere i numeri inseriti dall utente e calcolare la somma dei fattoriali Esempio:
DettagliI furgoncini di Algoritmia
I furgoncini di Algoritmia Nella città di Algoritmia è stato ideato un sistema intelligente per la consegna delle merci. Il traffico pesante di TIR e vagoni ferroviari provenienti da fuori città viene
DettagliIl linguaggio C. Prof. E. Occhiuto INFORMATICA 242AA a.a. 2010/11 pag. 1
Il linguaggio C I linguaggi di programmazione ad alto livello sono linguaggi formali ( sintassi e semantica formalmente definite) però sono compatti e comprensibili. Le tipologie di linguaggi sono: procedurali
DettagliLaboratorio di Algoritmi e Strutture Dati
Laboratorio di Algoritmi e Strutture Dati Docenti: M. Goldwurm, V. Lonati Appelli di giugno e luglio 2009 Progetto Hitori Introduzione Il progetto è ispirato ad un rompicapo logico di origine giapponese,
DettagliProgrammazione di base
Fondamenti di Informatica Testo A Secondo Appello 016-17 febbraio 017 Rispondi alle domande negli appositi spazi. I punti assegnati per ogni domanda sono indicati nel riquadro a lato. L'esame contiene
DettagliProgrammazione di base
Fondamenti di Informatica Primo Appello 01-17 8 febbraio 017 Rispondi alle domande negli appositi spazi. I punti assegnati per ogni domanda sono indicati nel riquadro a lato. L'esame contiene 10 domande,
DettagliESERCIZIO allochi staticamente un vettore V1 di 10 float e allochi dinamicamente un vettore V2 di 10 double;
ESERCIZIO 1 Si realizzi un programma C che: 1. allochi staticamente un vettore V1 di 10 float e allochi dinamicamente un vettore V2 di 10 double; 2. chieda all utente di inserire gli elementi dei due vettori
DettagliLaboratorio di Programmazione 1. Docente: dr. Damiano Macedonio Lezione 5 31/10/2013
Laboratorio di Programmazione 1 1 Docente: dr. Damiano Macedonio Lezione 5 31/10/2013 Original work Copyright Sara Migliorini, University of Verona Modifications Copyright Damiano Macedonio, University
DettagliLaboratorio di Algoritmi e Strutture Dati
Laboratorio di Algoritmi e Strutture Dati Docente: S. Aguzzoli Progetto CSI valido per gli appelli di gennaio e febbraio 2012 1 Il problema Un truculento assassinio è avvenuto in un vicolo vicino a Trafalgar
DettagliLezione 8 Struct e qsort
Lezione 8 Struct e qsort Rossano Venturini rossano@di.unipi.it Pagina web del corso http://didawiki.cli.di.unipi.it/doku.php/informatica/all-b/start Esercizio 3 QuickSort strambo Modificare il Quicksort
DettagliSARDINIA 2013 ISTRUZIONI PER LA PREPARAZIONE DEGLI ARTICOLI E GLI EXECUTIVE SUMMARIES
SARDINIA 2013 ISTRUZIONI PER LA PREPARAZIONE DEGLI ARTICOLI E GLI EXECUTIVE SUMMARIES Come concordato al momento dell invio del modulo di accettazione dell abstract al Sardinia 2013, gli autori sono invitati
DettagliLABORATORIO 7 ARRAY. ATTENZIONE: argomenti da linea di comando!!!
LABORATORIO 7 ARRAY Esercizio Minimo Massimo Media Scrivere un programma che chieda all'utente di inserire un numero intero n, e quindi chieda di inserire n numeri interi. Dopo aver salvato i numeri inseriti
DettagliInformatica/ Ing. Meccanica/ Edile/ Prof. Verdicchio/ 30/06/2016/ Foglio delle domande / VERSIONE 1
Informatica/ Ing. Meccanica/ Edile/ Prof. Verdicchio/ 30/06/2016/ Foglio delle domande/ VERSIONE 1 1) In Python, se scrivo v = [ ] in un programma, vuol dire che a) v è un quadrato b) v è un insieme vuoto
DettagliElementi lessicali. Lezione 4. La parole chiave. Elementi lessicali. Elementi lessicali e espressioni logiche. Linguaggi di Programmazione I
Lezione 4 Elementi lessicali e espressioni logiche Matricole 2-3 Elementi lessicali il linguaggio C ha un suo vocabolario di base i cui elementi sono detti token esistono 6 tipi di token: parole chiave
DettagliCalcolo su Polinomi ===================
Calcolo su Polinomi =================== Descrizione Implementare la classe Monomio le cui istanze rappresentano generici monomi a valori reali del tipo: m(x) = c* x d ovvero monomi contenenti una sola
DettagliElementi di informatica. Programmare in C
Elementi di informatica Programmare in C 1 Programmare in C 2 Calcolare l area di un rettangolo /* Calcolo area rettangolo */ #include main() { int base; int altezza; int area; Conosciamo base
DettagliProgrammazione di base
Fondamenti di Informatica Testo B Secondo Appello 016-17 febbraio 017 Rispondi alle domande negli appositi spazi. I punti assegnati per ogni domanda sono indicati nel riquadro a lato. L'esame contiene
DettagliSi deve consegnare solo il testo del compito e non eventuale minuta. Di tutti gli esercizi BISOGNA riportare i passaggi significativi ed il risultato.
Elementi di Informatica Ingegneria Meccanica Ingegneria Elettrica 13 marzo 2004 COMPITO DI TEORIA Matricola: Cognome: Nome: Corso di Appartenenza: 1 2 3 4 5 6 Si deve consegnare solo il testo del compito
DettagliL utility Unix awk [Aho-Weinberger-Kernighan]
L utility Unix awk [Aho-Weinberger-Kernighan] L utility awk serve per processare file di testo secondo un programma specificato dall utente. L utility awk legge riga per riga i file ed esegue una o più
DettagliElaborato Shell. Elementi di architettura e sistemi operativi 2016/2017
Elaborato Shell Elementi di architettura e sistemi operativi 2016/2017 Introduzione passwd è il file di configurazione di sistema in cui sono memorizzate alcune delle informazioni relative agli account
DettagliDescrizione del progetto di laboratorio.
Descrizione del progetto di laboratorio nicola.basilico@unimi.it http://homes.di.unimi.it/basilico/teaching/ Introduzione Realizzazione di un programma che faccia uso dei concetti introdotti nelle lezioni
DettagliElementi di Informatica. Introduzione. Cos è l informatica. Corso di Laurea in Ingegneria Biomedica aa 2003/2004. Ing.
Elementi di Informatica Corso di Laurea in Ingegneria Biomedica aa 2003/2004 Ing. Antonio Coronato 1 Introduzione 2 Cos è l informatica Scienza della rappresentazione e della elaborazione (trasformazione)
DettagliAnalizzatore lessicale o scanner. Lo scanner rappresenta un'interfaccia fra il programma sorgente e l'analizzatore sintattico o parser.
Analizzatore lessicale o scanner Dispensa del corso di Linguaggi e Traduttori A.A. 2005-2006 Lo scanner rappresenta un'interfaccia fra il programma sorgente e l'analizzatore sintattico o parser. Lo scanner,
DettagliProva Finale. Algoritmi e Strutture Dati 2016 / 2017
Prova Finale Algoritmi e Strutture Dati 2016 / 2017 Agenda 1. Informazioni pratiche sui tutorati 2. Struttura della prova e valutazione 3. Consigli pratici 4. Demo del tool di valutazione 5. Analisi delle
DettagliProgrammazione di base
Fondamenti di Informatica Quinto Appello 016-1 1 Luglio 01 Rispondi alle domande negli appositi spazi. I punti assegnati per ogni domanda sono indicati nel riquadro a lato. L'esame contiene 10 domande,
DettagliEsercizi
Esercizi Si implementi una funzione che riceve in input una matrice NxM di float. Definito picco un numero circondato in tutte le posizioni intorno solo da numeri strettamente inferiori alla sua metà,
DettagliLaboratorio di programmazione
Laboratorio di programmazione 9 novembre 2016 (Trump Day!) Lo scheletro dei vostri programmi deve essere import java.io.*; import java.util.*; public class... { public static void main( String[] args )
DettagliLaboratorio di Algoritmi e Strutture Dati
Laboratorio di Algoritmi e Strutture Dati Docente: Camillo Fiorentini 8 gennaio 8 Il problema è simile all esercizio 5.6 del libro di testo di algoritmi (Introduzione agli algoritmi e strutture dati, T.
DettagliITLCC 2006/10/6 19:09 page 7 #3
ITLCC 2006/10/6 19:09 page 7 #3 Capitolo 2 Macchine di Turing SOMMARIO In questo capitolo introdurremo il modello di calcolo proposto dal logico matematico inglese Alan Turing, in un suo famoso articolo
DettagliFondamenti di Informatica T1. Lab 03 Istruzioni. Lab03 1
Fondamenti di Informatica T1 Lab 03 Istruzioni Lab03 1 Esercizio 1 Realizzare un programma che legga da input tre numeri interi e stampi a video la loro somma e la media. Lab03 2 #include main()
DettagliCorso di Laboratorio di Algoritmi e Strutture Dati I Docente: G. Melideo Prova intermedia - 6 novembre 2002
Prova intermedia - 6 novembre 2002 Svolgere i seguenti esercizi avendo come riferimento il linguaggio ansi C. ESERCIZIO 1 È possibile rappresentare un polinomio p(x) ad una variabile a coefficienti interi
DettagliDati e Algoritmi 1: A. Pietracaprina. Text Processing
Dati e Algoritmi 1: A. Pietracaprina Text Processing 1 Campi Applicativi text editing web searching computational biology (e.g., DNA analysis) vision... 2 Definizioni Stringa P P P[0]P[1]... P[m 1] (lunghezza
DettagliLaboratorio di programmazione
Laboratorio di programmazione 5 novembre 5 Stampa a rovescio con vettori Scrivete un programma che legge da riga di comando un intero n, legge da tastiera n interi, li inserisce in un vettore di interi
DettagliDati e Algoritmi I (Pietracaprina) Esercizi sulle Nozioni di Base
Dati e Algoritmi I (Pietracaprina) Esercizi sulle Nozioni di Base Dati e Algoritmi I (Pietracaprina): Esercizi 1 Problema 1. Sia T una stringa arbitraria di lunghezza n 1 su un alfabeto Σ. È sempre possibile
DettagliMatematica con Python
Matematica con Python e-mail: maurosaita@tiscalinet.it Versione provvisoria. Dicembre 2016. 1 Lezione n. 1 Calcolatrice Olivetti. Esegue le quattro operazioni elementari. Indice 1 Numeri e stringhe 2 1.1
DettagliFondamenti di Reti di Telecomunicazioni Prof. Guido Maier I appello 8 luglio 2009
Prof. Guido Maier I appello 8 luglio 2009 Cognome e nome: Matricola: (stampatello) (firma leggibile) Domanda 1 * (svolgere su questo foglio, sul retro e sui seguenti) (6 punti) pplicare l'algoritmo Distance
DettagliAlgoritmo. Calcolabilità
Algoritmo In altri termini, l algoritmo può essere definito come la descrizione di un procedimento che ha le seguenti proprietà: deve essere esplicita e non ambigua per l interlocutore cui è destinata
DettagliAlgoritmi. Matricole dispari Prof.ssa Anselmo. Appello del 9 Luglio Attenzione:
COGNOME: Nome: Algoritmi Matricole dispari Prof.ssa Anselmo Appello del 9 Luglio 2015 Attenzione: Inserire i propri dati nell apposito spazio soprastante e sottostante. Non voltare la pagina finché non
Dettagli