La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

1 Corso di Informatica (Programmazione) Esercitazione 1 (26 novembre 2008)

Presentazioni simili


Presentazione sul tema: "1 Corso di Informatica (Programmazione) Esercitazione 1 (26 novembre 2008)"— Transcript della presentazione:

1 1 Corso di Informatica (Programmazione) Esercitazione 1 (26 novembre 2008)

2 2 Esercizi sugli array Esercizio 1 dato un array A di N interi calcolare la somma degli elementi che sono multipli di 3 Esempio (N=10) 415202140679101 Risultato 15 + 21 + 6 + 9 = 51 A

3 3 Esercizi sugli array Algoritmo: dichiaro una variabile s che dovrà contenere il risultato finale e che inizialmente ha valore 0. Scorro gli elementi di A dal primo in posizione 0 (cioè A[0]) allultimo in posizione (N-1) (cioè A[N-1]). Aggiungo a s lelemento che sto considerando nella generica posizione i (cioè A[i]) ogni volta che questo è multiplo di 3.

4 4 Esercizi sugli array 415202140679101 A Esecuzione dellalgoritmo per larray A di 10 interi dellesempio precedente: - allinizio ho s=0 - step 1 i=0 (i è lindice che scandisce gli elementi di A) A[0] è multiplo di 3? NO! Quindi s rimane a 0

5 5 Esercizi sugli array 415202140679101 A - step 2 i=1 A[1] è multiplo di 3? SI! Quindi sommo a s il valore di A[1] che è 15 s=s+15=0+15=15 415202140679101 A - step 3 i=2 A[2] è multiplo di 3? NO! Quindi s rimane a 15

6 6 Esercizi sugli array 415202140679101 A - step 4 i=3 A[3] è multiplo di 3? SI! Quindi sommo a s il valore di A[3] che è 21 s=s+21=15+21=36 415202140679101 A - step 5 i=4 A[4] è multiplo di 3? NO! Quindi s rimane a 36

7 7 Esercizi sugli array 415202140679101 A - step 6 i=5 A[5] è multiplo di 3? SI! Quindi sommo a s il valore di A[5] che è 6 s=s+6=36+6=42 415202140679101 A - step 7 i=6 A[6] è multiplo di 3? NO! Quindi s rimane a 42

8 8 Esercizi sugli array 415202140679101 A - step 8 i=7 A[7] è multiplo di 3? SI! Quindi sommo a s il valore di A[7] che è 9 s=s+9=42+9=51 415202140679101 A - step 9 i=8 A[8] è multiplo di 3? NO! Quindi s rimane a 51

9 9 Esercizi sugli array 415202140679101 A - step 10 i=9 A[9] è multiplo di 3? NO! Quindi s rimane a 51 Risultato 51

