Lab 4 Info B Marco D. Santambrogio marco.santambrogio@polimi.it Matteo Ferroni matteo.ferroni@polimi.it Ver. aggiornata al 24 Agosto 2015
Calendario dei Labs: C 20 Ottobre 2015, 10am-12pm, @ LM1 Installation Party: strumenti di sviluppo per il corso di Info B 27 Ottobre 2015, 10.30am-12.30pm, @ LM1 C: Strutture di controllo e cicli 10 Novembre 2015, 10.30am-1.30pm, @ LM1 C: array e matrici 17 Novembre 2015, 10.30am-1pm, @ LM1 C: tipi di dato e strutture 2
Per macchine PoliMI https://virtualdesktop.polimi.it 3
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
Lab 4: Agenda Warm Up (20 ) Confronta Stringhe Qualche cosa un pò più divertente (70 ) Altri exe (60 ) 5
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
Confronta Stringhe 7
Confronta Stringhe: Inserimento 8
Confronta Stringhe: Confronto 9
Confronta Stringhe: Risultato 10
Versione corretta ;) 11
Lab 4: Agenda Warm Up (20 ) Qualche cosa un pò più divertente (70 ) Matrice trasposta (30 ) Schedina (40 ) Altri exe (60 ) 12
Matrice trasposta Si definisce matrice trasposta A T 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 $ & & & % 13
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
Matrice trasposta Soluzioni 15
Matrice trasposta: Inserimento 16
Matrice trasposta: Calcolo 17
Matrice trasposta V2 18
Matrice trasposta V2 19
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.
Schedine: dati
Schedine: inserimento dati
Schedine: copia valori
Schedine: stampa dei risultati
Lab 4: Agenda Warm Up (20 ) Qualche cosa un pò più divertente (70 ) Altri exe (60 ) Agenda 25
Agenda 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
Agenda 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
Agenda 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
Agenda librerie e definizioni 29
Agenda inizializzazione 30
Agenda Ciclo principale 31
Agenda Switch 32
Switch: Inserisci Appuntamento 33
Switch: Visualizza Dati Giornata 34
Switch: Inserisci Pagamento 35
Switch: Stampa Ricevuta 36
Agenda Switch 37
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 https://sites.google.com/site/engpanigati/ 38