• Non ci sono risultati.

Maria 1 3 3 5 Giulio 2 4 4 6 Mario 1 2 3 4 Paola 2 3 1 2 Paolo 2 3 1 7

N/A
N/A
Protected

Academic year: 2021

Condividi "Maria 1 3 3 5 Giulio 2 4 4 6 Mario 1 2 3 4 Paola 2 3 1 2 Paolo 2 3 1 7"

Copied!
1
0
0

Testo completo

(1)

Prova scritta del 3 settembre 2018 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 (17 punti)

Il file "rime.dat" contiene un dizionario (lungo al massimo 1000 parole), in cui per ogni parola l'accento è evidenziato dalla lettera maiuscola, mentre le restanti lettere sono scritte in minuscolo. Si veda l’esempio a lato.

Due parole formano una rima se sono identiche le lettere a partire dalla vocale accentata fino al fondo della parola.

Si scriva un programma in linguaggio C che legga dalla riga di comando un elenco di parole (scritte nello stesso formato del dizionario) e stampi, per ciascuna, le parole contenute nel dizionaro che fanno rima con essa. Il formato di stampa deve essere quello che si deduce dall'esempio riportato a sinistra. Se nessuna parola del dizionario fa rima (come nel caso di “anEllo”), l'elenco sarà vuoto.

Suggerimento: si carichi il dizionario in memoria facendo uso di un vettore di strutture in cui siano memorizzate le parole e, per ciascuna, l'indice della lettera dove cade l'accento.

Esercizio 2 (13 punti)

Si consideri il seguente tipo di dato struct persona

{

char nome[32];

int interessi[N];

};

che rappresenta una persona, in cui in vettore interessi rappresenta il valore tra 1 e 10 che la persona attribuisce ai suoi N interessi (ad es. cinema, calcio, . . . ). La costante N e gli interessi rappresentati sono uguali per tutte le persone.

Si scriva una funzione che riceva come parametri una variabile p di tipo struct persona, un vettore vp di tipo struct persona e la dimensione n del vettore.

La funzione deve stampare gli indici delle persone (una o più) in vp che hanno la minima differenza di interessi con p.

La minima differenza, che dovrà essere calcolata da una funzione ausiliaria, si calcola come media delle differenze in valore assoluto tra i valori di pari indice.

Ad esempio, se il vettore contiene i dati riportati a lato (con N = 4 e n = 5) e la persona p ha interessi 1, 2, 3 e 5, la funzione deve stampare gli indici 0 e 2 (corrispondenti a Maria e Mario), con i quali la media delle differenze è minima, pari a 0.25.

Angelo andAi arcAngelo aspEtto aspettAi cercherO rispEtto strEtto tornAi tornerO

>rime dispEtto anEllo portAi fuggirO rime per 'dispEtto':

aspEtto rispEtto strEtto

rime per 'anEllo':

rime per 'portAi':

andAi aspettAi tornAi

rime per 'fuggirO':

cercherO tornerO

nome interessi

Maria 1 3 3 5

Giulio 2 4 4 6

Mario 1 2 3 4

Paola 2 3 1 2

Paolo 2 3 1 7

Riferimenti

Documenti correlati

Lampadario, fungaia, cartoleria, stalliere, alimentari, macelleria, furbata, gelato, colpaccio, fratellastro, sorellina, vicinato, angolino, stanchezza, postaccio,

2 Completa le frasi in modo da ottenere periodi contenenti una subordinata soggettiva9. che non tutti

Confronta procedimenti diversi e produce formalizzazioni che gli consentono di passare da un problema specifico a una classe di problemi.. Produce argomentazioni in base

L’obiettivo è collegare ogni isola con ponti orizzontali o verticali in modo che abbia un numero di ponti corrispondente al numero dato e si formi un percorso che colleghi

CLASSE

La Dott.ssa Francesca Fontani consegna al Collegio copia della nota a firma del Direttore Generale di INDIRE datata 8 giugno 2021 - protocollo 21302 -

2. Sommare i coefficienti dei monomi simili applicando la proprietà distributiva 4. Il prodotto di due o più monomi è uguale un monomio che ha per coefficiente il prodotto

3° Punto di vista Cambiamento del valore Nome