Fondamenti di Informatica e Laboratorio T-AB Ingengeria dell Automazione a.a. 2008/2009. Lab 13 File Binari



Documenti analoghi
Esercizio 1. Esercizio 1

Lab 16 Gestione file binari"

Lab 16 Gestione file binari"

Lab 11 Gestione file di testo"

Quotazione compareto( ) Quotazione piurecente( ) Quotazione Quotazione Quotazione non trovato count( )

Esercizio 1. Esercizio 1

Lab 16 Gestione file binari

Lab 11 Gestione file binari

Fondamenti di Informatica T-1, 2009/2010 Modulo 2 Prova d Esame 5 di Giovedì 15 Luglio 2010 tempo a disposizione 2h30'

Introduzione al Linguaggio C

OTTAVA ESPERIENZA DI LABORATORIO. L elaborazione dei files in C

Esercizio 1. Esercizio 2

Fondamenti di Informatica T-1 Modulo 2. Obiettivo di questa esercitazione. File di testo File binari

Definire all'interno del codice un vettore di interi di dimensione DIM, es. int array[] = {1, 5, 2, 4, 8, 1, 1, 9, 11, 4, 12};

Gli array. Gli array. Gli array. Classi di memorizzazione per array. Inizializzazione esplicita degli array. Array e puntatori

Fondamenti di Informatica T-1, 2010/2011 Modulo 2. Prova d Esame 4A di Martedì 21 Giugno 2011 tempo a disposizione 2h

Fondamenti di Informatica 2

Esempio: Array di struct

Lab 04 Istruzioni, cicli e array"

Laboratorio di programmazione

TOP DOWN. Compiti in classe proposti Modulo 1 JUVENILIA SCUOLA. Iacobelli Ajme Marrone

Progetto PI , passo A.1 versione del 14 febbraio 2007

Fondamenti di Informatica e Laboratorio T-AB T-16 Progetti su più file. Funzioni come parametro. Parametri del main

Strutture. Strutture e Unioni. Definizione di strutture (2) Definizione di strutture (1)

Algoritmi di ordinamento

SEGNALIBRO NON È DEFINITO.

RICERCA DI UN ELEMENTO

ARCHIVIAZIONE E. Obblighi & Opportunità. 8 Gennaio 2010

Inizializzazione, Assegnamento e Distruzione di Classi

[MANUALE VISUAL BASIC SCUOLA24ORE PROF.SSA PATRIZIA TARANTINO] 14 dicembre 2008

Studente: SANTORO MC. Matricola : 528

Informatica B. Sezione D. Scuola di Ingegneria Industriale Laurea in Ingegneria Energetica Laurea in Ingegneria Meccanica

Fogli Elettronici: MS Excel

Prova di Laboratorio di Programmazione

(Esercizi Tratti da Temi d esame degli ordinamenti precedenti)

Matematica - SMID : Programmazione Febbraio 2009 FOGLIO RISPOSTE

4. Un ambiente di sviluppo per Java

CASSA DI RISPARMIO DI BOLZANO S.p.A. SÜDTIROLER SPARKASSE AG SECONDO SUPPLEMENTO AL PROSPETTO DI BASE. relativo al Programma di Emissione di

Esame del 3 febbraio 2010

Esercizio 1. Esercizi 5. Esercizio 3. Esercizio 2 CICLI

LABORATORIO DI INFORMATICA parte 6 -

INFORMATICA - I puntatori Roberta Gerboni

Funzioni in C. Violetta Lonati

ARCHIVIA PLUS - ARCHIFILE

