Prof. Pagani Corrado ALGORITMI – ESERCITAZIONI CICLI · ESERCIZI CICLO WHILE – 2 . 7. Dato un...

16
ALGORITMI – ESERCITAZIONI CICLI Prof. Pagani Corrado

Transcript of Prof. Pagani Corrado ALGORITMI – ESERCITAZIONI CICLI · ESERCIZI CICLO WHILE – 2 . 7. Dato un...

Page 1: Prof. Pagani Corrado ALGORITMI – ESERCITAZIONI CICLI · ESERCIZI CICLO WHILE – 2 . 7. Dato un numero n acquisito in input stampare ... Lanciando 3 dadi calcolare la frequenza

ALGORITMI – ESERCITAZIONI CICLIProf. Pagani Corrado

Page 2: Prof. Pagani Corrado ALGORITMI – ESERCITAZIONI CICLI · ESERCIZI CICLO WHILE – 2 . 7. Dato un numero n acquisito in input stampare ... Lanciando 3 dadi calcolare la frequenza

DIAGRAMMA A BLOCCHI: SWITCH

Page 3: Prof. Pagani Corrado ALGORITMI – ESERCITAZIONI CICLI · ESERCIZI CICLO WHILE – 2 . 7. Dato un numero n acquisito in input stampare ... Lanciando 3 dadi calcolare la frequenza

DIAGRAMMA BLOCCHI: WHILE

Page 4: Prof. Pagani Corrado ALGORITMI – ESERCITAZIONI CICLI · ESERCIZI CICLO WHILE – 2 . 7. Dato un numero n acquisito in input stampare ... Lanciando 3 dadi calcolare la frequenza

DIAGRAMMA BLOCCHI: FOR

for (inizializzazione contatore, condizione, incremento){

istruzioni ;}

Page 5: Prof. Pagani Corrado ALGORITMI – ESERCITAZIONI CICLI · ESERCIZI CICLO WHILE – 2 . 7. Dato un numero n acquisito in input stampare ... Lanciando 3 dadi calcolare la frequenza

ESERCIZI CICLO WHILE

1. Stampare i primi N numeri interi. 2. Stampare i numeri pari minori di N. 3. Dati 2 numeri in input stampare tutti i numeri

compresi4. Dati 2 numeri in input stampare tutti i numeri

dispari compresi5. Dati 2 numeri in input stampare la sommatoria di

tutti i numeri pari compresi6. Dati 10 numeri interi acquisiti in input stampare

la percentuale dei numeri pari rispetto al totale

Page 6: Prof. Pagani Corrado ALGORITMI – ESERCITAZIONI CICLI · ESERCIZI CICLO WHILE – 2 . 7. Dato un numero n acquisito in input stampare ... Lanciando 3 dadi calcolare la frequenza

ESERCIZI CICLO WHILE – 2

7. Dato un numero n acquisito in input stampare tutti i valori primi compresi tra 0 e n

8. Stampare i numeri pari minori di N in ordine decrescente

9. Stampare multipli di A minori di N10. Dati N numeri calcolare la media aritmetica, il

massimo e il minimo.11. Dati N numeri calcolare la media aritmetica dei

valori pari e quella dei valori dispari; alla fine quale risulta maggiore ?

12. Dati N numeri determinare il valore maggiore e quante volte esso ricorre.

Page 7: Prof. Pagani Corrado ALGORITMI – ESERCITAZIONI CICLI · ESERCIZI CICLO WHILE – 2 . 7. Dato un numero n acquisito in input stampare ... Lanciando 3 dadi calcolare la frequenza

ESERCIZI CICLO WHILE – 3

13. Dati N numeri contare quanti sono positivi, negativi e uguali a zero.

14. Dati N numeri determinare i 3 valori maggiori e stamparli in ordine crescente.

15. Date N misure di un fenomeno fisico determinare valore medio, errore assoluto, errore relativo ed errore percentuale.

16. Scrivere i dieci numeri pari successivi al numero N.

Page 8: Prof. Pagani Corrado ALGORITMI – ESERCITAZIONI CICLI · ESERCIZI CICLO WHILE – 2 . 7. Dato un numero n acquisito in input stampare ... Lanciando 3 dadi calcolare la frequenza

ESERCIZI CICLI

1. Indovina la lettera: data una lettera dell’alfabeto estratta RANDOM dal programma, offrire 5 tentativi all’utente per indovinarla dando ogni volta l’indicazione se la lettera inserita sia prima o dopo rispetto a quella da indovonare

2. Come prima, ma se l’utente vince ha diritto a rigiocare; alla fine comunicare il numero di vittorie consecutive.

3. Calcolare la potenza (dati base ed esponente) applicando il metodo delle moltiplicazioni ripetute.

Page 9: Prof. Pagani Corrado ALGORITMI – ESERCITAZIONI CICLI · ESERCIZI CICLO WHILE – 2 . 7. Dato un numero n acquisito in input stampare ... Lanciando 3 dadi calcolare la frequenza

ESERCIZI CICLI – 2

4. Dati N numeri interi determinare il minimo fra i valori dispari.

5. Dato un elenco di numeri da prendere in output fino a che l’utente non inserisce 0, calcolare il prodotto tra il minore dei numeri pari e il maggiore dei numeri dispari (gestire eventuali errori)

6. Date 5 domande e 5 risposte fisse (scritte dal programmatore in altrettante variabili, la cui risposta è un numero) estrarre a sorte una domanda da porre all’utente ed indicare se la risposta è giusta o sbagliata

