Lezione 3 programmazione in Java

Documenti analoghi
Laboratorio di Programmazione Lezione 2. Cristian Del Fabbro

5 - Istruzioni condizionali

IL COSTRUTTO SELEZIONE

Fondamenti di Informatica 1. Prof. B.Buttarazzi A.A. 2010/2011

Basi della programmazione in Java. Anteprima. Uso delle variabili. Il concetto di variabile Uso delle variabili. Input da tastiera I tipi Esercizi

Algebra di Boole: Concetti di base. E un algebra basata su tre operazioni logiche

PASCAL LA SELEZIONE: IF TRATTO DA CAMAGNI-NIKOLASSY, CORSO DI INFORMATICA, VOL. 1, HOEPLI. Informatica

Costrutti iterativi. Utilizzo dei costrutti iterativi

Costrutto if. Come utilizzare il costrutto condizionale if

Le basi del linguaggio Java

Corso di Laurea Ingegneria Civile Fondamenti di Informatica. Esercizi sui metodi. Carla Limongelli. Maggio Esercizi 1

IL LINGUAGGIO JAVA Input, Tipi Elementari e Istruzione Condizionale

A. Ferrari. informatica. Java basi del linguaggio. Alberto Ferrari Informatica

Strutture di controllo decisionali

Espressioni logiche. Espressioni logiche. Operatori logici. Operatori logici. Operatori logici. Espressioni Logiche e Istruzione di Test

Lezione 6 programmazione in Java

Le basi del linguaggio Java

Elementi lessicali. Lezione 4. La parole chiave. Elementi lessicali. Elementi lessicali e espressioni logiche. Linguaggi di Programmazione I

Fondamenti di informatica T-1 (A K) Esercitazione 2 Basi del linguaggio Java

Dal problema a un programma comprensibile dal calcolatore. Il Progetto degli Algoritmi. Dall analisi del problema all esecuzione

Compitino di Laboratorio di Informatica CdL in Matematica 13/11/2007 Teoria Compito A

2 Operatori matematici e costrutto if

Fasi di creazione di un programma

Lezione 9 programmazione in Java Classi come contenitori

Transcript:

Lezione 3 programmazione in Java Nicola Drago drago@sci.univr.it Dipartimento di Informatica Università di Verona Anteprima Help in linea La selezione Il costrutto di scelta Espressioni logiche Esercizi Lo switch Il costrutto Esercizi Nicola Drago 2 Help in linea Java possiede la propria documentazione in formato HTML. E possibile visualizzarla direttamente da internet collegandosi all indirizzo: http://download.oracle.com/javase/6/docs/api/ scaricarla sul proprio PC collegandosi all indirizzo: http://www.oracle.com/technetwork/java/ /java/java se/downloads/index.html Nicola Drago 3

Struttura del linguaggio Come fa JAVA a sapere che una avete scritto una frase che appartiene al linguaggio?? Si da un alfabeto per costruire delle parole e con le parole si costruiscono le frasi. Servono delle REGOLE! Nicola Drago 4 Struttura del linguaggio: regole Come scrivere le regole: Forma di Backus-Naur (BNF) è un sistema per scrivere le regole! <frase> ::= <soggetto> <predicato> <soggetto> ::= Paolo Francesca <predicato> ::= dorme legge <...> Simboli NON terminali dorme, legge Simboli TERMINALI Nicola Drago 5 Struttura del linguaggio: regole Come scrivere le regole: Forma di Backus-Naur (BNF) è un sistema per scrivere le regole! <frase> ::= <soggetto> <predicato> <soggetto> ::= Paolo Francesca <predicato> ::= dorme legge In aggiunta si possono trovare parti opzionali: int i [= 3]; Nicola Drago 6

Struttura del linguaggio: regole Esempi di utilizzo: Dichiarazione di variabili: <tipo variabile> <nome variabile> [= <valore di partenza>]; int i = 3; float prezzo = 2.0; Nicola Drago 7 Selezione E possibile modificare l esecuzione della sequenza delle istruzioni! SE <selezione> ::= if (espressione logica) <Istruzione> [ <istruzione>] Nicola Drago 8 Selezione if (variabile == 10) System.out.println( Hai inserito Dieci! ); if ( condizione ) istruzione; CONDIZIONI: Uguaglianza == ( a == b ) Maggiore > ( a > b ) Minore < ( a < b ) Maggiore Uguale >= ( a >= b ) Minore Uguale <= ( a <= b ) Diverso!= ( a!= b ) Nicola Drago 9

