Prova Finale. Algoritmi e Strutture Dati 2016 / 2017
|
|
|
- Gina Longo
- 8 anni fa
- Просмотров:
Транскрипт
1 Prova Finale Algoritmi e Strutture Dati 2016 / 2017
2 Agenda 1. Informazioni pratiche sui tutorati 2. Struttura della prova e valutazione 3. Consigli pratici 4. Demo del tool di valutazione 5. Analisi delle specifiche e domande
3 Tutors Andrea Jegher cognomi da E a LA Davide Piantella [email protected] cognomi da LE a O
4 Come contattarci con oggetto [ProvaFinaleAPI] agli indirizzi nella slide precedente e nel sito del corso Tutorati Rispondere alle domande di persona guardando il vostro lavoro è più facile!
5 Tutorati Fino ad un massimo di 20 ore Fino a metà settembre Date ancora da decidere Modalità lezioni Risposta a domande individuali Possiamo rispondere solo a domande tecniche Prerequisiti: Algoritmi e strutture dati visti nel corso Programmazione in C Saper compilare con GCC da terminale Debug (GDB)
6 Struttura della prova Implementazione in C di un semplice file system Più tardi vedremo le specifiche nel dettaglio Specifiche online sul sito del corso Attenzione agli aggiornamenti! Requisiti funzionali (what to do) Requisiti non funzionali (how to do) Valutazione automatica online
7 Tool di valutazione Come procedere: Upload del codice sorgente Compilazione automatica Esecuzione su casi di test pubblici Esecuzione su casi di test privati Esito
8 Tool di valutazione Tentativi illimitati (use with caution!) Test automatici per la valutazione Utilizzabili solo librerie C standard Complessità valutata temporalmente Niente scrittura o lettura da file Singolo file sorgente
9 Tips Non iniziare subito a scrivere codice Pensare alle strutture dati per soddisfare le specifiche sia funzionali che di complessità Testare sempre in locale prima di caricare il codice Il codice deve essere leggibile e ben commentato (!) Input presi da stdin, output su stdout cat input.txt./do.exe > out.txt Azioni sequenziali (niente multithreading) Attenzione alle malloc (no data leaks) Non copiare Verranno eseguiti dei controlli sui sorgenti!
10 Demo
11 Specifiche rev. 19/06
12 Vincoli Nomi delle risorse alfanumerici Nomi delle risorse al massimo 255 caratteri L altezza massima dell albero è 255 Il numero massimo di figli di un nodo è 1024 Percorsi in standard UNIX: /folder1/file3
13 create percorso O(lung_percorso) Crea un file vuoto. Stampa ok se il file è stato creato regolarmente Stampa no in caso di errore Possibili errori: creazione di un file in una directory inesistente si eccedono i limiti del filesystem nome file già esistente...
14 create_dir percorso O(lung_percorso) Crea una directory vuota. Stampa ok se la directory è stata creata regolarmente Stampa no in caso di errore. Possibili errori: creazione di una directory in una directory inesistente si eccedono i limiti del filesystem nome cartella già esistente...
15 read percorso O(lung_percorso + contenuto ) Se il file indicato esiste: stampa contenuto, un carattere spazio e il contenuto del file Se il file indicato non esiste: stampa no
16 write percorso contenuto O(lung_percorso + contenuto ) Scrive il contenuto di un file esistente, sovrascrivendo il precedente contenuto In caso di successo: Stampa ok seguito dal numero di caratteri scritti In caso di errore: Stampa no Il parametro contenuto è una sequenza di caratteri alfanumerici e spazi delimitata da doppie virgolette. Esempio: write /poems/jabberwocky "It was brillig and the slithy toves"
17 delete percorso O(lung_percorso) Cancella una risorsa, stampa in output l esito ( ok - no ). Una risorsa è cancellabile solamente quando non ha figli
18 delete_r percorso O(#risorse in percorso) Cancella una risorsa e tutti i suoi discendenti se presenti. Stampa in output l esito ( ok - no ).
19 find nome O(#risorse + #risultati^2) Cerca la posizione della risorsa specificata all interno del filesystem. Stampa ok seguito dai percorsi delle risorse con nome corrispondente. Le stampe delle risorse devono essere effettuate in ordine lessicografico del percorso che va stampato. Nel caso nessuna risorsa sia trovata, il comando stampa no.
20 exit O(1) Termina l esecuzione del gestore di risorse. Non stampa nulla in output.
21 Domande?
Input/Output. Console e File.
Input/Output Console e File http://www.dia.uniroma3.it/~roselli/ [email protected] Credits Materiale a cura del Prof. Franco Milicchio Introduzione Le istruzioni di stampa servono a rendere visibili
Linguistica Computazionale: esercitazioni
Esercitazione 1 Felice Dell'Orletta ItaliaNLP Lab (www.italianlp.it) presso Istituto di Linguistica Computazionale A. Zampolli CNR [email protected] 24 settembre 2014 Linguistica Computazionale:
Shell: variabili di sistema. Per visualizzare il valore di tutte le variabili d ambiente si usa il comando set
PATH Shell: variabili di sistema HOME USER PWD SHELL HOSTNAME HOSTTYPE Per visualizzare il valore di tutte le variabili d ambiente si usa il comando set Shell: variabili di sistema Per visualizzare il
Modularizzazione del software
Modularizzazione del software Ing. Luca De Santis DIS - Dipartimento di informatica e sistemistica Anno accademico 2006/2007 Fortran 90: Subroutine e function DIS - Dipartimento di informatica e sistemistica
Fortran in pillole : prima parte
Fortran in pillole : prima parte Annamaria Mazzia Dipartimento di Metodi e Modelli Matematici per le Scienze Applicate Corso di Metodi Numerici per l Ingegneria Introduzione al Fortran Un libro consigliato
Esercitazioni di Informatica (CIV)
Esercitazioni di Informatica (CIV) Introduzione Andrea Romanoni e-mail: [email protected] website: http://home.deib.polimi.it/romanoni/ 21 ottobre 2015 L informatica: questa sconosciuta Perchè
Primi passi col linguaggio C
Andrea Marin Università Ca Foscari Venezia Laurea in Informatica Corso di Programmazione part-time a.a. 2011/2012 Come introdurre un linguaggio di programmazione? Obiettivi: Introduciamo una macchina astratta
PG5 Starter Training Applicazione File System Daniel Ernst EN02 2012-02-26 Stefano Peracchi IT01 2013-05-20
PG5 Starter Training Applicazione File System Daniel Ernst EN02 2012-02-26 Stefano Peracchi IT01 2013-05-20 Introduzione Materiale richiesto Notebook o computer Controllore PCD1 E Cavo USB Scheda «Training»
File e puntatori a file
File e puntatori a file Vitoantonio Bevilacqua [email protected] La libreria stdio.h mette a disposizione delle funzioni che hanno la peculiarità di trattare con questa nuova tipologia di
Interfaccia del file system
Interfaccia del file system Concetto di file Metodi di accesso Struttura delle directory Protezione 1 Concetto di File Insieme di informazioni correlate, registrate in memoria secondaria, con un nome.
Il sistema operativo LINUX Esercitazione 3. Esercizio 1. Esercizio 2. Esercizio 5 - Soluzione. Il sistema operativo LINUX Esercitazione 4.
Il sistema operativo LINUX Esercitazione 3 Esercizio 1 Giorgio Di Natale Stefano Di Carlo Politecnico di Torino Dip. Automatica e Informatica Mostrare una lista
14 - INTRODUZIONE AL SISTEMA OPERATIVO LINUX
LABORATORIO DI PROGRAMMAZIONE Corso di laurea in matematica 14 - INTRODUZIONE AL SISTEMA OPERATIVO LINUX Marco Lapegna Dipartimento di Matematica e Applicazioni Universita degli Studi di Napoli Federico
Elaborato 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
Facciamo lampeggiare un led
Facciamo lampeggiare un led Passiamo a fare qualche esercizio, il più semplice per iniziare a programmare con Arduino è il canonico esercizio blink, che trovate anche negli esempi del programma. Si tratta
I files in C. A cura del prof. Ghezzi
I files in C A cura del prof. Ghezzi 1 Perchè i files? Realizzano la persistenza dei dati dati che sopravvivono all esecuzione del programma Sono delle strutture di dati sequenziali 2 Files e S.O. I files
perror: individuare l errore quando una system call restituisce -1
perror: individuare l errore quando una system call restituisce -1 Quando una system call (o una funzione di libreria) non va a buon fine, restituisce come valore -1 Come si fa a sapere più precisamente
INTRODUZIONE ALLA PROGRAMMAZIONE
INTRODUZIONE ALLA PROGRAMMAZIONE Prof. Enrico Terrone A. S: 2008/09 Definizioni Programmare significa risolvere problemi col computer, cioè far risolvere problemi al computer attraverso un insieme di informazioni
La programmazione in linguaggio C
FONDAMENTI DI INFORMATICA Prof. PIER LUCA MONTESSORO Ing. DAVIDE PIERATTONI Facoltà di Ingegneria Università degli Studi di Udine La programmazione in linguaggio C 2001 Pier Luca Montessoro - Davide Pierattoni
Command line kung fu
Command line kung fu Bash, filtri & co. Riccardo Binetti [email protected] Corsi GNU/Linux Avanzati 2014 Riccardo Binetti Bash e filtri Corsi Linux Avanzati 2014 1 / 31 Il terminale? Nel 2014? Sì, il
Array in Fortran 90. Ing. Luca De Santis. Anno accademico 2006/2007. DIS - Dipartimento di informatica e sistemistica
Array in Fortran 90 Ing. Luca De Santis DIS - Dipartimento di informatica e sistemistica Anno accademico 2006/2007 Fortran 90: array DIS - Dipartimento di informatica e sistemistica 1 / 25 Cosa vedremo
Il calcolatore. Architettura di un calcolatore (Hardware)
Il calcolatore Prima parlare della programmazione, e' bene fare una brevissima introduzione su come sono strutturati i calcolatori elettronici. I calcolatori elettronici sono stati progettati e costruiti
I file Laboratorio di Linguaggi di Programmazione a.a. 2001/2002
I file Laboratorio di Linguaggi di Programmazione a.a. 2001/2002 dott.ssa Francesca A. Lisi [email protected] Sommario Generalità sui file in C I file ad accesso sequenziale I file di testo Riferimenti
CORSO LINUX PER LA CERTIFICAZIONE LPI ESSENTIALS
CORSO LINUX PER LA CERTIFICAZIONE LPI ESSENTIALS Comandi da terminale Il comando sleep fa attendere un comando prima dell'esecuzione. Prova il comando: $ sleep 3s && echo Ciao Mondo! $ Comandi da terminale
Algoritmi e basi del C
Algoritmi e basi del C Marco D. Santambrogio [email protected] Ver. aggiornata al 4 O/obre 2013 What it s all about! 2 What it s all about! 3 What it s all about! 4 Obiettivi Algoritmi Pseudocodice
Documentazione e tutorial
P r o g e t to Sinapsi RunAs Documentazione e tutorial Ver.1 del 01/12/2016 P.Iva 02554100129 email: [email protected] Pagina 1 di 13 Sommario Progetto Sinapsi RunAs Documentazione
Array e Oggetti. Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1. Dispensa 12. A. Miola Dicembre 2006
Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1 Dispensa 12 Array e Oggetti A. Miola Dicembre 2006 http://www.dia.uniroma3.it/~java/fondinf1/ Array e Oggetti 1 Contenuti Array paralleli
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
Lezione 3: Programmazione della Shell di Unix
Lezione 3: Programmazione della Shell di Unix Laboratorio di Elementi di Architettura e Sistemi Operativi 2 Marzo 202 Parte : Soluzione degli esercizi Statistiche Ho ricevuto 2 soluzioni Tutte le soluzioni
Processore Danilo Dessì. Architettura degli Elaboratori.
Processore 8088 Architettura degli Elaboratori Danilo Dessì [email protected] Subroutine Anche nel linguaggio assemblativo è possibile suddividere un programma in subroutine Per invocare una subroutine
Linux e la shell Bash
DEI DEI-- Politecnico di dibari Linux e la shell Bash Esercitazione conclusiva G. Piscitelli - M. Ruta - A. Cinquepalmi Testi di riferimento: Linux e la shell Bash http://sisinflab.poliba.it/ruta/linux/linux
Esercitazione GNU/Linux n. 2
2.1 Copiare i file cp (copy) Esercitazione GNU/Linux n. 2 cp file1 file2 è il comando che crea una copia del file1 presente nella directory corrente e la chiama file2 Ciò che faremo adesso, è prendere
La Comunicazione tra Processi in Unix
La Comunicazione tra Processi in Unix La è un canale di comunicazione tra processi: unidirezionale: accessibile ad un estremo in lettura ed all'altro in scrittura molti-a-molti: più processi possono spedire
Database Lezione 2. Sommario. - Progettazione di un database - Join - Valore NULL - Operatori aggregati
Sommario - Progettazione di un database - Join - Valore NULL - Operatori aggregati Progettazione di un database - In un database c'è una marcata distinzione tra i valori in esso contenuti e le operazioni
Introduzione alla. Alessandra Giordani [email protected] Lunedì 27 febbraio 2012 http://disi.unitn.it/~agiordani/ 1
Introduzione alla Shell di UNIX Alessandra Giordani [email protected] Lunedì 27 febbraio 2012 http://disi.unitn.it/~agiordani/ 1 Composizione di un sistema informativo: Hardware (CPU, periferiche,
Formattazione avanzata. I/O Avanzato e File. Formattazione dell output. Formattazione avanzata. Forma completa degli specificatori
Formattazione avanzata Modificatori di o in output Modificatori di o in input Stream predefiniti I/O Avanzato e File 2 Formattazione dell output Formattazione avanzata L output (su schermo o su file) viene
14Ex-Cap11.qxd :20 Pagina Le macro
14Ex-Cap11.qxd 21-12-2006 11:20 Pagina 203 11 Le macro Creare le macro Registrare una macro Eseguire una macro Riferimenti assoluti e relativi nelle macro Assegnare un pulsante a una macro Modificare una
Architettura degli elaboratori Docente:
Politecnico di Milano Il File System Architettura degli elaboratori Docente: Ouejdane Mejri [email protected] Sommario File Attributi Operazioni Struttura Organizzazione Directory Protezione Il File
File System I parte. File System
File System I parte File System Dati e Programmi sono organizzati mediante una struttura di files e directories: file: collezione di dati directory: collezione di file o di directory Il file system possiede
ESECUZIONE 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
Introduzione al DEV C++
Introduzione al DEV C++ : Anno accademico 2006/2007 Fondamenti di informatica I Sommario 1. INTRODUZIONE... 3 2. SETUP... 5 2.1. Procedura di installazione... 5 2.2. Configurazione... 8 2.2.1. Opzioni
Esame Laboratorio di Sistemi Operativi Cognome Nome Mat.
Esame Laboratorio di Sistemi Operativi 2-01-2008 Il compito è costituito da domande chiuse e domande aperte. Non è consentito l uso di libri, manuali, appunti., etc. Tempo massimo 1 ora. Domande chiuse:
Unità Didattica 1 Linguaggio C. Fondamenti. Struttura di un programma.
Unità Didattica 1 Linguaggio C Fondamenti. Struttura di un programma. 1 La storia del Linguaggio C UNIX (1969) - DEC PDP-7 Assembly Language BCPL - un OS facilmente accessibile che fornisce potenti strumenti
Informatica Generale 1 - Esercitazioni Introduzione all uso della command-line shell
Informatica Generale 1 - Esercitazioni Introduzione all uso della command-line shell Daniele Pighin [email protected] FBK Via Sommarive, 18 I-38050 Trento, Italy March 5, 2008 Outline 1 Sistema operativo e
Fondamenti di Informatica
Fondamenti di Informatica Strutture Selettive, Iterative e Gestione File in MATLAB: Esercitazione 2 Prof. Arcangelo Castiglione A.A. 2016/17 Esercizio 1 Scrivere una funzione che prenda in input una matrice
PROGRAMMA DISCIPLINARE SVOLTO a. s. 2015 / 2016
PROGRAMMA DISCIPLINARE SVOLTO a. s. 2015 / 2016 DOCENTI: TESTARDO CINZIA, VALERIO FELICI CLASSE 4 a IA DISCIPLINA TPSI MACROARGOMENTI che sono stati trattati nel corso del corrente anno scolastico (in
Lezione 1: Introduzione alla Shell di Unix
Lezione 1: Introduzione alla Shell di Unix Laboratorio di Elementi di Architettura e Sistemi Operativi 5 Marzo 2013 Chi è UNIX? UNIX è il nome di una famiglia di sistemi operativi, con diverse implementazioni
IL SOFTWARE DI SISTEMA
Software (sw) L esecuzione di programmi è lo scopo di un elaboratore L insieme dei programmi che un elaboratore può eseguire rappresenta il software in dotazione all elaboratore IL SOFTWARE DI SISTEMA
Esercitazione 1 SQL: DDL e DML di base
Esercitazione 1 SQL: DDL e DML di base Sistemi Informativi T Versione elettronica: L01.2.DDLDMLbase.pdf Prime cose da fare Fare login sul PC usando lo username di Scuola Procedura descritta qui: https://infoy.ing.unibo.it/new_account/
Prova in itinere 7 Giugno 2016 Università di Salerno
Sistemi Operativi: Prof.ssa A. Rescigno Anno Acc. 2015-2016 Prova in itinere 7 Giugno 2016 Università di Salerno 1. Codice comportamentale. Durante questo esame si deve lavorare da soli. Non si puó consultare
Informatica ALGORITMI E LINGUAGGI DI PROGRAMMAZIONE. Francesco Tura. F. Tura
Informatica ALGORITMI E LINGUAGGI DI PROGRAMMAZIONE Francesco Tura [email protected] 1 Lo strumento dell informatico: ELABORATORE ELETTRONICO [= calcolatore = computer] Macchina multifunzionale Macchina
Esplorare e modificare il file system Compilare con gcc Lanciare un programma da linea di comando
Eclipse: Cos è? Utilizzare Eclipse: Creare un progetto Creare file sorgenti nel progetto Compilare Lanciare il programma Strumenti alternativi agli IDE La linea di comando su Linux Esplorare e modificare
Shell di Linux e Comandi Utente
Shell di Linux e Comandi Utente Sistemi Operativi Roberto Aringhieri DTI Crema - Università degli Studi di Milano Sistemi Operativi - Shell di Linux e Comandi Utente Roberto Aringhieri p.1/23 Outline Accesso
Comandi principali di Linux (1)
Laboratorio I Comandi principali di Linux (1) Sintassi: [comando] [opzioni] [argomenti] ls mostra il contenuto di una director l versione lunga a mostra anche i files nascosti che iniziano con. t presenta
Sistemi Operativi. Gianluca Della Vedova. Sistemi Operativi. Gianluca Della Vedova. Sistemi Operativi. Gianluca Della Vedova.
Programmi applicativi Un programma applicativo (o applicativo) è un eseguibile che può essere utilizzato dall utente e che ha funzionalità di alto livello (word processor, spreadsheet, DBMS) Univ. Milano-Bicocca
Linguaggio C: i file
Dipartimento di Elettronica ed Informazione Politecnico di Milano Informatica A - GES Prof. Plebani A.A. 2006/2007 Linguaggio C: i file La presente dispensa e da utilizzarsi ai soli fini didattici previa
File binari e file di testo
I file File binari e file di testo distinzione tra file binari file di testo si possono usare funzioni diverse per la gestione di tipi di file diversi Programmazione Gestione dei file 2 File binari e file
Input/output da file I/O ANSI e I/O UNIX FLUSSI E FILE FLUSSI FLUSSI di TESTO FLUSSI BINARI FILE
Input/output da file Il linguaggio C non contiene istruzioni di I/O, in quanto tali operazioni vengono eseguite tramite funzioni di libreria standard. Questo approccio rende estremamente flessibile e potente
