UNIVERSITA` DI BERGAMO ESAME DI INFORMATICA 12 CFU Modulo di Programmazione (ING. INFORMATICA) Prof. G. PSAILA PROVA IN ITINERE DEL 12/01/2017

Documenti analoghi
UNIVERSITA` DI BERGAMO ESAME DI INFORMATICA 12 CFU Modulo di Programmazione (ING. INFORMATICA) Prof. G. PSAILA PROVA IN ITINERE DEL 12/01/2017

(Esercizi Tratti da Temi d esame degli ordinamenti precedenti)

Esercizio 1 - Memoria Dinamica e strutture dati Si consideri la seguente definizione di una lista di liste (catene) di parole:

Il comando provoca il salvataggio dello stato e la terminazione dell esecuzione.

Lab 17 Allocazione dinamica della memoria

Il presente plico contiene 3 esercizi e deve essere debitamente compilato con cognome e nome, numero di matricola.

Lab 12 Allocazione dinamica della memoria

Es. 1. interi, li stampi a video ponendo prima i numeri pari e poi i numeri dispari. Es. 1. int readlength(file *f, int *even, int *odd)

Ogni parte non cancellata a penna sarà considerata parte integrante della soluzione.

CALCOLATRICI, APPUNTI, LIBRI E QUADERNI,

Esame Laboratorio di Programmazione

Le liste. Prof. Francesco Accarino IIS Sesto San Giovanni Via Leopardi 132

Politecnico di Milano Facoltà di Ingegneria Industriale INFORMATICA B Prova in itinere del 30 Gennaio 2015 COGNOME E NOME RIGA COLONNA MATRICOLA

Esercizi 5 CICLI. Es.5(cicli)

Politecnico di Milano Facoltà di Ingegneria Industriale INFORMATICA B Appello del 8 Febbraio 2010 COGNOME E NOME RIGA COLONNA MATRICOLA

Laboratorio di Programmazione (Corso di Laurea in Informatica)

Fondamenti di Informatica T-1

Strutture di accesso ai dati: B + -tree

PROGRAMMAZIONE: I sottoprogrammi

PROVA SCRITTA 23 MARZO 2010

Allegato A. Specifiche tecniche per la trasmissione telematica Modello Comunicazione Dati Albo dei CAF

13 Esercizi di Riepilogo

CORSO DI BASI DI DATI Secondo Compitino

- Esercitazione III Programmazione C Funzioni Alessandro Saetti

Corso di Informatica

Fondamenti di Informatica e Laboratorio T-AB T-15 Strutture dati

Prof. Massimiliano Giacomin 21 dicembre NOME: COGNOME: MATR: Scrivere nome, cognome e matricola chiaramente in caratteri maiuscoli

Gestione degli impegni Requisiti generali Si fissi come ipotesi che la sequenza di impegni sia ordinata rispetto al tempo,, e che ogni lavoratore abbi

FONDAMENTI DI INFORMATICA

Memoria virtuale. Daniele Loiacono, Vittorio Zaccaria

Il presente plico contiene 3 esercizi e deve essere debitamente compilato con cognome e nome, numero di matricola.

viene disegnato un grafico che passa per i punti le cui ascisse e ordinate sono contenute rispettivamente nei vettori x e y.

INFORMATICA A. Titolo presentazione sottotitolo. Laboratorio n 4 Dott. Michele Zanella Ing. Gian Enrico Conti

15 Riepilogo di esercizi in MATLAB

strutture e file di testo/binari Esercizio - lettura/filtro/scrittura PEOPLE.TXT PARTNERS.DAT Due persone sono compatibili

Complessità algoritmi su strutture dati

Liste concatenate e allocazione dinamica

Esercizio FAT 1. Soluzione: 1. Capacità del disco: 2 24 blocchi (3 byte=24 bit) 2

PROGRAMMAZIONE II canale A-D luglio 2008 TRACCIA DI SOLUZIONE

FONDAMENTI DI INFORMATICA

In questa lezione Strutture dati elementari: Pila Coda Loro uso nella costruzione di algoritmi.

I Dati Strutturati ed il Linguaggio C

PROVA SCRITTA DEL MODULO DI

File ad accesso diretto funzioni Hash Parte1. Prof. Francesco Accarino IIS Altiero Spinelli Sesto San Giovanni

Orario delle lezioni LABORATORIO TEORIA. mercoledì. martedì aula P/4. lab Turing. Strutture Dati

Lezione 13: Strutture dati dinamiche