10 10 Esercizi sugli array public class SommaMultipliTre { public static void main(String arg[]) { int[] A={4,15,20,21,40,6,7,9,10,1}; int i; int s, length; length=10; i=0; s=0; while(i <= lentgth-1){ //Verifico se lelemento i-esimo //è multiplo di 3 if(A[i] % 3 == 0){ s=s+A[i]; } i=i+1; } System.out.println(Somma=+s); }

11 11 Esercizi sugli array Esercizio 2 dato un array A di N interi calcolare contare il numero degli elementi pari Esempio (N=10) 415202140679101 Risultato 5 A

12 12 Esercizi sugli array Algoritmo: dichiaro una variabile c che dovrà contenere il risultato finale e che inizialmente ha valore 0. Scorro gli elementi di A dal primo in posizione 0 (cioè A[0]) allultimo in Posizione (N-1) (cioè A[N-1]). Incremento c di 1 ogni volta che lelemento, che sto considerando nella generica posizione i (cioè A[i]), è pari.

13 13 Esercizi sugli array 415202140679101 A Esecuzione dellalgoritmo per larray A di 10 interi dellesempio precedente: - allinizio ho c=0 - step 1 i=0 (i è lindice che scandisce gli elementi di A) A[0] è pari? SI! Quindi incremento c di 1, e c va a 1

14 14 Esercizi sugli array 152179 42040610 1 A - step 2 i=1 A[1] è pari? NO! Quindi c rimane a 1 152179 42040610 1 A - step 3 i=2 A[2] è pari? SI! Quindi incremento c di 1, e c va a 2

15 15 Esercizi sugli array 415202140679101 A - step 4 i=3 A[3] è pari? NO! Quindi c rimane a 2 152179420406101 A - step 5 i=4 A[4] è pari? SI! Quindi incremento c di 1, e c va a 3

16 16 Esercizi sugli array 152179420406101 A - step 6 i=5 A[5] è pari? SI! Quindi incremento c di 1, e c va a 4 152179420406101 A - step 7 i=6 A[6] è pari? NO! Quindi c rimane a 4

17 17 Esercizi sugli array 152179420406101 A - step 8 i=7 A[7] è pari? NO! Quindi c rimane a 4 152179420406101 A - step 9 i=8 A[8] è pari? SI! Quindi incremento c di 1, e c va a 5

18 18 Esercizi sugli array 415202140679101 A - step 10 i=9 A[9] è pari? NO! Quindi c rimane a 5 Risultato 5 Il programma per contare i dispari è analogo!

19 19 Esercizi sugli array public class ContaPari { public static void main(String arg[]) { int[] A={4,15,20,21,40,6,7,9,10,1}; int i; int c, length; length=10; i=0; c=0; while(i <= lentgth-1){ //Verifico se lelemento i-esimo //è pari (multiplo di 2) if(A[i] % 2 == 0){ c=c+1; } i=i+1; } System.out.println(Numero pari=+c); }

20 20 Esercizi sugli array public class ContaDispari { public static void main(String arg[]) { int[] A={4,15,20,21,40,6,7,9,10,1}; int i; int c, length; length=10; i=0; c=0; while(i <= lentgth-1){ //Verifico se lelemento i-esimo //è dispari (non è multiplo di 2) if(A[i] % 2 != 0){ c=c+1; } i=i+1; } System.out.println(Numero dispari=+c); }

21 21 Esercizi sugli array Esercizio 3 dato un array A di N interi cercare lelemento minimo e la sua posizione in A Esempio (N=10) 415202136791040 Risultato 3 A

22 22 Esercizi sugli array Algoritmo: dichiaro due variabili, min e posMin, che dovranno contenere i risultati finali (rispettivamente il valore minimo e la sua posizione) e che inizialmente sono uguali rispettivamente al valore del primo elemento di A (cioè A[0]) e al valore della sua posizione in A (cioè 0). Scorro gli elementi di A dal secondo in posizione 1 (cioè A[1]) allultimo in posizione (N-1) (cioè A[N-1]). Ogni volta che lelemento che sto considerando nella generica posizione i (cioè A[i]) è minore del valore di min, allora aggiorno min con il valore di A[i] e posMin con il valore i.

23 23 Esercizi sugli array 415202136791040 A Esecuzione dellalgoritmo per larray A di 10 interi dellesempio precedente: - allinizio ho min=A[0]=4 e posMin=0 - step 1 i=1 (i è lindice che scandisce gli elementi di A) A[1] è minore di min? NO! Quindi min rimane a 4 e posMin a 0

24 24 Esercizi sugli array 152179420361040 A - step 2 i=2 A[2] è minore di min? NO! Quindi min rimane a 4 e posMin a 0 152179420361040 A - step 3 i=3 A[3] è minore di min? NO! Quindi min rimane a 4 e posMin a 0

25 25 Esercizi sugli array 152179420361040 A - step 4 i=4 A[4] è minore di min? SI! Quindi min assume il valore 3 e posMin il valore 4 152179420361040 A - step 5 i=5 A[5] è minore di min? NO! Quindi min rimane a 3 e posMin a 4

26 26 Esercizi sugli array 152179420361040 A - step 6 i=6 A[6] è minore di min? NO! Quindi min rimane a 3 e posMin a 4 152179420361040 A - step 7 i=7 A[7] è minore di min? NO! Quindi min rimane a 3 e posMin a 4

27 27 Esercizi sugli array 152179420361040 A - step 8 i=8 A[8] è minore di min? NO! Quindi min rimane a 3 e posMin a 4 152179420361040 A - step 9 i=9 A[9] è minore di min? NO! Quindi min rimane a 3 e posMin a 4

28 28 Esercizi sugli array Risultato min è 3 e posMin è 4 Il programma per trovare il massimo è analogo!

29 29 Esercizi sugli array public class TrovaMinimo { public static void main(String arg[]) { int[] A={4,15,20,21,3,6,7,9,10,4}; int i; int min, posMin, length; length=10; i=1; posMin=0; min=A[posMin]; while(i <= lentgth-1){ //Verifico se lelemento i-esimo //è minore del minimo corrente if(A[i] < min){ min=A[i]; posMin=i; } i=i+1; } System.out.println(Minimo=+min+ in posizione +posMin); }

30 30 Esercizi sugli array public class TrovaMassimo { public static void main(String arg[]) { int[] A={4,15,20,21,3,6,7,9,10,4}; int i; int max, posMax, length; length=10; i=1; posMax=0; max=A[posMax]; while(i <= lentgth-1){ //Verifico se lelemento i-esimo //è maggiore del massimo corrente if(A[i] > max){ max=A[i]; posMax=i; } i=i+1; } System.out.println(Massimo=+max+ in posizione +posMax); }


Scaricare ppt "1 Corso di Informatica (Programmazione) Esercitazione 1 (26 novembre 2008)"

Presentazioni simili


Annunci Google