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

Slides:



Advertisements
Presentazioni simili
C++ Di Marco Cozzani.
Advertisements

Gli Algoritmi di ordinamento
Stringhe di caratteri In linguaggio C.
Algoritmi notevoli In linguaggio C.
Introduzione ad Array e Funzioni 2IC/2ID – a. s.2012/13.
1 Informatica Generale Susanna Pelagatti Ricevimento: Mercoledì ore presso Dipartimento di Informatica, Via Buonarroti,
Algoritmi in C++ (1) da completare
1 FONDAMENTI DI INFORMATICA II Ingegneria Gestionale a.a ° Ciclo Liste.
STRUTTURE DATI e LABORATORIO II ESERCITAZIONE N°13 Heap massimo.
Tail recursion: esempio
Informatica 2. Concetti fondamentali di programmazione Programmare vuol dire scrivere un algoritmo in un linguaggio che faccia funzionare un calcolatore.
1 Corso di Laurea in Biotecnologie Informatica (Programmazione) Introduzione a JAVA Anno Accademico 2009/2010.
1 Corso di Informatica (Programmazione) Lezione 12 (19 novembre 2008) Programmazione in Java: i metodi statici.
1 Corso di Laurea in Biotecnologie Informatica (Programmazione) Array Anno Accademico 2009/2010.
Corso di Informatica (Programmazione)
1 Corso di Informatica (Programmazione) Lezione 13 (21 novembre 2008) Programmazione in Java: stringhe e array.
1 Corso di Laurea in Biotecnologie Informatica (Programmazione) JAVA: i commenti Anno Accademico 2009/2010.
1 Corso di Informatica (Programmazione) Esercitazione 2 (3 dicembre 2008)
Esercizio 4 Data una stringa P di lunghezza m e definita sullalfabeto, scrivere un programma PERL per calcolare la seguente funzione: PREFIX_FUNCTION:
1 Corso di Informatica (Programmazione) Raffaella Rizzi DISCO Dipartimento di Informatica Sistemistica e Comunicazione Edificio U14 - primo piano - stanza.
1 Corso di Informatica (Programmazione) Esercitazione 3 (5 dicembre 2008)
Corso di Laurea Ingegneria Informatica Fondamenti di Informatica
ITERAZIONE e RICORSIONE (eseguire uno stesso calcolo ripetutamente)
Selezione (=scelta) con “if-else”
Strutture di controllo in C -- Flow Chart --
Politecnico di Milano Esercizi Preparazione alla prima prova intermedia.
TIPI DI DATO Un tipo di dato T è definito come: un dominio di valori, D un insieme di funzioni F 1,..,F n sul dominio D un insieme di predicati P 1,..,P.
Elementi di Informatica di base
Sistemi e Tecnologie Informatiche
Problema dell’ordinamento di un array: Il metodo Bubble Sort.
Diagramma di flusso del problema del Supermercato.
Corso di informatica Athena – Periti Informatici
Sviluppare un programma in C che, dato un array da 100 elementi interi caricato con numeri casuali compresi tra [10,100], sia in grado di cercare il valore.
Corso di Programmazione in Java – Esercizio n° 001
Ricerca sequenziale in un array di interi
Esercitazione su Vector. Permette di definire collezioni di dati generiche, che sono in grado di memorizzare elementi di ogni sottotipo di Object Definito.
Università di Torino – Facoltà di Scienze MFN Corso di Studi in Informatica Programmazione I - corso B a.a prof. Viviana Bono Blocco 7 – Array.
Fondamenti di informatica Oggetti e Java Luca Cabibbo Luca Cabibbo – Fondamenti di informatica: Oggetti e Java Copyright © 2004 – The McGraw-Hill Companies.
Array (visita e ricerca) CORDA – Informatica A. Ferrari.
1 Java secondo contatto Nel tunnel una luce…. 2 Esercizio - Contatore Definire la classe Contatore con le seguenti caratteristiche:  Il metodo getValore.
Corso di Laurea Ingegneria Informatica Fondamenti di Informatica
30/10/01Array 1  Un array e’ una struttura dati che contiene piu’ valori del medesimo tipo.  La lunghezza di un array e’ stabilita quando l’array viene.
Input in Java. Uso Scanner Un oggetto per la lettura dalla tastiera Piuttosto, per rappresentare la tastiera del nostro calcolatore useremo un oggetto.
XXXII CONVEGNO NAZIONALE Società Italiana di Chimica Agraria
Ciclo di Seminari e Corso
Valutazione dei risultati della classificazione
Stato di COMPASS Franco Bradamante CSN1 Roma, 16 luglio 2012.
La struttura dei materiali
ESSERE HOMELESS: PERCORSI DI VITA E FATTORI DETERMINANTI
Introduzione a VPN Ing. Gianpiero Ciacci.
Le verifiche empiriche del teorema di Heckscher-Ohlin: il paradosso di Leontief Wassily Leontief realizzò la prima verifica empirica del teorema di HO.
Politica economica: che cosa è?
REDDITO DI CITTADINANZA E OPPORTUNITA’ ECONOMICA: UN CONFRONTO TRA ITALIA E RESTO D’EUROPA Pasquale Tridico Dipartimento di Economia, Università Roma Tre.
L’infiltrazione LM-75: 2016/2017
UN NUOVO MODO DI GUARDARE IL MONDO
LE NOVITÀ DEL BILANCIO 2016 …………………………………………………………………………………………………………..
Pubblica Amministrazione: semplificazione e costi della politica
Il processo di analisi dei fabbisogni
Proactive Care e Proactive Care Advanced
Maria Antonietta Volonté Dipartimento di Neurologia
È possibile rendere comprensibile oggi questo termine filosofico, al di fuori della esigua cerchia degli specialisti? Io una volta ci ho provato in una.
1.2 Nuovi prodotti alimentari
ASSOCIAZIONE ITALIANA GIURISTI DI IMPRESA
Esame delle modifiche apportate al precedente ordinamento
Profilo biografico e opere
Endometriosi profonda: quando la chirurgia
Nota AIFA 75 Determinazione 18 novembre 2010 (GU 29 novembre 2010, n. 279): modifiche, con riferimento alla nota AIFA 75,  alla determinazione del 4 gennaio.
Associazione Sindrome X Fragile Puglia
La Componente personale
Valutazione delle prestazioni di programmi paralleli
Transcript della presentazione:

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

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) Risultato = 51 A

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 Esercizi sugli array 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 Esercizi sugli array 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= A - step 3 i=2 A[2] è multiplo di 3? NO! Quindi s rimane a 15

6 Esercizi sugli array 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= A - step 5 i=4 A[4] è multiplo di 3? NO! Quindi s rimane a 36

7 Esercizi sugli array 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= A - step 7 i=6 A[6] è multiplo di 3? NO! Quindi s rimane a 42

8 Esercizi sugli array 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= A - step 9 i=8 A[8] è multiplo di 3? NO! Quindi s rimane a 51

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

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 Esercizi sugli array Esercizio 2 dato un array A di N interi calcolare contare il numero degli elementi pari Esempio (N=10) Risultato 5 A

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 Esercizi sugli array 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 Esercizi sugli array A - step 2 i=1 A[1] è pari? NO! Quindi c rimane a A - step 3 i=2 A[2] è pari? SI! Quindi incremento c di 1, e c va a 2

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

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

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

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

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 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 Esercizi sugli array Esercizio 3 dato un array A di N interi cercare lelemento minimo e la sua posizione in A Esempio (N=10) Risultato 3 A

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 Esercizi sugli array 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 Esercizi sugli array A - step 2 i=2 A[2] è minore di min? NO! Quindi min rimane a 4 e posMin a A - step 3 i=3 A[3] è minore di min? NO! Quindi min rimane a 4 e posMin a 0

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

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

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

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

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 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); }