Fondamenti di Informatica T-1€¦ · Convertitore Dollaro (USA) !Euro Scrivere un programma che,...

Preview:

Citation preview

Fondamenti di Informatica T-1Introduzione al linguaggio Java - Input/Output, Variabili, Tipi

Tutor:Allegra De Filippo

allegra.defilippo@unibo.it

a.a. 2015/2016

Fondamenti di Informatica T-1 Allegra De Filippo 1 / 18

PROGRAMMI e LINGUAGGI

• Algoritmo → sequenza finita di passi per risolvere in untempo finito un problema

• Linguaggio di programmazione → notazione formale chepuo essere usata per descrivere algoritmi. Due aspetti dellinguaggio:

I SINTASSI: regole formali per costruire frasi corrette nellinguaggio

I SEMANTICA: insieme dei significati da attribuire alle frasi(sintatticamente corrette) costruite nel linguaggio

• Programma → testo scritto in accordo alla sintassi e allasemantica del linguaggio di programmazione

Fondamenti di Informatica T-1 Allegra De Filippo 2 / 18

JAVA

• Linguaggio ad alto livello simile ad un linguaggio naturale

I Viene compilato in bytecode, un linguaggio intermedioindipendente dalla macchina → PORTABILITA

I Quando viene lanciato un programma, e la JVM ad”interpretarlo” (da bytecode a linguaggio macchina) a secondadell’hardware sottostante

Fondamenti di Informatica T-1 Allegra De Filippo 3 / 18

TIPI di DATO PRIMITIVI in JAVA

• Sono i tipi di dato messi a disposizione automaticamente dallinguaggio

• Per creare tipi di dato piu ”particolari” → Classi ed Oggetti(li vedremo piu avanti)

Fondamenti di Informatica T-1 Allegra De Filippo 4 / 18

VARIABILI

• Astrazione di una cella di memoria → consentono dimemorizzare dati

• Sono caratterizzate da:I Tipo (int, float, char...)I ValoreI Nome (convenzione → lettera minuscola)

• Ad ogni variabile e assegnata un’area di memoria didimensione dipendente dal tipo

• Dichiarazione: <tipo><nome>;

• Assegnamento: <nome> = <valore>;

Esempio:int numero; //dichiarazione

numero = 4; //assegnamento

Fondamenti di Informatica T-1 Allegra De Filippo 5 / 18

OPERATORI ARITMETICI

• Somma → a+b;

• Sottrazione → a-b;

• Moltiplicazione → a∗b;

• Divisione → a/b;

• Resto → a%b;

• Incremento/decremento:

• a = a+n; → a+=n; → (se n=1) a++; incremento postfisso• a = a-n; → a-=n; → (se n=1) a−−; decremento postfisso

Fondamenti di Informatica T-1 Allegra De Filippo 6 / 18

OPERATORI LOGICI e COMPARATIVI

• Uguale → ==;(ATTENZIONE: e molto diverso dal ”=” dell’assegnamento)

• Diverso → !=;

• Maggiore → >;

• Maggiore Uguale → >=;

• Minore → <;

• Minore Uguale → <=;

• NOT logico → !;

• AND logico → &&;

• OR logico → ||;

Fondamenti di Informatica T-1 Allegra De Filippo 7 / 18

LA CLASSE MATH

La classe Math e una particolare classe che contiene numerosimetodi statici (capiremo in seguito cosa sono esattamente) ecostanti utili per i calcoli matematici.

Per una descrizione completa delle funzionalita, visitare la pagina:https://docs.oracle.com/javase/8/docs/api/java/lang/

Math.html.

Alcune esempi di funzioni utili:

• int valore assoluto = Math.abs(x); → Ritorna il valoreassoluto di x

• double quadrato = Math.pow(x,2); → Ritorna il quadrato dix

• double radice = Math.sqrt(x); → Ritorna la radice quadratadi x

Fondamenti di Informatica T-1 Allegra De Filippo 8 / 18

