• Non ci sono risultati.

Prova scritta del 24 gennaio 2019 di Fondamenti di Programmazione / Fondamenti di Informatica I

N/A
N/A
Protected

Academic year: 2021

Condividi "Prova scritta del 24 gennaio 2019 di Fondamenti di Programmazione / Fondamenti di Informatica I"

Copied!
1
0
0

Testo completo

(1)

Prova scritta del 24 gennaio 2019 di Fondamenti di Programmazione / Fondamenti di Informatica I Per studenti di Ing. Elettronica e Ing. Gestionale immatricolati negli anni accademici 2016-17 e precedenti DURATA DELLA PROVA: 2 ore

A pena di annullamento immediato della prova:

1) Non è possibile consultare libri o appunti (in qualunque forma) né utilizzare calcolatrici, telefoni cellulari, ecc.

2) Non è consentito comunicare (con qualunque mezzo) 3) Non è consentito uscire dall’aula

Lo studente è tenuto a scrivere, correggere, compilare ed eseguire su computer (a casa o in laboratorio) gli esercizi di

programmazione prima della prova orale. Alla prova orale lo studente deve portare una memory pen USB contenente i sorgenti dei programmi corretti e le stampe dei relativi file.

Esercizio 1 (15 punti)

Un file di testo contiene un piccolo dizionario dei sinonimi. Ogni riga riporta un elenco di sinonimi (una sola parola ciascuno), separati da virgole. L’elenco è terminato da un punto.

Per esempio:

casa, abitazione, alloggio, dimora.

lavoro, impegno, occupazione.

percorso, cammino, tragitto, viaggio, strada, itinerario.

Ovviamente, ogni riga contiene sempre almeno due termini. Ogni gruppo di sinonimi contiene al massimo 10 parole. Il file contiene al massimo 300 righe.

Si vuole sviluppare uno strumento per aiutare l’autore di un testo a scegliere tra i sinonimi dei termini da lui/lei utilizzati.

Per fare questo, si vuole aggiungere al testo originale l’elenco dei sinonimi di ogni parola presente nel dizionario dei sinonimi sopra descritto, accodandoli alla parola stessa e separandoli dal carattere '/'. Nota importante: la parola stessa non va ripetuta.

Quindi, se il testo originale è

Ho trovato alloggio in una cittadina lungo il tragitto verso il posto di lavoro

Il testo risultante dovrà essere

Ho trovato alloggio/casa/abitazione/dimora in una cittadina lungo il tragitto/percorso/cammino/viaggio/strada/itinerario verso il posto di lavoro/impegno/occupazione

NOTE:

- si assuma che il testo originale non contenga simboli di interpunzione.

- gli “a capo” non sono significativi

- si assuma che il dizionario dei sinonimi contenga declinate esplicitamente tutte le forme verbali, singolari e plurali, maschili e femminili. Quindi è sufficiente controllare la corrispondenza esatta di ciascun termine del testo con i termini nel dizionario.

Si scriva un programma in linguaggio C che riceva sulla linea di comando il nome del file contenente il dizionario dei sinonimi, il nome del file contenente il testo originale e il nome del file di uscita. Il programma deve scrivere nel file di uscita il testo originale modificato come sopra descritto.

Esercizio 1 (15 punti)

La conversione di un numero intero nella sua forma in lettere, nella lingua italiana, diventa via via più regolare passando dalla prima ventina al primo centinaio e oltre.

In particolare:

- fino al numero 19 è conveniente utilizzare una tabella (vettore di stringhe contenente i numeri in lettere)

- dal numero 20 al numero 99 è conveniente usare una tabella (idem) con i soli nomi delle decine, in quanto la costruzione è regolare, ad eccezione del primo valore di ogni decina, che elide l’ultima lettera prima delle unità (trentuno, trentatré) e dell’elisione dell’ultima lettera se l’unità inizia con una vocale (“ventuno”, “trentotto”, ecc.)

Si scriva una funzione in linguaggio C che riceva come argomenti un numero intero, compreso tra 0 e 99, e una stringa. La funzione deve scrivere nella stringa la rappresentazione testuale del numero facendo uso delle tabelle sopra descritte (non sono ammessi algoritmi che non prevedano tali tabelle).

Riferimenti

Documenti correlati

[r]

• Sul dischetto che ti è stato dato trovi già i file delle classi GestoreDiStringhe e TestGestoreDiStringhe e gli scheletri dei metodi che devi implementare.. Dovrai pertanto

Esercizio 2 (6 punti) Scrivi un metodo statico (comprensivo di prototipo) che prende in ingresso (cioè come parametro) tre numeri interi e che restituisce il maggiore

Esercizio 2 (6 punti) Scrivi un metodo statico (comprensivo di prototipo) che prende in ingresso (cioè come parametro) una matrice di interi e che restituisce la somma degli

Si assumano gi` a disponibili la definizione del tipo struct Data (nel classico formato a tre campi) e la funzione int ComparaDate(struct Data d1, struct Data d2), che restituisce -1

La funzione deve inoltre restituire il valore 1 nel caso in cui almeno una delle locazioni del file non sia presente nel vettore; deve restituire 2 nel caso in cui si verifichi

Esercizio 1 (punti 15) Un file contiene delle informazioni riguardanti la media dei voti degli esami sostenuti da alcuni studenti, uno per riga.. In dettaglio, ciascuna riga `e

Si scriva una funzione C che prenda come parametri un punto p nel piano e un vettore di cerchi (e la sua dimensione) e restituisca il punto che rappresenta il centro del pi` u