DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
Lab 4 – Info B
Marco D. Santambrogio – [email protected]
Riccardo Cattaneo – [email protected]
Ver. aggiornata al 18 Novembre 2014
Lezione di Ven 21 Nov
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
• Demo 1mo compitino




Inizio 8:15am
Durata 75’
Correzione: 9.45am
Aula: BL.27.06
2
Calendario dei Labs: C
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
• 21 Ottobre 2014, 10am-12pm, @ LM1
 Installation Party: strumenti di sviluppo per il corso di
Info B
• 28 Ottobre 2014, 10am-12pm, @ LM1
 C: Strutture di controllo e cicli
• 4 Novembre 2014, 10am-12.45pm, @ LM1
 C: array e matrici
• 18 Novembre 2014, 10am-1.45pm, @ LM1
 C: tipi di dato e strutture
3
Per macchine PoliMI
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
https://virtualdesktop.polimi.it
4
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’)
5
Lab 4: Agenda
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
• Warm Up (20’)
 Confronta Stringhe
• Qualche cosa un pò più divertente (80’)
• Altri exe… (70’)
6
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
7
Confronta Stringhe
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
8
Confronta Stringhe: Inserimento
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
9
Confronta Stringhe: Confronto
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
10
Confronta Stringhe: Risultato
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
11
Versione corretta ;)
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
12
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’)
13
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 úû
14
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.
15
Matrice trasposta – Soluzioni
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
16
Matrice trasposta: Inserimento
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
17
Matrice trasposta: Calcolo
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
18
Matrice trasposta V2
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
19
Matrice trasposta V2
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
20
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’)
26
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
27
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?)
28
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
29
Agenda – librerie e definizioni
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
30
Agenda – inizializzazione
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
31
Agenda – Ciclo principale
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
32
Agenda – Switch
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
33
Switch: Inserisci Appuntamento
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
34
Switch: Visualizza Dati Giornata
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
35
Switch: Inserisci Pagamento
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
36
Switch: Stampa Ricevuta
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
37
Agenda – Switch
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
38
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/
39
Scarica

V1 - PPT