Ripasso R1. Dati strutturati. Esempi. Array. Dichiarazione di un array. Dichiarazione di un array in C

Structured Query Language

Informatica/ Ing. Meccanica/ Edile/ Prof. Verdicchio/ 30/06/2016/ Foglio delle domande / VERSIONE 1

Strutture fisiche e strutture di accesso ai dati

Fondamenti di Informatica T-1 Modulo 2

Lab 11 Allocazione dinamica della memoria

giapresente( ) leggi( ) char * strstr(char * cs, char * ct) NULL

CASELLARIO CENTRALE DEI PENSIONATI. Tracciato record delle variazioni di: decesso matrimonio / divorzio / nuove nozze. - vers

Soluzioni seconda prova intermedia del 30 gennaio 2006 temi 1 e 2. Siano date le seguenti definizioni di costanti e tipi in linguaggio C:

Esercitazione 11. Liste semplici

A.A. 2018/2019. Esercitazione 12. Strutturazione di Istruzioni in Linguaggio SQL. [ Possibili Soluzioni ] FONDAMENTI DI INFORMATICA E PROGRAMMAZIONE

Laboratorio n 6 del Ing. Dario Cogliati

TRACCIATO RECORD BONIFICI DOMICILIATI

Spazio riservato ai docenti

ESERCIZIO 1. AZ111 milano 12:34 23 AZ222 buenos-aires 12: BA333 toronto 4:15 20 KM444 madrid 10:12 100

INDICI PER FILE. Accesso secondario. Strutture ausiliarie di accesso

Esercitazioni di Fondamenti di Informatica - Lez. 8 27/11/2018

Databases. Architettura di un DBMS: Struttura ad indice per i files, B + -Trees

Modalità di compilazione per la trasmissione delle Comunicazioni dei dati relativi alla previdenza complementare

Alberi binari e alberi binari di ricerca

Da A Tipologia Dato. Denominazione dell'impresa responsabile della consegna dei dati. Data File Numerico Si

13 Esercizi di Riepilogo

tipi di dato astratti

Fondamenti di Informatica T-1

Informatica/ Ing. Meccanica/ Edile/ Prof. Verdicchio/ 25/02/2016/ Foglio delle domande / VERSIONE 1

ESAME DI FONDAMENTI DI INFORMATICA T-2 del 2/07/2013 Proff. E. Denti G. Zannoni Tempo a disposizione: 4 ore MAX

Esercizi. Filtraggio

Fondamenti di Informatica e Laboratorio T-AB Prova Pratica - 12 Dicembre 2008 Compito A

Modalità di compilazione per la trasmissione delle Comunicazioni dei dati dei contratti e premi assicurativi

Modalità di compilazione per la trasmissione delle Comunicazioni dei dati relativi alle erogazioni agli Enti del Terzo Settore e relativi rimborsi

Esempio di prova scritta di Fondamenti di Informatica

Liste concatenate e allocazione dinamica

Politecnico di Milano Facoltà di Ingegneria Industriale INFORMATICA B. Esempio di seconda prova in itinere A.A

SQL e linguaggi di programmazione. Cursori. Cursori. L interazione con l ambiente SQL può avvenire in 3 modi:

Da A Tipologia Dato. Codice CAB. Deve coincidere con il codice indicato nel nome del file. Denominazione Impresa Alfanumerico Si

PAT/RFS171-26/07/ Allegato Utente 16 (A16) TRACCIATO PAGAMENTI

Tema d esame. 20 aprile 1995

Dipartimento di Elettronica, Informazione e Bioingegneria Politecnico di Milano

ESAME DI FONDAMENTI DI INFORMATICA T-2 del 2/07/2012 Proff. E. Denti G. Zannoni Tempo a disposizione: 4 ore MAX

Laboratorio 1. 2) All interno della directory c:\temp\cognome\codici creare il file sorgente hello.c contenente il seguente codice:

Sommario FONDAMENTI DI INFORMATICA. File e Python. Gestione di file. LINGUAGGIO Python Gestione dei file

Fondamenti di Informatica T-1 Modulo 2

Informatica B Prof. Di Nitto e Morzenti Appello del 17 febbraio 2005 Cognome e Nome... Numero Matricola... (in stampatello)

Fondamenti di Informatica e Laboratorio T-AB Ingegneria Elettronica e Telecomunicazioni. Lab 06 Array" Lab06 1