Page 10: Prof. Pagani Corrado ALGORITMI – ESERCITAZIONI CICLI · ESERCIZI CICLO WHILE – 2 . 7. Dato un numero n acquisito in input stampare ... Lanciando 3 dadi calcolare la frequenza

ESERCIZI CICLI – 3

7. Come l’esercizio 6, ma se l’utente risponde correttamente può rispondere alle domande successive (sempre estratte a sorte). Al termine il programma comunicherà il numero di risposte corrette.

8. Trovare il minor numero di banconote da 100 €, 50€, 10€, 5€, necessarie per pagare una assegnata cifra C multipla di 5.

9. Dati n caratteri determinare quanti sono lettere dell’alfabeto e quanti no

Page 11: Prof. Pagani Corrado ALGORITMI – ESERCITAZIONI CICLI · ESERCIZI CICLO WHILE – 2 . 7. Dato un numero n acquisito in input stampare ... Lanciando 3 dadi calcolare la frequenza

ESERCIZI CICLI – 4

10. Data una sequenza di caratteri (l’utente può decidere di terminare la sequenza digitando il carattere ‘*’) determinare quanti sono lettere maiuscole, lettere minuscole, cifre numeriche o altri caratteri.

11. Simulare il risultato del dado (valori da 1 a 6) per 1000 volte. Stampare la percentuale di frequenza di uscita dei 6 valori (utilizzare 6 contatori).

12. Simulare il risultato del tiro di 2 dadi da 6 per 1000 volte. Stampare la probabilità di frequenza di uscita dei 11 valori (utilizzare 11 contatori).

Page 12: Prof. Pagani Corrado ALGORITMI – ESERCITAZIONI CICLI · ESERCIZI CICLO WHILE – 2 . 7. Dato un numero n acquisito in input stampare ... Lanciando 3 dadi calcolare la frequenza

PROBLEMA DELLA PRINCIPESSA

Una principessa di un Paese orientale deve scegliere fra tre pretendenti e vorrebbe sposare il più bello.

I pretendenti le vengono proposti uno per volta e la principessa deve subito decidere se scegliere o rifiutare chi le viene presentato.

Se rifiuta si passa al successivo e non sono consentiti ripensamenti.

Quale strategia di scelta le è più conveniente adottare tra quelle esposte nel seguito?

Page 13: Prof. Pagani Corrado ALGORITMI – ESERCITAZIONI CICLI · ESERCIZI CICLO WHILE – 2 . 7. Dato un numero n acquisito in input stampare ... Lanciando 3 dadi calcolare la frequenza

PROBLEMA DELLA PRINCIPESSA – STRATEGIE

Strategia 1 -> La principessa sceglie il primo Strategia 2 -> La principessa scarta il primo

pretendente; se il secondo è più bello lo sceglie, altrimenti sceglie il terzo

Strategia 3 -> La principessa scarta il primo e il secondo pretendente e prende sempre il terzo pretendente.

Strategia 4 -> La principessa scarta il primo pretendente; se il secondo è più bello lo scarta altrimenti lo sceglie.

Page 14: Prof. Pagani Corrado ALGORITMI – ESERCITAZIONI CICLI · ESERCIZI CICLO WHILE – 2 . 7. Dato un numero n acquisito in input stampare ... Lanciando 3 dadi calcolare la frequenza

PROBLEMA DELLA PRINCIPESSA – SOLUZIONE

Simulare per 1000 volte il presentarsi dei tre pretendenti facendo estrarre per ciascuno di essi un voto da 1 a 100 rappresentate la loro bellezza.

Simulare in un unico programma (o in 4 programmi da eseguire successivamente) le 4 strategie della principessa e memorizzare la percentuale di successo di ciascuna strategia.

Quale strategia si è rivelata migliore ???

Page 15: Prof. Pagani Corrado ALGORITMI – ESERCITAZIONI CICLI · ESERCIZI CICLO WHILE – 2 . 7. Dato un numero n acquisito in input stampare ... Lanciando 3 dadi calcolare la frequenza

SIMULAZIONE NUMERICA CON I CICLI

13. Lanciando 3 monete calcolare la frequenza con cui escono (1=testa; 0=croce):

1. almeno una testa2. esattamente 2 teste3. non esca nemmeno una testa4. esca una sola testa5. escano 3 teste

14. Nella roulette ci sono 36 numeri più lo 0, considerando 4 giocate successive calcolare la frequenza con cui:

1. esca il 13 in almeno un lancio2. In almeno un lancio esca un numero tra 5 e 9 compresi3. in ogni lancio esca un numero dispari4. non esca mai lo zero

15. Lanciando 3 dadi calcolare la frequenza con cui:1. esca una somma maggiore di 102. escano valori tutti dispari3. escano tutti valori diversi tra loro4. tutti i valori uguali tra loro

Page 16: Prof. Pagani Corrado ALGORITMI – ESERCITAZIONI CICLI · ESERCIZI CICLO WHILE – 2 . 7. Dato un numero n acquisito in input stampare ... Lanciando 3 dadi calcolare la frequenza

ESERCIZI CICLI – 5

16. Dato un numero intero, se è pari stampare i 10 numeri successivi, se è dispari stampare i 10 numeri precedenti.

17. Dati N caratteri determinare quanti sono una lettera compresa tra le lettere del tuo nome.

18. Simulare più volte il lancio di un dado da 4 facce; dopo quanti tentativi la frequenza percentuale di uscita del valore 2 si discosta meno del 3% dal 25% (quindi compresa tra il 22% e il 28%)? Interrompere il ciclo quando la condizione viene verificata.