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