DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
Lab 4 – Info B
Marco D. Santambrogio – [email protected]
Matteo Ferroni – [email protected]
Ver. aggiornata al 24 Agosto 2015
Calendario dei Labs: C
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
• 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
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
https://virtualdesktop.polimi.it
3
Lab 4: Agenda
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
• 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
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
• Warm Up (20’)
 Confronta Stringhe
• Qualche cosa un pò più divertente (70’)
• Altri exe… (60’)
5
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
6
Confronta Stringhe
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
7
Confronta Stringhe: Inserimento
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
8
Confronta Stringhe: Confronto
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
9
Confronta Stringhe: Risultato
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
10
Versione corretta ;)
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
11
Lab 4: Agenda
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
• Warm Up (20’)
• Qualche cosa un pò più divertente (70’)
 Matrice trasposta (30’)
 Schedina (40’)
• Altri exe… (60’)
12
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 úû
13
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.
14
Matrice trasposta – Soluzioni
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
15
Matrice trasposta: Inserimento
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
16
Matrice trasposta: Calcolo
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
17
Matrice trasposta V2
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
18
Matrice trasposta V2
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
19
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 (70’)
• Altri exe… (60’)
 Agenda
25
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
26
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?)
27
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
28
Agenda – librerie e definizioni
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
29
Agenda – inizializzazione
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
30
Agenda – Ciclo principale
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
31
Agenda – Switch
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
32
Switch: Inserisci Appuntamento
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
33
Switch: Visualizza Dati Giornata
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
34
Switch: Inserisci Pagamento
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
35
Switch: Stampa Ricevuta
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
36
Agenda – Switch
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
37
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/
38
Scarica

Agenda - Dipartimento di Elettronica ed informazione