DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
Lab 1 L.26.14
13 Aprile 2015
Marco D. Santambrogio – [email protected]
Gianluca Durelli - [email protected]
Ver. aggiornata al 12 Aprile 2015
Exe 0: 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
2
Vediamo il main…
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
3
Vediamo il main…
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
Per TUTTI (ciclo for)
i possibili divisori
4
Vediamo il main…
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
Verifico che NON
siano un divisore!
5
Vediamo il main…
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
Verifico che sia
un numero primo
6
Come verifico numero primo?
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
7
Come verifico numero primo?
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
Dico che il
numero è primo
8
Come verifico numero primo?
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
Verifico l’esistenza di
divisiori!
9
Come verifico numero primo?
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
Se esiste un divisore,
il numero NON è
primo!
10
Tutto insieme…
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
11
Obiettivi
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
• Esercitarsi sui costrutti visti a lezione
 Array && matrici
 Uso delle funzioni
12
Esercizi
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
•
•
•
•
•
•
•
Es0: Scomposizione in fattori primi
Es1: max, min
Es2: Aggiorna DNA
Es3: Ordina caratteri
Es4: Calcolo media di un vettore
Es5: Cifrario
Es6: Cifrario con funzioni
13
Exe 1: max, min
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
• Si scriva un programma (no funzioni)
che, ricevuti e salvati in un array N
numeri interi positivi trovi:
 Il numero massimo e minimo nell’array
 Per ciascuno dei due numeri, stampi a
video la posizione nell’array
Esempio: a[]={3,4,1,56,23,28,17}
Max: 56 in posizione: 3
min: 1 in posizione: 2
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: Ordina caratteri
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
• Si scriva un programma (no funzioni)
che ricevuti e salvati in un array N
caratteri, compresi tra ‘a’ e ‘z’, ordina
tali elementi in ordine decrescente.
16
Exe 4: Calcolo media di una serie
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
• Si scriva un programma che, ricevuto in
ingresso un vettore di lunghezza arbitraria N,
calcoli la media dei suoi valori.
 Si ricorda che, dato un vettore v di lunghezza N, la
media dei suoi valori è definita come:
_
• Esempio:
1
v
N
N
v
i 1
i
 v = [1 2 3 4]:
• La media è 2.5
17
Exe 5: Cifrario
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
• Si scriva un programma, senza funzioni,
in C che data una lettera maiuscola ed un
intero pari, stampa a video il valore cifrato
della lettera
 Considerando i caratteri maiuscoli come un
insieme ordinato “circolare”, dato il carattere in
ingresso, il carattere cifrato sarà il carattere
inserito meno il valore intero
 Esempio
• Input 1: A, 2 - Output 1: X
• Input 2: E, 4 – Output 2: A
18
Exe 6: Cifrario con funzioni
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
• Si risolva l’esercizio 5 ma sfruttando
anche le funzioni.
 Si possono inserire le funzioni che
ritengono più opportune
19
Fine…
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
20