Laboratorio di Informatica Lezione 1Apprendere i fondamenti di un vero linguaggio di programmazione...

81
Laboratorio di Informatica Lezione 1 Cristian Consonni 16 settembre 2015 Cristian Consonni Laboratorio di Informatica , Lezione 1 1 / 50

Transcript of Laboratorio di Informatica Lezione 1Apprendere i fondamenti di un vero linguaggio di programmazione...

Page 1: Laboratorio di Informatica Lezione 1Apprendere i fondamenti di un vero linguaggio di programmazione (Java) Svolgere il progetto Obiettivi del laboratorio 1 Fare esperienza in laboratorio

Laboratorio di InformaticaLezione 1

Cristian Consonni16 settembre 2015

Cristian Consonni Laboratorio di Informatica , Lezione 1 1 / 50

Page 2: Laboratorio di Informatica Lezione 1Apprendere i fondamenti di un vero linguaggio di programmazione (Java) Svolgere il progetto Obiettivi del laboratorio 1 Fare esperienza in laboratorio

Outline1 Intro

Informazioni generali2 Java

Cos’e JavaAltri linguaggi

3 VariabiliDefinizione ed esempiDichiarazione e assegnamento

4 OperatoriDefinizioneOperatori aritmetici e booleani

5 EclipseInstallazioneCreazione progetto

6 Istruzioni CondizionaliDefinizione

7 EsericiziEsercizi

Cristian Consonni Laboratorio di Informatica , Lezione 1 2 / 50

Page 3: Laboratorio di Informatica Lezione 1Apprendere i fondamenti di un vero linguaggio di programmazione (Java) Svolgere il progetto Obiettivi del laboratorio 1 Fare esperienza in laboratorio

Outline for section 11 Intro

Informazioni generali2 Java

Cos’e JavaAltri linguaggi

3 VariabiliDefinizione ed esempiDichiarazione e assegnamento

4 OperatoriDefinizioneOperatori aritmetici e booleani

5 EclipseInstallazioneCreazione progetto

6 Istruzioni CondizionaliDefinizione

7 EsericiziEsercizi

Cristian Consonni Laboratorio di Informatica , Lezione 1 3 / 50

Page 4: Laboratorio di Informatica Lezione 1Apprendere i fondamenti di un vero linguaggio di programmazione (Java) Svolgere il progetto Obiettivi del laboratorio 1 Fare esperienza in laboratorio

Chi sono

Cristian ConsonniDISI - Dipartimento di Ingegneria e Scienza dell’InformazionePagina web del laboratorio:http://disi.unitn.it/˜consonni/teaching

Email: [email protected]: Povo 2 - Open Space 9

Per domande: scrivetemi una mailRicevimento: su appuntamento via mail

Cristian Consonni Laboratorio di Informatica , Lezione 1 4 / 50

Page 5: Laboratorio di Informatica Lezione 1Apprendere i fondamenti di un vero linguaggio di programmazione (Java) Svolgere il progetto Obiettivi del laboratorio 1 Fare esperienza in laboratorio

Obiettivi del laboratorio

Obiettivi del laboratorio:Apprendere i fondamenti di un vero linguaggio di programmazione(Java)Svolgere il progetto

Obiettivi del laboratorio1 Fare esperienza in laboratorio2 Raggiungere una buona manualita nell’uso degli strumenti standard3 Esercizi

Cristian Consonni Laboratorio di Informatica , Lezione 1 5 / 50

Page 6: Laboratorio di Informatica Lezione 1Apprendere i fondamenti di un vero linguaggio di programmazione (Java) Svolgere il progetto Obiettivi del laboratorio 1 Fare esperienza in laboratorio

Manualita (I)

https://xkcd.com/519/

Cristian Consonni Laboratorio di Informatica , Lezione 1 6 / 50

Page 7: Laboratorio di Informatica Lezione 1Apprendere i fondamenti di un vero linguaggio di programmazione (Java) Svolgere il progetto Obiettivi del laboratorio 1 Fare esperienza in laboratorio

Manualita (II)How to Teach Yourself Programming:1

1http://abstrusegoose.com/249Cristian Consonni Laboratorio di Informatica , Lezione 1 7 / 50

Page 8: Laboratorio di Informatica Lezione 1Apprendere i fondamenti di un vero linguaggio di programmazione (Java) Svolgere il progetto Obiettivi del laboratorio 1 Fare esperienza in laboratorio

Slides

Info sulle slide:le slide del corso saranno rese disponibili sul sito;segnalate pure eventuali errori;cerchero di pubblicare le slide in anticipo rispetto alla lezione;queste slide sono prodotte con LATEX Beamer (usate LATEX!);

Segnalazioni di materiale:Materiale da voi prodotto;Cose interessanti che trovate online;Possiamo valutare insieme se riutilizzarle;

Cristian Consonni Laboratorio di Informatica , Lezione 1 8 / 50

Page 9: Laboratorio di Informatica Lezione 1Apprendere i fondamenti di un vero linguaggio di programmazione (Java) Svolgere il progetto Obiettivi del laboratorio 1 Fare esperienza in laboratorio

Outline for section 21 Intro

Informazioni generali2 Java

Cos’e JavaAltri linguaggi

3 VariabiliDefinizione ed esempiDichiarazione e assegnamento

