Per le vacanze estive svolgere i seguenti esercizi:
Leggere uno tra i seguenti libri:
Titolo: The Fallen Dreams: Diario di un Hacker. Autore: Demian Kurt. Genere: romanzo-sicurezza informatica. 122 pagine
Titolo: Ulisse era un Hacker: La Cyber Security spiegata con i classici della letteratura. Autore: Francesco Marchesani. Genere: romanzo-letterario-sicurezza informatica. 197 pagine
Titolo: Non è un libro per hacker. Cyber security e digital forensics raccontate dal punto di vista dell'analista. Autore: Stefano Fratepietro. Genere: racconti brevi di cronaca ed esperienze di un divulgatore di cultura su indagini e sicurezza informatiche. 240 pagine.
Titolo: Io sono Zero. Autore: Luigi Ballerini. Genere: romanzo di fantascienza per ragazzi. Scrittura molto semplice senza termini tecnici. 184 pagine.
Titolo: Crittografia da Cesare ai quanti. Un percorso formativo su algoritmi, sicurezza. Autore: Rossano Mario. Genere: saggio sulla crittografia. 320 pagine.
Titolo: Non solo Enigma. Storia delle guerre nascoste. Autore: Silvio Henin. Genere: saggio sul legame tra crittografia e guerre. 176 pagine.
Titolo: La faccia oscura della rete. Autore: Massimo Coppa. Genere: saggio sul dark-web. 80 pagine.
Realizzare la recensione del libro letto seguendo le indicazioni riportate qui. In particolare ti ricordo che la relazione deve essere scritta dopo aver letto il libro e soprattutto non deve contenere spoiler! Le migliori recensioni saranno pubblicate sul sito del prof!
Implementare in C++ la soluzione ai seguenti 5 esercizi.
Esercizi sull'intero programma di informatica svolto nel terzo anno.
Esercizio 1: La corsa al parco
Due amici vanno a correre in un parco. Al termine del percorso ognuno di loro sa quanti metri ha percorso e sa quanto tempo ha impiegato.
Realizzare un programma che sia in grado di:
Chiedere ai due amici il nome, il numero di metri_percorsi ed il tempo_impiegato;
Calcolare la velocità media dei due amici (la formula è velocità = metri_percorsi / tempo_impiegato);
Mostrare a schermo il nome della persona che ha corso per più tempo;
Mostrare a schermo il nome della persona che ha corso per più metri;
Mostrare a schermo il nome della persona che ha corso più velocemente.
Esempio.
Input:
nome_1 = Gianni metri_percorsi_1 = 100m tempo_impiegato_1 = 14s
nome_2 = Paolo metri_percorsi_1 = 300m tempo_impiegato_1 = 70s
Output:
Paolo ha percorso più metri.
Paolo ha corso per più tempo.
Gianni ha corso più velocemente.
Esercizio 2: Il numero di volte che sei andato al mare e la media dei "bagni" fatti.
Si realizzi un programma in grado di:
Chiedere all'utente il numero di volte che è andato al mare quest'estate.
Per ogni volta che l'utente è andato al mare richiedere il numero di volte che si è fatto il "bagno".
Calcolare la somma dei bagni fatti in tutta l'estate e mediamente quanti bagni sono stati effettuati ogni volta.
Esercizio 3: Gli ordini dal gelataio
Si realizzi un programma in grado di facilitare l'acquisto dei gelati nella sessione estiva. Un cliente può acquistare solo 3 tipologie di gelato (piccolo 2 euro, medio 3 euro e grande 4 euro). Realizzare un programma in grado di:
Richiedere al cliente quale è il suo budget (i soldi che ha nel portafoglio).
Richiedere quanti gelati piccoli, medi e grandi si intendono acquistare.
Calcolare la spesa complessiva prevista per il cliente (facendo attenzione che non superi il budget previsto inizialmente).
Se la spesa rientra nel budget si mostra a schermo l'elenco della richiesta fatta dal cliente, altrimenti si mostra il messaggio "La spesa prevista supera il budget stabilito inizialmente".
Il programma deve prevedere:
Una funzione che permette di richiedere il budget all'utente e restituisce tale valore alla funzione chiamante.
Una funzione che permette di richiedere quanti gelati piccoli, medi e grandi si intendono acquistare. La funzione riporta tali valori alla funzione chiamante grazie al passaggio dei parametri per riferimento.
Una funzione che dati come parametri il numero di gelati piccoli, medi e grandi calcoli la spesa complessiva da affrontare.
Una funzione che partendo dai parametri budget e spesa ritorni true se la spesa rispetta i vincoli del budget, false altrimenti.
Esercizio 4: Chi mangia più gelati?
Si realizzi un programma in grado di memorizzare le informazioni relativi a quanti gelati hanno mangiato quest'estate un gruppo di amici. Realizzare un programma in grado di:
Chiedere il numero di amici che si intende analizzare;
Chiedere il nome di ogni amico e quanti gelati ha mangiato;
L'informazione del nome va memorizzata in un vettore di tipo string;
L'informazione del numero dei gelati va memorizzata in un vettore di tipo int.
Il programma deve essere in grado di mostrare a schermo:
l'amico che ha mangiato più gelati di tutti;
l'amico che ha mangiato meno gelati di tutti;
La moda dei gelati mangiati.
Si realizzi il programma utilizzando le funzioni che si ritengono opportune.
Esercizio 5: Il vettore random disordinato
Si realizzi un programma in grado di generare casualmente 30 numeri casuali tra 18 e 64, li memorizzi in un vettore, stampi il vettore, ordini il vettore dal più grande al più piccolo (ordine DECRESCENTE) e mostri a schermo i valori ordinati.