6 - Blocchi e cicli. Programmazione e analisi di dati Modulo A: Programmazione in Java. Paolo Milazzo
|
|
|
- Giustina Manca
- 8 anni fa
- Visualizzazioni
Transcript
1 6 - Blocchi e cicli Programmazione e analisi di dati Modulo A: Programmazione in Java Paolo Milazzo Dipartimento di Informatica, Università di Pisa milazzo di.unipi.it Corso di Laurea Magistrale in Informatica Umanistica A.A. 2016/2017 Paolo Milazzo (Università di Pisa) Programmazione - Blocchi e cicli A.A. 2016/ / 30
2 Sommario 1 Blocchi e visibilita delle variabili 2 Comandi iterativi (cicli) Il comando while Il comando for Paolo Milazzo (Università di Pisa) Programmazione - Blocchi e cicli A.A. 2016/ / 30
3 Blocchi (1) Abbiamo visto che se in un ramo di un if devono essere eseguiti più comandi ci vuole un blocco Un blocco è una sequenza di comandi racchiusa tra parentesi graffe if ( saldo >=0) { System. out. println (" Saldo positivo "); double interesseattivo = saldo * tassoattivo ; saldo = saldo + interesseattivo ; Paolo Milazzo (Università di Pisa) Programmazione - Blocchi e cicli A.A. 2016/ / 30
4 Blocchi (2) Il corpo del metodo main è un altro esempio di blocco static public void main ( String [] args ) {... Un blocco può essere inserito tra gli altri comandi del programma System. out. println (" Prima del blocco "); { System. out. println (" Dentro... "); System. out. println ("... al blocco "); System. out. println (" Fuori del blocco "); Inoltre, i blocchi possono essere annidati (uno dentro l altro) System. out. println (" Fuori dai blocchi "); { System. out. println (" Nel primo blocco "); { System. out. println (" Nel secondo... "); System. out. println ("... blocco "); System. out. println ("Di nuovo nel primo blocco "); System. out. println (" Fuori dai blocchi "); Paolo Milazzo (Università di Pisa) Programmazione - Blocchi e cicli A.A. 2016/ / 30
5 Variabili locali Una proprietà importante dei blocchi è la seguente: le variabili dichiarate in un blocco sono locali al blocco e, quindi, scompaiono dopo l esecuzione del blocco if ( saldo >=0) { System. out. println (" Saldo positivo "); double interesse = saldo * tasso ; saldo = saldo + interesse ; System. out. println ( interesse ); // ERRORE! Paolo Milazzo (Università di Pisa) Programmazione - Blocchi e cicli A.A. 2016/ / 30
6 Visibilità delle variabili (1) Si può definire una nozione di visibilità (o scope) di una variabile La visibilità (o scope) di una variabile è la porzione di programma in cui tale variabile può essere utilizzata La visibilità di una variabile locale (cioè definita in un blocco) è la porzione di programma che va dalla dichiarazione della variabile stessa alla fine del blocco che la contiene NOTA: Anche il corpo del metodo main è un blocco! Le variabili usate fino ad ora erano locali al metodo main Paolo Milazzo (Università di Pisa) Programmazione - Blocchi e cicli A.A. 2016/ / 30
7 Visibilità delle variabili (2) Limitare la visibilità di una variabile al blocco che la contiene consente di riutilizzare nomi di variabili in parti diverse del programma anche con tipi diversi boolean leggiintero =...; if ( leggiintero ) { int val = input. nextint (); System. out. print ("Il numero letto e :"); System. out. println ( val ); else { double val = input. nextdouble (); System. out. print ("Il numero letto e :"); System. out. println ( val ); Tutto ciò sarà particolarmente utile nei cicli e nei programmi costituiti da più classi e metodi... (vedremo) Paolo Milazzo (Università di Pisa) Programmazione - Blocchi e cicli A.A. 2016/ / 30
8 Visibilità delle variabili (3) ATTENZIONE: Le variabili dichiarate in un blocco non possono avere il nome di variabili esterne al blocco stesso int a =0; Il compilatore segnalerebbe un errore { int a =0; // ERRORE : variabile gia dichiarata int b =10; System. out. println (a+b); Paolo Milazzo (Università di Pisa) Programmazione - Blocchi e cicli A.A. 2016/ / 30
9 Sommario 1 Blocchi e visibilita delle variabili 2 Comandi iterativi (cicli) Il comando while Il comando for Paolo Milazzo (Università di Pisa) Programmazione - Blocchi e cicli A.A. 2016/ / 30
10 Ripetere, ripetere, ripetere... Tempo fa abbiamo visto il seguente programma Somma, che calcola la somma di due numeri E se volessimo sommare un numero arbitrario di numeri (a scelta dell utente)? Serve un comando per poter ITERARE (ripetere) più volte delle operazioni Vogliamo quindi realizzare dei CICLI Paolo Milazzo (Università di Pisa) Programmazione - Blocchi e cicli A.A. 2016/ / 30
11 Il comando while (1) Il comando while consente di ripetere un comando (o un blocco) fintanto che una condizione specificata è vera import java. util. Scanner ; public class SommaNumeri { public static void main ( String [] args ) { Scanner input = new Scanner ( System. in ); System. out. println (" Quanti numeri vuoi sommare?"); int numeri = input. nextint (); int cont =0; // variabile da usare come contatore int somma =0; // variabile da usare come accumulatore while ( cont < numeri ) { // fintanto che cont e minore di numeri System. out. println (" Inserisci il prossimo numero "); int n= input. nextint (); somma = somma +n; // aggiorna l accumulatore cont = cont +1; // incrementa il contatore System. out. println ( somma ); Paolo Milazzo (Università di Pisa) Programmazione - Blocchi e cicli A.A. 2016/ / 30
12 Il comando while (2) Il comando while ha la seguente forma: dove: while (...condizione...)...comando... La condizione è detta anche guardia del while La guardia può essere una qualunque espressione booleana Il comando (o blocco) è detto corpo del while Semantica del comando: 1. La guardia viene valutata 2. Se la guardia è vera si esegue il corpo e si ricomincia dal punto 1 3. Se la guardia è falsa si salta il corpo e si procede con l istruzione successiva al while Paolo Milazzo (Università di Pisa) Programmazione - Blocchi e cicli A.A. 2016/ / 30
13 Il comando while (3) Paolo Milazzo (Università di Pisa) Programmazione - Blocchi e cicli A.A. 2016/ / 30
14 Comandi di assegnamento ausiliari (1) Nel programma SommaNumeri abbiamo visto i seguenti comandi: somma = somma +n; // aggiorna l accumulatore cont = cont +1; // incrementa il contatore Quando si usano i cicli, questo tipo di assegnamenti diventano frequenti. Per questo in Java esistono dei comandi di assegnamento ausiliari (abbreviazioni sintattiche) che semplificano un po la scrittura: somma +=n; // corrisponde a somma = somma +n cont ++; // corrisponde a cont = cont +1 In maniera analoga abbiamo x -=y // corrisponde a x=x- y x*=y // corrisponde a x=x* y x/=y // corrisponde a x=x/ y i-- // corrisponde a i=i -1 Nota: esistono anche le forme prefisse ++i e --i che hanno senso quando si usano le operazioni di assegnamento all interno di espressioni. Questa però non è in generale una buona pratica. Paolo Milazzo (Università di Pisa) Programmazione - Blocchi e cicli A.A. 2016/ / 30
15 Comandi di assegnamento ausiliari (2) Modifichiamo il programma usando i comandi di assegnamento ausiliari import java. util. Scanner ; public class SommaNumeri2 { public static void main ( String [] args ) { Scanner input = new Scanner ( System. in ); System. out. println (" Quanti numeri vuoi sommare?"); int numeri = input. nextint (); int cont =0; // variabile da usare come contatore int somma =0; // variabile da usare come accumulatore while ( cont < numeri ) { // fintanto che cont e minore di numeri System. out. println (" Inserisci il prossimo numero "); int n= input. nextint (); somma +=n; // aggiorna l accumulatore ( con +=) cont ++; // incrementa il contatore ( con ++) System. out. println ( somma ); Paolo Milazzo (Università di Pisa) Programmazione - Blocchi e cicli A.A. 2016/ / 30
16 Esempio d uso (1) Negozio di Caramelle: abbiamo 100 caramelle da vendere al prezzo di 50 cent l una i clienti arrivano uno dopo l altro e possono comprare quante caramelle vogliono (fino ad esaurimento) import java. util. Scanner ; public class CandyShop { public static void main ( String [] args ) { Scanner input = new Scanner ( System. in ); int caramelle =100; // caramelle in magazzino final double PREZZO =0.5; // prezzo singola caramella in euro while ( caramelle >0) { // fintanto che non ho esaurito le caramelle System. out. print (" Sono disponibili "); System. out. print ( caramelle ); System. out. println (" caramelle "); System. out. println (" Quante ne vuoi comprare?"); int num = input. nextint ();... continua... Paolo Milazzo (Università di Pisa) Programmazione - Blocchi e cicli A.A. 2016/ / 30
17 Esempio d uso (2)... continua... if ( num <0) // controlla l input System. out. println (" Numero errato "); else { if (num > caramelle ) { num = caramelle ; System. out. println (" Hai chiesto troppe caramelle "); System. out. print ("Te ne daro soltanto "); System. out. println ( num ); caramelle -= num ; // preleva le caramelle dal magazzino System. out. print (" Costo : "); System. out. print ( num * PREZZO ); System. out. println (" euro "); // a questo punto il ciclo e terminato // cioe le caramelle sono esaurite ( caramelle <=0) System. out. println (" CARAMELLE TERMINATE!"); Paolo Milazzo (Università di Pisa) Programmazione - Blocchi e cicli A.A. 2016/ / 30
18 I cicli do-while (1) Quando siamo sicuri che il corpo di un ciclo deve essere eseguito almeno una volta possiamo usare un do-while Modifichiamo l esempio SommaNumeri in modo che continui a sommare numeri finchè l utente non inserisce un numero negativo import java. util. Scanner ; public class SommaNumeri3 { public static void main ( String [] args ) { Scanner input = new Scanner ( System. in ); int somma =0; // variabile da usare come accumulatore int n; // variabile che memorizza i numeri inseriti /* NOTA : n deve essere dichiarata qui per essere visibile nella guardia del while */ do { System. out. println (" Inserisci il prossimo numero "); n= input. nextint (); if (n >=0) somma +=n; // aggiorna l accumulatore se n >=0 while (n >=0); // cicla fintanto che n non e negativo System. out. println ( somma ); Paolo Milazzo (Università di Pisa) Programmazione - Blocchi e cicli A.A. 2016/ / 30
19 I cicli do-while (2) Il comando do-while ha la seguente forma: do...comando... while (...condizione...) dove: La condizione è detta anche guardia del do-while La guardia può essere una qualunque espressione booleana Il comando (o blocco) è detto corpo del do-while Semantica del comando: 1. Il corpo viene eseguito 2. La guardia viene valutata 2. Se la guardia è vera si ricomincia dal punto 1 3. Se la guardia è falsa si procede con l istruzione successiva al while Paolo Milazzo (Università di Pisa) Programmazione - Blocchi e cicli A.A. 2016/ / 30
20 I cicli do-while (3) Paolo Milazzo (Università di Pisa) Programmazione - Blocchi e cicli A.A. 2016/ / 30
21 Sommario 1 Blocchi e visibilita delle variabili 2 Comandi iterativi (cicli) Il comando while Il comando for Paolo Milazzo (Università di Pisa) Programmazione - Blocchi e cicli A.A. 2016/ / 30
22 Quante iterazioni fa un ciclo? Quando scriviamo un ciclo while, in generale potremmo non sapere quante iterazioni esso farà Esempio: in CandyShop il numero di iterazioni dipende da quante caramelle compra ad ogni passo l utente Iterazione indeterminata: corro finchè ho fiato... In alcuni casi, invece, il numero di iterazioni è noto a priori Esempio: in SommaNumeri si chiede all utente quanti numeri voglia sommare, e il numero inserito dall utente diventa esattamente il numero di iterazioni del ciclo. Iterazione determinata: corro per 10 giri di campo... Quando il numero di iterazioni è noto a priori, in alternativa al while possiamo usare il comando for Paolo Milazzo (Università di Pisa) Programmazione - Blocchi e cicli A.A. 2016/ / 30
23 I cicli for (1) Il comando for ha la seguente forma: for (..cmdiniz.. ;..condiz.. ;..cmdagg.. )...corpo... dove: cmdiniz è un comando eseguito all inizio del ciclo condiz è la guardia del ciclo La guardia può essere una qualunque espressione booleana cmdagg un comando eseguito ad ogni iterazione (Agg sta per aggiornamento) Il corpo può essere un singolo comando o un blocco Paolo Milazzo (Università di Pisa) Programmazione - Blocchi e cicli A.A. 2016/ / 30
24 I cicli for (2) Un esempietto semplice: for ( int i =0; i <10; i ++) System. out. println (i); Questo programma stampa i valori da 0 a 9 uno dopo l altro In altre parole: Stampa tutti i valori di i, per i che va da 0 a 10 (escluso) aumentando ogni volta i di 1 Paolo Milazzo (Università di Pisa) Programmazione - Blocchi e cicli A.A. 2016/ / 30
25 I cicli for (3) for (..cmdiniz.. ;..condiz.. ;..cmdagg.. )...corpo... Semantica del comando: 1. Viene eseguito cmdiniz 2. La guardia (condiz) viene valutata 3. Se la guardia è vera: si esegue il corpo si esegue cmdagg si ricomincia da 2 (ATTENZIONE: non da 1) 4. Se la guardia è falsa si salta il corpo e si procede con l istruzione successiva al for Paolo Milazzo (Università di Pisa) Programmazione - Blocchi e cicli A.A. 2016/ / 30
26 I cicli for (4) Modifichiamo allora SommaNumeri usando un for import java. util. Scanner ; public class SommaNumeri4 { public static void main ( String [] args ) { Scanner input = new Scanner ( System. in ); System. out. println (" Quanti numeri vuoi sommare?"); int numeri = input. nextint (); int somma =0; // variabile da usare come accumulatore // per i che va da 0 a numeri ( escluso ) for ( int i =0; i< numeri ; i ++) { System. out. println (" Inserisci il prossimo numero "); int n= input. nextint (); somma +=n; // aggiorna l accumulatore System. out. println ( somma ); Paolo Milazzo (Università di Pisa) Programmazione - Blocchi e cicli A.A. 2016/ / 30
27 I cicli for (6) Un po di osservazioni: Nel ciclo for ( int i =0; i <10; i ++ System. out. println (i); la variabile i è locale. la sua visiblità è limitata al for è buona norma non modificare i nel corpo del for posso riutilizzare i in un for successivo I nomi i,j,k... sono usati comunemente per le variabili-contatore dei cicli for Si possono inserire più comandi di inizializzazione e aggiornamento usando la virgola for ( int i=0, j =0; i <10; i++,j+=i { System. out. println (i); System. out. println (j); Paolo Milazzo (Università di Pisa) Programmazione - Blocchi e cicli A.A. 2016/ / 30
28 I cicli for (7) Un ciclo for può essere sempre tradotto in un ciclo while equivalente Ad esempio, l esempietto visto prima for ( int i =0; i <10; i ++ System. out. println (i); è equivalente al seguente blocco (nota: i nel for e una variabile locale) { int i =0; while (i <10) { System. out. println (i); i ++; ossia: {... cmdiniz... while (... condiz...) {... corpo cmdagg... Paolo Milazzo (Università di Pisa) Programmazione - Blocchi e cicli A.A. 2016/ / 30
29 Annidamento cicli (1) Spesso nei programmi si usano cicli annidati un ciclo all interno del corpo di un altro ciclo il ciclo interno viene ri-eseguito ad ogni iterazione del ciclo esterno ovviamente si possono annidare for dentro for, while dentro for, while dentro while,... public class TavolaPitagorica { public static void main ( String [] args ) { for ( int i =1; i <=10; i ++) { for ( int j =1; j <=10; j ++) { System. out. print (i*j); System. out. print (" "); System. out. println (); // a capo Paolo Milazzo (Università di Pisa) Programmazione - Blocchi e cicli A.A. 2016/ / 30
30 Annidamento cicli (2) Output di TavolaPitagorica: Paolo Milazzo (Università di Pisa) Programmazione - Blocchi e cicli A.A. 2016/ / 30
5 - Istruzioni condizionali
5 - Istruzioni condizionali Programmazione e analisi di dati Modulo A: Programmazione in Java Paolo Milazzo Dipartimento di Informatica, Università di Pisa http://www.di.unipi.it/ milazzo milazzo di.unipi.it
9 - Array. Programmazione e analisi di dati Modulo A: Programmazione in Java. Paolo Milazzo
9 - Array Programmazione e analisi di dati Modulo A: Programmazione in Java Paolo Milazzo Dipartimento di Informatica, Università di Pisa http://www.di.unipi.it/ milazzo milazzo di.unipi.it Corso di Laurea
7 - Programmazione procedurale: Dichiarazione e chiamata di metodi ausiliari
7 - Programmazione procedurale: Dichiarazione e chiamata di metodi ausiliari Programmazione e analisi di dati Modulo A: Programmazione in Java Paolo Milazzo Dipartimento di Informatica, Università di Pisa
19 - Eccezioni. Programmazione e analisi di dati Modulo A: Programmazione in Java. Paolo Milazzo
19 - Eccezioni Programmazione e analisi di dati Modulo A: Programmazione in Java Paolo Milazzo Dipartimento di Informatica, Università di Pisa http://www.di.unipi.it/ milazzo milazzo di.unipi.it Corso
Linguaggio C - le strutture di controllo: sequenza, selezione, iterazione
Dipartimento di Elettronica ed Informazione Politecnico di Milano Informatica e CAD (c.i.) - ICA Prof. Pierluigi Plebani A.A. 2008/2009 Linguaggio C - le strutture di controllo: sequenza, selezione, iterazione
14 - Metodi e Costruttori
14 - Metodi e Costruttori Programmazione e analisi di dati Modulo A: Programmazione in Java Paolo Milazzo Dipartimento di Informatica, Università di Pisa http://www.di.unipi.it/ milazzo milazzo di.unipi.it
COMANDI ITERATIVI. Ivan Lanese
COMANDI ITERATIVI Ivan Lanese Argomenti Comando while Comando do while Comando for Comando while: reminder while (condizione) comando; Semantica: la condizione viene testata: se è vera, viene eseguito
18 - Classi parzialmente definite: Classi Astratte e Interfacce
18 - Classi parzialmente definite: Classi Astratte e Interfacce Programmazione e analisi di dati Modulo A: Programmazione in Java Paolo Milazzo Dipartimento di Informatica, Università di Pisa http://www.di.unipi.it/
Le strutture di controllo
INFORMATICA B Ingegneria Elettrica Le strutture di controllo Selezione un esempio introduttivo Si disegni il diagramma di flusso di un algoritmo che chiede all utente un valore intero e visualizza il suo
Errori frequenti Cicli iterativi Array. Cicli e array. Laboratorio di Programmazione I. Corso di Laurea in Informatica A.A.
Cicli e array Laboratorio di Programmazione I Corso di Laurea in Informatica A.A. 2016/2017 Calendario delle lezioni Lez. 1 Lez. 2 Lez. 3 Lez. 4 Lez. 5 Lez. 6 Lez. 7 Lez. 8 - Introduzione all ambiente
18 - Vettori. Programmazione e analisi di dati Modulo A: Programmazione in Java. Paolo Milazzo
18 - Vettori Programmazione e analisi di dati Modulo A: Programmazione in Java Paolo Milazzo Dipartimento di Informatica, Università di Pisa http://pages.di.unipi.it/milazzo milazzo di.unipi.it Corso di
Linguaggio C. strutture di controllo: strutture iterative. Università degli Studi di Brescia. Docente: Massimiliano Giacomin
Linguaggio C strutture di controllo: strutture iterative Università degli Studi di Brescia Docente: Massimiliano Giacomin Elementi di Informatica e Programmazione Università di Brescia 1 Strutture iterative
Istruzioni iterative (o cicliche)
Dipartimento di Informatica e Sistemistica Antonio Ruberti Sapienza Università di Roma Istruzioni iterative (o cicliche) Corso di Fondamenti di Informatica Laurea in Ingegneria Informatica (Canale di Ingegneria
Algebra di Boole: Concetti di base. E un algebra basata su tre operazioni logiche
Fondamenti di Informatica Algebra di Boole: Concetti di base Fondamenti di Informatica - D. Talia - UNICAL Algebra di Boole E un algebra basata su tre operazioni logiche OR AND NOT Ed operandi che possono
3 - Variabili. Programmazione e analisi di dati Modulo A: Programmazione in Java. Paolo Milazzo
3 - Variabili Programmazione e analisi di dati Modulo A: Programmazione in Java Paolo Milazzo Dipartimento di Informatica, Università di Pisa http://www.di.unipi.it/ milazzo milazzo di.unipi.it Corso di
Le basi del linguaggio Java
Le basi del linguaggio Java Compilazione e interpretazione Quando si compila il codice sorgente scritto in Java, il compilatore genera il codice compilato, chiamato bytecode. È un codice generato per una
Istruzioni iterative. Istruzioni iterative
Istruzioni iterative Esempio: Leggere 5 interi, calcolarne la somma e stamparli. Variante non accettabile: 5 variabili, 5 istruzioni di lettura, 5... int i1, i2, i3, i4, i5; scanf("%d", &i1):... scanf("%d",
Esercitazione 4. Comandi iterativi for, while, do-while
Esercitazione 4 Comandi iterativi for, while, do-while Comando for for (istr1; cond; istr2) istr3; Le istruzioni vengono eseguite nel seguente ordine: 1) esegui istr1 2) se cond è vera vai al passo 3 altrimenti
Funzioni, Stack e Visibilità delle Variabili in C
Funzioni, Stack e Visibilità delle Variabili in C Programmazione I e Laboratorio Corso di Laurea in Informatica A.A. 2016/2017 Calendario delle lezioni Lez. 1 Lez. 2 Lez. 3 Lez. 4 Lez. 5 Lez. 6 Lez. 7
CORSO DI PROGRAMMAZIONE
ISTITUTO TECNICO INDUSTRIALE G. M. ANGIOY SASSARI CORSO DI PROGRAMMAZIONE INTRODUZIONE ALLE ISTRUZIONI ITERATIVE DISPENSA 03.01 03-01_Iterazioni_[ver_15] Questa dispensa è rilasciata sotto la licenza Creative
INTRODUZIONE ALLA PROGRAMMAZIONE AD ALTO LIVELLO IL LINGUAGGIO JAVA. Fondamenti di Informatica - D. Talia - UNICAL 1. Fondamenti di Informatica
Fondamenti di Informatica INTRODUZIONE ALLA PROGRAMMAZIONE AD ALTO LIVELLO IL LINGUAGGIO JAVA Fondamenti di Informatica - D. Talia - UNICAL 1 Fondamenti di Informatica - Programma Un programma è una formulazione
STRUTTURE DI CONTROLLO DEL C++
STRUTTURE DI CONTROLLO DEL C++ Le istruzioni if e else Le istruzioni condizionali ci consentono di far eseguire in modo selettivo una singola riga di codice o una serie di righe di codice (che viene detto
Fondamenti di Informatica
Fondamenti di Informatica AlgoBuild: Strutture selettive, iterative ed array Prof. Arcangelo Castiglione A.A. 2016/17 AlgoBuild : Strutture iterative e selettive OUTLINE Struttura selettiva Esempi Struttura
10 - Programmare con gli Array
10 - Programmare con gli Array Programmazione e analisi di dati Modulo A: Programmazione in Java Paolo Milazzo Dipartimento di Informatica, Università di Pisa http://www.di.unipi.it/ milazzo milazzo di.unipi.it
Costrutti iterativi. Utilizzo dei costrutti iterativi
Costrutti iterativi Utilizzo dei costrutti iterativi Costrutti iterativi (1/3) I costrutti iterativi permettono di eseguire ripetutamente del codice Il linguaggio Java mette a disposizione tre costrutti
Introduzione alla programmazione
Introduzione alla programmazione Risolvere un problema Per risolvere un problema si procede innanzitutto all individuazione Delle informazioni, dei dati noti Dei risultati desiderati Il secondo passo consiste
Lezione 6 programmazione in Java
Lezione 6 programmazione in Java Nicola Drago [email protected] Dipartimento di Informatica Università di Verona Anteprima Le costanti I vettori Cos è un vettore Come si usa I vari tipi di vettori Esempi
IL LINGUAGGIO JAVA Input, Tipi Elementari e Istruzione Condizionale
Fondamenti di Informatica IL LINGUAGGIO JAVA Input, Tipi Elementari e Istruzione Condizionale Fondamenti di Informatica - D. Talia - UNICAL 1 Lettura di dati da input In Java la lettura di dati da input
Le strutture di controllo in C++
Le strutture di controllo in C++ Docente: Ing. Edoardo Fusella Dipartimento di Ingegneria Elettrica e Tecnologie dell Informazione Via Claudio 21, 4 piano laboratorio SECLAB Università degli Studi di Napoli
Esempio: L EURO-CONVERTITORE (1) Scopo
Esempio: L EURO-CONVERTITORE (1) Scopo Realizzare un sistema software per la conversione di euro in lire. In particolare, si vuole, definire un euro-covertitore e, dati due oggetti di tipo euro convertitore
Programmazione in Java (I modulo)
Programmazione in Java (I modulo) Lezione 4 Variabili di tipo primitivo. Dichiarazione di costanti Conversioni di tipo: operatore cast Altri operatori di assegnamento Operazioni aritmetiche e di confronto
public static boolean occorre (int[] a, int n) { int i = 0; boolean trovato = false;
Metodi iterativi con array monodimensionali 1. Scrivere un metodo che, dato un array di interi a, restituisce il valore minimo in a. public static int minimo (int[] a) { int min = a[0]; for (int i=1; i
13 - Gestione della Memoria nella Programmazione Orientata agli Oggetti
13 - Gestione della Memoria nella Programmazione Orientata agli Oggetti Programmazione e analisi di dati Modulo A: Programmazione in Java Paolo Milazzo Dipartimento di Informatica, Università di Pisa http://www.di.unipi.it/
Iterazione determinata e indeterminata
Iterazione determinata e indeterminata Le istruzioni iterative permettono di ripetere determinate azioni più volte: un numero di volte fissato = iterazione determinata Esempio: fai un giro del parco di
INFORMATICA. Strutture iterative
INFORMATICA Strutture iterative Strutture iterative Si dice ciclo (loop) una sequenza di istruzioni che deve essere ripetuta più volte consecutivamente. Si consideri ad esempio il calcolo del fattoriale
osservazione: 1 MCD(m,n) min(m,n) = si provano i numeri compresi tra 1 e min(m,n) conviene iniziare da min(m,n) e scendere verso 1
Esempio: Leggere due interi positivi e calcolarne il massimo comun divisore. MCD(12, 8) = 4 MCD(12, 6) = 6 MCD(12, 7) = 1 Sfruttando direttamente la definizione di MCD osservazione: 1 MCD(m,n) min(m,n)
PROGRAMMAZIONE STRUTTURATA
PROGRAMMAZIONE STRUTTURATA Programmazione strutturata 2 La programmazione strutturata nasce come proposta per regolamentare e standardizzare le metodologie di programmazione (Dijkstra, 1965) Obiettivo:
Proprietà delle Classi e degli Oggetti in Java
Fondamenti di Informatica Proprietà delle Classi e degli Oggetti in Java Fondamenti di Informatica - D. Talia - UNICAL 1 Proprietà object-oriented di Java Definendo le caratteristiche e le operazioni di
Fondamenti di Informatica 6. Algoritmi e pseudocodifica
Vettori e matrici #1 Fondamenti di Informatica 6. Algoritmi e pseudocodifica Corso di Laurea in Ingegneria Civile A.A. 2010-2011 1 Semestre Prof. Giovanni Pascoschi Le variabili definite come coppie
Lezione 6 Introduzione al C++ Mauro Piccolo
Lezione 6 Introduzione al C++ Mauro Piccolo [email protected] Linguaggi di programmazione Un linguaggio formale disegnato per descrivere la computazione Linguaggi ad alto livello C, C++, Pascal, Java,
12 - Introduzione alla Programmazione Orientata agli Oggetti (Object Oriented Programming OOP)
12 - Introduzione alla Programmazione Orientata agli Oggetti (Object Oriented Programming OOP) Programmazione e analisi di dati Modulo A: Programmazione in Java Paolo Milazzo Dipartimento di Informatica,
Laboratorio di Programmazione Lezione 2. Cristian Del Fabbro
Laboratorio di Programmazione Lezione 2 Cristian Del Fabbro Prossima lezione GIOVEDÌ 29 OTTOBRE 14:00 Input da tastiera package input; import java.io.*; public class Input { public static void main(string[]
Le basi del linguaggio Java
Corso di Laurea Ingegneria Civile Fondamenti di Informatica Dispensa 10 Le basi del linguaggio Java Aprile 2010 Le basi del linguaggio Java 1 Prerequisiti Nozioni generali sulla sintassi e semantica del
ESECUZIONE DI PROGRAMMI C SU MACCHINE REALI. Docente: Giorgio Giacinto AA 2008/2009. formalizzazione degli algoritmi in linguaggio C
Università degli Studi di Cagliari Corso di Laurea Specialistica in Ingegneria per l Ambiente ed il Territorio Corso di Laurea Specialistica in Ingegneria Civile - Strutture FONDAMENTI DI INFORMATICA 2
Corso: Fondamenti di Informatica (Gruppo 2) a.a Corsi di laurea: Ing. Settore Informazione
Corso: Fondamenti di Informatica (Gruppo 2) a.a. 2017-18 Corsi di laurea: Ing. Settore Informazione Questionario a Risposte Multiple per auto-valutazione del Lab05 Domanda n. 1 Argomento: Iterazioni, array
Le Strutture di controllo Del Linguaggio C. Prof. Francesco Accarino IIS Altiero Spinelli Sesto San Giovanni
Le Strutture di controllo Del Linguaggio C Prof. Francesco Accarino IIS Altiero Spinelli Sesto San Giovanni STRUTTURE DI CONTROLLO PRIMITIVE SEQUENZA SELEZIONE (o scelta logica) ITERAZIONE NON PRIMITIVE
Algoritmi di Ricerca. Esempi di programmi Java
Fondamenti di Informatica Algoritmi di Ricerca Esempi di programmi Java Fondamenti di Informatica - D. Talia - UNICAL 1 Ricerca in una sequenza di elementi Data una sequenza di elementi, occorre verificare
COMPLESSITÀ COMPUTAZIONALE DEGLI ALGORITMI
COMPLESSITÀ COMPUTAZIONALE DEGLI ALGORITMI Fondamenti di Informatica a.a.200.2005/06 Prof. V.L. Plantamura Dott.ssa A. Angelini Confronto di algoritmi Uno stesso problema può essere risolto in modi diversi,
Costrutti condizionali e iterativi
Costrutti condizionali e iterativi Introduction to Fortran 90 Paolo Ramieri, CINECA Aprile 2014 Strutture di controllo Le strutture di controllo permettono di alterare la sequenza di esecuzione delle istruzioni
Laboratorio di programmazione
Laboratorio di programmazione Lezione II Tatiana Zolo [email protected] 1 IL PROGRAMMA C++ Istruzioni (espressioni terminate da ; ) istruzioni di dichiarazione (es. int x = 0;); istruzioni di assegnamento
Algoritmi, Strutture Dati e Programmi. UD 2.b: Programmazione in Pascal
Algoritmi, Strutture Dati e Programmi : Programmazione in Pascal Prof. Alberto Postiglione AA 2007-2008 Università degli Studi di Salerno Il Linguaggio di Programmazione Pascal Esistono molti linguaggi
Un esempio per iniziare. Il controllo del programma in C. Altri cenni su printf() Esercizi (printf) printf( 8!=%d, fatt);
Un esempio per iniziare Il controllo del programma in C DD Cap.3 pp.91-130 /* calcolo di 8!*/ #include #define C 8 int main() int i=1; int fatt=1; while (i
PROGRAMMAZIONE: Le strutture di controllo
PROGRAMMAZIONE: Le strutture di controllo Prof. Enrico Terrone A. S: 2008/09 Le tre modalità La modalità basilare di esecuzione di un programma è la sequenza: le istruzioni vengono eseguite una dopo l
Algoritmi e soluzione di problemi
Algoritmi e soluzione di problemi Dato un problema devo trovare una soluzione. Esempi: effettuare una telefonata calcolare l area di un trapezio L algoritmo è la sequenza di operazioni (istruzioni, azioni)
Esercizi riassuntivi (Fondamenti di Informatica 2 Walter Didimo) Soluzioni
Esercizi riassuntivi (Fondamenti di Informatica 2 Walter Didimo) Soluzioni Esercizio 1 Dire quale è la complessità temporale del seguente metodo, espressa con notazione asintotica O(.) (con la migliore
Algoritmi e basi del C Struttura di un programma
Algoritmi e basi del C Struttura di un programma Marco D. Santambrogio [email protected] Ver. aggiornata al 17 Marzo 2015 Compitini Compitini di INFO: 24 Aprile 2015 4.15pm @ C.G.1 (Ed. 9) 21
Elementi lessicali. Lezione 4. La parole chiave. Elementi lessicali. Elementi lessicali e espressioni logiche. Linguaggi di Programmazione I
Lezione 4 Elementi lessicali e espressioni logiche Matricole 2-3 Elementi lessicali il linguaggio C ha un suo vocabolario di base i cui elementi sono detti token esistono 6 tipi di token: parole chiave
Linguaggio C Informatica Grafica
Linguaggio C Informatica Grafica Corsi di Informatica Grafica Prof. Manuel Roveri Dipartimento di Elettronica e Informazione [email protected] Linguaggio C Breve storia Struttura di un programma Variabili
Università degli studi di Roma Tor Vergata Ingegneria Medica Informatica I Programma del Corso
Obiettivi Di seguito vengono riportate una serie di domande che possono essere poste durante la prova formale del corso. Le seguenti domande non sono da ritenersi esaustive ma esemplificative. 1. Architettura
Definizione di classi. Walter Didimo
Definizione di classi Walter Didimo Definizione di classi Fino ad ora abbiamo imparato a: creare oggetti da classi già pronte usare gli oggetti creati, invocando metodi la creazione e l uso di oggetti
Studio degli algoritmi
COMPLESSITÀ COMPUTAZIONALE DEGLI ALGORITMI Fondamenti di Informatica a.a.2006/07 Prof. V.L. Plantamura Dott.ssa A. Angelini Studio degli algoritmi Dato un problema P, le problematiche riguardano: Sintesi
Esercitazione 3. Espressioni booleane I comandi if-else e while
Esercitazione 3 Espressioni booleane I comandi if-else e while Esercizio Si consideri la seguente istruzione: if (C1) if (C2) S1; else S2; A quali delle seguenti interpretazioni corrisponde? if (C1) if
Algoritmi di Ricerca. Esempi di programmi Java
Fondamenti di Informatica Algoritmi di Ricerca Esempi di programmi Java Fondamenti di Informatica - D. Talia - UNICAL 1 Ricerca in una sequenza di elementi Data una sequenza di elementi, occorre verificare
