Fondamenti di Informatica T-1
Variabili, costanti e operazioni
Selezione
2
Variabili
• Dichiarazione di una variabile:
<tipo di dato> <nome variabile>;
• Esempio: variabile numerica intera numAuto:
int numAuto;
• Assegnare alla variabile numAuto il valore 32:
numAuto=32;
• È anche possibile dichiarare ed inizializzare una variabile in un
unico comando:
int numAuto = 32;
• Stampa di una variabile in output:
System.out.println("<messaggio>" + <nome variabile>);
• Esempio:
System.out.println("Numero dell'auto: " + numAuto);
Fondamenti di Informatica T-1
Francesco Casimiro
3
Le costanti
• Dichiarazione (e assegnamento) di una costante
static final <tipo costante> <nome
costante> = <valore costante>
• final  Il valore non è modificabile
• static  Associata alla classe, non è
necessario instanziare un oggetto
Fondamenti di Informatica T-1
Francesco Casimiro
4
Esempio: Area del cerchio
• Creare un programma che, dato
in input un intero rappresentante
il raggio, calcoli l'area del cerchio.
• Area del cerchio =
PI * raggio * raggio;
Fondamenti di Informatica T-1
Francesco Casimiro
5
Soluzione
package esempio;
import java.util.Scanner;
public class Cerchio {
//Definizione della costante PI
public static final double PI = 3.1415;
public static void main(String[] args) {
Scanner tastiera = new Scanner(System.in);
//Lettura del valore del raggio
System.out.print("Inserire il valore del
raggio del cerchio:");
int raggio = tastiera.nextInt();
double area = PI * raggio * raggio;
System.out.println("Area = " + area);
}
}
Fondamenti di Informatica T-1
Francesco Casimiro
6
Consigli sullo "stile"
• Poche istruzioni per riga (meglio una sola)
• I nomi delle variabili devono essere significativi:
area, raggio, somma, differenza...
• Senza esagerare!
variabileUtilizzataPerStampareIlValoreAVideo
• Iniziale minuscola, lettera (no numeri)
• "Camel case"  scrivere parole composte o frasi unendo
tutte le parole tra loro, ma lasciando le loro iniziali
maiuscole:
modelloAuto, numeroTarga
Fondamenti di Informatica T-1
Francesco Casimiro
7
Indentazione
Utilizzare il rientro per aumentare la leggibilità del codice:
ogni riga viene "indentata" di un certo numero di spazi che
dipende dalla sua posizione all'interno della struttura logica
del programma.
public class Cerchio {
//Definizione della costante PI
public static final double PI = 3.1415;
public static void main(String[] args) {
Scanner tastiera = new Scanner(System.in);
//Lettura del valore del raggio
System.out.print("Inserire il valore del
raggio del cerchio:");
int raggio = tastiera.nextInt();
double area = PI * raggio * raggio;
System.out.println("Area = " + area);
}
}
Fondamenti di Informatica T-1
Francesco Casimiro
8
Commenti
Utilizzare i commenti per aggiungere informazioni esplicative:
public class Cerchio {
/*
Definizione della costante PI
*/
public static final double PI = 3.1415;
public static void main(String[] args) {
Scanner tastiera = new Scanner(System.in);
//Lettura del valore del raggio
System.out.print("Inserire il valore del
raggio del cerchio:");
int raggio = tastiera.nextInt();
double area = PI * raggio * raggio;
System.out.println("Area = " + area);
}
}
Fondamenti di Informatica T-1
Francesco Casimiro
9
La classe Math
• Contiene costanti e metodi per funzioni
matematiche di basi (elevamento a potenza,
radice quadrata, logaritmo...)
• Esempi:
▫ double pi = Math.PI;
▫ double quadrato = Math.pow(x, 2);
▫ double radice = Math.sqrt(x);
• L'area del cerchio:
▫ double area = Math.PI * Math.pow(raggio,2);
Fondamenti di Informatica T-1
Francesco Casimiro
10
Esercizio 1: Investimenti
• Si scriva un programma che calcoli l'interesse di
un investimento secondo la formula:
𝑟 𝑛
𝐹 =𝐼∗ 1+
100
• I è l'esborso iniziale (valore reale), F il flusso di
cassa futuro (valore reale), r il costo opportunità
del capitale (valore reale), e n l'anno cui si
applica l'interesse (valore intero).
• Supponiamo che il capitale iniziale sia di 1000.0
€, con un tasso del 3%, calcolato sul terzo anno.
Il risultato del calcolo deve essere 1092.73 €.
Fondamenti di Informatica T-1
Francesco Casimiro
11
Selezione
• Permette di differenziare il flusso di controllo a
seconda che sia verificata o meno una condizione:
Fondamenti di Informatica T-1
Francesco Casimiro
12
Selezione
• In java: istruzione if-else
▫ if(<condizione>){
<istruzioni da eseguire se la
condizione è vera>;
}
else{
<istruzioni da eseguire se la
condizione non è verificata>;
}
Fondamenti di Informatica T-1
Francesco Casimiro
13
Espressioni booleane
• <condizione> è un'espressione booleana, cioè può avere valore
"vero" (true) o "falso" (false):
▫ Variabili booleane:
boolean tardi=false;
if(tardi==true){
System.out.println("Esci!");
}
▫ Espressioni booleane semplici:
int ora;
if(ora ==18) { ... }
Attenzione: l'operatore = è
un operatore di
assegnamento. Per verificare
l'uguaglianza di un valore si
usa l'operatore ==
▫ Operatori di confronto:
== (uguaglianza), >= (maggiore o uguale), <= (minore o uguale),
< (minore), > (maggiore), != (diverso)
▫ Espressioni booleane composte, mediante congiunzione (&&) o
disgiunzione (||):
if(ora>=18 && giorno.equals("Giovedì"))
{...}
Fondamenti di Informatica T-1
Francesco Casimiro
14
Esercizio 2: Equazioni di 2° grado
• Scrivere un programma che permetta di risolvere
equazioni di secondo grado nella forma:
ax^2 + bx + c = 0.
• Il programma deve chiedere all'utente i valori dei
coefficienti a, b e c (interi), calcolare il determinante
dell'equazione secondo la formula
e verificare il valore del determinante: se minore di 0,
il programma informa l'utente che l'equazione non ha
soluzioni; se uguale a 0, il programma calcola l'unica
soluzione e la stampa a video; se maggiore di 0, il
programma calcola le due soluzioni secondo le
formule
e stampa a video i risultati.
Fondamenti di Informatica T-1
Francesco Casimiro
15
Esercizio 2: schema di soluzione
Fondamenti di Informatica T-1
Francesco Casimiro