DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
Lab 3: 3 Aprile 2014
Marco D. Santambrogio – [email protected]
Gianluca Durelli – [email protected]
Ver. aggiornata al 31 Marzo 2014
Obiettivi
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
• Esercitarsi sui costrutti visti a lezione
 Costrutti iterativi
 Array e Stringhe
2
Esercizi
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
•
•
•
•
•
•
•
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
Lo switch
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
• 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
switch ( expression ){
case value1 :
statement-list1
case value2 :
statement-list2
case value3 :
statement-list3
case ...
}
4
Lo switch
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
• 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”
switch ( expression ){
case value1 :
statement-list1
case value2 :
statement-list2
case value3 :
statement-list3
case ...
}
5
La calcolatrice con lo switch
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
6
La calcolatrice con lo switch: zoom
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
7
Piccolo problema…
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
8
Perche’???
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
Flusso
9
Lo switch ed il break
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
10
Zoom
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
Flusso
11
Lo switch: default
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
12
Esercizi
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
•
•
•
•
•
•
•
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
Exe 1: Inserimento dati
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
• 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
Exe 2: Aggiorna DNA
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
• 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
Exe 3: Numeri primi in un intervallo
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
• 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
Exe 4: Coefficiente binomiale
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
• 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
Exe 5: Scomposizione in fattori primi
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
• 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
Exe 6: Numeri amicabili
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
• 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
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
• BUON LAVORO!
20
Scarica

V1 - PPT