4 OperatoriDefinizioneOperatori aritmetici e booleani

5 EclipseInstallazioneCreazione progetto

6 Istruzioni CondizionaliDefinizione

7 EsericiziEsercizi

Cristian Consonni Laboratorio di Informatica , Lezione 1 9 / 50

Page 10: Laboratorio di Informatica Lezione 1Apprendere i fondamenti di un vero linguaggio di programmazione (Java) Svolgere il progetto Obiettivi del laboratorio 1 Fare esperienza in laboratorio

Java

Cristian Consonni Laboratorio di Informatica , Lezione 1 10 / 50

Page 11: Laboratorio di Informatica Lezione 1Apprendere i fondamenti di un vero linguaggio di programmazione (Java) Svolgere il progetto Obiettivi del laboratorio 1 Fare esperienza in laboratorio

Cos’e Java (I)

Java Language Specification (788 pagg.)2

�The Java R© programming language is a general-purpose, [...]class-based, object-oriented language.�

Java e:un linguaggio (grammatica, vocabolario, sintassi, ecc.);linguaggio di programmazione;general-purpose (vs domain-specific, e.g. SQL);orientato agli oggetti (attributi, metodi);class-based (classe, ereditarieta);

2https://docs.oracle.com/javase/specs/jls/se8/jls8.pdfCristian Consonni Laboratorio di Informatica , Lezione 1 11 / 50

Page 12: Laboratorio di Informatica Lezione 1Apprendere i fondamenti di un vero linguaggio di programmazione (Java) Svolgere il progetto Obiettivi del laboratorio 1 Fare esperienza in laboratorio

Cos’e Java (II)

Altre caratteristiche di Java:imperativo (vs. funzionale vs. logico);

Cristian Consonni Laboratorio di Informatica , Lezione 1 12 / 50

Page 13: Laboratorio di Informatica Lezione 1Apprendere i fondamenti di un vero linguaggio di programmazione (Java) Svolgere il progetto Obiettivi del laboratorio 1 Fare esperienza in laboratorio

Paradigma imperativo

Page 14: Laboratorio di Informatica Lezione 1Apprendere i fondamenti di un vero linguaggio di programmazione (Java) Svolgere il progetto Obiettivi del laboratorio 1 Fare esperienza in laboratorio

Cos’e Java (II)

Altre caratteristiche di Java:imperativo (vs. funzionale vs. logico);compilato (vs. interpretato);fortemente tipizzato, strongly typed (vs. debolmente tipizzato)Molto usato in svariati ambiti;...

Cristian Consonni Laboratorio di Informatica , Lezione 1 13 / 50

Page 15: Laboratorio di Informatica Lezione 1Apprendere i fondamenti di un vero linguaggio di programmazione (Java) Svolgere il progetto Obiettivi del laboratorio 1 Fare esperienza in laboratorio

Altri linguaggi

Esistono moltissimi altri linguaggi:ad es. linguaggi di markup (e.g. HTML, XML, TeX)altri linguaggi di programmazione: C, C++, python, go, Scala,Prolog, Perl, . . .

Cristian Consonni Laboratorio di Informatica , Lezione 1 14 / 50

Page 16: Laboratorio di Informatica Lezione 1Apprendere i fondamenti di un vero linguaggio di programmazione (Java) Svolgere il progetto Obiettivi del laboratorio 1 Fare esperienza in laboratorio

Altri linguaggi (II)

C:

Cristian Consonni Laboratorio di Informatica , Lezione 1 15 / 50

Page 17: Laboratorio di Informatica Lezione 1Apprendere i fondamenti di un vero linguaggio di programmazione (Java) Svolgere il progetto Obiettivi del laboratorio 1 Fare esperienza in laboratorio

Altri linguaggi (III)

Python:

Cristian Consonni Laboratorio di Informatica , Lezione 1 16 / 50

Page 18: Laboratorio di Informatica Lezione 1Apprendere i fondamenti di un vero linguaggio di programmazione (Java) Svolgere il progetto Obiettivi del laboratorio 1 Fare esperienza in laboratorio

Altri linguaggi (IV)

Java:

Cristian Consonni Laboratorio di Informatica , Lezione 1 17 / 50

Page 19: Laboratorio di Informatica Lezione 1Apprendere i fondamenti di un vero linguaggio di programmazione (Java) Svolgere il progetto Obiettivi del laboratorio 1 Fare esperienza in laboratorio

Altri linguaggi (V)

C:

Cristian Consonni Laboratorio di Informatica , Lezione 1 18 / 50

Page 20: Laboratorio di Informatica Lezione 1Apprendere i fondamenti di un vero linguaggio di programmazione (Java) Svolgere il progetto Obiettivi del laboratorio 1 Fare esperienza in laboratorio

Altri linguaggi (VI)

Python:

Cristian Consonni Laboratorio di Informatica , Lezione 1 19 / 50

Page 21: Laboratorio di Informatica Lezione 1Apprendere i fondamenti di un vero linguaggio di programmazione (Java) Svolgere il progetto Obiettivi del laboratorio 1 Fare esperienza in laboratorio

Altri linguaggi (VII)

Java:

Cristian Consonni Laboratorio di Informatica , Lezione 1 20 / 50

