Estratto del documento

Soluzioni appello di febbraio 2016

Esercizio 1 - Matlab - (4 punti)

Si consideri la seguente richiesta: un programma deve controllare che un numero N inserito dall’utente sia: primo, dispari, compreso tra 3 e 100, estremi inclusi. Quando il numero N inserito non soddisfa tutte le condizioni sopra, l’inserimento viene ripetuto.

Vittorio, un programmatore alle prime armi, ha scritto il seguente frammento di codice Matlab, sfruttando la funzione primo che restituisce 1 se il suo argomento è un numero primo, 0 altrimenti:

N = 0

while(primo(N) && (3<=N) && (N<=100) && mod(N,2))

N = input('Inserire un numero: ');

end

Domanda 1

La condizione del ciclo è chiaramente sbagliata rispetto alla richiesta iniziale; tuttavia è possibile modificarla leggermente in modo tale da renderla coerente con la richiesta iniziale. Si riscriva la condizione di cui sopra aggiungendo solo quello che manca e senza cancellare nulla di esistente:

(primo(N) && (3<=N) && (N<=100) && mod(N,2)) == 0

Domanda 2

L’espressione risultante al passo precedente potrebbe essere ridondante ovvero vi potrebbero essere alcune operazioni che, anche se eliminate, non cambierebbero la funzionalità del ciclo corrispondente. Quale eliminereste?

  • Eliminerei 3<=N
  • Eliminerei N<=100
  • Eliminerei primo(N)
  • Eliminerei mod(N,2) ☑︎
  • Non eliminerei nulla, non c'è nulla di ridondante

Poiché tutti i numeri primi tra 3 e 100 sono dispari.

Esercizio 2 - Linguaggio C - (10 punti)

Si considerino le seguenti definizioni di tipo, utilizzate all’interno del sistema di gestione di un social network:

typedef char Stringa[30];

typedef struct{

Stringa nome;

Stringa cognome;

Stringa username;

int annoIscrizione;

Foto fotoUtente[50];

int nFoto;

} Utente;

Domanda 1

Si definisca un tipo di dato atto a rappresentare una foto di un utente; ogni foto è caratterizzata da un’immagine (matrice di DIM_MAX x DIM_MAX di interi da 0 a 255), da un titolo e da un tag (entrambi Stringa):

typedef struct{

int immagine[MAX_DIM][MAX_DIM];

Stringa tag;

Stringa titolo;

} Foto;

Domanda 2

Si ipotizzi di avere le seguenti definizioni aggiuntive:

#define T 125

#define UTENTI 100

Utente libroFaccia[UTENTI];

Si scriva una porzione di codice che, tra tutte le foto di tutti gli utenti inseriti in libroFaccia, stampi a schermo il titolo della foto la cui matrice ha il maggior numero di elementi che superano la soglia T ed il corrispondente tag sia “Montagna”.

Anteprima
Vedrai una selezione di 1 pagina su 4
Soluzioni appello di febbraio 2016 Pag. 1
1 su 4
D/illustrazione/soddisfatti o rimborsati
Acquista con carta o PayPal
Scarica i documenti tutte le volte che vuoi
Dettagli
SSD
Scienze matematiche e informatiche INF/01 Informatica

I contenuti di questa pagina costituiscono rielaborazioni personali del Publisher magi612 di informazioni apprese con la frequenza delle lezioni di Informatica e studio autonomo di eventuali libri di riferimento in preparazione dell'esame finale o della tesi. Non devono intendersi come materiale ufficiale dell'università Politecnico di Milano o del prof Zaccaria Vittorio.
Appunti correlati Invia appunti e guadagna

Domande e risposte

Hai bisogno di aiuto?
Chiedi alla community