Sequenza | Selezione | Iterazione | Funzioni | Ricorsione | Operat. su interi | Stringhe | Vettori | Array |
Tabelle | File | Liste | Alberi | Esami Maturità | Preparazione esami | Database | Macchina di Turing | Automi |
Algebra | Geometria | Giochi |
Temi Esami Maturità Informatica
Supponiamo di avere un certo numero di
elettori che debbono votare un loro rappresentante scegliendo fra cinque
candidati e facciamo le seguenti ipotesi:
* il voto è unico (pro capite) ed è perforato su una sk (sk=scheda);
* non calcoliamo le sk bianche;
* non conosciamo il numero di votanti.
Redigere un programma per contare il numero di voti ottenuti da ogni candidato.
Articolare il programma in modo che chi lo gestisce possa scegliere fra la
stampa del nome del candidato vincente con i voti ottenuti ed il numero del
votanti (quorum), o fra quella di tutti i nomi dei candidati ordinati in senso
decrescente a seconda dei voti ottenuti ed il totale dei votanti.
Durata della prova: 6 ore
TEMA D'ESAME DEL
1976
- QUESITO 1
Sia dato un file di nome SECONDI il cui record logico è il numero di minuti
secondi trascorsi dall'inizio dell'anno (ore zero del 1º gennaio) fino
all'istante in cui è accaduto un evento; la fine del file è segnalata da un
record particolare di cui il candidato definirà la natura; il file è sequenziale
ed ordinato in senso crescente.
Occorre produrre un file di stampa in cui, per ciascun evento, vengano
evidenziati i seguenti campi: NUMERO PROGRESSIVO, TEMPO dell'evento in secondi,
TEMPO CIVILE (con i sottocampi MESE, GIORNO, ORA, MINUTO, SECONDO), INTERVALLO
(con i sottocampi (GIORNI, ORE, MINUTI, SECONDI). TEMPO CIVILE si ottiene dalla
conversione di TEMPO; intervallo si ottiene convertendo la differenza fra TEMPO
dell'evento in corso di stampa e TEMPO dell'evento immediatamente precedente
(nel caso del primo record del file, si può supporre nullo il TEMPO dell'evento
precedente). L'anno non è bisestile.
I candidati che utilizzano macchine a parola
o a registri di memoria faranno l'ipotesi fittizia di una capacità massima di
parola (o registro) pari a 9999 ovvero 32767 a seconda che la macchina
utilizzata sia decimale o binaria.
Il candidato dovrà:
* formulare le ipotesi necessarie a rendere ben posto il problema,
particolarizzandolo per il sistema di elaborazione che preferisce, senza però
variare la natura delle informazioni di I/O illustrate;
* documentare, nella forma che preferisce,
l'algoritmo scelto per risolvere il problema;
* codificare, nel linguaggio di programmazione che preferisce, un programma che
rappresenti l'algoritmo scelto e documentato, correlandolo dei controlli di
sistema eventualmente necessari.
TEMA D'ESAME DEL
1976
- QUESITO 2
Siano dati due file sequenziali di nome BOZZA
ed ERRORI, la cui fine è segnalata da record particolari di cui il candidato
definirà la natura. Il record logico BOZZA è strutturato su due campi: NUMERO DI
LINEA, che rappresenta un numero naturale e LINEA, costituito da una stringa di
L caratteri stampabili.
ERRORI è composto di soli numeri interi ed ha una struttura a record variabili,
secondo il seguente formato:
NUMERO DI LINEA, POSIZIONI, POS(1), POS(2),....., POS(POSIZIONI).
Occorre produrre un file di stampa nel quale
ogni record di BOZZA cui non corrisponde un record di errori venga stampato
seguito da una linea bianca; per i record con errori occorre, invece, stampare
nella riga successiva un carattere di allarme in ciascuna posizione indicata nel
vettore POS.
Si veda il seguente esempio:
1234 QVESTO BROBLEMA E' PIU' SENPLICE
+ + +
1235 TI GUANTO ABBAIA
+ + + +
Il candidato dovrà:
* formulare le ipotesi necessarie a rendere ben posto il problema presentato,
particolarmente per il sistema di elaborazione che preferisce, senza però
variare la natura delle informazioni di I/O illustrate;
* documentare, nella forma che preferisce, l'algoritmo scelto per risolvere il
problema;
* codificare, nel linguaggio di programmazione che preferisce, un programma che
rappresenti l'algoritmo scelto e documentato, correlandolo dei controlli di
sistema eventualmente necessari.
TEMA D'ESAME DEL
1977
Sia dato un file sequenziale di nome ARABICI, il cui record logico è costituito
da un numero intero positivo minore di 4000. La fine del file è segnalata da un
record particolare, del quale il candidato definirà la natura.
Occorre produrre un file, di nome ROMANI, il cui record elementare contenga, in
caratteri stampabili, la transcodifica secondo la numerazione romana del numero
corrispondente di ARABICI (v. nota 1)
Il candidato dovrà:
* formulare le ipotesi necessarie a rendere ben posto il problema presentato,
particolarmente per il sistema di elaborazione che preferisce, senza però
variare la natura delle informazioni di I/O illustrate;
* documentare, nella forma che preferisce,
l'algoritmo scelto per risolvere il problema;
* codificare, nel linguaggio di programmazione che preferisce, un programma che
rappresenti l'algoritmo scelto e documentato, correlandolo dei controlli di
sistema eventualmente necessari.
Nota 1
Si rammenti che:
M = 1000; CM = 900; DCCC = 800;
DCC = 700; DC = 600; D = 500;
CD = 400; CCC = 300; CC = 200;
C = 100; XC = 90; LXXX = 80;
LXX = 70; LX = 60; L = 50;
XL = 40; XXX = 30; XX = 20;
X = 10; IX = 9; VIII = 8;
VII = 7; VI = 6; V = 5;
IV = 4; III = 3; II = 2;
I = 1;
TEMA D'ESAME DEL
1979
In un miscelatore entrano acqua calda alla temperatura TC ed acqua fredda alla
temperatura TF ed esce acqua ad una temperatura TM.
Si indicano con FC e FF i flussi di acqua
calda ed acqua fredda, in litri al secondo, la temperatura TM dell'acqua fornita
dal miscelatore si calcola con la seguente relazione:
tm = TC • FC + TF • FFFC + FF
Ogni variazione di TC, FC, TF, FF si ripercuote immediatamente in una variazione
di TM. L'acqua fornita dal miscelatore deve percorrere un tubo prima di essere
disponibile in uscita.
Le variazioni di TM si avvertono all'uscita del tubo solo dopo un tempo di ritardo RIT, misurato in secondi, che è uguale al tempo che l'acqua impiega a percorrere il tubo stesso.
Generalmente quindi la temperatura T dell'acqua all'uscita del tubo in un momento qualsiasi sarà diversa da TM.
Ad un certo istante (istante iniziale) si suppone che TM sia uguale a T e che tale sia la temperatura dell'acqua in tutto il tubo. Indichiamo questo valore con TZERO e supponiamo anche che sia noto il valore di FC in tale istante e indichiamolo con FZERO.
A partire dall'istante iniziale FF, TF, TC variano nel tempo e sono dati i loro valori ad intervalli regolari di un secondo.
Nel tentativo di far rimanere la temperatura
T dell'acqua che esce dal tubo al valore TZERO è stato applicato un dispositivo
che, ad intervalli regolari di un secondo, misura T e produce istantaneamente
una variazione DFC del flusso di acqua calda FC proporzionale alla differenza
tra T e TZERO, secondo la formula:
DFC = K • (T - TZERO)
Il candidato dovrà risolvere uno dei due seguenti esercizi:
* scrivere in un linguaggio a scelta, ed illustrare, un programma capace di
simulare il comportamento del sistema descritto, cioè di calcolare il valore,
secondo per secondo, delle variabili FC, T, TM, per una durata di N secondi.
I valori RIT, K, TZERO, FZERO, N debbono essere introdotti dall'utente del programma all'inizio della simulazione.
Il programma dovrà stampare i valori delle variabili FF, TF, FC, TC, T, TM secondo per secondo, in modo tale che siano facilmente confrontabili tra loro.
Si suppone che le temperature varino nell'intervallo tra 0 e 99,9 gradi centigradi ed i flussi nell'intervallo fra 0 e 50 litri al secondo e che per tutte le variabili reali sia significativa solo la prima cifra decimale.
I valori di FF, TF, TC sono dati secondo per
secondo e per un massimo di 50 secondi. Il candidato dovrà definire la forma in
cui essi sono disponibili, l'unità di ingresso e, di conseguenza, il modo in cui
il programma li dovrà leggere.
* supponendo che i valori della temperatura in uscita siano rappresentati in un
vettore reale T di lunghezza N, con N non superiore a 50, scrivere in un
linguaggio a piacere, ed illustrare un sottoprogramma capace di stampare un
grafico per punti che mostri l'andamento della funzione rappresentata da T.
I valori degli elementi di T possono essere approssimati all'intero più vicino. Il grafico deve rappresentare valori compresi nell'intervallo TZERO*10 *C.
Nel caso che un valore T superi TZERO+10 o sia inferiore a TZERO-10 sarà rappresentato come se fosse uguale rispettivamente a TZERO+10 e a TZERO-10.
Si può assumere che TZERO abbia valore intero.
Ogni valore dovrà essere rappresentato nel grafico con il carattere '-' se è inferiore a TZERO, con il carattere '+' se è superiore a TZERO e con il carattere '*' se è uguale a TZERO.
Non è indispensabile rappresentare gli assi cartesiani e le relative scale ed il grafico può essere stampato, a piacere, sia in senso orizzontale che nel senso di scorrimento della carta di stampa.
E' anche ammesso che l'uscita non sia una stampa
ma una rappresentazione sui terminale video.
Durata della prova: 7 ore.
TEMA D'ESAME DEL 1981
Un apparato complesso è costituito da 1500 pezzi, ciascuno dei quali è
identificato da un codice numerico di 5 cifre. Per ogni pezzo è stabilito ogni
quante ore deve essere revisionato ed ogni quante ore deve essere sostituito. Ad
esempio:
01200 500 20000
significa che il pezzo 01200 deve essere revisionato ogni 500 ore e sostituito
ogni 20000 ore.
Ogni tanto l'apparato viene fermato per le revisioni e le sostituzioni.
All'inizio della fermata occorre verificare quali pezzi hanno raggiunto o superato i termini di revisione o di sostituzione e debbono quindi essere revisionati o sostituiti.
Supponendo di partire con un apparato
costruito con pezzi tutti nuovi e che sia fornita la tabella dei cicli di
revisione e di sostituzione di ogni pezzo, come nell'esempio precedente, si
desidera affidare ad un calcolatore il compito di segnalare le operazioni da
fare ad ogni fermata.
Il calcolatore, cioè, ad ogni fermata dovrà:
* ricevere dall'utente il numero delle ore per le quali l'apparato ha funzionato
dopo la fermata precedente;
* stampare l'elenco dei pezzi da revisionare e quelli dei pezzi da sostituire;
* attendere un messaggio di consenso e quindi aggiornare la tabella assumendo
che siano state fatte tutte le revisioni e le sostituzioni segnalate.
Il candidato deve:
* indicare una procedura che risolva il problema, illustrandola adeguatamente;
* tradurre una o più parti della procedura in un linguaggio di programmazione a
sua scelta, assumendo tutte le ipotesi che ritiene opportune sui dati e sulle
forme e sui supporti di ingresso ed uscita degli stessi.
Durata della prova: 6 ore.
TEMA D'ESAME DEL 1982
Dato un testo scritto si desidera calcolare, usando un elaboratore, qual è la
lunghezza media delle parole e la lunghezza media delle frasi. La lunghezza di
una parola è data dal numero di caratteri che la compongono; la lunghezza di una
frase è data dal numero di parole che la compongono.
Il candidato deve:
* illustrare con i mezzi opportuni una procedura di soluzione del problema;
* fissare ed illustrare la forma e le modalità di ingresso e di uscita dei dati
dall'elaboratore;
* scrivere in un linguaggio di programmazione di sua conoscenza una parte della
procedura.
* Il candidato faccia tutte le ipotesi aggiuntive che ritiene necessarie per la
definizione del problema.
Durata della prova: 6 ore.
TEMA D'ESAME DEL 1983
In una stazione meteorologica vengono misurati i valori della temperatura
esterna (-20, 55 gradi centigradi), della pressione atmosferica (750, 1050
millibar) e dell'umidità relativa (0.01, 1.00). Si desidera conservare il valore
delle tre grandezze rilevate ogni ora per ogni giornata di un intero anno
solare.
In qualsiasi momento deve essere possibile
per un utente ottenere:
* la sequenza dei valori minimi e massimi delle tre grandezze giorno per giorno,
sia in forma tabellare che in forma grafica per un periodo compreso fra due date
specificate dall'utente stesso;
* la sequenza dei valori delle tre grandezze, sia in forma tabellare che in
forma grafica, in una particolare data specificata dall'utente.
Il candidato, facendo riferimento a sistemi di elaborazione di sua conoscenza e
specificando le ipotesi aggiuntive che ritenga necessarie, deve:
* descrivere a grandi blocchi una soluzione globale del problema, sia per quanto
riguarda le risorse fisiche, sia per quanto riguarda la procedura;
* descrivere in un opportuno linguaggio di programmazione di sua conoscenza la
procedura o una parte di essa a sua scelta.
Durata della prova: 6 ore:
TEMA D'ESAME DEL 1984
Per gestire l'agenda Annuale di alcune persone con interessi in comune, si
desidera disporre di un programma interattivo che permetta all'utente di dare
comandi per richiedere le seguenti prestazioni:
C1 indicare il nome dell'agenda su cui si intende lavorare e, ove essa non
esistesse, crearne la struttura vuota.
Per l'agenda indicata con il comando C1:
C2 Svuotare parte dell'agenda, fra due date indicate dall'utente dandone Mese e
Giorno, eliminando tutte le annotazioni del periodo indicato.
C3 Visualizzare la pagina relativa ad una data di cui l'utente indica Mese e
Giorno, con un'intestazione che comprenda anche il giorno della settimana,
seguito dalla lista degli appuntamenti in ordine di ora.
Per esempio
AGENDA 1984 di: Giovannini
Mercoledì 9 maggio
06:00 Volo AZ715
09:00 Colazione con Turoldi
... e così via
C4 Stampare, su sette colonne affiancate con le note della stesa ora allineate
sulla stessa riga, le pagine di una settimana con un formato simile a quello
adottato per il comando C3.
Le stampe relative alla prima e all'ultima
settimana dell'anno conterranno, in genere, qualche colonna bianca.
C5 Inserire una nuova nota dandone Mese, Giorno, Ora, Testo.
C6 Eliminare una nota dandone Mese, Giorno,
Ora.
C7 Terminare il lavoro sull'agenda in esame.
C8 Terminare l'esecuzione.
C9 Eliminare un'agenda dal sistema di gestione.
Il candidato dovrà produrre quanto segue:
1] Un "Manuale d'Utente" del programma desiderato che ne illustri almeno:
* le caratteristiche di fondo (limitazioni e/o facilitazioni peculiari del
sistema scelto dal candidato, altri particolari, ecc.);
* formati di stampa;
* schermi video e messaggi;
* come dargli i comandi;
* i casi in cui il programma rifiuta i comandi, con quali messaggi e/o comportamenti ed i suggerimenti del caso all'utente;
* le forme con cui indicare i dati di ingresso e loro eventuali limiti;
* tutte le prestazioni che il candidato avrà
ritenuto opportuno aggiungere a quelle su elencate.
2] Una chiara illustrazione delle strutture
di dati adottate sia in memoria di lavoro sia su memoria di massa, nonché‚ degli
algoritmi per gestirle.
3] Un programma, scritto per un sistema di elaborazione da dichiarare, che
esibisca esattamente le prestazioni descritte nel "Manuale d'Utente".
Per questo valgono le seguenti direttive:
* le agende sono da conservare su memoria di massa;
* una singola agenda è interamente contenuta in memoria di lavoro, anche a costo
di limitare il numero delle note giornaliere e la lunghezza massima di ciascuna
di esse.
E' in facoltà del candidato:
* non presentare la codifica dell'intero programma richiesto, ma solo delle
parti che ritiene più significative, motivando la scelta con riferimento alla
documentazione prodotta;
* in fase di creazione di una nuova agenda, chiedere all'utente, oltre all'anno
anche se si tratti di un bisestile ed il giorno della settimana del capodanno;
* riformulare il tema, riferendolo ad un
ambiente batch anziché‚ interattivo, ma senza introdurvi variazioni per quanto
attiene alle richieste.
Durata della prova: 6 ore.
TEMA D'ESAME DEL 1987
Il candidato deve ideare, orientandosi verso un linguaggio di programmazione a
sua scelta, uno o più programmi che permettano di gestire la situazione
descritta di seguito.
Si desidera realizzare su calcolatore un semplice sistema di vocabolario
bilingue, per esempio italiano-inglese e inglese-italiano, basato su unità di
informazione cui si da il nome "voce", che consiste di una parola chiave che è
il termine da tradurre e un insieme di parole traduzione che ne sono i possibili
corrispondenti nell'altra lingua. Questo insieme deve poter contenere un numero
variabile di elementi a partire da zero.
Il sistema deve fornire le seguenti funzioni:
* aggiornamento del vocabolario per aggiunta
o soppressione di voci;
* aggiornamento delle singole voci per aggiunta, soppressione o modifica di una
parola traduzione;
* data in ingresso una parola come chiave di ricerca, visualizzare tutte le
traduzioni associate o un messaggio che segnali l'assenza della chiave
richiesta.
Produrre:
* analisi e documentazione del progetto ideato comprese le eventuali ipotesi
aggiuntive poste dal candidato;
* le dichiarazioni di tutti i tipi, le variabili e le costanti necessarie alla
scrittura dei programmi che realizzeranno il progetto documentato;
* la codifica degli algoritmi e/o dei segmenti di programma che si ritengono
maggiormente utili ad illustrare le idee guida del progetto.
Durata della prova: 6 ore.
E' dato un testo in italiano, memorizzato
come sequenza di caratteri. Si vuole produrre un'impaginazione del testo su più
colonne (come in un articolo di giornale), producendo il risultato su stampante
e su disco.
Le colonne devono essere separate tra loro da
tre spazi bianchi. Se non è possibile che una parola entri tutta intera alla
fine della riga di una colonna, la parola non viene spezzata, ma portata nella
riga successiva aumentando gli spazi di separazione tra le parole già presenti
nella linea corrente, in modo che il testo risulti allineato sia a destra sia a
sinistra nella colonna. Il testo non contiene parole più lunghe di 15 caratteri.
Deve essere richiesto in input all'utente:
* il numero di colonne su cui impaginare il testo;
* il numero di caratteri per ogni colonna;
* il numero di righe dell'intera pagina.
Il numero di caratteri su un'intera riga
della pagina risulterà dal prodotto tra il numero di colonne ed il numero di
caratteri per colonna aumentato del numero degli spazi di separazione tra le
colonne.
Il candidato produca un'analisi del problema, specificando le eventuali ipotesi
aggiuntive.
Sviluppi inoltre l'algoritmo e codifichi in un linguaggio di programmazione
conosciuto uno o più segmenti del programma.
TEMA D'ESAME DEL
1991
Il registro di CLASSE ha per ogni giorno dell'anno scolastico una zona in cui
riportare, ora per ora, la MATERIA di effettivo insegnamento e la FIRMA (una o
più firme nelle ore di compresenza) degli INSEGNANTI effettivamente presenti in
classe in quell'ora.
In un'altra zona, si annotano i nomi degli ALUNNI assenti e di quelli che
presentano permessi di entrata e/o uscita per ore intermedie. Vi è poi spazio
per altre note. Si pensa di poter comunque rilevare quali ore siano non deidcate
all'insegnamento in programma ma occupate da "materie" come "Uscita anticipata",
"Assemblea", "Supplenza", e simili.
Si deve istituire un sistema informativo che, raccogliendo i dati dai diarii di
tutte le classi di una scuola, consenta almeno le seguenti operazioni.
1. A fine giornata più impiegati aggiornano
concorrentemente gli archivi, ciascuno dal proprio posto di lavoro.
2. A richiesta di un dato Consiglio di Classe
si stampa un bollettino che riporta, per quella classe:
a] il numero delle ore di lezione
effettivamente svolte per ciascuna disciplina;
b] il numero delle ore di assenza per ogni alunno in ciascuna disciplina.
3. A richiesta della Presidenza si stampa un
bollettino che riporta:
a] per ogni insegnante il numero dei giorni di assenza;
b] per ogni classe il numero dei giorni di assenza di ciascun alunno ed il
numero medio dei giorni di assenza degli alunni
Il candidato produca quanto segue, insieme ad ogni ipotesi o argomentazione che
reputi utile per illustrare le proprie scelte.
a] Un dettagliato modello dei dati sufficiente a soddisfare almeno le richieste
elencate; è richiesta anche una stima dell'ordine di grandezza dello spazio
necessario su memoria di massa.
b] Un concisa documentazione della struttura, di software e di procedure umane,
ritenuta necessaria; è richiesta anche una breve descrizione di ogni funzione
individuata.
c] Progetto dettagliato di almeno una delle funzioni software, e codifica, in un
linguaggio a sua scelta, di quanto progettato.
Si raccomanda di assegnare nmi significativi
ad ogni entità introdotta, in tutte le fasi di elaborazione del tema.
Durata massima: 6 ore
E' consentito l'uso di manuali tecnici e di
calcolatrici tascabili.
TEMA D'ESAME DEL
1992
I visitatori di una mostra vengono invitati ad introdurre, in un calcolatore
installato all'ingresso, i seguenti dati:
a] nazione e, nel caso di cittadini italiani, regione e provincia di
provenienza.
b] età classificata per fasce di anni (1-10,
11-20, ...).
c] attività secondo la classificazione: studenti, lavoratori, disoccupati.
d] sesso.
Ad ogni fine giornata si debbono produrre due stampati: il primo, intestato
"VISITE DEL GIORNO xx/yy/zz", che mostra i dati relativi ai visitatori della
giornata, il secondo, intestato "CONSUNTIVO DELLE VISITE FINO AL GIORNO xx/yy/zz",
che mostra i dati relativi ai visitatori dall'inizio della mostra fino alla data
odierna.
Ciascuno stampato deve riportare per ogni
nazione e, relativamente agli italiani, per ogni regione e ogni provincia, il
numero totale dei visitatori e la loro ripartizione nelle diverse categorie di
età, attività, sesso. Nello stampato debbono comparire solo le nazioni, regioni,
province da cui sono effettivamente pervenuti visitatori.
Il candidato, fatte le necessarie ipotesi aggiuntive,
1. illustri la struttura generale di un sistema capace di assolvere il compito
richiesto, descrivendo la funzione delle diverse procedure che propone di
realizzare e l'organizzazione degli archivi;
2. mostri in particolare come propone di realizzare la procedura di interfaccia,
che raccoglie i dati dei visitatori in modo da offrire ad essi la massima
facilità, e la procedura di stampa;
3. codifichi la seconda ed una parte della prima in un linguaggio di sua
conoscenza.
TEMA D'ESAME DEL
1993
Si vuole studiare il problema della composizione automatica delle commissioni
degli esami di maturità. A questo scopo si prenda in considerazione una versione
semplificata del problema che consenta di analizzarne alcuni aspetti.
Ogni commissione, composta da sei docenti, opera in una data località ed ha una
struttura prefissata, nel senso che per ciascun componente è statibilita la
disciplina di appartenenza.
E' dato l'elenco dei docenti disponibili e, per ciascuno di essi, si possiede:
* nome e cognome;
* disciplina di appartenenza;
* un massimo di 5 sedi, nelle quali chiede di fare gli esami, indicate in ordine
di preferenza (la mancanza di indicazioni significa disponibilità ad andare in
una sede qualsiasi);
* l'anzianità di servizio in anni e mesi.
L'assegnazione di docenti alle commissioni è fatta con le seguenti regole:
* ogni posto in commissione può essere occupato solo d un docente che appartiene
alla disciplina prevista per quel posto;
* il posto in una data commissione viene assegnato ad uno dei docenti che ha
indicato la sede in cui opera la commissione come prima sede preferita; se non
ve ne sono si cerca fra quelli che l'hanno scelta come seconda sede e così via
per le preferenze successive;
* in caso di conflitto si sceglie il docente con la maggiore anzianità;
* per tutti i posti che non è stato possibile assegnare sulla base di preferenze
si ricorre in primo luogo ai docenti che non ne hanno espresse e, se necessario,
a quelli che, pur avendole espresse, non hanno trovato collocazione, in ordine
di anzianità crescente.
Può succedere che una parte dei docenti non venga assegnata e/o che alcune
commissioni rimangano incomplete.
Supponendo che il numero dei docenti e delle
commissioni sia tale che i dati possano essere contenuti nella memoria centrale
del sistema disponibile, il candidato, formulate le ipotesi aggiuntive che
ritiene necessarie:
1. proponga e commenti uno schema generale
della procedura, mettendo anche in evidenza come intende rappresentare i dati;
2. codifichi, in un linguaggio di sua
conoscenza, una parte della procedura che ritiene significativa.
Durata massima della prova: ore 6.
La società di servizi turistici "Vacanze"
vuole condurre una indagine sul gradimento dei 10 'pacchetti' di vacanze
organizzate che costituiscono il suo catalogo.
Ogni indagine si basa su un questionario a struttura fissa, che viene fatto
compilare a un campione di agenzie di viaggi:
- sezione 1: dati anagrafici dell'agenzia (provincia di residenza, n° di
dipendenti, n° di offerte di "Vacanze" vendute nell'anno);
- sezione 2: M domande generali su tutto il catalogo a cui l'age nzia
intervistata deve rispondere conun valore numerico da 1 a 5;
- sezione 3: N domande specifiche, ripetute per ciascun pacchetto, a cui
l'agenzia intervistata deve rispondere con un si o con un no.
Si desidera organizzare l'indagine con l'aiuto di un sistema informatico che
supporti le seguenti funzioni:
emissione di una lettera rivolta alle agenzie con preghiera di compilazione;
compilazione del questionario da parte
delle agenzie direttamente mediante la tastiera della
stazione di lavoro;
raccolta delle risposte e creazione del relativo archivio;
analisi dei dati e stampe.
Si dispone dell'archivio delle agenzie da
intervistare con i relativi indirizzi postali e di posta elettronica.
Il candidato, fatte tutte le ipotesi aggiuntive che ritiene necessarie:
indichi come propone di organizzare le
funzioni a) b) c) d) e con quali strumenti informatici e
programmi intende supportarle;
proponga e illustri la struttura degli archivi e lo schema generale del sistema;
illustri in particolare la realizzazione di una parte del sistema relativa alle funzioni b) e c).
Un’associazione “Banca del Tempo” vuole
realizzare una base di dati per registrare e gestire le attività
dell’associazione.
La “Banca del Tempo” (BdT) indica uno di quei sistemi organizzati di persone che
si associano per scambiare servizi e/o saperi, attuando un aiuto reciproco.
Attraverso la BdT le persone mettono a disposizione il proprio tempo per
determinare prestazioni (effettuare una piccola riparazione in casa, preparare
una torta, conversare in lingua straniera, ecc) aspettando di ricevere
prestazioni da altri.
Non circola denaro, tutte le prestazioni sono suddivise in categorie (lavori
manuali, tecnologie, servizi di trasporto, bambini, attività sportive, ecc.).
Chi dà un’ora del suo tempo a qualunque socio, riceve un’ora di tempo da
chiunque faccia parte della BdT.
La base di dati dovrà mantenere le informazioni relative ad ogni prestazione
(quale prestazione, da chi è stata erogata, quale socio ha ricevuto quella
prestazione, per quante ore e in quale data) per consentire anche interrogazioni
di tipo statistico.
Il territorio di riferimento della BdT è limitato (un quartiere in una grande
città o un piccolo comune) ed è suddiviso in zone ; la base di dati dovrà
contenere la mappa del territorio e alle singole zone, in forma grafica.
Si consideri la realtà di riferimento sopra descritta e si realizzino:
la progettazione concettuale della realtà
indicata attraverso la produzione di uno schema ( ad
esempio ER, Entity-Relationship) con gli attributi di ogni entità, il tipo
di ogni relazione e i
suoi eventuali attributi;
una traduzione dello schema concettuale
realizzato in uno schema logico ( ad esempio
secondo uno schema relazionale);
le seguenti interrogazioni espresse in
algebra relazionale e/o in linguaggio SQL:
a. produrre l’elenco dei soci (con cognome, nome e telefono) che
hanno un “debito”
nella BdT (coloro che hanno usufruito di ore di prestazioni in numero
superiore a
quelle erogate);
b. data una richiesta di prestazione, visualizzare la porzione di
mappa del territorio nel
quale si trova il socio richiedente e l’elenco di tutti i soci che si
trovano in quella
zona in grado di erogare quella prestazione, visualizzandone il nome,
cognome,
indirizzo e numero di telefono;
c. visualizzare tutti i soci che fanno parte della segreteria e che
offrono anche altri tipi
di prestazione;
d. produrre un elenco delle prestazioni ordinato in modo decrescente secondo
il numero
di ore erogate per ciascuna prestazione.
(Facoltativo) Sviluppare il problema
posto scegliendo una delle due seguenti proposte
descrivendone le problematiche e le soluzioni tecniche adottabili:
41. L’associazione BdT vuole realizzare un sito Web per rendere
pubbliche le sue
attività consentendo anche di effettuare on-line le interrogazioni della
base di dati
previste nel punto 3;
42. L’associazione BdT vuole realizzare un sito Web attraverso il
quale possa
raccogliere l’adesione on- line di altri associati, attraverso il
riempimento di un
modulo da inviare via Internet all’associazione.
Un vivaio vuole realizzare una base di dati
per gestire le sue attività di vendita di piante e le sue attività esterne.
Si vogliono memorizzare, oltre alla informazioni generali sulle diverse specie
di piante, anche quelle relative alle specifiche piante presenti nel vivaio.
Di ogni specie deve essere registrato il nome, un’immagine, una breve
descrizione, informazioni relative al modo di coltivazione e alle
caratteristiche dell’esposizione ed infine se si tratta di pianta da interno o
da esterno.
Si vogliono inoltre registrare i dati relativi alle piante effettivamente
presenti nel vivaio, raggruppate per specie, eventualmente suddivise in diversi
tipi in base al prezzo di vendita.
Per ogni specie (o per ogni tipo, se la specie è suddivisa in tipi), è
necessario registrare il numero di esemplari presenti nel vivaio e il costo di
ogni esemplare.
Si vogliono inoltre gestire le informazioni relative al personale che lavora nel
vivaio (agronomi, operai, amministrativi) registrando i dati anagrafici, la
qualifica e , per gli agronomi, l’anno di assunzione nel vivaio.
Ogni singola specie del vivaio è sotto la responsabilità di un agronomo.
Le attività esterne del vivaio, quali ad esempio la potatura o la manutenzione
dei giardini, sono svolte dal personale in base alla qualifica (in generale ogni
lavoratore è in grado di svolgere più di una attività) e sono caratterizzate da
un codice, da un nome, da un costo orario.
Per le attività esterne si vogliono mantenere tutte le informazioni relative ai
clienti che richiedono le attività, in particolare se si tratta di privati o di
aziende, la data di prenotazione e quella di effettuazione dell’intervento
richiesto e se per l’intervento sono necessarie piante del vivaio.
Il candidato consideri la situazione sopra descritta, precisi eventuali ipotesi
aggiuntive e realizzi :
un’analisi della realtà di riferimento che illustri le premesse per i successivi passi della progettazione della base di dati ;
uno schema concettuale della base di dati;
uno schema logico della base di dati;
la definizione delle relazioni della base di dati in linguaggio SQL;
le seguenti interrogazioni espresse in
linguaggio SQL :
dato il
nome di una pianta, riportare quanti esemplari di quella pianta sono
presenti
nel vivaio;
dato il
nome di una stagione, visualizzare il nome delle piante che fioriscono in
quella stagione;
dato il
nome di un intervento esterno, tra quelli previsti nel vivaio, riportare il
nome
e il telefono dei soggetti che hanno richiesto quell’intervento nel corso di
un
determinato anno solare;
dato il
nome di un agronomo, riportare quanti esemplari di piante sono sotto la sua
responsabilità;
visualizzare il nome, descrizione e quantità di esemplari presenti nel
vivaio, della
pianta più economica da interno;
riportare
nome degli interventi richiesti non ancora evasi con il nome e il telefono
del
richiedente.
Il candidato
sviluppi inoltre, a scelta uno dei seguenti moduli :
Si vuole realizzare un sito Internet che presenti al pubblico il vivaio
illustrandone i prodotti e le diverse attività.
S i vuole consentire la gestione delle attività esterne del vivaio attraverso
una prenotazione online da parte dei clienti. Illustrare le modalità di
realizzazione di questa funzione e gli strumenti tecnici adottabili.
Una etichetta discografica indipendente
chiede che sia realizzata una base di dati utile all’archiviazione ed alla
gestione delle proprie produzioni musicali, anche al fine di renderle
eventualmente disponibili su Internet.
Le scelte editoriali dell’etichetta sono relative a diversi generi musicali
ciascuno comprendente diversi sottogeneri come, ad esempio:
1. Genere Popolare
Sottogenere
a) Avanguardia
b) Blues
c) Elettronica
d) Folk
e) Jazz
f) New Age
g) Rap
h) Rock
i) ………
2. Genere classico
Sottogenere
a) Musica da camera
b) Concerto
c) Opera
d) Sinfonia
e) Musica corale
f) ……………..
L’organizzazione della casa discografica prevede che:
un artista o un gruppo musicale o un’orchestra possano registrare musica di generi diversi o, nell’ambito dello stesso genere, di diversi sottogeneri;
possano essere rilasciate più edizioni di
uno stesso album ciascuna con una diversa copertina;
un artista o un gruppo o un’orchestra possano non essere più attivi sul mercato discografico.
Si chiede, in particolare, che si possano
archiviare i seguenti dati:
a) il nome dell’artista e/o del gruppo musicale e/o dell’orchestra;
b) il periodo (in anni) di attività sul mercato discografico;
c) il titolo dell’album;
d) il nome del direttore d’orchestra;
e) la data (giorno - mese – anno) di pubblicazione della/e edizione/i;
f) il titolo dei brani musicali presenti nell’album;
g) la durata (minuti – secondi) dell’album;
h) la durata (minuti – secondi) dei singoli brani dell’album;
i) il nome dell’autore o degli autori dei brani;
j) brevi notizie biografiche dell’artista e/o del gruppo musicale e/o del
direttore d’orchestra;
k) l’immagine della copertina dell’album.
Il candidato, fatte le opportune ipotesi
aggiuntive, progetti una base di dati utile alla realizzazione
dell’archivio richiesto dall’etichetta indipendente, fornendo:
1. uno schema concettuale della base di dati;
2. uno schema logico della base di dati;
3. la definizione delle relazioni della base di dati in linguaggio SQL;
ed inoltre:
4. implementi in linguaggio SQL la seguente interrogazione:
Dato il titolo di un brano, quali sono le
date di pubblicazione, la durata, l’artista e/o il
gruppo musicale e/o l’orchestra con il relativo periodo di attività nonché
gli autori e
l’album di appartenenza.
Opzionalmente, supponendo che la base di dati sia disponibile su di un
server on line, il candidato
implementi una directory per il web che consenta, a partire da una pagina
con l’elenco dei generi
musicali, di ottenere:
con un click sul nome di un genere
musicale, una pagina con l’elenco dei nomi dei sottogeneri
musicali;
con un click sul nome di un sottogenere musicale, una pagina con l’elenco dei nomi degli artisti;
con un click sul nome di un artista,
l’elenco degli album di quell’artista con le immagini di
copertina, la durata, l’anno o gli anni di edizione, le notizie
bibliografiche sull’artista ed il
periodo di attività.
Durata massima della prova: 6 ore.
È consentito soltanto l’uso di manuali tecnici e di calcolatrici non
programmabili. Non è consentito lasciare l’Istituto prima che siano trascorse 3
ore dalla dettatura del tema.
Una rete di scuole chiede che sia progettato
e realizzato un database per l’organizzazione e la
gestione del portale di una community di apprendimento sul Web.
L’organizzazione della community prevede che:
l’accesso sia consentito ai soli utenti registrati;
gli utenti siano distribuiti in tre
gruppi: amministratore, docente, studente tali che:
a. un amministratore abbia accesso a tutte le aree protette del portale;
b. un docente abbia accesso a tutte le aree protette tranne che all’area di
amministrazione;
c. uno studente abbia accesso alla propria area protetta e non abbia accesso
né all’area di
amministrazione né all’area riservata al gruppo docente;
la registrazione degli utenti consenta:
a. alla rete di scuole di acquisire informazioni, sotto forma di dati non
sensibili, relative agli
utenti quali, ad esempio, nome e cognome, scuola o istituzione formativa di
appartenenza,
collocazione geografica, e-mail, ecc….
b. agli utenti di scegliere un nome utente, una password e il gruppo di
appartenenza tranne
quello degli amministratori;
agli utenti registrati, ciascuno per il
proprio gruppo di appartenenza, sia consentito di effettuare
l’upload di documenti multimediali archiviando:
a. il titolo
b. il tipo di documento (testo, audio, ecc.)
c. una descrizione sintetica
d. la data di upload
e. i dati personali che lo riguardano;
il gruppo degli studenti possa usufruire di moduli formativi ad esso rivolti;
il gruppo dei docenti possa usufruire sia
di propri moduli formativi che di quelli rivolti agli
studenti;
ciascun modulo formativo sia individuato
da un titolo, da una breve descrizione e dal tipo di
utente cui è rivolto.
Il candidato, fatte eventuali ipotesi
aggiuntive:
− fornisca:
1. Lo schema concettuale e lo schema logico del database;
2. La definizione delle relazioni in linguaggio SQL.
− implementi almeno una delle seguenti query:
n. 1: I docenti che hanno un account presso la community con la
rispettiva collocazione
geografica ed i moduli formativi scelti.
n. 2: I dati relativi agli studenti e
ai documenti che essi hanno inviato in remoto sul portale
della community mediante upload.
− scriva, in un linguaggio lato server, il codice di almeno una delle seguenti
pagine del portale:
con accesso riservato all’amministratore, il report che trae i dati dalla query n. 1
con accesso riservato agli studenti, il report che trae i dati dalla query n. 2
registrazione di un nuovo utente con
eventuale invio automatico dei dati registrati mediante
e-mail diretta all’utente appena registrato e ad un amministratore.
Durata massima della prova: 6 ore.
È consentito soltanto l’uso di manuali tecnici e di calcolatrici tascabili non
programmabili. Non è consentito lasciare l’Istituto prima che siano trascorse 3
ore dalla dettatura del tema.