dipartimento di elettronica e informazione lab 3: 3 aprile 2014 marco d. santambrogio –...
TRANSCRIPT
![Page 1: DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 3: 3 Aprile 2014 Marco D. Santambrogio – marco.santambrogio@polimi.it Gianluca Durelli – durelli@elet.polimi.it](https://reader035.vdocuments.mx/reader035/viewer/2022062702/5542eb75497959361e8ddfea/html5/thumbnails/1.jpg)
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
Lab 3: 3 Aprile 2014Lab 3: 3 Aprile 2014
Marco D. Santambrogio – [email protected] Durelli – [email protected]
Ver. aggiornata al 31 Marzo 2014
![Page 2: DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 3: 3 Aprile 2014 Marco D. Santambrogio – marco.santambrogio@polimi.it Gianluca Durelli – durelli@elet.polimi.it](https://reader035.vdocuments.mx/reader035/viewer/2022062702/5542eb75497959361e8ddfea/html5/thumbnails/2.jpg)
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
ObiettiviObiettivi
• Esercitarsi sui costrutti visti a lezione Costrutti iterativi Array e Stringhe
2
![Page 3: DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 3: 3 Aprile 2014 Marco D. Santambrogio – marco.santambrogio@polimi.it Gianluca Durelli – durelli@elet.polimi.it](https://reader035.vdocuments.mx/reader035/viewer/2022062702/5542eb75497959361e8ddfea/html5/thumbnails/3.jpg)
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
EserciziEsercizi
• Es 0: La calcolatrice con lo switch• Es1: Inserimento dati• Es2: Aggiorna DNA• Es3: Numeri primi in un intervallo• Es4: Coefficiente binomiale• Es5: Scomposizione in fattori primi• Es6:Numeri amicabili
3
![Page 4: DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 3: 3 Aprile 2014 Marco D. Santambrogio – marco.santambrogio@polimi.it Gianluca Durelli – durelli@elet.polimi.it](https://reader035.vdocuments.mx/reader035/viewer/2022062702/5542eb75497959361e8ddfea/html5/thumbnails/4.jpg)
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
Lo switchLo switch
4
switch ( expression ){ case value1 : statement-list1 case value2 : statement-list2 case value3 : statement-list3 case ...
}
• Lo switch ci permette una alternativa al come selezionare la prossima istruzione da eseguire
• Lo switch valuta una espressione, quindi cerca di confrontare un valore con diversi possibili cases
![Page 5: DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 3: 3 Aprile 2014 Marco D. Santambrogio – marco.santambrogio@polimi.it Gianluca Durelli – durelli@elet.polimi.it](https://reader035.vdocuments.mx/reader035/viewer/2022062702/5542eb75497959361e8ddfea/html5/thumbnails/5.jpg)
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
Lo switchLo switch
• Ciascun case contiene un valore (value) e una lista di istruzioni (statement)
• Il flusso di controllo si traferisce attraverso tutte le istruzioni, partendo dal primo case che “corrisponde”
5
switch ( expression ){ case value1 : statement-list1 case value2 : statement-list2 case value3 : statement-list3 case ...
}
![Page 6: DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 3: 3 Aprile 2014 Marco D. Santambrogio – marco.santambrogio@polimi.it Gianluca Durelli – durelli@elet.polimi.it](https://reader035.vdocuments.mx/reader035/viewer/2022062702/5542eb75497959361e8ddfea/html5/thumbnails/6.jpg)
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
La calcolatrice con lo La calcolatrice con lo switchswitch
6
![Page 7: DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 3: 3 Aprile 2014 Marco D. Santambrogio – marco.santambrogio@polimi.it Gianluca Durelli – durelli@elet.polimi.it](https://reader035.vdocuments.mx/reader035/viewer/2022062702/5542eb75497959361e8ddfea/html5/thumbnails/7.jpg)
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
La calcolatrice con lo switch: zoomLa calcolatrice con lo switch: zoom
7
![Page 8: DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 3: 3 Aprile 2014 Marco D. Santambrogio – marco.santambrogio@polimi.it Gianluca Durelli – durelli@elet.polimi.it](https://reader035.vdocuments.mx/reader035/viewer/2022062702/5542eb75497959361e8ddfea/html5/thumbnails/8.jpg)
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
PiccoloPiccolo problema… problema…
8
![Page 9: DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 3: 3 Aprile 2014 Marco D. Santambrogio – marco.santambrogio@polimi.it Gianluca Durelli – durelli@elet.polimi.it](https://reader035.vdocuments.mx/reader035/viewer/2022062702/5542eb75497959361e8ddfea/html5/thumbnails/9.jpg)
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
Perche’???Perche’???
9
Flusso
![Page 10: DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 3: 3 Aprile 2014 Marco D. Santambrogio – marco.santambrogio@polimi.it Gianluca Durelli – durelli@elet.polimi.it](https://reader035.vdocuments.mx/reader035/viewer/2022062702/5542eb75497959361e8ddfea/html5/thumbnails/10.jpg)
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
Lo switch ed il breakLo switch ed il break
10
![Page 11: DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 3: 3 Aprile 2014 Marco D. Santambrogio – marco.santambrogio@polimi.it Gianluca Durelli – durelli@elet.polimi.it](https://reader035.vdocuments.mx/reader035/viewer/2022062702/5542eb75497959361e8ddfea/html5/thumbnails/11.jpg)
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
ZoomZoom
11
Flusso
![Page 12: DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 3: 3 Aprile 2014 Marco D. Santambrogio – marco.santambrogio@polimi.it Gianluca Durelli – durelli@elet.polimi.it](https://reader035.vdocuments.mx/reader035/viewer/2022062702/5542eb75497959361e8ddfea/html5/thumbnails/12.jpg)
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
Lo switch: defaultLo switch: default
12
![Page 13: DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 3: 3 Aprile 2014 Marco D. Santambrogio – marco.santambrogio@polimi.it Gianluca Durelli – durelli@elet.polimi.it](https://reader035.vdocuments.mx/reader035/viewer/2022062702/5542eb75497959361e8ddfea/html5/thumbnails/13.jpg)
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
EserciziEsercizi
• Es 0: La calcolatrice con lo switch• Es1: Inserimento dati• Es2: Aggiorna DNA• Es3: Numeri primi in un intervallo• Es4: Coefficiente binomiale• Es5: Scomposizione in fattori primi• Es6:Numeri amicabili
13
![Page 14: DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 3: 3 Aprile 2014 Marco D. Santambrogio – marco.santambrogio@polimi.it Gianluca Durelli – durelli@elet.polimi.it](https://reader035.vdocuments.mx/reader035/viewer/2022062702/5542eb75497959361e8ddfea/html5/thumbnails/14.jpg)
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
Exe 1: Inserimento datiExe 1: Inserimento dati
• Si scriva un programma (no funzioni) che controlla il corretto inserimento di dati in un array. L’array è composto solo da numeri
interi pari e positivi Il numero di elementi inseriti può
essere minore della dimensione massima dell’array
14
![Page 15: DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 3: 3 Aprile 2014 Marco D. Santambrogio – marco.santambrogio@polimi.it Gianluca Durelli – durelli@elet.polimi.it](https://reader035.vdocuments.mx/reader035/viewer/2022062702/5542eb75497959361e8ddfea/html5/thumbnails/15.jpg)
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
Exe 2: Aggiorna DNAExe 2: Aggiorna DNA
• Si scriva un programma in C che, data una stringa inserita dall’utente di dimensione n, rappresentante una sequenza di DNA, sostituisca tute le lettere seguendo questa regola: A-T, T-C, C-G e G-A
• Si ricorda che: Il DNA può essere definito, in maniera
semplificata, come una doppia catena polinucleotidica (A,T,C,G)
Si deve quindi verificare che i caratteri inseriti siano solo A, T, C e G
15
![Page 16: DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 3: 3 Aprile 2014 Marco D. Santambrogio – marco.santambrogio@polimi.it Gianluca Durelli – durelli@elet.polimi.it](https://reader035.vdocuments.mx/reader035/viewer/2022062702/5542eb75497959361e8ddfea/html5/thumbnails/16.jpg)
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
Exe 3: Numeri primi in un Exe 3: Numeri primi in un intervallointervallo
• Si scriva un programma che ricevuti in ingresso due numeri x e y (x<y), stampi tutti e soli i numeri primi compresi nell’intervallo.
• Esempio: x=1, y=5:• Numeri primi: 2, 3, 5
16
![Page 17: DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 3: 3 Aprile 2014 Marco D. Santambrogio – marco.santambrogio@polimi.it Gianluca Durelli – durelli@elet.polimi.it](https://reader035.vdocuments.mx/reader035/viewer/2022062702/5542eb75497959361e8ddfea/html5/thumbnails/17.jpg)
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
Exe 4: Coefficiente Exe 4: Coefficiente binomialebinomiale
• Il numero di scelte di k oggetti fra quelli che costituiscono un insieme di n elementi
• Quindi il numero dei sottoinsiemi di k elementi di un dato insieme di n oggetti, è dato dal cosiddetto coefficiente binomiale:
17
![Page 18: DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 3: 3 Aprile 2014 Marco D. Santambrogio – marco.santambrogio@polimi.it Gianluca Durelli – durelli@elet.polimi.it](https://reader035.vdocuments.mx/reader035/viewer/2022062702/5542eb75497959361e8ddfea/html5/thumbnails/18.jpg)
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
Exe 5: Scomposizione in fattori Exe 5: Scomposizione in fattori primiprimi
• Si scriva in C (si devono usare le funzioni) un programma che, dato un numero N intero positivo, dica quali sono i suoi divisori primi.
• Esempio N=6, Risposta: 2,3 N=15, Risposta: 3,5
18
![Page 19: DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 3: 3 Aprile 2014 Marco D. Santambrogio – marco.santambrogio@polimi.it Gianluca Durelli – durelli@elet.polimi.it](https://reader035.vdocuments.mx/reader035/viewer/2022062702/5542eb75497959361e8ddfea/html5/thumbnails/19.jpg)
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
Exe 6: Numeri amicabiliExe 6: Numeri amicabili
• Si scriva in C un programma che, dati due numeri interi positivi, dica se sono amicabili In matematica, sono numeri amicabili o amici
due numeri per cui la somma dei divisori di uno (escluso il numero stesso) è uguale all'altro e viceversa.
• Un esempio classico è dato dalla coppia 220 e 284. I due numeri sono amicabili in quanto 220 è divisibile per 1, 2, 4, 5, 10, 11, 20, 22, 44,
55 e 110 e la loro somma risulta 284; 284 è divisibile per 1, 2, 4, 71, 142 che sommati
tra loro restituiscono proprio 220.
19
![Page 20: DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 3: 3 Aprile 2014 Marco D. Santambrogio – marco.santambrogio@polimi.it Gianluca Durelli – durelli@elet.polimi.it](https://reader035.vdocuments.mx/reader035/viewer/2022062702/5542eb75497959361e8ddfea/html5/thumbnails/20.jpg)
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
• BUON LAVORO!
20