Page 22: Laboratorio di Informatica Lezione 1Apprendere i fondamenti di un vero linguaggio di programmazione (Java) Svolgere il progetto Obiettivi del laboratorio 1 Fare esperienza in laboratorio

Altri linguaggi (VIII)

C (bynary):

Cristian Consonni Laboratorio di Informatica , Lezione 1 21 / 50

Page 23: Laboratorio di Informatica Lezione 1Apprendere i fondamenti di un vero linguaggio di programmazione (Java) Svolgere il progetto Obiettivi del laboratorio 1 Fare esperienza in laboratorio

Altri linguaggi (IX)

Java (bytecode):

Cristian Consonni Laboratorio di Informatica , Lezione 1 22 / 50

Page 24: Laboratorio di Informatica Lezione 1Apprendere i fondamenti di un vero linguaggio di programmazione (Java) Svolgere il progetto Obiettivi del laboratorio 1 Fare esperienza in laboratorio

Pseudocodice

Per esprimere un algoritmo senza adottare una sintassi legata ad unparticolare linguaggio si usa lo pseudocodice:

1: sum← 02: for i ← 1 to N do3: for j ← 0 to i do4: if i mod 2 = 0 then5: sum← sum + 16: end if7: end for8: end for

Cristian Consonni Laboratorio di Informatica , Lezione 1 23 / 50

Page 25: Laboratorio di Informatica Lezione 1Apprendere i fondamenti di un vero linguaggio di programmazione (Java) Svolgere il progetto Obiettivi del laboratorio 1 Fare esperienza in laboratorio

Pseudocodice (II)

Per esprimere un algoritmo senza adottare una sintassi legata ad unparticolare linguaggio si usa lo pseudocodice:(Esempio di dichiarazione di funzioni)

function InsertionSort(Array x)for i ← length of A do

value ← A[i ]j ← i − 1while j ≥ 0 ∧ A[j] > value do

A[j + 1]← A[j]j ← j − 1

end whileend for

end function

Cristian Consonni Laboratorio di Informatica , Lezione 1 24 / 50

Page 26: Laboratorio di Informatica Lezione 1Apprendere i fondamenti di un vero linguaggio di programmazione (Java) Svolgere il progetto Obiettivi del laboratorio 1 Fare esperienza in laboratorio

Outline for section 31 Intro

Informazioni generali2 Java

Cos’e JavaAltri linguaggi

3 VariabiliDefinizione ed esempiDichiarazione e assegnamento

4 OperatoriDefinizioneOperatori aritmetici e booleani

5 EclipseInstallazioneCreazione progetto

6 Istruzioni CondizionaliDefinizione

7 EsericiziEsercizi

Cristian Consonni Laboratorio di Informatica , Lezione 1 25 / 50

Page 27: Laboratorio di Informatica Lezione 1Apprendere i fondamenti di un vero linguaggio di programmazione (Java) Svolgere il progetto Obiettivi del laboratorio 1 Fare esperienza in laboratorio

Variabili (I)

Variabile3:�In computer programming, a variable or scalar is a storagelocation paired with an associated symbolic name (anidentifier), which contains some known or unknown quantity ofinformation referred to as a value.�

3da https://en.wikipedia.org/wiki/Variable_(computer_science)Cristian Consonni Laboratorio di Informatica , Lezione 1 26 / 50

Page 28: Laboratorio di Informatica Lezione 1Apprendere i fondamenti di un vero linguaggio di programmazione (Java) Svolgere il progetto Obiettivi del laboratorio 1 Fare esperienza in laboratorio

Variabili (I)

Variabile3:�In computer programming, a variable or scalar is a storagelocation paired with an associated symbolic name (anidentifier), which contains some known or unknown quantity ofinformation referred to as a value.�

3da https://en.wikipedia.org/wiki/Variable_(computer_science)Cristian Consonni Laboratorio di Informatica , Lezione 1 26 / 50

Page 29: Laboratorio di Informatica Lezione 1Apprendere i fondamenti di un vero linguaggio di programmazione (Java) Svolgere il progetto Obiettivi del laboratorio 1 Fare esperienza in laboratorio

Variabili (I)

Variabile3:�In computer programming, a variable or scalar is a storagelocation paired with an associated symbolic name (anidentifier), which contains some known or unknown quantity ofinformation referred to as a value.�

3da https://en.wikipedia.org/wiki/Variable_(computer_science)Cristian Consonni Laboratorio di Informatica , Lezione 1 26 / 50

Page 30: Laboratorio di Informatica Lezione 1Apprendere i fondamenti di un vero linguaggio di programmazione (Java) Svolgere il progetto Obiettivi del laboratorio 1 Fare esperienza in laboratorio

Variabili (I)

Variabile3:�In computer programming, a variable or scalar is a storagelocation paired with an associated symbolic name (anidentifier), which contains some known or unknown quantity ofinformation referred to as a value.�

3da https://en.wikipedia.org/wiki/Variable_(computer_science)Cristian Consonni Laboratorio di Informatica , Lezione 1 26 / 50

Page 31: Laboratorio di Informatica Lezione 1Apprendere i fondamenti di un vero linguaggio di programmazione (Java) Svolgere il progetto Obiettivi del laboratorio 1 Fare esperienza in laboratorio

