LAB 04 - PROBLEMI CHE RICHIEDONO CICLI - ESERCIZI ================================================= Esercizio 1 - Calcolo di un totale ---------------------------------- NOTA: per calcolare una somma di valori si usa una variabile "totale corrente" che viene inizializzata opportunamente (spesso a 0), prima di entrare nel ciclo, e a cui viene sommato via via ciascun valore, uno a ogni iterazione. 1.a1) Scrivere un programma che calcola la somma di tre numeri interi casuali compresi tra 0 e 10. Utilizzare la classe Random. 1.a2) Scrivere un programma che calcola la somma dei numeri dispari tra 1 e n, dove n e` fornito in ingresso dall'utente, senza usare il modulo e stampando via via i numeri che prende in considerazione. 1.a3) Modificare il programma del punto a2) affinche' fornisca la somma dei numeri pari. Esercizio 2 - Conteggio di eventi --------------------------------- NOTA: per sapere quanti valori soddisfano una data condizione si usa una variabile "contatore" che viene inizializzata opportunamente (spesso a 0), prima di entrare nel ciclo; ad ogni iterazione si prende in analisi un nuovo valore e, se il valore considerato soddisfa la condizione, si incrementata il contatore. 2.a1) Scrivere un programma che conta le occorrenze della lettera 'a' in una parola fornita in ingresso dall'utente. Per estrarre il carattere in posizione k di una parola, usare il metodo charAt(int i) della classe String. Ricordarsi che le posizioni si contano a partire da 0. Ad esempio, nella parola "cane" il carattere 'c' ha posizione 0 il carattere 'a' ha posizione 1 il carattere 'n' ha posizione 2 il carattere 'e' ha posizione 3 Quindi, ad esempio, se parola contiene "cane", parola.charAt(0) restituisce 'c'. Notare che l'ultimo carattere di una parola ha posizione lunghezza della parola - 1 Esercizio 3 - Richiesta ripetuta di input corretto -------------------------------------------------- NOTA: per trovare il primo valore che soddisfa una condizione, e terminare la ricerca appena lo si trova, si puo` usare una variabile booleana (detta "flag"), inizializzata a false prima del ciclo, che assume il valore true quando si trova il valore. 3.a1) Scrivere un programma che chiede all'utente di inserire un valore positivo minore di 100 e continua a chiedere finche' non viene fornito un input corretto. Esercizio 4 - Identificazione della prima occorrenza ---------------------------------------------------- 4.a1) Scrivere un programma che legge una stringa da standard input e cerca la prima occorrenza della lettera 'a', se la trova ne stampa la posizione, altrimenti stampa -1. 4.a2) Modificare il programma del punto a1) affinche' continui a chiedere parole in ingresso e si fermi alla parola "quit". Esercizio 5 - Confronto di valori adiacenti ------------------------------------------- NOTA: ad ogni iterazione il valore appena letto viene salvato in una variabile (var_a), ma prima di sovrascrive il vecchio valore contenuto in var_a, occorre salvarlo in un'altra variabile (var_b) per poter fare il confronto. Occorre anche fare un'operazione di lettura iniziale fuori dal ciclo in quanto alla prima esecuzione non c'e` nessun valore precedente. Invece di var_a e var_b usate nomi piĆ¹ evocativi, come nuovo_valore e vecchio_valore. 6.a1) Scrivere un programma che legge da tastiera una serie di numeri > -100 e stampa "andamento positivo" se il nuovo valore e` maggiore o uguale al precedente e "andamento negativo" altrimenti. Il programma si ferma quando il numero in input e` -100.