Esempio: dest = parolagigante, lettere = PROVA dest (dopo l'invocazione di tipo pari ) = pprrlogvgante

U N I O N C A F GUIDA ALLA COMPILAZIONE ONLINE DEL MODELLO 730/2014

GESTIONE 770 TRASFERIMENTO DATI DA ARCHIVIO CONTABILE

Sistemi Informativi I Caso di studio con applicazione di UML

Introduzione al linguaggio C Gli array

File di testo e file binari Directory

ESAME SCRITTO DI ELEMENTI DI INFORMATICA E PROGRAMMAZIONE. 27 Gennaio 2015

Esercitazione n 4. Obiettivi

LABORATORIO DI SISTEMI

Il software ideale per la gestione delle prenotazioni GUIDA UTENTE

La gestione dell input/output da tastiera La gestione dell input/output da file La gestione delle eccezioni

Scuola Digitale. Manuale utente. Copyright 2014, Axios Italia

Struttura a record. File ad accesso diretto. Modalità di apertura. Modalità di apertura

LUdeS Informatica 2 EXCEL. Seconda parte AA 2013/2014

On-line Corsi d Informatica sul web

Matlab: Gestione avanzata dei file

Cedaf Informa Documentazione per nuovo esercizio contabile e IVA Anno 2015

Fogli Elettronici: MS Excel utilizzo avanzato

Syllabus (estratto) Foglio elettronico. Excel. Open office - Office. Principio e funzionamento 26/11/2012. A. Ferrari

LABORATORIO DI PROGRAMMAZIONE 1 CORSO DI LAUREA IN MATEMATICA UNIVERSITÀ DEGLI STUDI DI MILANO V Indice

puntatori Lab. Calc. AA 2007/08 1

CONTABILITÀ. Gestione Attività Multipunto. Release 5.20 Manuale Operativo

Fondamenti di Informatica (CdL in Ing. Industriale F-O) Prova al calcolatore del 014/06/ A.A. 2012/2013 Prof. Giuseppe Ascia

Guida alla compilazione on-line delle domande di Dote Scuola A.S per le Famiglie INDICE

Esercitazione 01: DDL e DML di base

Protezione. Protezione. Protezione. Obiettivi della protezione

Contabilità: Estratto conto e scadenzario

Capitolo 13. Interrogare una base di dati

Fondamenti di Informatica e Laboratorio T-AB Ingengeria dell Automazione a.a. 2008/2009. Lab 02 Tipi semplici in C

Esercizi di JavaScript

APPELLO SCRITTO DI PROGRAMMAZIONE 1 CORSO DI LAUREA IN MATEMATICA UNIVERSITÀ DEGLI STUDI DI MILANO XI.2015

I.C. ALDO MORO - CAROSINO a.s REGOLAMENTO DI UTILIZZO DEL LABORATORIO DI INFORMATICA

NAVIGAZIONE DEL SI-ERC: UTENTE PROGETTISTA

Allegato 3 Sistema per l interscambio dei dati (SID)

Installazione e istruzioni per l uso di Mobile-Banking

Liberare la memoria allocata dinamicamente.

Laboratorio di Programmazione 1. Docente: dr. Damiano Macedonio Lezione 18 31/03/2014

Guida Studenti per i servizi online: compilazione dei questionari per la valutazione della didattica Iscrizione agli appelli

Specifiche Tecniche CARATTERISTICHE TECNICHE GENERALI MINIME PER LA GESTIONE DEL SERVIZIO

Università di Torino Facoltà di Scienze MFN Corso di Studi in Informatica. Programmazione I - corso B a.a prof.

Politecnico di Milano. Ingegneria del Software a.a. 2006/07. Appello del 14 settembre 2007 Cognome Nome Matricola


Uso di JUnit. Fondamenti di informatica Oggetti e Java. JUnit. Luca Cabibbo. ottobre 2012

Funzioni matlab per la gestione dei file. Informatica B Prof. Morzenti

LA GESTIONE DELLE LETTERE DI INTENTO DAL 2015

FIRESHOP.NET. Gestione Lotti & Matricole.

GESTIONE SPECOLE. L automazione del Controllo di Qualità dei Tessuti

DATA BASE SCONTRINI. M46 GDS documentazione Verticale R0

Prova di recupero di Informatica B Corsi di Laurea in Ingegneria Meccanica prof. Francesco Amigoni 20 febbraio 2004

La struttura dati ad albero binario

COGNOME E NOME (IN STAMPATELLO) MATRICOLA

Gestione delle stringhe in C

VIGILANZA SU FARMACI E FITOTERAPICI

Guida alla compilazione on-line delle domande di Dote Scuola A.S per le Famiglie INDICE

Le variabili. Olga Scotti

Transcript:

Fondamenti di Informatica e Laboratorio T-AB Ingengeria dell Automazione a.a. 2008/2009 Lab 13 File Binari

Esercizio 1 Un registratore di cassa registra su di un file binario alcuni dati relativi agli scontrini emessi. In particolare, tramite una struttura dati di nome scontrino, il registratore di cassa tiene traccia dell importo (un float) e del numero di oggetti acquistati (un intero). In un apposito file registratore.h, si definisca una struttura dati scontrino atta a contenere/rappresentare i dati forniti dal registratore di cassa. In un apposito modulo software registratore.h / registratore.c, si devono realizzare due funzioni, una di lettura ed una di scrittura delle strutture dati scontrino: int leggi(file * fp, scontrino * dest); int scrivi(file * fp, scontrino src); 2

Esercizio 1 Si realizzi un programma main che apra il file binario reg.dat in scrittura, e poi simuli il funzionamento del registratore di cassa per testare il modulo registratore. In particolare il programma chieda all utente di inserire coppie importo / numero di oggetti, e le registri sul file binario usando la funzione scrivi( ). L utente può segnalare la fine dell inserimento dei valori indicando una coppia 0.00/0, che ovviamente non deve essere registrata nel file. Terminata la fase di inserimento, il programma chiuda il file e lo ri-apra in lettura, e stampi a video tutte le coppie memorizzate (per la lettura, si utilizzi la funzione leggi( )) Al termine il main chiuda correttamente il file. 3

Un sito web per le speculazioni borsistiche registra su un file di testo gli andamenti di alcuni titoli azionari. In particolare, su ogni riga del file, registra il nome di un titolo (al più 63 caratteri senza spazi), i valori di apertura e di chiusura del titolo (tramite due float), ed il giorno dell anno corrente in cui è stato monitorato il titolo (un intero). Nel file non c è nessun ordine preciso con cui le righe sono state memorizzate, e mano a mano che passano i giorni vengono registrate più e più righe relative allo stesso titolo. Il sito web ha comunque l accortezza di registrare nel file al massimo 100 righe relative allo stesso titolo. Si vuole realizzare un programma per valutare la volatilità di un titolo (cioè i valori minimi e massimi raggiunti), relativamente alle informazioni presenti sul file. 4

A tal scopo, in un opportuno modulo software azioni.h/azioni.c: Si definisca una apposita struttura dati, di nome azione, per memorizzare le informazioni relative ad un titolo. Si realizzi una funzione: int leggi(file* fp, azione dest[], int dim, char * nome); che, ricevuti in ingresso un puntatore ad un file già opportunamente aperto, un array di strutture azione e la sua dimensione fisica dim, ed il nome di un titolo azionario, provveda a copiare in dest tutte le strutture relative all azione specificata. La funzione deve restituire il numero di elementi copiati, ovvero la dimensione logica del vettore dest. 5

Quindi, in un altro modulo software trova.h/trova.c : Si realizzi una funzione: azione trovamin(azione src[], int dim, float* val); che, ricevuti in ingresso un array di strutture azione e la sua dimensione dim, ed il nome di una azione, determini il valore minimo raggiunto dal titolo azionario (Ie cui fluttuazioni sono memorizzate in src). La funzione deve restituire la struttura dati azione relativa a quando si è verificato il minimo, e tramite il parametro val passato per riferimento deve restituire il minimo raggiunto. Si realizzi una funzione: azione trovamax(azione src[], int dim, float* val); che, ricevuti in ingresso un array di strutture azione e la sua dimensione dim, ed il nome di una azione, determini il valore massimo raggiunto dal titolo azionario (Ie cui fluttuazioni sono memorizzate in src). La funzione deve restituire la struttura dati azione relativa a quando si è verificato il massimo, e tramite il parametro val passato per riferimento deve restituire il massimo raggiunto. 6

Si realizzi un programma main.c che, utilizzando le funzioni già definite, provveda a chiedere all utente il nome di un titolo azionario, e stampi a video i valori minimi e massimi raggiunti dalle quotazioni del titolo. Si estenda il modulo trova.h/trova.c con una funzione opportuna per calcolare la media del valore del titolo azionario rispetto alle varie quotazioni registrate, e poi si provveda a stampare a video l oscillazione (in percentuale rispetto al valore medio) del minimo e del massimo raggiunti dal titolo in borsa. 7