Variabili (II)

Esempi:

1 un intero:int i = 0;Pseudocodice i ← 0

2 un numero con la virgola:double pi = 3.14;(usate Math.PI per π)

3 un (singolo) carattere:char k = ’c’;

4 un valore booleano:bool val1 = true;bool val2 = false;

5 una stringa di caratteri:String yoda = "There is no try!";

Cristian Consonni Laboratorio di Informatica , Lezione 1 27 / 50

Page 32: Laboratorio di Informatica Lezione 1Apprendere i fondamenti di un vero linguaggio di programmazione (Java) Svolgere il progetto Obiettivi del laboratorio 1 Fare esperienza in laboratorio

Variabili (II)

Esempi:

1 un intero:int i = 0;Pseudocodice i ← 0

2 un numero con la virgola:double pi = 3.14;(usate Math.PI per π)

3 un (singolo) carattere:char k = ’c’;

4 un valore booleano:bool val1 = true;bool val2 = false;

5 una stringa di caratteri:String yoda = "There is no try!";

Cristian Consonni Laboratorio di Informatica , Lezione 1 27 / 50

Page 33: Laboratorio di Informatica Lezione 1Apprendere i fondamenti di un vero linguaggio di programmazione (Java) Svolgere il progetto Obiettivi del laboratorio 1 Fare esperienza in laboratorio

Variabili (II)

Esempi:

1 un intero:int i = 0;Pseudocodice i ← 0

2 un numero con la virgola:double pi = 3.14;(usate Math.PI per π)

3 un (singolo) carattere:char k = ’c’;

4 un valore booleano:bool val1 = true;bool val2 = false;

5 una stringa di caratteri:String yoda = "There is no try!";

Cristian Consonni Laboratorio di Informatica , Lezione 1 27 / 50

Page 34: Laboratorio di Informatica Lezione 1Apprendere i fondamenti di un vero linguaggio di programmazione (Java) Svolgere il progetto Obiettivi del laboratorio 1 Fare esperienza in laboratorio

Variabili (II)

Esempi:

1 un intero:int i = 0;Pseudocodice i ← 0

2 un numero con la virgola:double pi = 3.14;(usate Math.PI per π)

3 un (singolo) carattere:char k = ’c’;

4 un valore booleano:bool val1 = true;bool val2 = false;

5 una stringa di caratteri:String yoda = "There is no try!";

Cristian Consonni Laboratorio di Informatica , Lezione 1 27 / 50

Page 35: Laboratorio di Informatica Lezione 1Apprendere i fondamenti di un vero linguaggio di programmazione (Java) Svolgere il progetto Obiettivi del laboratorio 1 Fare esperienza in laboratorio

Variabili (II)

Esempi:

1 un intero:int i = 0;Pseudocodice i ← 0

2 un numero con la virgola:double pi = 3.14;(usate Math.PI per π)

3 un (singolo) carattere:char k = ’c’;

4 un valore booleano:bool val1 = true;bool val2 = false;

5 una stringa di caratteri:String yoda = "There is no try!";

Cristian Consonni Laboratorio di Informatica , Lezione 1 27 / 50

Page 36: Laboratorio di Informatica Lezione 1Apprendere i fondamenti di un vero linguaggio di programmazione (Java) Svolgere il progetto Obiettivi del laboratorio 1 Fare esperienza in laboratorio

Variabili (II)

Esempi:

1 un intero:int i = 0;Pseudocodice i ← 0

2 un numero con la virgola:double pi = 3.14;(usate Math.PI per π)

3 un (singolo) carattere:char k = ’c’;

4 un valore booleano:bool val1 = true;bool val2 = false;

5 una stringa di caratteri:String yoda = "There is no try!";

Cristian Consonni Laboratorio di Informatica , Lezione 1 27 / 50

Page 37: Laboratorio di Informatica Lezione 1Apprendere i fondamenti di un vero linguaggio di programmazione (Java) Svolgere il progetto Obiettivi del laboratorio 1 Fare esperienza in laboratorio

Variabili (II)

Esempi:

1 un intero:int i = 0;Pseudocodice i ← 0

2 un numero con la virgola:double pi = 3.14;(usate Math.PI per π)

3 un (singolo) carattere:char k = ’c’;

4 un valore booleano:bool val1 = true;bool val2 = false;

5 una stringa di caratteri:String yoda = "There is no try!";

Cristian Consonni Laboratorio di Informatica , Lezione 1 27 / 50

Page 38: Laboratorio di Informatica Lezione 1Apprendere i fondamenti di un vero linguaggio di programmazione (Java) Svolgere il progetto Obiettivi del laboratorio 1 Fare esperienza in laboratorio

Variabili (II)

Esempi:

1 un intero:int i = 0;Pseudocodice i ← 0

2 un numero con la virgola:double pi = 3.14;(usate Math.PI per π)

3 un (singolo) carattere:char k = ’c’;

4 un valore booleano:bool val1 = true;bool val2 = false;

5 una stringa di caratteri:String yoda = "There is no try!";

Cristian Consonni Laboratorio di Informatica , Lezione 1 27 / 50

Page 39: Laboratorio di Informatica Lezione 1Apprendere i fondamenti di un vero linguaggio di programmazione (Java) Svolgere il progetto Obiettivi del laboratorio 1 Fare esperienza in laboratorio

