DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 7: 13 Giugno 2013 Gianluca Durelli – [email protected] Marco D. Santambrogio – [email protected] Ver. aggiornata al 13 Giugno 2013 Argomenti DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE • Argomenti di questo laboratorio: Funzioni Ricorsione File • Obiettivo: Risolvere almeno 2 esercizi: • Obbligatorio l’esercizio 1 2 Esercizi DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE • • • • • • Numeri complessi Fibonacci Forza quattro Ricorsione Dati misurazioni File Tiri in porta File 3 Esercizio 1 – Numeri Complessi DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE • V0: Si scriva un programma che ricevuti in ingresso da tastiera 2 numeri complessi, calcoli la loro somma e la stampi a video. Si definisca un’opportuna struttura dati per memorizzare un numero complesso. • V1: Si scriva un programma che ricevuti in ingresso da file 2 numeri complessi, calcoli la loro somma e la scriva su file. • V2: Si scriva un programma che ricevuti in ingresso da file (leggendo strutture dati) 2 numeri complessi, calcoli la loro somma e la scriva su file. 4 Esercizio 2 – Fibonacci DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE • Si scriva un programma che, ricevuto in ingresso un numero N, controlli se questo fa parte della serie di Fibonacci. • Vincolo: Si strutturi il programma dividendolo in funzioni ove possibile. In particolare si crei una funzione per: • Controllare se il numero N fa parte delle serie o meno 5 Esercizio 3 – Forza Quattro DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE • Si scriva un programma che controlli la possibilità di vincere una partita di forza quattro. • Il programma chiede all'utente di inserire una matrice NxM (almeno 5x5) 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. • Se il giocatore può vincere la partita, si effettui la mossa vincente, altrimenti si effettui un’altra mossa valida. • Si stampi a video la matrice finale. • Vincolo: Si strutturi il programma dividendolo in funzioni ove possibile. In particolare si creino funzioni per: • Riempire la matrice • Controllare se la matrice è valida (In verticale le caselle riempite devono essere contigue) • • • Controllare se si può vincere la partita. Fare una mossa Stampare la matrice 6 Esercizio 4 – Ricorsione DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE • Si scriva un programma che, data una stringa ed un carattere, calcoli quante volte il carattere è incluso nella stringa • Vincolo: Si usi una funzione ricorsiva 7 Esercizio 5 – Dati misurazioni File DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE • Si scriva un programma che calcoli media e varianza di alcune misurazioni. • Il programma chiede il nome del file su cui salvare le misurazioni. • Viene poi chiesto di inserire le misurazioni. Tali misurazioni devono essere scritte sul file creato in precedenza. • Infine si procede al calcolo di media e varianza 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 le misurazioni da tastiera e salvarli sul file • Leggere le misurazioni dal file e calcolare la media • Leggere le misurazioni dal file e calcolare la varianza 8 Esercizio 6 – Tiri in porta File DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE • Si scriva un programma per la gestione delle statistiche (tiri in porta) di una partita di calcio. • Si definisca una struttura dati per rappresentare un tiro in porta; tale struttura deve contenere: Secondo in cui è avvenuto il tiro Giocatore che ha tirato Squadra giocatore Segnato? • Il programma chiede all'utente di inserire i tiri fatti e salva tali informazioni su di un file. • Il file viene poi riletto e viene stampato a video l’elenco dei tiri fatti e il risultato della partita. • Vincolo: Si strutturi il programma dividendolo in sottofunzioni ove possibile. In particolare si creino apposite funzioni per: • Leggere i tiri da tastiera e salvarli sul file • Leggere i tiri dal file e stampare a video il risultato 9 DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE • BUON LAVORO! 10