DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 3 – Info B Marco D. Santambrogio –...

43
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 3 – Info B Lab 3 – Info B Marco D. Santambrogio – [email protected] Riccardo Cattaneo – [email protected] Ver. aggiornata al 29 Ottobre 2013

Transcript of DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 3 – Info B Marco D. Santambrogio –...

Page 1: DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 3 – Info B Marco D. Santambrogio – marco.santambrogio@polimi.it Riccardo Cattaneo – rcattaneo@elet.polimi.it.

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE

Lab 3 – Info B Lab 3 – Info B

Marco D. Santambrogio – [email protected] Cattaneo – [email protected]

Ver. aggiornata al 29 Ottobre 2013

Page 2: DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 3 – Info B Marco D. Santambrogio – marco.santambrogio@polimi.it Riccardo Cattaneo – rcattaneo@elet.polimi.it.

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE

Informatica on the webInformatica on the web

• Sito dei labBASE = http://home.dei.polimi.it/santambr/dida/infobBASE = http://home.dei.polimi.it/santambr/dida/infob

BASE/1314/labs.htmBASE/1314/labs.htm

• Gruppo su facebookwww.facebook.com/groups/InfoBatPoliMI/www.facebook.com/groups/InfoBatPoliMI/

2

Page 3: DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 3 – Info B Marco D. Santambrogio – marco.santambrogio@polimi.it Riccardo Cattaneo – rcattaneo@elet.polimi.it.

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE

Calendario dei LabsCalendario dei Labs

• 29 Ottobre 2013, 10am-12.45pm, @ LM1C: array e stringhe

• 12 Novembre 2013, 10am-12.45pm, @ LM1C: Matrici, tipi di dato e strutture

3

Page 4: DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 3 – Info B Marco D. Santambrogio – marco.santambrogio@polimi.it Riccardo Cattaneo – rcattaneo@elet.polimi.it.

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE

Per macchine PoliMIPer macchine PoliMI

http://virtualdesktop.polimi.it

4

Page 5: DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 3 – Info B Marco D. Santambrogio – marco.santambrogio@polimi.it Riccardo Cattaneo – rcattaneo@elet.polimi.it.

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE

Lab 3: AgendaLab 3: Agenda

• Esercizi Lab3 Warm Up (30’) [array]

• Max, min e media (10’)• Copia stringa senza strcpy (20’)

Qualche cosa un pò più divertente (45’) Calcolatrice (45’)

Altri exe… (80’) Occorrenze (35’) Sottostringhe (45’)

• Per casa Calcola occorrenze max (35’)

5

Page 6: DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 3 – Info B Marco D. Santambrogio – marco.santambrogio@polimi.it Riccardo Cattaneo – rcattaneo@elet.polimi.it.

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE

Lab 3: AgendaLab 3: Agenda

• Esercizi Lab3 Warm Up (30’) [array]

• Max, min e media (10’)• Copia stringa senza strcpy (20’)

Qualche cosa un pò più divertente (45’) Altri exe… (80’)

6

Page 7: DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 3 – Info B Marco D. Santambrogio – marco.santambrogio@polimi.it Riccardo Cattaneo – rcattaneo@elet.polimi.it.

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE

7

• Si scriva un programma in C che, dato un vettore di 10 numeri, interi, calcoli Il valore massimo, il minimo e la media

Max, min e mediaMax, min e media

Page 8: DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 3 – Info B Marco D. Santambrogio – marco.santambrogio@polimi.it Riccardo Cattaneo – rcattaneo@elet.polimi.it.

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE

8

Max, min e mediaMax, min e media

Page 9: DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 3 – Info B Marco D. Santambrogio – marco.santambrogio@polimi.it Riccardo Cattaneo – rcattaneo@elet.polimi.it.

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE

9

Copia stringa senza Copia stringa senza strcpy!strcpy!

• Si scriva un programma in C che data una stringa la copia in una seconda, ma senza l’uso di strcpy

Page 10: DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 3 – Info B Marco D. Santambrogio – marco.santambrogio@polimi.it Riccardo Cattaneo – rcattaneo@elet.polimi.it.

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE

Copia stringa senza Copia stringa senza strcpy!strcpy!

10

Page 11: DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 3 – Info B Marco D. Santambrogio – marco.santambrogio@polimi.it Riccardo Cattaneo – rcattaneo@elet.polimi.it.

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE

Copia stringa senza Copia stringa senza strcpy!strcpy!

11

Page 12: DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 3 – Info B Marco D. Santambrogio – marco.santambrogio@polimi.it Riccardo Cattaneo – rcattaneo@elet.polimi.it.

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE

Copia stringa senza Copia stringa senza strcpy!strcpy!

12

Page 13: DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 3 – Info B Marco D. Santambrogio – marco.santambrogio@polimi.it Riccardo Cattaneo – rcattaneo@elet.polimi.it.

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE

Lab 3: AgendaLab 3: Agenda

• Esercizi Lab3 Warm Up (30’) [array]

Qualche cosa un pò più divertente (45’) Calcolatrice (45’)

Altri exe… (80’)

13

Page 14: DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 3 – Info B Marco D. Santambrogio – marco.santambrogio@polimi.it Riccardo Cattaneo – rcattaneo@elet.polimi.it.

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE

La calcolatriceLa calcolatrice

• Si realizzi una calcolatrice capace di: Letti due numeri da tastiera Richieda di eseguire una della 4

operazioni di base (+, -, *. /)

14

Page 15: DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 3 – Info B Marco D. Santambrogio – marco.santambrogio@polimi.it Riccardo Cattaneo – rcattaneo@elet.polimi.it.

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE

Soluzione con IFSoluzione con IF

15

Page 16: DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 3 – Info B Marco D. Santambrogio – marco.santambrogio@polimi.it Riccardo Cattaneo – rcattaneo@elet.polimi.it.

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE

Soluzione con IF: ZOOMSoluzione con IF: ZOOM

16

Page 17: DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 3 – Info B Marco D. Santambrogio – marco.santambrogio@polimi.it Riccardo Cattaneo – rcattaneo@elet.polimi.it.

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE

Proviamo con lo Proviamo con lo switchswitch

17

Page 18: DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 3 – Info B Marco D. Santambrogio – marco.santambrogio@polimi.it Riccardo Cattaneo – rcattaneo@elet.polimi.it.

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE

Con lo Con lo switchswitch: ZOOM: ZOOM

18

Page 19: DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 3 – Info B Marco D. Santambrogio – marco.santambrogio@polimi.it Riccardo Cattaneo – rcattaneo@elet.polimi.it.

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE

LL ’’importanza di importanza di breakbreak

19

Page 20: DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 3 – Info B Marco D. Santambrogio – marco.santambrogio@polimi.it Riccardo Cattaneo – rcattaneo@elet.polimi.it.

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE

Aggiornameto sui tipi di Aggiornameto sui tipi di datodato

• Per una divisione corretta… Usiamo i float

20

Page 21: DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 3 – Info B Marco D. Santambrogio – marco.santambrogio@polimi.it Riccardo Cattaneo – rcattaneo@elet.polimi.it.

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE

Controlliamo gli ingressiControlliamo gli ingressi

21

Page 22: DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 3 – Info B Marco D. Santambrogio – marco.santambrogio@polimi.it Riccardo Cattaneo – rcattaneo@elet.polimi.it.

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE

Controlliamo gli ingressiControlliamo gli ingressi

22

Page 23: DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 3 – Info B Marco D. Santambrogio – marco.santambrogio@polimi.it Riccardo Cattaneo – rcattaneo@elet.polimi.it.

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE

Controlliamo gli ingressiControlliamo gli ingressi

23

Si puo’ fare meglio!

Come? Fate voi a casa… :)

Page 24: DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 3 – Info B Marco D. Santambrogio – marco.santambrogio@polimi.it Riccardo Cattaneo – rcattaneo@elet.polimi.it.

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE

Lab 3: AgendaLab 3: Agenda

• Esercizi Lab3 Warm Up (30’) [array] Qualche cosa un pò più divertente (45’)

Altri exe… (80’) Occorrenze (35’) Sottostringhe (45’)

24

Page 25: DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 3 – Info B Marco D. Santambrogio – marco.santambrogio@polimi.it Riccardo Cattaneo – rcattaneo@elet.polimi.it.

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE

OccorrenzeOccorrenze

• Si scriva un programma che, ricevuti e salvati in un array N numeri interi positivi, compresi tra 0 e 10 calcoli le occorrenze di ciascuna delle cifre Stampi a video il valore delle occorrenze,

solo per i numeri presenti almeno una volta

Esempio: a[]={0,4,1,1,1,3,0,0,0,3}0: 41: 33: 24: 1

25

Page 26: DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 3 – Info B Marco D. Santambrogio – marco.santambrogio@polimi.it Riccardo Cattaneo – rcattaneo@elet.polimi.it.

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE

Occorrenze: SoluzioneOccorrenze: Soluzione

26

Page 27: DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 3 – Info B Marco D. Santambrogio – marco.santambrogio@polimi.it Riccardo Cattaneo – rcattaneo@elet.polimi.it.

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE

Occorrenze: Occorrenze: DimensioneDimensione

27

Page 28: DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 3 – Info B Marco D. Santambrogio – marco.santambrogio@polimi.it Riccardo Cattaneo – rcattaneo@elet.polimi.it.

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE

Occorrenze: Occorrenze: Inserimento e Inserimento e InitInit

28