BOZZA INTERNET del 23/12/2015. Modalità di compilazione per la trasmissione delle Comunicazioni dei dati relativi alle spese funebri

Basi di dati. Docente Prof. Alberto Belussi. Anno accademico 2009/10

Transcript:

UNIVERSITA` DI BERGAMO ESAME DI INFORMATICA 12 CFU Modulo di Programmazione (ING. INFORMATICA) Prof. G. PSAILA PROVA IN ITINERE DEL 12/01/2017 Per consegnare, si svolgano entrambi gli esercizi. Durata: 90 minuti. Punteggio complessivo: 16 punti. Sufficienza: 9 punti Esercizio (10 punti) Si consideri un programma per gestire la raccolta delle informazioni relative ad un listino prezzi di prodotti da vendere, organizzato in una lista dinamica. Un prodotto è definito da un tipo strutturato denominato PRODOTTO, i cui campi sono il codice (stringa di 12 caratteri) la data di inserimento nel listino (stringa nel formato internazionale aaaa-mm-gg ), il prezzo (numero in virgola mobile), la percentuale IVA (numero intero) e una tipologia di prodotto (un numero intero positivo). Si definisca quindi la struttura dati per una lista dinamica dove il campo informativo del nodo è a sua volta basato sul tipo PRODOTTO. Si scriva la funzione denominata ProdottiTipologiaRedditizia che riceve come parametri la lista dei prodotti, un vettore di numeri interi denominato Tipologie e un numero intero denominato size che indica quanti elementi sono presenti nel vettore Tipologie. Per ogni tipologia nel vettore, la funziona calcola la media dei prezzi dei prodotti di quella tipologia e calcola la tipologia con la media più alta. Quindi, la funzione genera una nuova lista dinamica (basata sugli stessi tipi di quella ricevuta come parametro) che contiene solo e soltanto i prodotti della tipologia con la media più alta e restituisce l indirizzo della testa di questa nuova lista. Nel caso in cui non vi siano prodotti di nessuna delle tipologia riportate, la funzione restituisce il valore NULL. N.B. Si eviti la duplicazione del codice.

Domanda Teoria (6 punti) Si consideri un sistema dove per gli indirizzi di memoria vengono usati 24 bit e la memoria viene gestita con il sistema della paginazione con pagine da 1Kbyte e indirizzi logici. Si consideri il seguente indirizzo logico l=000000000100110000001110. Se nella tabella delle pagine abbiamo le corrispondenze pl pf (in base 10) 17 1, 18 3, 19 5, 20 6, qual è l indirizzo fisico f su 24 bit corrispondente all indirizzo logico l?

TEMA ESAME-1 Si consideri un programma che gestisce percorsi stradali. Un percorso stradale è composto da una sequenza di segmenti; un segmento è costituito da una coordinata iniziale (stringa di 20 caratteri), una coordinata finale (stringa di 20 caratteri) e la lunghezza del segmento stesso (numero con virgola, indicante i Km del segmento). Un percorso è quindi una lista dinamica di segmenti. Il nodo in testa alla lista contiene sempre il segmento iniziale del percorso, mentre i nodi della lista successivi al primo non sono in ordine di percorrenza. (Per esempio, il terzo nodo potrebbe contenere il 2do segmento del percorso, il quinto nodo il potrebbe contenere il 3zo segmento del percorso etc..) Dopo aver definito la struttura dati, si scriva la funzione...lunghsegmento(...) che riceve come parametri un percorso (quindi, l'indirizzo del nodo in testa alla lista che descrive il percorso) e un numero di segmenti percorribili lungo il percorso stesso. Se il numero di segmenti percorribili passato come parametro non esiste nella lista, allora il sottoprogramma restituisce 0, altrimenti restituisce la lunghezza totale del numero di segmenti percorribili ricevuto come parametro.

TEMA ESAME-2 Il comando di polizia locale vi commissiona la realizzazione della funzione...aggiungimulta(...) con la quale si aggiunge un nuovo nodo alla lista passata come parametro. Il nodo deve contenere le informazioni dell'intestatario della targa automobilistica, anch'essa passata come parametro, disponibili nel file Motorizzazione.dat, il cui nome viene passato come terzo parametro alla funzione...aggiungimulta(...). Dopo aver definito una possibile struttura dati della lista e un esempio di tracciato record del file, implementare la funzione (in C/C++) in modo che: 1. riceva i tre parametri descritti, 2. estragga dal file i dati necessari alla creazione di un nuovo nodo da inserire nella lista in base alla targa dell'automobile che ha effettuato l'infrazione e 3. aggiunga un nuovo nodo con tali dati alla lista.

TEMA ESAME-3.1 Si consideri un programma che gestisce i biglietti di un teatro. Ogni biglietto è caratterizzato da un numero progressivo (intero), la data di emissione (stringa di 10 caratteri), dal prezzo del biglietto e dal titolo dello spettacolo (stringa di 50 caratteri). I biglietti sono raccolti in una lista dinamica. Dopo aver definito la struttura dati, si scriva la funzione...importomassimo(...), che riceve come parametri la lista di biglietti, una data (stringa di 10 caratteri) e un numero in virgola mobile denominato soglia; la funzione restituisce l'importo massimo dei prezzi dei biglietti venduti nella data specificata, il cui prezzo è maggiore o uguale della soglia indicata dal terzo parametro. Se in quella data non vi sono biglietti con queste caratteristiche, la funzione restituisce il valore -1.

TEMA ESAME-3.2 Si consideri un programma che gestisce i biglietti di un teatro. Ogni biglietto è caratterizzato da un numero progressivo (intero), la data di emissione (stringa di 10 caratteri), dal prezzo del biglietto e dal titolo dello spettacolo (stringa di 50 caratteri). I biglietti sono raccolti in una lista dinamica. Dopo aver definito la struttura dati, si scriva la funzione...importomedio(...), che riceve come parametri la lista di biglietti e una data (stringa di 10 caratteri), e restituisce l'importo medio dei prezzi dei biglietti venduti nella data specificata. Se in quella data non vi sono biglietti, la funzione restituisce il valore -1.

TEMA ESAME-4.1 Il nuovo navigatore satellitare VM.GP necessita della funzione...remainingroute(...) che, dato un percorso e la lunghezza percorsa, genera il percorso rimanente. Vediamo nel dettaglio. Un percorso è descritto da una lista dinamica, dove ogni elemento della lista descrive un segmento di strada da percorrere, con le coordinate iniziali (stringa di 10 caratteri), le coordinate finali (stringa di 10 caratteri), la lunghezza del segmento di strada (numero in virgola mobile indicante i chilometri). La funzione...remainingroute(...) riceve due parametri: uno è l'indirizzo della testa della lista che descrive il percorso calcolato, l'altro è la lunghezza già percorsa (numero in virgola mobile indicante i chilometri) di quel percorso. La funzione produce un'altra lista, definita sulla stessa struttura dati e l'indirizzo della cui testa viene restituito dalla funzione, che contiene solo i segmenti del percorso iniziale successivi al segmento raggiunto con i chilometri percorsi (secondo parametro della funzione). Per esempio, se il percorso calcolato è composto da tre segmenti, il primo di 5 Km, il secondo di 10 Km e il terzo di 2 Km, e la lunghezza percorsa è 7 Km, la funzione produrrà una lista che descrive un percorso costituito solo dal terzo segmento (perché successivo al segmento raggiunto percorrendo 7 Km). Definire la struttura dati della lista e implementare in C/C++ la funzione richiesta.

TEMA ESAME-4.2 Il nuovo navigatore satellitare VM.GP necessita della funzione...backroute(...) che, dato un percorso e la lunghezza percorsa, genera il percorso rimanente. Vediamo nel dettaglio. Un percorso è descritto da una lista dinamica, dove ogni elemento della lista descrive un segmento di strada da percorrere, con le coordinate iniziali (stringa di 10 caratteri), le coordinate finali (stringa di 10 caratteri), la lunghezza del segmento di strada (numero in virgola mobile indicante i chilometri). La funzione...backroute(...) riceve due parametri: uno è l'indirizzo della testa della lista che descrive il percorso calcolato, l altro è la lunghezza già percorsa (numero in virgola mobile indicante i chilometri) di quel percorso. La funzione produce un'altra lista, definita sulla stessa struttura dati e l'indirizzo della cui testa viene restituito dalla funzione, che contiene solo i segmenti del percorso fino a quel momento attraversati, quindi dal primo fino al segmento raggiunto con i chilometri percorsi (secondo parametro della funzione). Per esempio, se il percorso calcolato è composto da tre segmenti, il primo di 5 Km, il secondo di 10 Km e il terzo di 2 Km, e la lunghezza percorsa è 7 Km, la funzione produrrà una lista che descrive un percorso costituito dal primo e dal secondo segmento. Definire la struttura dati della lista e implementare in C/C++ la funzione richiesta.