Variabili (II)

Esempi:

1 un intero:int i = 0;Pseudocodice i ← 0

2 un numero con la virgola:double pi = 3.14;(usate Math.PI per π)

3 un (singolo) carattere:char k = ’c’;

4 un valore booleano:bool val1 = true;bool val2 = false;

5 una stringa di caratteri:String yoda = "There is no try!";

Cristian Consonni Laboratorio di Informatica , Lezione 1 27 / 50

Page 40: Laboratorio di Informatica Lezione 1Apprendere i fondamenti di un vero linguaggio di programmazione (Java) Svolgere il progetto Obiettivi del laboratorio 1 Fare esperienza in laboratorio

Variabili (II)

Esempi:

1 un intero:int i = 0;Pseudocodice i ← 0

2 un numero con la virgola:double pi = 3.14;(usate Math.PI per π)

3 un (singolo) carattere:char k = ’c’;

4 un valore booleano:bool val1 = true;bool val2 = false;

5 una stringa di caratteri:String yoda = "There is no try!";

Cristian Consonni Laboratorio di Informatica , Lezione 1 27 / 50

Page 41: Laboratorio di Informatica Lezione 1Apprendere i fondamenti di un vero linguaggio di programmazione (Java) Svolgere il progetto Obiettivi del laboratorio 1 Fare esperienza in laboratorio

Variabili (II)

Esempi:

1 un intero:int i = 0;Pseudocodice i ← 0

2 un numero con la virgola:double pi = 3.14;(usate Math.PI per π)

3 un (singolo) carattere:char k = ’c’;

4 un valore booleano:bool val1 = true;bool val2 = false;

5 una stringa di caratteri:String yoda = "There is no try!";

Cristian Consonni Laboratorio di Informatica , Lezione 1 27 / 50

Page 42: Laboratorio di Informatica Lezione 1Apprendere i fondamenti di un vero linguaggio di programmazione (Java) Svolgere il progetto Obiettivi del laboratorio 1 Fare esperienza in laboratorio

Variabili (II)

Esempi:

1 un intero:int i = 0;Pseudocodice i ← 0

2 un numero con la virgola:double pi = 3.14;(usate Math.PI per π)

3 un (singolo) carattere:char k = ’c’;

4 un valore booleano:bool val1 = true;bool val2 = false;

5 una stringa di caratteri:String yoda = "There is no try!";

Cristian Consonni Laboratorio di Informatica , Lezione 1 27 / 50

Page 43: Laboratorio di Informatica Lezione 1Apprendere i fondamenti di un vero linguaggio di programmazione (Java) Svolgere il progetto Obiettivi del laboratorio 1 Fare esperienza in laboratorio

Variabili (II)

Esempi:

1 un intero:int i = 0;Pseudocodice i ← 0

2 un numero con la virgola:double pi = 3.14;(usate Math.PI per π)

3 un (singolo) carattere:char k = ’c’;

4 un valore booleano:bool val1 = true;bool val2 = false;

5 una stringa di caratteri:String yoda = "There is no try!";

Cristian Consonni Laboratorio di Informatica , Lezione 1 27 / 50

Page 44: Laboratorio di Informatica Lezione 1Apprendere i fondamenti di un vero linguaggio di programmazione (Java) Svolgere il progetto Obiettivi del laboratorio 1 Fare esperienza in laboratorio

Variabili (III)

Una variable:Sono un “contenitore” di informazioni (= un certo numero di bytesallocati nella memoria volatile del computer (RAM));Contraddistinte da un identificatore, negli esempi di prima i, pi,yoda, . . . (case sensitive pippo 6= Pippo 6= PIPPO);Nei linguaggi fortemente tipizzati hanno un tipo, negli esempi diprima int, double, String, . . . ;

Cristian Consonni Laboratorio di Informatica , Lezione 1 28 / 50

Page 45: Laboratorio di Informatica Lezione 1Apprendere i fondamenti di un vero linguaggio di programmazione (Java) Svolgere il progetto Obiettivi del laboratorio 1 Fare esperienza in laboratorio

Dichiarazione e assegnamento

Le Variabilo possono essere create con la dichiarazione:dichiarazione: int i; (specifica il tipo di un identificatore);assegnamento: i = 1; (assegna un valore a un identificatore);inizializzazione: primo assegnamento int i = 1; (dichiarazione +inizializzazione);

Cristian Consonni Laboratorio di Informatica , Lezione 1 29 / 50

Page 46: Laboratorio di Informatica Lezione 1Apprendere i fondamenti di un vero linguaggio di programmazione (Java) Svolgere il progetto Obiettivi del laboratorio 1 Fare esperienza in laboratorio

Outline for section 41 Intro

Informazioni generali2 Java

Cos’e JavaAltri linguaggi

3 VariabiliDefinizione ed esempiDichiarazione e assegnamento

4 OperatoriDefinizioneOperatori aritmetici e booleani

5 EclipseInstallazioneCreazione progetto

6 Istruzioni CondizionaliDefinizione

7 EsericiziEsercizi

Cristian Consonni Laboratorio di Informatica , Lezione 1 30 / 50

