• Non ci sono risultati.

Universit`a Ca’ Foscari D.A.I.S. Programmazione part-time Esame

N/A
N/A
Protected

Academic year: 2021

Condividi "Universit`a Ca’ Foscari D.A.I.S. Programmazione part-time Esame"

Copied!
4
0
0

Testo completo

(1)

Universit` a Ca’ Foscari D.A.I.S.

Programmazione part-time Esame

Nome:

Matricola:

Andrea Marin , a.a. 2011/2012

(2)

Programmazione part-time a.a. 2011/2012

Esame Nome:

Andrea Marin

Teoria. (10 punti) Rispondere ai seguenti quesiti utilizzando eventualmente gli appositi spazi bianchi.

Tempo totale a disposizione: 20 min.

(2pts)

2 pts 1. Dato il seguente codice:

char p[]= ‘ ‘ ab ’’;

char t [3];

char *s = t;

* s = a ; s = s +1;

* s = b ; s = s +1;

* s = ’ \0 ’ ;

Quale delle seguenti espressioni codifica un valore di verit`a vero? (Barrare la risposta esatta) (a)!strcmp(p,s) (b)p == t (c)!strcmp(p,t) (d)*p == *s (e) p == s

(4pts)

4 pts 2. Dato il seguente sottoprogramma:

void stampa_stringa (char * str ) { while ( str !=0) {

p r i n t f ( ‘ ‘% c ’ ’ ,* str ) ; str = str +1;

} }

Spiegare perch`e la funzione non effettua correttamente la stampa della stringa e correggere l’errore mantenendo inalterata l’idea risolutiva.

(4pts)

4 pts 3. Date le seguenti dichiarazioni:

int a,b;

int *p1 , *p2;

int ** pp;

si stabilisca per le seguenti scritture:

• se identificano una variabile (possono comparire a sinistra di un assegnamento) (in caso affermativo barrare la casella della colonna A)

• il tipo (specificarlo nella colonna B)

(3)

Programmazione part-time/Esame – Pag. 3 / 4 – Nome:

• se ´e presente un errore che non consentirebbe la compilazione (in tal caso barrare la colonna C e lasciare in bianco le colonne A e B)

A B C

a + b p1+a+2

*(pp+a)

*pp == p1 pp == p1

*pp (*pp)[2]

(4)

Programmazione part-time/Esame – Pag. 4 / 4 – Nome:

Pratica. (6 punti) Nello svolgimento del seguente esame, il candidato crei una cartella con il proprio cognome e numero di matricola e la lettera c (e.g. Rossi887766c) inserendo all’interno i file corrispondenti agli esercizi che si intendono consegnare (e.g. Esercizio1.c). Le prime righe del file devono essere dei commenti che specifichino il vostro nome e cognome e l’esercizio a cui si riferiscono.

Tempo a disposizione: 1h e 45 min.

(6pts)

6 pts 1. Scrivere una funzione che riceva in ingresso una stringa e restituisca il numero di lettere uguali ad

a oppure ad e. Ognuna di queste lettere deve essere rimpiazzata con la lettera x. Utilizzare la notazione a puntatori (quindi senza fare ricorso alle parentesi quadre).

(17pts)

17 pts 2. Si vuole creare un programma per la gestione dei trasporti di un ditta. Ogni merce trasportata `e

costituita da:

• Una descrizione (stringa di lunghezza massima 50 caratteri)

• Una quantit`a (intero)

• Un codice rappresentante il cammion sul quale `e caricata la merce (intero)

• Un costo della merce (float)

Un trasporto sar`a memorizzato come una lista di celle ciascuna delle quali conterr`a le informazioni appena descritte.

(a)(2 pts) Definire il tipo datittrasportoper la memorizzazione della lista

(b)(4 pts) Scrivere la funzione inserisci che consenta di inserire un trasporto composto da un certo numero di merci

(c) (4 pts) Scrivere la funzione int massimovalore(ttrasporto l) che restituisca il codice del cammion che trasporta merce di valore massimo.

(d)(3 pts) Scrivere la funzionevoid stampa(ttrasporto l, int cammion)che stampa la descri- zione delle merci trasportare dal cammioncammion.

(e) (4 pts) Scrivere la funzionefloat valorespecifico(ttrasporto l, char *str) che restiui- sca il valore totale della merce trasportata (anche su pi`u cammion) con descrizione coincidente col contenuto della stringastr.

Riferimenti

Documenti correlati

I segnalibri duplicati sono quelli che hanno la parte iniziale dell’indirizzo uguale, cio` e il prefisso fino a quando si incontra il fine stringa o un carattere / singolo. Quando

La macchinina, seguiti i comandi, vince se riesce a terminare il percorso senza aver urtato alcun ostacolo e senza essere uscita dal campo di gioco. Le posizione corrente

La memorizzazione di questo tipo di matrici avveiene mediante una lista in cui ciascuna cella, per ogni elemento non nullo, contine le seguenti informazioni:. •

(b) (4 pts) Scrivere la funzione void trasforma(t_numero* pl, int n) che trasforma il numero naturale n nella rappresentazione mediante lista. (c) (2 pts) Scrivere la funzione

(e) (5 pts) Scrivere la funzione char* seleziona(t_dizionario dizionario, char* pattern) che restituisca la stringa con massimo punteggio che soddisfa il pattern anche eccedendo

Il nostro disco fittizio è costituito da tanti blocchi della stessa dimensione che possono memorizzare al massimo N byte più un intero che denota il numero del

In Krivine’s Classical Realizability [18] classical implication is associated to a stack constructor, while in λ µ-calculus (as in λC -calculus) the arrow-type is introduced by

20 Inoltre, l’interpretazione secondo il caso strumentale sembrerebbe essere presente anche all’interno dell’Abhidharmakośa-bhāṣya di Vasubandhu: «è definito ‘manomaya’