Process synchronization Operating System Lab 3: 3 Aprile 2014 Marco D. Santambrogio – marco.santambrogio@polimi.it Gianluca Durelli – durelli@elet.polimi.it Ver. aggiornata al 26 Marzo 2014 © 2005 William Fornaciari
Obiettivi Esercitarsi sui costrutti visti a lezione Costrutti iterativi Array e Stringhe
Esercizi Es1: Inserimento dati Es2: Aggiorna DNA Es3: Numeri primi in un intervallo Es4: Coefficiente binomiale Es5: Scomposizione in fattori primi Es6:Numeri amicabili
Exe 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
Exe 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
Exe 3: Numeri primi in un intervallo 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: 3, 5
Exe 4: Coefficiente binomiale 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:
Exe 5: Scomposizione in fattori primi 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
Exe 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.
BUON LAVORO!