Pasquale Pagano
MATRICOLA: 0124003182

Relazione del programma svolto

1) Traccia - Classificazione

Sviluppare un algoritmo elementare di classificazione. L’algoritmo considera una scacchiera di 30x30 caselle e dispone a caso (usando la function rand) 50 oggetti (la posizione è una coppia di numeri interi). L’algoritmo posiziona sulla scacchiera, sempre generando a caso la loro posizione (usando la function rand), 2 nuovi oggetti che chiameremo centro1 e centro2. L’algoritmo deve visualizzare la scacchiera, mostrando un ‘ ’ per le caselle non occupate, mostrando una ‘X’ per le caselle occupate dagli oggetti, un ‘1’ per la casella occupata da centro1 e un ‘2’ per la casella occupata da centro2. L’algoritmo determina i seguenti due insiemi A e B: -A è l’insieme degli oggetti che sono più vicini a centro1 piuttosto che a centro2; -B è l’insieme degli oggetti che sono più vicini a centro2 piuttosto che a centro1. La “vicinanza” è determinata calcolando la usuale distanza geometrica. Infine l’algoritmo visualizza di nuovo la scacchiera, ma questa volta indicando con la lettera ‘A’ ognuno degli oggetti dell’insieme A, con la lettera ‘B’ ognuno degli oggetti dell’insieme B e con la lettera ‘U’ gli eventuali oggetti che hanno uguale distanza sia rispetto a centro1 che a centro2. La posizione di centro1 è ancora indicata con ‘1’ e quella di centro2 con '2'.

Codice

Main
libreria.h
Libreria.c
Libreria.c
Libreria.c
Libreria.c

output del programma

Prova 1, scacchiera appena iniziallizata,
per una visualizzazione migliore della schacchiera
ho utilizzato il carattere "-" invece dello spazio vuoto
Risultati function "CalcolaDistanza1" e "CalcolaDistanza2"
Risultati function "CalcolaDistanza1" e "CalcolaDistanza2"
scacchiera dopo aver sostituito gli ogetti "X" con le lettere "A" e "B"
Prova 2, scacchiera appena iniziallizata
all'inizio del programma indico dove si trovano
centro1 e centro2
scacchiera dopo aver sostituito gli ogetti "X" con le lettere "A" e "B"
Prova 3, scacchiera appena iniziallizata
scacchiera dopo aver sostituito gli ogetti "X" con le lettere "A" e "B"
2) Traccia - Riciclatore - 2

Si vuole simulare la gestione di un riciclatore automatico. Si suppone di avere 5 tipi di prodotti da poter riciclare. Ogni prodotto è identificato da un nome, da un codice identificativo del tipo di prodotto (vetro, plastica, carta, ecc..) e dal prezzo di riciclo. Il sistema ha disposizione un budget iniziale (scelto dall’utente all’inizio del programma) da cui prendere i soldi per i prodotti da riciclare. Permettere all’utente di: -> Inserire un prodotto -Verificare se ci sono abbastanza soldi per smaltire il prodotto. Se il budget è sufficiente, provvedere allo smaltimento del prodotto. -Verificare se è possibile inserire il prodotto dato che il massimo numero di prodotti per un singolo tipo è 20. -> A fine mese visualizzare l’elenco dei prodotti riciclati per ogni categoria. Provvedere all’implementazione dell’algoritmo per la simulazione del distributore

Codice

Main
libreria.h
Libreria.c
Libreria.c
Libreria.c
Libreria.c

output del programma

Prova 1, primo output e scelta del budget da parte del cliente
Dopo aver scelto il budget, al cliente vengono mostrati
i prodotti che puo' riciclare
Ogni volta che viene selezionato un prodotto,
il budget diminuisce in base al costo del prodotto appena riciclato
Se lo stesso prodotto viene riciclato per 20 volte,
alla 21* volta il programma da come output questa schermata
Una volta che il budget arriva a 0 viene mostrato quante
volte è stato riciclato ogni prodotto, piu' il totale dei prodotti riciclati
Prova 2, primo output e scelta del budget da parte del cliente
Dopo aver scelto il budget, al cliente vengono mostrati
i prodotti che puo' riciclare
Se lo stesso prodotto viene riciclato per 20 volte,
alla 21* volta il programma da come output questa schermata
Nel caso in cui il cliente decidesse di terminare con il programma
viene mostrato quante volte è stato riciclato ogni prodotto,
piu' il totale dei prodotti riciclati
Prova 3, primo output e scelta del budget da parte del cliente
Dopo aver scelto il budget, al cliente vengono mostrati
i prodotti che puo' riciclare
Se il cliente inserisce un numero che non equivale a
nessun prodotto, viene visualizzata questa schermata
Una volta che il budget arriva a 0 viene mostrato quante
volte è stato riciclato ogni prodotto, piu' il totale dei prodotti riciclati