Comments
Description
Transcript
03.x1 eSercizi Sui cicli
03-X1_Esercizi_[02] Versione del: giovedì 14 novembre 2013 03.x1 eSercizi Sui cicli Andrea Zoccheddu CORSO INFORMATICA ITI ANGIOY SASSARI Sintesi Questa dispensa è una collezione di esercizi proposti agli studenti che studiano i cicli. free images from animals.m-y-d-s.com Andrea Zoccheddu 03-X1_Esercizi_[02] eSercizi eSercizi Sui cicli di baSe 1) eSercizio Costruire un programma che scrive in una ListBox la sequenza dei primi 100 numeri naturali. Ogni volta che si generano, pulire la ListBox. Nota: il Form1 dovrebbe avere un pulsante e una ListBox 2) eSercizio Costruire un programma che scrive in una ListBox la sequenza dei primi 100 numeri naturali pari.. Ogni volta che si generano, pulire la ListBox. Nota: è possibile modificare l’esercizio precedente, aggiungendo un ulteriore pulsante che risolve il problema proposto. 3) eSercizio Costruire un programma che scrive in una ListBox la sequenza dei primi 100 numeri naturali dispari.. Ogni volta che si generano, pulire la ListBox. Nota: è possibile modificare l’esercizio precedente, aggiungendo un ulter ulteriore pulsante che risolve il problema proposto. 4) eSercizio Costruire un programma con un pulsante e una ListBox. Associare al pulsante il seguente codice VC#: listBox1.Items.Clear(); for (int i=0; i<100; ; i++) listBox1.Items.Add Add(2*i + 1); Provare a fare un ipotesi sull’effetto del pulsante prima di provarlo e verificare la correttezza della propria idea. 5) eSercizio Costruire un programma che scrive in una ListBox la tabellina del 3. Ogni volta che si generano, pulire la ListBox. Nota: è possibile modificare l’esercizio precedente, aggiungendo un ulteriore pulsante che risolve il problema proposto. 6) eSercizio Costruire un programma che legge da una TextBox un numero intero positivo e visualizza in una ListBox tutti i numeri positivi minori di quello quello dato. Ogni volta che si legge un nuovo numero, numero pulire la ListBox. Attenzione: convertire la proprietà Text della TextBox in numero, usando una funzione di conversione. 2 Dispensa di Visual C# Andrea Zoccheddu 7) 03-X1_Esercizi_[02] eSercizio Costruire un programma con un pulsante e una ListBox. Associare al pulsante il seguente codice VC#: listBox1.Items.Clear(); for (int i=0; i<10; i++) listBox1.Items.Add Add(i*10 + i); Provare a fare un ipotesi sull’effetto del pulsante prima di provarlo e verificare la correttezza della propria idea. 8) eSercizio Costruire un programma che legge da una TextBox un numero intero positivo e visualizza in una ListBox tutti i divisori minori di quello dato. Ogni volta che si legge un nuovo numero, pulire la ListBox. Attenzione: per verificare se un numero è divisore usare l’operatore % (modulo) che restituisce il resto della divisione. Un numero intero è detto divisore quando il resto della divisione per quello è zero. 9) eSercizio Costruire un programma con un pulsante pulsan e una ListBox e associare ssociare al pulsante il seguente codice VC#: listBox1.Items.Clear(); for (int i=0; i<100; ; i+=7) i+ listBox1.Items.Add Add(i); Provare a fare un ipotesi sull’effetto del pulsante prima di provarlo e verificare la correttezza della propria idea. 10) eSercizio Costruire un programma che legge da due TextBox due differenti numeri interi positivi e visualizza in un messaggio il loro più grande divisore comune (Massimo Comun Divisore). Nota: ci sono molti metodi di risoluzione. Una tecnica consiste nel prendere come candidato il minore dei due numeri dati e poi retrocedere fino a trovarlo. Un’altra tecnica consiste nell’algoritmo di Euclide o per sottrazioni successive che trovi qui : http://utenti.quipo.it/base5/numeri/euclidalgor.htm 11) eSercizio Costruire un programma che legge da due TextBox due differenti numeri interi positivi e visualizza in una ListBox tutti i loro divisori comuni. Ogni volta che si leggono dei nuovi numeri, pulire la ListBox. Attenzione: per verificare se un numero è divisore usare l’operatore % (modulo) che restituisce il resto della divisione. 12) eSercizio Costruire un programma che legge da due TextBox due differenti numeri interi positivi e visualizza in un messaggio quanti sono i loro divisori comuni. Ogni volta che si leggono dei nuovi numeri, pulire la ListBox. Attenzione: nel messaggio compare solo quanti sono i divisori comuni. Per esempio se i numeri in ingresso sono 15 e 24 il risultato mostrato è 2. 3 Dispensa di Visual C# Andrea Zoccheddu 03-X1_Esercizi_[02] eSercizi Sui cicli nidificati 13) eSercizio Costruire un programma con un pulsante e una ListBox e associare al pulsante il seguente codice VC#: listBox1.Items.Clear(); for (int d=0; d<10; ; d++) for (int u=0; u<10; <10; u++) listBox1.Items.Add Add(d*10 + u); Provare a fare un ipotesi sull’effetto del pulsante prima di provarlo e verificare la correttezza della propria idea. 14) eSercizio Costruire un programma con un pulsante pulsan e una ListBox e associare ssociare al pulsante il seguente codice VC#: listBox1.Items.Clear(); for (int d=0; d<10; ; d++) for (int u=0; u<10; <10; u++) if (d==u) listBox1.Items. listBox1.Items.Add("OK " + d) else listBox1.Items. listBox1.Items.Add("DIVERSI " + d + " " + u ); Provare a fare un ipotesi sull’effetto del pulsante prima di provarlo e verificare la correttezza della propria idea. 15) eSercizio Costruire un programma che legge da una TextBox un numero inter intero positivo e visualizza in un messaggio se è un numero primo, cioè divisibile solo per 1 e per sé stesso. Ogni volta che si legge un numero, pulire la ListBox. Attenzione: nel messaggio compare solo se è primo oppure no. Un solo messaggio con una sola frase! 16) eSercizio Costruire un programma che legge da una TextBox un numero intero positivo e visualizza in una ListBox quali sono i numeri primi minori di esso. Ogni volta che si legge un numero, pulire la ListBox. Attenzione: nel messaggio compare solo se è primo oppure no. Un solo messaggio con una sola frase! 17) eSercizio Costruire un programma che scrive in una ListBox Scrivere un programma che chiede all'utente di inserire un numero intero positivo n, e quindi stampa la tabellina moltiplicativa fra tutti i numeri compresi tra 1 e n (inclusi). 18) eSercizio Si consideri la seguente funzione applicabile ad un numero n intero positivo: - se n è pari f(n)=n/2 se n è dispari f(n)=3*n+1 4 Dispensa di Visual C# Andrea Zoccheddu 03-X1_Esercizi_[02] La congettura di Collatz sostiene che applicando ripetutamente la funzione f() al numero ottenuto dall'iterazione precedente, la sequenza di numeri che si ottiene termina sempre con il valore 1, indipendentemente dal valore n di partenza. Scrivere un programma che chiede all'utente all'utente un numero k intero positivo, e controlla la veridicità della congettura per tutti i valori interi compresi tra k e 2. Per ogni valore n compreso in tale intervallo il programma dovrà stampare la relativa sequenza numerica. Esempio: se k=5 il programma stamperà s a video 5 -> f(5)=16 -> f(16)=8 -> > f(8)=4 -> f(4)=2 -> f(2)=1 4 -> f(4)=2 -> f(2)=1 3 -> f(3)=10 -> f(10)=5 -> > f(5)=16 -> f(16)=8 -> f(8)=4 -> f(4)=2 -> f(2)=1 2 -> f(2)=1 Fonte: http://www.dis.uniroma1.it/~fi/wikka.php?wakka=Eserc05091102 19) eSercizio Scriveree un programma che visualizza il seguente quadrato usando due cicli annidati: 11111111 22222222 33333333 44444444 55555555 66666666 77777777 88888888 Scrivete tre versionii del programma: una usando due for, una usando due while ed una usando due do/while. 20) eSercizio Scrivere un programma che legge un intero positivo k e visualizza in una ListBox un quadrato di asterischi di lato k; ad esempio se k=4 allora visualizza: **** **** **** **** Scrivere un programma che legge un intero positivo k e visualizza in una ListBox un triangolo rettangolo di asterischi di lato k; ad esempio se k=4 allora visualizza: **** *** ** * Scrivere un programma che legge un intero positivo k e visualizza in una ListBox un triangolo rettangolo di asterischi di lato k; ad esempio se k=4 allora visualizza: * ** *** **** 5 Dispensa di Visual C# Andrea Zoccheddu 03-X1_Esercizi_[02] Sommario ESERCIZI ................................................................................................ ................................ ....................................... 2 Esercizi sui cicli di base ................................................................ ............................................................. 2 1) Esercizio ................................................................................................ ................................ .......................................................... 2 2) Esercizio ................................................................................................ ................................ .......................................................... 2 3) Esercizio ................................................................................................ ................................ .......................................................... 2 4) Esercizio ................................................................................................ ................................ .......................................................... 2 5) Esercizio ................................................................................................ ................................ .......................................................... 2 6) Esercizio ................................................................................................ ................................ .......................................................... 2 7) Esercizio ................................................................................................ ................................ .......................................................... 2 8) Esercizio ................................................................................................ ................................ .......................................................... 3 9) Esercizio ................................................................................................ ................................ .......................................................... 3 10) Esercizio ................................................................................................ ................................ ....................................................... 3 11) Esercizio ................................................................................................ ................................ ....................................................... 3 12) Esercizio ................................................................................................ ................................ ....................................................... 3 Esercizi sui cicli nidificati ................................................................ ......................................................... 4 13) Esercizio ................................................................................................ ................................ ....................................................... 4 14) Esercizio ................................................................................................ ................................ ....................................................... 4 15) Esercizio ................................................................................................ ................................ ....................................................... 4 16) Esercizio ................................................................................................ ................................ ....................................................... 4 17) Esercizio ................................................................................................ ................................ ....................................................... 4 18) Esercizio ................................................................................................ ................................ ....................................................... 4 19) Esercizio ................................................................................................ ................................ ....................................................... 5 20) Esercizio ................................................................................................ ................................ ....................................................... 5 SOMMARIO ................................................................................................ ................................ .................................... 6 6 Dispensa di Visual C#