DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 4 – Info B Marco D. Santambrogio – [email protected] Riccardo Cattaneo – [email protected] Ver. aggiornata al 12 Novembre 2013 Calendario dei Labs DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE • 12 Novembre 2013, 10am-12.45pm, @ LM1 C: Matrici, tipi di dato e strutture • 10 Dicembre 2013, 12pm-2pm, @ LM1 MATLAB: Ambienti di sviluppo e primi codici 2 Lab 4: Agenda DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE • Warm Up (20’) Confronta Stringhe • Qualche cosa un pò più divertente (80’) Matrice trasposta (30’) Schedina (50’) • Altri exe… (70’) Agenda (70’) 3 Lab 4: Agenda DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE • Warm Up (20’) Confronta Stringhe • Qualche cosa un pò più divertente (80’) • Altri exe… (70’) 4 Confronta Stringhe DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE • Si scriva in C un programma che date due stringhe inserite dall’utente dice quale delle due precede alfabeticamente l’altra. Non si può usare la funzione strcmp Esempio 1 - dati: array1=”pippo” - array2=”pio” Esempio 1 - risultato: L’array2 precede l’array1 Esempio 2 - dati: array1=”super”- array2=”supercalifragili” Esempio 2 - risultato: L’array1 precede l’array2 5 Confronta Stringhe DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE 6 Confronta Stringhe: Inserimento DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE 7 Confronta Stringhe: Confronto DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE 8 Confronta Stringhe: Risultato DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE 9 Versione corretta ;) DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE 10 Lab 4: Agenda DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE • Warm Up (20’) • Qualche cosa un pò più divertente (80’) Matrice trasposta (30’) Schedina (50’) • Altri exe… (70’) 11 Matrice trasposta DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE • Si definisce matrice trasposta AT di A la matrice ottenuta scambiando ordinatamente le righe con le colonne della matrice A. • Es: é ù é ù ê A =ê ê ë 2 4 8 ú 3 9 27 ú 4 16 64 úû ê A =ê ê ë T 2 3 4 ú 4 9 16 ú 8 27 64 úû 12 Matrice trasposta DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE • In pratica, l’elemento a(i,j) della matrice A diventa l’elemento a(j,i) della matrice AT. • Scrivere un programma che calcoli la matrice trasposta di una matrice 4x4 (4 righe, 4 colonne) di numeri reali maggiori o uguali a 0. 13 Matrice trasposta – Soluzioni DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE 14 Matrice trasposta: Inserimento DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE 15 Matrice trasposta: Calcolo DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE 16 Matrice trasposta V2 DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE 17 Matrice trasposta V2 DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE 18 Schedine: problema DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE • Il programma, partendo da un array di dimensione prefissata che contiene in ogni cella: data della giocata colonna con i tredici segni • Copia in un altro vettore solo le giocate dell’anno 2010 • Quindi, visualizza queste giocate. Schedine: dati DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Schedine: inserimento dati DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Schedine: copia valori DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Schedine: stampa dei risultati DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 4: Agenda DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE • Warm Up (20’) • Qualche cosa un pò più divertente (80’) • Altri exe… (70’) Agenda (70’) 24 Agenda DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE • Uno studio medico richiede di realizzare una piccola agenda degli appuntamenti settimanali. • Per semplicità si considerino solo i giorni e le ore lavorativi (5 giorni a settimana, dalle 8 alle 17). • Sempre per semplicità, gli appuntamenti vengono allocati su base oraria 25 Agenda DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE • Per ogni appuntamento occorre memorizzare: Nome e Cognome del paziente Prestazione richiesta Eventuali note Cifra pagata • Piccolo suggerimento: vi servirà anche uno “stato” (typedef enum?) 26 Agenda DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE • Si devono poter effettuare le seguenti operazioni: Inserire un nuovo appuntamento Vedere tutti gli appuntamenti di un giorno Inserire un pagamento Stampare una “ricevuta” di pagamento 27 Agenda – librerie e definizioni DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE 28 Agenda – inizializzazione DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE 29 Agenda – Ciclo principale DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE 30 Agenda – Switch DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE 31 Switch: Inserisci Appuntamento DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE 32 Switch: Visualizza Dati Giornata DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE 33 Switch: Inserisci Pagamento DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE 34 Switch: Stampa Ricevuta DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE 35 Agenda – Switch DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE 36 Fonti per lo studio + Credits DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE • Fonti per lo studio Informatica arte e mestiere, S. Ceri, D. Mandrioli, L. Sbattella, McGrawHill • Capitolo 5 • Credits Emanuele Panigati https://sites.google.com/site/engpanigati/ 37