Page 47: Laboratorio di Informatica Lezione 1Apprendere i fondamenti di un vero linguaggio di programmazione (Java) Svolgere il progetto Obiettivi del laboratorio 1 Fare esperienza in laboratorio

Operatori (I)

Definizione:4�[Operator are] constructs which behave generally likefunctions, but which differ syntactically or semantically fromusual functions�

4da https://en.wikipedia.org/wiki/Operator_(computer_programming)Cristian Consonni Laboratorio di Informatica , Lezione 1 31 / 50

Page 48: Laboratorio di Informatica Lezione 1Apprendere i fondamenti di un vero linguaggio di programmazione (Java) Svolgere il progetto Obiettivi del laboratorio 1 Fare esperienza in laboratorio

Operatori (II)

Gli operatori:funzioni disponibili in maniera predefinita all’interno di un linguaggio(ce ne sono molte altre);ritornano un risultato che avra un certo tipo;notazione infissa (infix notation) operatore inserito tra gli operandi,ad es. 2 + 2;arieta (o adicita) (numero di argomenti, v. funzione variadica):

binari: + (addizione), > (maggiore), <= (minore uguale), &(bitwise and), = (assegnamento), [] (bitwise and);unari: − (sottrazione), (negazione), ++ (decremento);(in alcuni linguaggi ma non in Java tramite l’overload possono essereestese le funzionalita di un operatore);

Cristian Consonni Laboratorio di Informatica , Lezione 1 32 / 50

Page 49: Laboratorio di Informatica Lezione 1Apprendere i fondamenti di un vero linguaggio di programmazione (Java) Svolgere il progetto Obiettivi del laboratorio 1 Fare esperienza in laboratorio

Operatori aritmetici

Date tre variabili:int x = 12;

int y = 5;

int z = 0;

+, −, ∗ funzionano come vi aspettate/ attenzione! k = x / y;

% modulo (resto della divisione)

Cristian Consonni Laboratorio di Informatica , Lezione 1 33 / 50

Page 50: Laboratorio di Informatica Lezione 1Apprendere i fondamenti di un vero linguaggio di programmazione (Java) Svolgere il progetto Obiettivi del laboratorio 1 Fare esperienza in laboratorio

Operatori aritmetici

Date tre variabili:int x = 12;

int y = 5;

int z = 0;

+, −, ∗ funzionano come vi aspettate/ attenzione! k = x / y;

% modulo (resto della divisione)

Cristian Consonni Laboratorio di Informatica , Lezione 1 33 / 50

Page 51: Laboratorio di Informatica Lezione 1Apprendere i fondamenti di un vero linguaggio di programmazione (Java) Svolgere il progetto Obiettivi del laboratorio 1 Fare esperienza in laboratorio

Operatori aritmetici

Date tre variabili:int x = 12;

int y = 5;

int z = 0;

+, −, ∗ funzionano come vi aspettate/ attenzione! k = x / y;

% modulo (resto della divisione)

Cristian Consonni Laboratorio di Informatica , Lezione 1 33 / 50

Page 52: Laboratorio di Informatica Lezione 1Apprendere i fondamenti di un vero linguaggio di programmazione (Java) Svolgere il progetto Obiettivi del laboratorio 1 Fare esperienza in laboratorio

Operatori booleani

Anche in questo caso funziona tutto normalmente:

p q ¬p(!p)

p ∧ q(p && q)

p ∨ q(p || q)

T T F T TT F F F TF T T F TF F T F F

attenzione! ai valori di verita delle variabili non booleane;== operatore di confronto;a.equals(b) confronto tra stringhe (String);

Cristian Consonni Laboratorio di Informatica , Lezione 1 34 / 50

Page 53: Laboratorio di Informatica Lezione 1Apprendere i fondamenti di un vero linguaggio di programmazione (Java) Svolgere il progetto Obiettivi del laboratorio 1 Fare esperienza in laboratorio

Operatori booleani

Anche in questo caso funziona tutto normalmente:

p q ¬p(!p)

p ∧ q(p && q)

p ∨ q(p || q)

T T F T TT F F F TF T T F TF F T F F

attenzione! ai valori di verita delle variabili non booleane;== operatore di confronto;a.equals(b) confronto tra stringhe (String);

Cristian Consonni Laboratorio di Informatica , Lezione 1 34 / 50

Page 54: Laboratorio di Informatica Lezione 1Apprendere i fondamenti di un vero linguaggio di programmazione (Java) Svolgere il progetto Obiettivi del laboratorio 1 Fare esperienza in laboratorio

Operatori booleani

Anche in questo caso funziona tutto normalmente:

p q ¬p(!p)

p ∧ q(p && q)

p ∨ q(p || q)

T T F T TT F F F TF T T F TF F T F F

attenzione! ai valori di verita delle variabili non booleane;== operatore di confronto;a.equals(b) confronto tra stringhe (String);

Cristian Consonni Laboratorio di Informatica , Lezione 1 34 / 50

Page 55: Laboratorio di Informatica Lezione 1Apprendere i fondamenti di un vero linguaggio di programmazione (Java) Svolgere il progetto Obiettivi del laboratorio 1 Fare esperienza in laboratorio

Outline for section 51 Intro

Informazioni generali2 Java

Cos’e JavaAltri linguaggi

3 VariabiliDefinizione ed esempiDichiarazione e assegnamento

