• Non ci sono risultati.

Corsi di laurea in Ingegnera Elettronica e Ingegneria Gestionale Fondamenti di Programmazione / Fondamenti di Informatica I Prova scritta dell’8 settembre 2017

N/A
N/A
Protected

Academic year: 2021

Condividi "Corsi di laurea in Ingegnera Elettronica e Ingegneria Gestionale Fondamenti di Programmazione / Fondamenti di Informatica I Prova scritta dell’8 settembre 2017"

Copied!
1
0
0

Testo completo

(1)

Corsi di laurea in Ingegnera Elettronica e Ingegneria Gestionale Fondamenti di Programmazione / Fondamenti di Informatica I

Prova scritta dell’8 settembre 2017

Esercizio 1 (16 punti)

Il sistema informatico di una scuola memorizza gli esiti delle interrogazioni nel formato che si può dedurre dal file a lato. Poiché le registrazioni arrivano via rete dalle diverse sedi della scuola, non è garantito l’ordine

cronologico delle righe del file. I voti sono sempre interi e non ci sono omonimie tra gli studenti.

A causa di un guasto (avvenuto di notte), per un certo tempo le registrazioni sono proseguite su un sistema di backup che aveva copia delle registrazioni eseguite fino a quel momento. Ripristinato il sistema principale, ci si è ritrovati con due versioni del file delle registrazioni: una, nel sistema principale, contenente quelle eseguite fino al momento del guasto (che sono anche già state registrate

nel database della scuola) e una, nel sistema di backup, contenente anche quelle successive al guasto (v. esempio a lato). Si osservi che anche nel file di backup l’ordine delle righe non è cronologico ed è anche differente da quello del file principale. Il numero di registrazioni, sia nel file principale che in quello di backup, è ignoto.

È quindi necessario selezionare dal file di backup le registrazioni successive alla data del guasto (che è la data più recente presente nel file principale). Inoltre, tali registrazioni selezionate devono essere convertite nel formato necessario per l’inserimento nel database. Per esempio, se i file principale e di backup sono quelli sopra riportati, i comandi che devono essere generati sono i seguenti:

insert bianchi/luigi/italiano e letteratura/3 insert verdi/mario/geografia/8

essendo il 13/5/2016 la più recente data presente nel file principale ed essendo le registrazioni del 14/5/2016 le sole successive a tale data presenti nel file di backup.

Si scriva un programma in linguaggio C che riceva sulla riga di comando il nome del file principale e il nome del file di backup e stampi sullo schermo i comandi per l’inserimento nel database delle registrazioni selezionate come sopra descritto e nel formato dell’esempio.

NOTA: si può assumere siano già disponibili esclusivamente le funzioni della libreria standard del linguaggio C. Eventuali funzioni di manipolazione o confronto di date dovranno essere scritte.

Esercizio 2 (14 punti)

Un sito web, per profilare gli utenti, ha chiesto a ciascuno quali sport pratica e ha memorizzato i dati in un file di testo il cui formato può essere dedotto dal seguente esempio:

Si osservi che:

- il nome dell’utente e tutti gli sport sono sempre scritti in una sola parola, senza spazi;

- il nome dell’utente è seguito dal numero degli sport da lui/lei praticati e poi dall’elenco degli stessi.

Si assuma che il massimo numero di sport elencati sia 100.

Si scriva un programma in linguaggio C che riceva sulla riga di comando un file nel formato sopra descritto e stampi l’elenco degli sport presenti nel file (in un ordine qualsiasi) con, per ciascuno, il numero di utenti che lo praticano. Relativamente all’esempio sopra riportato, il programma dovrà stampare:

mountain_bike 1 ciclismo_su_strada 3 scialpinismo 1

corsa 2

pattinaggio_a_rotelle 1 pattinaggio_su_ghiaccio 2 bodybuilding 1

equitazione 1

13/5/2016 geografia: luigi, de rossi, 6

10/5/2016 italiano e letteratura: ugo, serra, 4 13/5/2016 storia: pier paolo, de santis, 7 12/5/2016 scienza e tecnologia: mario, verdi, 8

13/5/2016 geografia: luigi, de rossi, 6

10/5/2016 italiano e letteratura: ugo, serra, 4 13/5/2016 storia: pier paolo, de santis, 7 14/5/2016 geografia: mario, verdi, 8

12/5/2016 scienza e tecnologia: mario, verdi, 8 14/5/2016 italiano e letteratura: luigi, bianchi, 3

Sabry76: 3 mountain_bike ciclismo_su_strada scialpinismo

UnkUnk60: 4 corsa pattinaggio_a_rotelle pattinaggio_su_ghiaccio arrampicata BadGuy92: 2 bodybuilding ciclismo_su_strada

Pink85: 4 equitazione corsa pattinaggio_su_ghiaccio ciclismo_su_strada

Riferimenti

Documenti correlati

Si scriva un programma in linguaggio C che riceva sulla riga di comando il nome di un file nel formato sopra descritto e stampi sul monitor il nome e l’elenco dei concorrenti

Si scriva una funzione in linguaggio C che riceva come argomenti un vettore di stringhe, contenenti ciascuna il nome di un file del tipo sopra descritto, e un

Si scriva una funzione in linguaggio C che riceva come argomenti il puntatore a un file di testo nel formato sopra descritto (il file è quindi già stato aperto dalla funzione

Si scriva un programma in linguaggio C che riceva sulla riga di comando il nome di un file di dizionario nel formato dell’esempio sopra riportato e il nome di un file

Al termine dell’esecuzione delle operazioni specificate nel file di ingresso il programma dovrà stampare i valori contenuti in tutte e sole le celle di memoria che

Si scriva un programma in linguaggio C che riceva sulla riga di comando il nome di due file come quelli sopra descritti e stampi il numero delle repliche

Poiché gli identificatori (numeri) delle tessere sono univoci e nella griglia è presente una sola posizione vuota, ogni mossa può semplicemente essere indicata

Per fare questo, si scriva un programma in linguaggio C che riceva sulla riga di comando il nome di un file come sopra descritto e stampi l’elenco dei