Scaricare la presentazione
La presentazione è in caricamento. Aspetta per favore
PubblicatoEnrichetta Tonelli Modificato 11 anni fa
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); }
Presentazioni simili
© 2024 SlidePlayer.it Inc.
All rights reserved.