4 OperatoriDefinizioneOperatori aritmetici e booleani

5 EclipseInstallazioneCreazione progetto

6 Istruzioni CondizionaliDefinizione

7 EsericiziEsercizi

Cristian Consonni Laboratorio di Informatica , Lezione 1 35 / 50

Page 56: Laboratorio di Informatica Lezione 1Apprendere i fondamenti di un vero linguaggio di programmazione (Java) Svolgere il progetto Obiettivi del laboratorio 1 Fare esperienza in laboratorio

Eclipse (I)

Eclipse e un ambiente di sviluppo integrato (IDE) multi-linguaggio emultipiattaforma.

Cristian Consonni Laboratorio di Informatica , Lezione 1 36 / 50

Page 57: Laboratorio di Informatica Lezione 1Apprendere i fondamenti di un vero linguaggio di programmazione (Java) Svolgere il progetto Obiettivi del laboratorio 1 Fare esperienza in laboratorio

Eclipse (II)

Eclipse e un ambiente di sviluppo integrato (IDE) multi-linguaggio emultipiattaforma.

software libero e open source;versione 1.0 rilasciata nel 2001, versione stabile 4.5.0 Mars (giugno2015), voi avete 4.4.0 Luna;multipiattaforma;estendibile con plugins;

Cristian Consonni Laboratorio di Informatica , Lezione 1 37 / 50

Page 58: Laboratorio di Informatica Lezione 1Apprendere i fondamenti di un vero linguaggio di programmazione (Java) Svolgere il progetto Obiettivi del laboratorio 1 Fare esperienza in laboratorio

Scaricare e installare Eclipse

1 Scaricare Java JDK (Java Development Kit) http://www.oracle.com/technetwork/java/javase/downloads/index.html;

2 Scaricare Eclipse https://www.eclipse.org/downloads/;https://www.cs.umd.edu/eclipse/

Cristian Consonni Laboratorio di Informatica , Lezione 1 38 / 50

Page 59: Laboratorio di Informatica Lezione 1Apprendere i fondamenti di un vero linguaggio di programmazione (Java) Svolgere il progetto Obiettivi del laboratorio 1 Fare esperienza in laboratorio

Verificare che l’installazione di Java e andata a buon fine

Aprendo un terminale (o shell) (*nix) o “prompt dei comandi”(Windows):$ java -versionjava version "1.8.0 60"Java(TM) SE Runtime Environment (build 1.8.0 60-b27)Java HotSpot(TM) 64-Bit Server VM (build 25.60-b23, mixedmode)

Cristian Consonni Laboratorio di Informatica , Lezione 1 39 / 50

Page 60: Laboratorio di Informatica Lezione 1Apprendere i fondamenti di un vero linguaggio di programmazione (Java) Svolgere il progetto Obiettivi del laboratorio 1 Fare esperienza in laboratorio

Altre IDE

Esistono molte altre IDE:1 NetBeans: https://netbeans.org/

2 IntelliJ IDEA: https://www.jetbrains.com/idea/

Cristian Consonni Laboratorio di Informatica , Lezione 1 40 / 50

Page 61: Laboratorio di Informatica Lezione 1Apprendere i fondamenti di un vero linguaggio di programmazione (Java) Svolgere il progetto Obiettivi del laboratorio 1 Fare esperienza in laboratorio

Avvio di Eclipse (I)

Cristian Consonni Laboratorio di Informatica , Lezione 1 41 / 50

Page 62: Laboratorio di Informatica Lezione 1Apprendere i fondamenti di un vero linguaggio di programmazione (Java) Svolgere il progetto Obiettivi del laboratorio 1 Fare esperienza in laboratorio

Workspace

Workspace:

Cristian Consonni Laboratorio di Informatica , Lezione 1 42 / 50

Page 63: Laboratorio di Informatica Lezione 1Apprendere i fondamenti di un vero linguaggio di programmazione (Java) Svolgere il progetto Obiettivi del laboratorio 1 Fare esperienza in laboratorio
Page 64: Laboratorio di Informatica Lezione 1Apprendere i fondamenti di un vero linguaggio di programmazione (Java) Svolgere il progetto Obiettivi del laboratorio 1 Fare esperienza in laboratorio
Page 65: Laboratorio di Informatica Lezione 1Apprendere i fondamenti di un vero linguaggio di programmazione (Java) Svolgere il progetto Obiettivi del laboratorio 1 Fare esperienza in laboratorio
Page 66: Laboratorio di Informatica Lezione 1Apprendere i fondamenti di un vero linguaggio di programmazione (Java) Svolgere il progetto Obiettivi del laboratorio 1 Fare esperienza in laboratorio
Page 67: Laboratorio di Informatica Lezione 1Apprendere i fondamenti di un vero linguaggio di programmazione (Java) Svolgere il progetto Obiettivi del laboratorio 1 Fare esperienza in laboratorio
Page 68: Laboratorio di Informatica Lezione 1Apprendere i fondamenti di un vero linguaggio di programmazione (Java) Svolgere il progetto Obiettivi del laboratorio 1 Fare esperienza in laboratorio
Page 69: Laboratorio di Informatica Lezione 1Apprendere i fondamenti di un vero linguaggio di programmazione (Java) Svolgere il progetto Obiettivi del laboratorio 1 Fare esperienza in laboratorio
Page 70: Laboratorio di Informatica Lezione 1Apprendere i fondamenti di un vero linguaggio di programmazione (Java) Svolgere il progetto Obiettivi del laboratorio 1 Fare esperienza in laboratorio
Page 71: Laboratorio di Informatica Lezione 1Apprendere i fondamenti di un vero linguaggio di programmazione (Java) Svolgere il progetto Obiettivi del laboratorio 1 Fare esperienza in laboratorio
Page 72: Laboratorio di Informatica Lezione 1Apprendere i fondamenti di un vero linguaggio di programmazione (Java) Svolgere il progetto Obiettivi del laboratorio 1 Fare esperienza in laboratorio
Page 73: Laboratorio di Informatica Lezione 1Apprendere i fondamenti di un vero linguaggio di programmazione (Java) Svolgere il progetto Obiettivi del laboratorio 1 Fare esperienza in laboratorio
Page 74: Laboratorio di Informatica Lezione 1Apprendere i fondamenti di un vero linguaggio di programmazione (Java) Svolgere il progetto Obiettivi del laboratorio 1 Fare esperienza in laboratorio

