Programmazione in Java e gestione della grafica. Lezione 6

Documenti analoghi
Programmazione in Java (I modulo) Lezione 11: Metodi della classe Math

Programmazione in Java e gestione della grafica. Lezione 7

Uso di metodi statici. Walter Didimo

Java Classi wrapper e classi di servizio. Classi di servizio

Laboratorio di Programmazione Lezione 2. Cristian Del Fabbro

Esempi di programmi. Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1. Dispensa E01. A. Miola Settembre 2007

Laboratorio di Informatica 4 Novembre 2005

Java Classi wrapper e classi di servizio. Classi di servizio

Introduzione Programmazione Java

Programmazione in Java e gestione della grafica (I modulo) Lezione 2: Prime nozioni di Java

Le basi del linguaggio Java

Corso sul linguaggio Java

Corso sul linguaggio Java

Modulo 2: Strutture fondamentali della programmazione Java

Laboratorio di programmazione

Esercizi Programmazione I

INTRODUZIONE ALLA PROGRAMMAZIONE AD ALTO LIVELLO IL LINGUAGGIO JAVA. Fondamenti di Informatica - D. Talia - UNICAL 1. Fondamenti di Informatica

INTRODUZIONE ALLA PROGRAMMAZIONE AD ALTO LIVELLO IL LINGUAGGIO JAVA. Fondamenti di Informatica - Programma

Linguaggio C: le funzioni

Lezione 2 Primi programmi

Programmazione in Java (I modulo) Lezione 4

Laboratorio di programmazione

Corso di Laurea in Bioinformatica Dipartimento di Informatica - Università di Verona

Laboratorio di Programmazione Laurea in Bioinformatica