Selezione if ( condizione ) istruzione; ISTRUZIONE: Singola System.out.println( Hai inserito Dieci! ); Blocco { istruzioni Nicola Drago 10 Selezione Una sequenza di istruzioni racchiusa in { forma una istruzione composta ( compound statement ) e viene trattata come un istruzione singola. if ( Espressione_Booleana ) Istruzione_1 Istruzione_2 include anche il caso in cui Istruzione_1 e/o Istruzione_2 sono istruzioni composte. Nicola Drago 11 Espressioni booleane Boolean : da George Boole, matematico, XIX secolo Espressioni il cui valore puo` essere : vero o falso Tipo primitivo boolean in Java : true o false Nicola Drago 12

Espressioni booleane: operatori Italiano e (congiunzione) o (disgiunzione) non (negazione) Inglese and Java && or not! Nicola Drago 13 Espressioni booleane: congiunzione Esempio : if ( ( pressione > min ) && ( pressione < max ) ) System.out.println ( La pressione va bene. ) ; System.out.println ( Attenzione : pressione fuori norma. ) ; Nicola Drago 14 Espressioni booleane: disgiunzione Esempio : if ( ( stipendio > spese ) ( risparmi > spese ) ) System.out.println ( Bilancio positivo. ) ; System.out.println ( Attenzione : deficit? ) ; Nicola Drago 15

Espressioni booleane: negazione Esempio : if (! ( numero > = minimo ) ) System.out.println ( Troppo piccolo. ) ; System.out.println ( Va bene. ) ; Nicola Drago 16 Espressioni booleane: schema Matematica Italiano Java Esempio d uso = uguale == saldo == 0 disuguale!= risposta!= y > maggiore > uscite > entrate maggiore o uguale >= totale >= 60 < minore < uscite < entrate minore o uguale < = tasso <= 3.00 Nicola Drago 17 Selezione: Esercizi Esempio: Il massimo tra due numeri Scrivere un programma java, per far inserire due numeri interi all utente e far indicare dal programma il numero maggiore. Nicola Drago 18

Selezione: Esercizi import java.io.*; class max2 { public static void main(string[] args) { int a, b; System.out.println("Programma per il calcolo del massimo tra 2 numeri"); System.out.print("Inserisci il primo numero: "); a =Integer.parseInt(Joptio System.out.print("Inserisci il secondo numero: "); b = Integer.parseInt(Joptio Nicola Drago 19 Selezione: Esercizi if (a>b) System.out.println("Il massimo e' il primo"); if (a == b) System.out.println("I 2 numeri sono UGUALI"); System.out.println("Il massimo e' il secondo"); Nicola Drago 20 Selezione: Esercizi Esercizio: Ordinare 3 numeri 1. Sul prezzo di un prodotto viene praticato lo sconto del 3% se costa meno di 500 euro e del 5% per prezzi superiori a 500 euro. Calcolare il prezzo da pagare. Nicola Drago 21

Selezione: Esercizi Esercizi: Scrivere un programma java che: 1. Scrivere un programma java, per far inserire tre numeri interi all utente e farli stampare in ordine crescente. 2. Scrivere un programma che acquisisca da tastiera la quantità e l'importo della merce venduta, lo sconto da applicare se la quantità venduta supera le 100 unità, lo sconto da applicare in caso contrario, l'aliquota IVA: calcolare l'importo da pagare. Nicola Drago 22 Selezione: Esercizi Esercizi: Scrivere un programma java che: 3. La scuola rimborsa il 15% del costo dell'abbonamento se lo studente abita in provincia, usa l'autobus ed è lontano almeno 20 Km dalla scuola. Alle stesse condizioni, se usa il treno il rimborso è del 10%. Calcolare l'ammontare del rimborso, per far inserire tre numeri interi all utente e farli stampare in ordine crescente. Nicola Drago 23 Selezione: annidata Esempio : if ( a == 1 ) System.out.println ( Lunedì ) ; if ( b == 2 ) System.out.println ( Martedì ) ; if ( Ma quando diventano troppi??? Come fare? Nicola Drago 24

Switch: SWITCH: SE I1 break SE I2 <IstruzioneSwitch> ::= switch ( <Expr> ) { case <Val1> : [ <sequenza1> ] [break;] case <Val2> : [ <sequenza2> ] [break;] case <ValN> : [ <sequenzan> ] [break;] [ default : [ <sequenza> ] [break;] ] break Nicola Drago 25 Switch: Esempio: Scrivere un programma JAVA che inserito un numero da 1 a 7 stampi il giorno della settimana corrispondente (da Lunedì a Domenica) Nicola Drago 26 Switch: import java.io.*; class giornisettimana { public static void main(string[] args) { int giorno; System.out.println("Inserire il numero corrispondente al giorno della settimana"); System.out.println("1 - Lunedi'"); System.out.println("2 - Martedi'"); System.out.println("3 - Mercoledi'"); System.out.println("4 - Giovedi'"); System.out.println("5 - Venerdi'"); System.out.println("6 - Sabato"); System.out.println("7 - Domenica"); Nicola Drago 27

Switch: System.out.print("Inserire 1..7 per selezionare un giorno: "); giorno = Integer.parseInt(Joptio switch (giorno) { case 1: System.out.println("Lunedi'"); break; case 2: System.out.println("Martedi'"); break; case 3: System.out.println("Mercoledi'"); break; case 4: System.out.println("Giovedi'"); break; case 5: System.out.println("Venerdi'"); break; case 6: System.out.println("Sabato"); break; case 7: System.out.println("Domenica"); break; default : System.out.println("Nessun giorno valido inserito"); Nicola Drago 28 Switch: Nicola Drago 29 Switch: esercizi Esercizi 1. Si supponga che le tariffe postali per pacchi raccomandati siano le seguenti: Tipo Euro 1 10 2 20 3 35 4 45 Per ogni pacco si deve aggiungere anche un bollo fisso di 2 euro. Dato il tipo del pacco si calcoli il costo totale della spedizione. Stampare a video la tabella sovrastante e permettere all utente di fare la sua scelta. Nicola Drago 30

Esercizi Switch: esercizi 2. Su una somma di denaro si vuole applicare un'imposta progressiva secondo lo schema: - da 0 a 5000 euro: imposta del 10% - dopo i 5000 euro e fino a 15.000 euro: imposta del 20% - oltre i 15.000 euro: imposta del 30% Calcolare l'imposta. Nicola Drago 31 Switch: esercizi Esercizi 3. Sul prezzo di un prodotto viene applicato uno sconto variabile in base ai pezzi acquistati secondo la tabella seguente. Pezzi acquistati Percentuale di sconto 100 2% 200 6% 400 8% 500 10% più di 1000 15% Calcolare la spesa totale Nicola Drago 32