INPUT da TASTIERA: la CLASSE SCANNER

Per leggere dati da tastiera si utilizza la classe Scanner che sitrova nel package java.util

• Per poterla utilizzare bisogna importarla con l’istruzioneimport java.util.Scanner nelle prime righe del programma

• Per creare un’istanza:Scanner tastiera = new Scanner(System.in);

• Lettura di un numero intero:int i = tastiera.nextInt();

• Lettura di un numero reale:double d = tastiera.nextDouble();

• Chiusura tastiera (ricordarsi di farlo quando non serve piu):tastiera.close();

Fondamenti di Informatica T-1 Allegra De Filippo 9 / 18

OUTPUT

Viene utilizzato l’oggetto System.out

• metodo System.out.print(”Hello World!”); → stampa lastringa contenuta fra gli apici

• metodo System.out.println(”Hello World!”); → stampa lastringa contenuta fra gli apici e va a capo

E possibile concatenare piu elementi da stampare a videoutilizzando l’operatore ”+”

Esempio:int var = 4;System.out.println(”La mia variabile vale ” + var + ”!”);

Quello che verra visualizzato sullo schermo sara:La mia variabile vale 4!

Fondamenti di Informatica T-1 Allegra De Filippo 10 / 18

CREAZIONE DEL PROGETTO

Create un progetto che chiamerete Esercitazione2 e, al suointerno, create un package diverso per ogni esercizio.In ogni package create una classe che conterra il codice del vostroesercizio.La struttura del vostro progetto dovra essere cosı:

Fondamenti di Informatica T-1 Allegra De Filippo 11 / 18

ESERCIZIO 1 (SVOLTO)

Scrivere un programma che chieda all’utente di inserire datastiera due numeri interi ed esegua le operazioni di addizione esottrazione mostrando a video il risultato.

Fondamenti di Informatica T-1 Allegra De Filippo 12 / 18

ESERCIZIO 1 (SOLUZIONE)

Fondamenti di Informatica T-1 Allegra De Filippo 13 / 18

RAGIONIAMO UN ATTIMO

1. E se avessimo bisogno di memorizzare i risultati della sommae della differenza?

2. Vi viene in mente un esempio di utilizzo successivo di questivalori?

Fondamenti di Informatica T-1 Allegra De Filippo 14 / 18

PROVIAMO A RISPONDERE

1. int somma = a + b;int differenza = a− b;

2. Potremmo (ad esempio) aver bisogno del doppio dellavariabile somma e del valore assoluto della variabiledifferenza → usiamo Math

int doppio = Math.multiplyExact(somma, 2);int assoluto = Math.abs(differenza);

E anche possibile stampare a video queste due nuove variabili.Provate a farlo a casa poi confrontatelo con la soluzione sulsito del corso!

Fondamenti di Informatica T-1 Allegra De Filippo 15 / 18

ESERCIZIO 2

Convertitore Dollaro (USA) → Euro

• Scrivere un programma che, dato in input un numero reale(usare variabile di tipo double) corrispondente ad un prezzo in$, mostri a video il suo valore in e

• Si ricorda che 1 $ = 0,920979923 e(valore aggiornato a marzo 2016)

Fondamenti di Informatica T-1 Allegra De Filippo 16 / 18

ESERCIZIO 3

Scrivere un programma che, dato in input un numero realecorrispondente al raggio di un cerchio, calcoli la lunghezza dellacirconferenza e l’area del cerchio e le stampi a video.

Si ricorda che:

circonferenza = 2πrarea = πr2

N.B. anche circonferenza e area sono variabili di tipo double!

Fondamenti di Informatica T-1 Allegra De Filippo 17 / 18

SUGGERIMENTI

• per usare il π, si deve usare la classe Math in questo modo:Math.PI

• per fare il quadrato, dovete usareMath.pow(double base, double esponente) che restituiscesempre un double

Fondamenti di Informatica T-1 Allegra De Filippo 18 / 18

Recommended