int main(){ int numero; /* numero di cui voglio calcolare il fattoriale */ int fatt; /* memorizzo il fattoriale di numero */ int somma=0;

Dall analisi alla codifica (2)

Breve Manuale di Riferimento sulla Sintassi Linguaggi C++ e FORTRAN

Corso di Laurea Ingegneria Informatica Fondamenti di Informatica

Java e i Tipi di dati primitivi. Parte 3

Esercizi di riepilogo (Fondamenti di Informatica 1 Walter Didimo)

Fondamenti di Informatica T-1

LABORATORIO 7 ARRAY. ATTENZIONE: argomenti da linea di comando!!!

Programmazione in Java (I modulo)

Programmazione in Java (I modulo)

Metodi statici. Dichiarazione e chiamata di metodi statici

Lezione 13 programmazione in Java. Nicola Drago Dipartimento di Informatica Università di Verona

Lezione 13 programmazione in Java

Programmazione Orientata agli Oggetti in Linguaggio Java

Elementi di Programmazione in C++

Fondamenti di Informatica T-1. Introduzione al linguaggio Java Input/output, variabili, tipi

LEZIONE 1 LE BASI DEL LINGUAGGIO C

Lezione 5 programmazione in Java. Anteprima. Tipi classe. I tipi classe BASE e loro dichiarazione La Dichiarazione (new) Il confronto

INTRODUZIONE ALLA PROGRAMMAZIONE AD ALTO LIVELLO IL LINGUAGGIO JAVA. Struttura di un programma Java

Programmazione A.A Costrutti di base. ( Lezione XII, parte I ) Gestione dell input. Prof. Giovanni Gallo Dr.

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

Corso di Laurea Ingegneria Civile Fondamenti di Informatica. Dispensa 07. Oggetti e Java. Marzo Programmazione Java 1

Lezione 6 programmazione in Java

Laboratorio di Informatica I

PROGRAMMAZIONE: I sottoprogrammi

A. Lorenzi, A. Rizzi Java. Programmazione ad oggetti e applicazioni Android Istituto Italiano Edizioni Atlas

Operazioni numeriche - Input

Le classi in java. Un semplice programma java, formato da una sola classe, assume la seguente struttura:

Fondamenti di informatica 2 Claudio Biancalana. Esercitazione capitolo 19 Array

Metodi statci. Dichiarazione e chiamata di metodi statci

Programmare. Definire una sequenza di istruzioni che specificano come effettuare una elaborazione

14 - Metodi e Costruttori

Lezione 6 Introduzione al C++ Mauro Piccolo

I modificatori di accesso regolano essenzialmente la visibilità e l accesso ad un componente Java. Vediamone alcuni nel seguito: public

I Metodi. Fondamenti di Informatica A-K

Unità A1 Funzioni MODULO Java 2

Corso di JavaScript. M. Malatesta 4-Funzioni e strutture di controllo-03

Espressioni. Operatori aritmetici e metodi della classe java.lang.math

Laboratorio di Matematica e Informatica 1

Capitolo 5 - Funzioni

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

Fondamenti di Informatica T-1. Variabili, costanti e operazioni Selezione

Corso sul linguaggio Java

Comunicazioni di servizio. I metodi - II. Dove siamo. Struttura programma Java. Visibilità (scope) Oggi. Stefano Mizzaro 1

Corso sul linguaggio Java

Array di array. Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1. Dispensa 03. A. Miola Febbraio 2008

L AMBIENTE CODE BLOCKS E L IO

Espressioni. Operatori aritmetici e metodi della classe java.lang.math

Laboratorio di informatica Ingegneria meccanica

Riassunto. Introduzione alla. 4. Intro programmazione strutturata. Oggi. programmazione strutturata. Le strutture di controllo della.

public static boolean occorre (int[] a, int n) { int i = 0; boolean trovato = false;

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

Corso di PHP. Prerequisiti. 2.2 Operatori. Conoscenza HTML Tecnica della programmazione Principi di programmazione web. M. Malatesta 2.

Linguaggio Testuale. E un formalismo che consente di rappresentare gli algoritmi mediante semplici istruzioni in linguaggio «parlato»

Le funzioni: la dichiarazione

L AMBIENTE CODE BLOCKS E L IO

Matematica - SMID : Programmazione 16 Febbraio 2004

! Intro metodi/sottoprogrammi. ! Definizione (intestazione e corpo) e uso. ! Parametri formali e attuali, associazione

Informatica/ Ing. Meccanica e Ing. Edile/ Prof. Verdicchio/ 16/07/2013 / Foglio delle domande / VERSIONE 1

Struttura del programma

Fondamenti di Informatica T-1

Matematica con Python

Esercitazione 00 Introduzione a Matlab

1. Esempi. 2. I mattoni di un programma Java: ! Parole riservate. ! Identificatori. ! Variabili. ! Letterali. ! Costanti. ! Operatori. !

Fondamenti di Informatica T1 Introduzione al linguaggio Java Input/Output-Variabili-Tipi

Basi della programmazione in Java

Programmazione a Oggetti e JAVA. Prof. B.Buttarazzi A.A. 2012/2013

Transcript:

Programmazione in Java e gestione della grafica Lezione 6

La scorsa lezione.. Operatori incremento/decremento ++ -- Istruzione while Riscritto programmi precedenti usando istruzione while

Esercizio della lezione passata Esercizio 5.1 Scrivere un programma che prende in input 10 valori interi inseriti dall utente e stampa sullo schermo il valore piu grande e il secondo più grande. Se il valore più grande è stato inserito due volte allora i due valori in output devono coincidere.

Algoritmo: Variabili: num, max1, max2 Inizializzazioni di max1 e max2: Assegno primo numero a max1 Se secondo numero e < del precedente ( max1) lo assegno a max2 altrimenti lo devo assegnare a max1. In questo caso metto il precedente in max2. Aggiornamento max1 e max2 agli input successivi Se il nuovo numero e > di max1 devo aggiornare sia max1 che max2 Se il nuovo numero e <= di max1 ma > di max2 allora devo aggiornare solo max 2 Se il nuovo numero e <= di max 2 non devo fare nulla

Sul compilatore : Max_primo_sec.java 5

Nuovo esercizio: Esercizio 6.1 (variazione del 5.1) Scrivere un programma che prende in input 10 valori interi inseriti dall utente e stampa sullo schermo il valore piu grande e il secondo più grande. I due valori devono essere distinti cioe se il valore più grande è stato inserito due volte allora deve essere considerato una sola volta.

Esercizio della lezione scorsa Esercizio 5.2 Scrivere un programma che prende in input un valore a compreso tra 3 e 20 (3<= a <=20) e stampa sullo schermo un quadrato di lato a il cui contorno è disegnato con dei * e il cui interno è riempito con dei +. Versione semplificata Scrivere un programma che prende in input un valore a e stampa sullo schermo un quadrato (pieno) di lato a disegnato con dei *

Algoritmo (versione semplificata): Gestione input variabile a Disegno il quadrato Stampo a righe ************* con numero * uguale a a

Algoritmo: Gestione input variabile a (controllo che sia 3<= a<=20) Disegno il quadrato Stampo 1 riga ************* con numero * uguale a a Stampo a-2 righe *++++++++* con numero + uguale a a-2 Stampo 1 riga ************* con numero * uguale a a

Sul compilatore : Quadrato.java Quadrato1.java Quadrato2.java 10

METODI 11 Un metodo (in altri linguaggi si chiama anche funzione o procedura) è un blocco di istruzioni che potrà essere utilizzato in punti diversi del programma Viene utilizzato come un modulo che svolge un qualche compito particolare. Lo utilizzo senza preoccuparmi di come svolge il suo compito ma soltanto per cosa svolge

Metodi static o metodi di classe Sono metodi che svolgono compiti all interno di una classe e si applicano alla classe intera. (si possono usare senza che sia creato alcun oggetto della classe)

Metodi static o metodi di classe Per utilizzarlo (chiamata del metodo) si specifica: NomeClasse.nomeMetodo (argomenti) Se si usa all interno della classe dove è dichiarato non occorre mettere il NomeClasse Il metodo main viene chiamato direttamente dalla JVM

La classe Math La classe Math fa parte del package java.lang, che è importato implicitamente dal compilatore, dunque non è necessario importare la classe Math per usare i suoi metodi. I metodi della classe Math sono tutti static

Method Description Example 15 abs( x ) ceil( x ) absolute value of x rounds x to the smallest integer not less than x abs( 23.7 ) is 23.7 abs( 0.0 ) is 0.0 abs( -23.7 ) is 23.7 ceil( 9.2 ) is 10.0 ceil( -9.8 ) is -9.0 cos( x ) trigonometric cosine of x (x in radians) cos( 0.0 ) is 1.0 exp( x ) floor( x ) exponential method ex rounds x to the largest integer not greater than x log( x ) natural logarithm of x (base e) max( x, y ) larger value of x and y min( x, y ) smaller value of x and y pow( x, y ) x raised to the power y (i.e., xy) exp( 1.0 ) is 2.71828 exp( 2.0 ) is 7.38906 Floor( 9.2 ) is 9.0 floor( -9.8 ) is -10.0 log( Math.E ) is 1.0 log( Math.E * Math.E ) is 2.0 max( 2.3, 12.7 ) is 12.7 max( -2.3, -12.7 ) is -2.3 min( 2.3, 12.7 ) is 2.3 min( -2.3, -12.7 ) is -12.7 pow( 2.0, 7.0 ) is 128.0 pow( 9.0, 0.5 ) is 3.0 sin( x ) trigonometric sine of x (x in radians) sin( 0.0 ) is 0.0 Metodi della classe Math sqrt( x ) square root of x sqrt( 900.0 ) is 30.0 tan( x ) trigonometric tangent of x (x in radians) tan( 0.0 ) is 0.0

Esempi double radice = Math.sqrt(17.0); a = Math.pow(2.0,3.0) float y ;.... int x = Math.round(y);

Vediamo sul compilatore: Test_Math.java

Dichiarare nuovi metodi (static ) La dichiarazione si scrive come: public static <tipo-restituito> NomeMetodo( <lista parametri>) { <istruzioni> } Ricordiamo la dichiarazione del metodo main: public static void main ( String args[])

Semplici esempi (senza parametri) public static void rigavuota() { System.out.println(""); } public static void trerighe() { rigavuota(); rigavuota(); rigavuota(); } 19

Semplici esempi (con un parametro) public static void stampa2volte(string s) { System.out.println(s); System.out.println(s); } public static void insrighevuote(int n) { int i=1; while (i <=n) { rigavuota(); i++; } } 20

Vediamo sul compilatore: ProvaRighe.java Quadrati3.java a-2 righe Mystery.java

Esercizi Esercizio 6.1 (variazione del 5.1) Scrivere un programma che prende in input 10 valori interi inseriti dall utente e stampa sullo schermo il valore piu grande e il secondo più grande. I due valori devono essere distinti cioe se il valore più grande è stato inserito due volte allora deve essere considerato una sola volta.

Esercizi Esercizio 6.2 Scrivere un programma che prende in input un valore a compreso tra 2 e 20 (2<= a <=20) e stampa sullo schermo un rettangolo di base 2a+1 e altezza a tutto fatto di simboli R contentente un triangolo di simboli S come in.figura (per a=3).: RRRSRRR RRSSSRR RSSSSSR

Esercizi Esercizio 6.3 Scrivere un programma che contiene al suo interno come metodi i codici (gia scritti) rispettivamente per calcolare il max, il min, la somma e il prodotto di 10 elementi inseriti dall utente. Il programma propone all inizio un menu con 4 scelte e chiede all utente quale delle quattro funzioni vuole eseguire. In base alla scelta inserita poi esegue uno dei quattro calcoli.