DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 4 – Info B Marco D. Santambrogio – Matteo Ferroni – Ver. aggiornata al 24 Agosto 2015
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Calendario dei Labs: C 20 Ottobre 2015, LM1 Installation Party: strumenti di sviluppo per il corso di Info B 27 Ottobre 2015, LM1 C: Strutture di controllo e cicli 10 Novembre 2015, LM1 C: array e matrici 17 Novembre 2015, LM1 C: tipi di dato e strutture 2
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Per macchine PoliMI 3
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 4: Agenda Warm Up (20’) Confronta Stringhe Qualche cosa un pò più divertente (70’) Matrice trasposta (30’) Schedina (40’) Altri exe… (60’) Agenda 4
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 4: Agenda Warm Up (20’) Confronta Stringhe Qualche cosa un pò più divertente (70’) Altri exe… (60’) 5
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Confronta Stringhe 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 6
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Confronta Stringhe 7
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Confronta Stringhe: Inserimento 8
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Confronta Stringhe: Confronto 9
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Confronta Stringhe: Risultato 10
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Versione corretta ;) 11
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 4: Agenda Warm Up (20’) Qualche cosa un pò più divertente (70’) Matrice trasposta (30’) Schedina (40’) Altri exe… (60’) 12
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE 13 Matrice trasposta Si definisce matrice trasposta A T di A la matrice ottenuta scambiando ordinatamente le righe con le colonne della matrice A. Es:
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Matrice trasposta In pratica, l’elemento a(i,j) della matrice A diventa l’elemento a(j,i) della matrice A T. Scrivere un programma che calcoli la matrice trasposta di una matrice 4x4 (4 righe, 4 colonne) di numeri reali maggiori o uguali a 0. 14
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Matrice trasposta – Soluzioni 15
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Matrice trasposta: Inserimento 16
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Matrice trasposta: Calcolo 17
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Matrice trasposta V2 18
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Matrice trasposta V2 19
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Schedine: problema 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.
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE 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 Warm Up (20’) Qualche cosa un pò più divertente (70’) Altri exe… (60’) Agenda 25
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONEAgenda 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 26
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONEAgenda 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?) 27
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONEAgenda 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 28
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Agenda – librerie e definizioni 29
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Agenda – inizializzazione 30
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Agenda – Ciclo principale 31
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Agenda – Switch 32
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Switch: Inserisci Appuntamento 33
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Switch: Visualizza Dati Giornata 34
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Switch: Inserisci Pagamento 35
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Switch: Stampa Ricevuta 36
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Agenda – Switch 37
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Fonti per lo studio + Credits Fonti per lo studio Informatica arte e mestiere, S. Ceri, D. Mandrioli, L. Sbattella, McGrawHill Capitolo 5 Credits Emanuele Panigati 38