DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 7: 10 Giugno 2013 Gianluca Durelli –...

10
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 7: 10 Giugno 2013 Lab 7: 10 Giugno 2013 Gianluca Durelli – [email protected] Marco D. Santambrogio – [email protected] Ver. aggiornata al 09 Giugno 2013

Transcript of DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 7: 10 Giugno 2013 Gianluca Durelli –...

Page 1: DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 7: 10 Giugno 2013 Gianluca Durelli – durelli@elet.polimi.it Marco D. Santambrogio – marco.santambrogio@polimi.it.

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE

Lab 7: 10 Giugno 2013Lab 7: 10 Giugno 2013

Gianluca Durelli – [email protected] D. Santambrogio – [email protected]

Ver. aggiornata al 09 Giugno 2013

Page 2: DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 7: 10 Giugno 2013 Gianluca Durelli – durelli@elet.polimi.it Marco D. Santambrogio – marco.santambrogio@polimi.it.

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE

ArgomentiArgomenti

• Argomenti di questo laboratorio: Funzioni Ricorsione File

• Obiettivo: Risolvere almeno 3 esercizi:

•Almeno 1 sui File

2

Page 3: DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 7: 10 Giugno 2013 Gianluca Durelli – durelli@elet.polimi.it Marco D. Santambrogio – marco.santambrogio@polimi.it.

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE

EserciziEsercizi

• Mercato• Tris 1• Tris 2• Ricorsione• Media Voti File• Mercato Strutture File

3

Page 4: DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 7: 10 Giugno 2013 Gianluca Durelli – durelli@elet.polimi.it Marco D. Santambrogio – marco.santambrogio@polimi.it.

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE

Esercizio 1 – MercatoEsercizio 1 – Mercato

• Si scriva un programma per la gestione del carrello di un supermercato.

• Si definisca una struttura dati per rappresentare un prodotto acquistabile; tale struttura deve contenere: Codice prodotto Nome Prezzo

• Si definisca una struttura dati per rappresentare il carrello: Lista di prodotti Numero di prodotti acquistati Totale da pagare

• Viene chiesto all'utente di inserire i prodotti che devono essere acquistati. Tali prodotti vengono inseriti nel carrello e le informazioni del carrello vengono aggiornate. Alla fine si procede alla stampa dello scontrino e del totale da pagare.

• Vincolo: Si strutturi il programma dividendolo in sottofunzioni ove possibile.

In particolare si creino apposite funzioni per:• Leggere un prodotto acquistato• Inserire il prodotto nel carrello• Calcolare il totale da pagare• Stampare lo scontrino

4

Page 5: DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 7: 10 Giugno 2013 Gianluca Durelli – durelli@elet.polimi.it Marco D. Santambrogio – marco.santambrogio@polimi.it.

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE

Esercizio 2 – TrisEsercizio 2 – Tris

• Si scriva un programma che controlli la possibilità di vincere una partita a tris.

• Il programma chiede all'utente di inserire una matrice 3x3 riempita con i numeri 0,1,2: 0 significa casella vuota 1 è la pedina del primo giocatore 2 è la pedina del secondo giocatore

• Viene chiesto per quale giocatore si vuole effettuare il controllo: 1 o 2.

• Si effettui la mossa per far vincere il giocatore scelto nel caso questa sia possibile.

• Vincolo: Si strutturi il programma dividendolo in funzioni ove

possibile. In particolare si creino apposite funzioni per:• Riempire la matrice• Controllare se è possibile fare tris, e nel caso fare la mossa

vincente.• Stampare la matrice

5

Page 6: DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 7: 10 Giugno 2013 Gianluca Durelli – durelli@elet.polimi.it Marco D. Santambrogio – marco.santambrogio@polimi.it.

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE

Esercizio 3 – Tris 2Esercizio 3 – Tris 2

• Si scriva un programma che controlli la possibilità di perdere una partita a tris alla mossa successiva.

• Il programma chiede all'utente di inserire una matrice 3x3 riempita con i numeri 0,1,2:

0 significa casella vuota 1 è la pedina del primo giocatore 2 è la pedina del secondo giocatore

• Viene chiesto per quale giocatore si vuole effettuare il controllo: 1 o 2.

• Il giocatore perde la partita alla mossa successiva se valgono simultaneamente le seguenti condizioni:

Non può fare tris con la sua mossa L'avversario può fare più di un tris

• Si stampi a video il risultato del controllo

• Vincolo: Si strutturi il programma dividendolo in funzioni ove possibile. In particolare

si creino funzioni per:• Riempire la matrice• Controllare se si perderà la partita.• Stampare la matrice

• Facoltativo: Si effettui una contromossa per non perdere la partita:

• Fare tris• Impedire un tris dell'avversario (nel caso ne possa fare solo 1)

6

Page 7: DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 7: 10 Giugno 2013 Gianluca Durelli – durelli@elet.polimi.it Marco D. Santambrogio – marco.santambrogio@polimi.it.

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE

Esercizio 4 – RicorsioneEsercizio 4 – Ricorsione

• Si scriva un programma che, utilizzando funzioni ricorsive: calcoli il numero di cifre di un numero N letto da tastiera.

Stampi il numero al contrario.

Es.:•1234

– 4 cifre– 4321

7

Page 8: DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 7: 10 Giugno 2013 Gianluca Durelli – durelli@elet.polimi.it Marco D. Santambrogio – marco.santambrogio@polimi.it.

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE

Esercizio 5 – Media Voti FileEsercizio 5 – Media Voti File

• Si scriva un programma che calcoli la media dei voti di uno studente.

• Il programma chiede il numero di matricola dello studente e crea un file con lo stesso nome.

• Viene poi chiesto di inserire i voti acquisiti dallo studente. Tali voti devono essere scritti sul file creato in precedenza.

• Infine si procede al calcolo della media rileggendo i valori salvati nel file e scrivendo il risultato a video.

• Vincolo: Si strutturi il programma dividendolo in sottofunzioni ove possibile. In particolare si creino apposite funzioni per:• Leggere i voti da tastiera e salvarli sul file• Leggere i voti dal file e calcolare la media

8

Page 9: DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 7: 10 Giugno 2013 Gianluca Durelli – durelli@elet.polimi.it Marco D. Santambrogio – marco.santambrogio@polimi.it.

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE

Esercizio 6 – Mercato Strutture Esercizio 6 – Mercato Strutture FileFile

• Si scriva un programma per la gestione del carrello di un supermercato.

• Si definisca una struttura dati per rappresentare un prodotto acquistabile; tale struttura deve contenere: Codice prodotto Nome Prezzo Quantità  acquistata

• Il programma chiede all'utente di inserire i prodotti da lui acquistati e salva tali informazioni su di un file.

• Il file viene poi riletto e viene stampato a video il dettaglio degli acquisti con il totale dovuto.

• Vincolo: Si strutturi il programma dividendolo in

sottofunzioni ove possibile. In particolare si creino apposite funzioni per:• Leggere gli acquisti da tastiera e salvarli sul file• Leggere gli acquisti dal file e stampare a video il risultato

9

Page 10: DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 7: 10 Giugno 2013 Gianluca Durelli – durelli@elet.polimi.it Marco D. Santambrogio – marco.santambrogio@polimi.it.

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE

• BUON LAVORO!

10