Blocchi (I)

Cristian Consonni Laboratorio di Informatica , Lezione 1 43 / 50

Page 75: Laboratorio di Informatica Lezione 1Apprendere i fondamenti di un vero linguaggio di programmazione (Java) Svolgere il progetto Obiettivi del laboratorio 1 Fare esperienza in laboratorio

Blocchi (II)

Cristian Consonni Laboratorio di Informatica , Lezione 1 44 / 50

Page 76: Laboratorio di Informatica Lezione 1Apprendere i fondamenti di un vero linguaggio di programmazione (Java) Svolgere il progetto Obiettivi del laboratorio 1 Fare esperienza in laboratorio

Outline for section 61 Intro

Informazioni generali2 Java

Cos’e JavaAltri linguaggi

3 VariabiliDefinizione ed esempiDichiarazione e assegnamento

4 OperatoriDefinizioneOperatori aritmetici e booleani

5 EclipseInstallazioneCreazione progetto

6 Istruzioni CondizionaliDefinizione

7 EsericiziEsercizi

Cristian Consonni Laboratorio di Informatica , Lezione 1 45 / 50

Page 77: Laboratorio di Informatica Lezione 1Apprendere i fondamenti di un vero linguaggio di programmazione (Java) Svolgere il progetto Obiettivi del laboratorio 1 Fare esperienza in laboratorio

Istruzione if

Le istruzioni condizionali permettono di effettuare operazioni diverse aseconda dei valori delle variabili.

1: if condizione then2: istruzione 13: else4: istruzione 25: end if

condizione deve essere una espressione booleana.

Cristian Consonni Laboratorio di Informatica , Lezione 1 46 / 50

Page 78: Laboratorio di Informatica Lezione 1Apprendere i fondamenti di un vero linguaggio di programmazione (Java) Svolgere il progetto Obiettivi del laboratorio 1 Fare esperienza in laboratorio

Istruzione if

In Java:

if (condizione) {comando1} else {comando2}

Cristian Consonni Laboratorio di Informatica , Lezione 1 47 / 50

Page 79: Laboratorio di Informatica Lezione 1Apprendere i fondamenti di un vero linguaggio di programmazione (Java) Svolgere il progetto Obiettivi del laboratorio 1 Fare esperienza in laboratorio

Outline for section 71 Intro

Informazioni generali2 Java

Cos’e JavaAltri linguaggi

3 VariabiliDefinizione ed esempiDichiarazione e assegnamento

4 OperatoriDefinizioneOperatori aritmetici e booleani

5 EclipseInstallazioneCreazione progetto

6 Istruzioni CondizionaliDefinizione

7 EsericiziEsercizi

Cristian Consonni Laboratorio di Informatica , Lezione 1 48 / 50

Page 80: Laboratorio di Informatica Lezione 1Apprendere i fondamenti di un vero linguaggio di programmazione (Java) Svolgere il progetto Obiettivi del laboratorio 1 Fare esperienza in laboratorio

Consigli vari

1 Iniziate dai programmi piu semplici;2 I commenti sono importanti (ma ci sono 2 scuole di pensiero);3 la leggibilita del codice e importante

(https://www.python.org/dev/peps/pep-0020/);

Cristian Consonni Laboratorio di Informatica , Lezione 1 49 / 50

Page 81: Laboratorio di Informatica Lezione 1Apprendere i fondamenti di un vero linguaggio di programmazione (Java) Svolgere il progetto Obiettivi del laboratorio 1 Fare esperienza in laboratorio

Esercizi

1 Dichiarare e inizializzare un intero e stampare a video se e pari odispari;

2 Definire un programma che dati tre numeri a, b e x stabilisca sex ∈ [a, b];

3 Definire un programma che dati tre numeri a, b e c stabilisca qualee il massimo;

4 Definire un programma che dati tre numeri a, b e c li stampi inordine crescente;

5 Definire un programma che dati due numeri a, b restituisca ladivisione (intera) a/b ed il resto di tale divisione;

Cristian Consonni Laboratorio di Informatica , Lezione 1 50 / 50