Page 29: DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 3 – Info B Marco D. Santambrogio – marco.santambrogio@polimi.it Riccardo Cattaneo – rcattaneo@elet.polimi.it.

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE

Occorrenze: Occorrenze: Calcola Calcola OccorrenzeOccorrenze

29

Page 30: DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 3 – Info B Marco D. Santambrogio – marco.santambrogio@polimi.it Riccardo Cattaneo – rcattaneo@elet.polimi.it.

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE

Occorrenze: Occorrenze: StampaStampa

30

Page 31: DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 3 – Info B Marco D. Santambrogio – marco.santambrogio@polimi.it Riccardo Cattaneo – rcattaneo@elet.polimi.it.

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE

Riceca VettoriRiceca Vettori

• Si scriva un programma che Salvati N numeri interi positivi, compresi tra 0 e 10,

nell’array1 Salvati K (K<N) numeri interi positivi, compresi tra 0

e 10, nell’array2 Verifica se l’array 2 è contenuto nell’array1

Esempio1: a1[]={0,4,1,1,1,3,0,0,0,3}a2[]={0,0}a2 è contenuto in a1

Esempio2: a1[]={0,4,1,1,1,3,0,0,0,3}a2[]={5,7,0,1,5}a2 non è contenuto in a1

31

Page 32: DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 3 – Info B Marco D. Santambrogio – marco.santambrogio@polimi.it Riccardo Cattaneo – rcattaneo@elet.polimi.it.

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE

Ricerca Ricerca VettoriVettori: Dati e Dim: Dati e Dim

32

Page 33: DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 3 – Info B Marco D. Santambrogio – marco.santambrogio@polimi.it Riccardo Cattaneo – rcattaneo@elet.polimi.it.

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE

Ricerca Ricerca VettoriVettori: : InserimentoInserimento

33

Page 34: DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 3 – Info B Marco D. Santambrogio – marco.santambrogio@polimi.it Riccardo Cattaneo – rcattaneo@elet.polimi.it.

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE

Ricerca Ricerca VettoriVettori: Trova: Trova

34

Page 35: DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 3 – Info B Marco D. Santambrogio – marco.santambrogio@polimi.it Riccardo Cattaneo – rcattaneo@elet.polimi.it.

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE

Ricerca Ricerca VettoriVettori: Stampa: Stampa

35

Page 36: DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 3 – Info B Marco D. Santambrogio – marco.santambrogio@polimi.it Riccardo Cattaneo – rcattaneo@elet.polimi.it.

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE

Fonti per lo studio + Fonti per lo studio + CreditsCredits• Fonti per lo studio

Informatica arte e mestiere, S. Ceri, D. Mandrioli, L. Sbattella, McGrawHill• Capitolo 5

36

Page 37: DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 3 – Info B Marco D. Santambrogio – marco.santambrogio@polimi.it Riccardo Cattaneo – rcattaneo@elet.polimi.it.

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE

Lab 3: Per casaLab 3: Per casa

• Max, min e media (10’)• Calcola occorrenze max (35’)• Copia stringa senza strcpy (40’)

37

Page 38: DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 3 – Info B Marco D. Santambrogio – marco.santambrogio@polimi.it Riccardo Cattaneo – rcattaneo@elet.polimi.it.

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE

Occorrenze maxOccorrenze max

• Si scriva un programma che, ricevuti e salvati in un array N numeri interi positivi trovi: Il numero massimo e dica quante volte

è presente nell’array

Esempio: a[]={3,4,1,17,17,5,17}Max: 17 Occorrenze: 3

38

Page 39: DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 3 – Info B Marco D. Santambrogio – marco.santambrogio@polimi.it Riccardo Cattaneo – rcattaneo@elet.polimi.it.

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE

Occorrenze max: soluzioneOccorrenze max: soluzione

39

Page 40: DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 3 – Info B Marco D. Santambrogio – marco.santambrogio@polimi.it Riccardo Cattaneo – rcattaneo@elet.polimi.it.

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE

Occorrenze max: Occorrenze max: DimensioneDimensione

40

Page 41: DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 3 – Info B Marco D. Santambrogio – marco.santambrogio@polimi.it Riccardo Cattaneo – rcattaneo@elet.polimi.it.

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE

Occorrenze max: Occorrenze max: InserimentoInserimento

41

Page 42: DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 3 – Info B Marco D. Santambrogio – marco.santambrogio@polimi.it Riccardo Cattaneo – rcattaneo@elet.polimi.it.

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE

Occorrenze max: Ricerca Occorrenze max: Ricerca maxmax

42

Page 43: DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 3 – Info B Marco D. Santambrogio – marco.santambrogio@polimi.it Riccardo Cattaneo – rcattaneo@elet.polimi.it.

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE

Occorrenze max: Occorrenze max: OccorrenzeOccorrenze

43