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

Documenti analoghi
Il calcolatore. Architettura di un calcolatore (Hardware)

Corso di Laurea Ingegneria Civile Fondamenti di Informatica. Traduzione ed esecuzione di programmi. Dispensa 08

Programmazione in Java e gestione della grafica (I modulo) Lezione 1: Presentazione corso

Programmazione Orientata agli Oggetti in Linguaggio Java

COMPILAZIONE. Tarsformazione di linguaggi

Programmare in Java. Olga Scotti

Strumenti per la programmazione

Prova Finale a.a. 2011/2012. Laboratorio 1: Introduzione a Java e Eclipse

Java Native Interface Appunti

Primi programmi in Java. Lezione IV

Programmazione in Java (I modulo) Lezione 3: Prime nozioni

Laboratorio di Programmazione Lezione 1. Cristian Del Fabbro

Struttura di un programma Java

La prima applicazione Java con NetBeans IDE. Dott. Ing. M. Banci, PhD

Esercizi Java. class somma2 { static int somma(int a,int b) {return a+b; }

Java: Compilatore e Interprete

Oggi. Programmazione e laboratorio: introduzione al corso. Docenti: laboratorio. Docenti: teoria. Il corso. Orario.

Programmazione ad oggetti

Le command line di Java

Guida all uso dell ambiente di sviluppo 1 integrato o IDE. JCreator LE 4.50

Università di Torino Facoltà di Scienze MFN Corso di Studi in Informatica. Programmazione I - corso B a.a prof.

Fondamenti di programmazione in Java. Lezione III

Corso di Informatica (Programmazione) Lezione 6 (31 ottobre 2008)

Scrivere un programma in Java

Fondamenti di Informatica PROBLEMI E ALGORITMI. Fondamenti di Informatica - D. Talia - UNICAL 1

2 - Introduzione al linguaggio Java

3 - Variabili. Programmazione e analisi di dati Modulo A: Programmazione in Java. Paolo Milazzo

Parcheggio.rtf 1/8 6 gennaio Prova di programmazione: parcheggio a pagamento

Java. Traditional portability (ideal)

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

COS È UN LINGUAGGIO? LINGUAGGI DI ALTO LIVELLO LA NOZIONE DI LINGUAGGIO LINGUAGGIO & PROGRAMMA

Programmazione in Java Parte I: Fondamenti

Nascita di Java. Che cos e Java? Caratteristiche di Java. Java: linguaggio a oggetti

Eclipse. Avviare un progetto e compilare un semplice programma

Programmazione AA

Ingegneria del Software 1: Eclipse

Programmazione. Programmare ad oggetti. Programmi e calcolatori. Focalizzazione del corso. Alcuni linguaggi famosi. Programmi e linguaggi

Java? Sì, grazie. Scopo del corso

ProgettAzione tecnologie in movimento - V anno Unità 4 - Realizzare applicazioni per la comunicazione in rete

Info Architettura, JVM Installazione JDK (Windows, Linux) Hello world!

Codifica: dal diagramma a blocchi al linguaggio C++

Ambienti di Sviluppo

Introduzione alla programmazione Java. Dott. Ing. M. Banci, PhD

Sorgenti, Binari e Pacchetti (Compilazione e pacchettizzazione per GNU/Linux)

public class Hello { public static void main(string[] args){ // visualizza un messaggio sulla finestra di // console System.out.

PROGETTO LAUREE SCIENTIFICHE

Linguaggio Java. Robusto. Orientato agli oggetti. Protegge e gestisce dagli errori. Non permette costrutti pericolosi

Corso Base. Liceo Norberto Rosa Bussoleno Prof. Angelo GIORGIO

La gestione dell input/output da tastiera La gestione dell input/output da file La gestione delle eccezioni

INTRODUZIONE INTRODUZIONE JAVA JAVA

Luca Mari, Sistemi informativi applicati (reti di calcolatori) appunti delle lezioni. Da JavaScript a Java

Programmazione per Bioinformatica Il Calcolatore e la Programmazione. Dr Damiano Macedonio Università di Verona

Corso sul linguaggio Java

Java Virtual Machine

Appunti di Informatica 1

Laboratorio di Informatica Lezione 4

Linguaggi e Paradigmi di Programmazione

Programmazione 1 A.A. 2015/2016

Progetto Automi e Linguaggi Parser svliluppato con JLex e cup

Introduzione alla programmazione in Java

Corso di Laurea Ingegneria Informatica Fondamenti di Informatica

Il linguaggio di programmazione JAVA

Concetti Base Eccezioni Eccezioni e Metodi Gerarchia di Eccezioni. Java: Eccezioni. Damiano Macedonio

Tale attività non è descritta in questa dispensa

FONDAMENTI DI INFORMATICA

Il computer: primi elementi

appunti delle lezioni Architetture client/server: applicazioni server

Java:Struttura di Programma. Fabio Scanu a.s. 2014/2015

R. Focardi 2002 Laboratorio di Ingegneria del Software Slide 1. Applicazioni = programmi stand-alone

Software. Algoritmo. Algoritmo INFORMATICA PER LE DISCIPLINE UMANISTICHE 2 (13042)

NozionidiBase di Informatica

Configurare TPTP in Eclipse e testare un applicazione

Introduzione. Laboratorio di Calcolo Corso di Laurea in Fisica. Università degli Studi di Roma La Sapienza

LINGUAGGI DI PROGRAMMAZIONE LINGUAGGI DI BASSO LIVELLO

Tipi fondamentali di documenti web

IL LINGUAGGIO JAVA: CARATTERISTICHE

Java: Compilazione e Traduzione. Fondamenti di Informatica L-B Esercitazione n 3 Introduzione a JAVA. C: Editing, compilazione, esecuzione

VIRTUALIZZAZIONE. Docente: Marco Sechi Modulo 1

Reflection in Java. Linguaggi Corso M-Z - Laurea in Ingegneria Informatica A.A

Fondamenti di Informatica Ingegneria Clinica Lezione 16/10/2009. Prof. Raffaele Nicolussi

DIREZIONE DIDATTICA DI SAN GIUSEPPE JATO Programma Operativo Nazionale Fondo Sociale Europeo - Competenze per lo sviluppo

Esonero del corso di Programmazione a Oggetti

Corso Eclipse. Prerequisiti. 1 Introduzione

Linguaggi per COMUNICARE. Il linguaggio è un sistema codificato di segni che consente la comunicazione, intesa come scambio di informazioni

Linguaggi 2 e laboratorio

Navigare in Internet Laboratorio di approfondimento la creazione di siti web e/o blog. Marco Torciani. (Seconda lezione) Unitre Pavia a.a.

Elementi di Informatica

Le variabili. Olga Scotti

1 introdurre le monete per l importo necessario. 2 selezionare la quantità di zucchero. 3 selezionare la bevanda desiderata

Un primo programma Java. Introduzione alla programmazione in Java. Programmi e mondo reale. Programmare ad oggetti. I programmi come modelli

Gestione di files Motivazioni

Corso di Informatica

PG5 Starter Training Applicazione Daniel Ernst EN Stefano Peracchi IT

20 - Input/Output su File

Introduzione al linguaggio Java. Applicazioni ed Applets: come scriverli e farli girare. Caratteristiche originali e differenze con C / C++.

Sistemi Web per il turismo - lezione 3 -

Algebra di Boole: Concetti di base. Fondamenti di Informatica - D. Talia - UNICAL 1. Fondamenti di Informatica

Esercizi classi e array

Esercitazione 4 JDBC

Università di Torino Facoltà di Scienze MFN Corso di Studi in Informatica. Programmazione I - corso B a.a prof.

Transcript:

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

Programmi Un programma è un insieme di istruzioni che il computer deve seguire Usiamo programmi in continuazione nella nostra giornata (whatsapp, email, word processors, video games, bancomat, etc.). Seguire le istruzioni si dice running or esecuzione del programma.

Eseguire un Programma A volte è più semplice pensare programma e computer come un unico elemento

Computer e programmazione Ogni computer ha un proprio linguaggio macchina ogni istruzione coincide con un istruzione di macchina e pertanto è un linguaggio binario o anche linguaggio di basso livello

Computer e programmazione Esistono linguaggi di programmazione che consentono di scrivere i programmi in termini di istruzioni vicine alla logica delle tecniche di risoluzione di problemi le istruzioni sono espresse mediante simboli e pertanto tali linguaggi sono anche detti linguaggi simbolici o linguaggi ad alto livello sono linguaggi simbolici anche i linguaggi assemblativi, in cui ad ogni istruzione del linguaggio corrispondono una o più(poche) istruzioni di macchina

Esecuzione dei programmi Il Computer, in particolare il suo hardware, esegue solo programmi in linguaggio macchina Se un programma è in linguaggio macchina può essere quindi direttamente eseguibile tutte le applicazioni sono immediatamente eseguibili proprio per questo motivo

Esecuzione dei programmi Se un programma è in linguaggio simbolico non può essere eseguito immediatamente c è bisogno di un processo di traduzione che viene realizzato tramite opportune applicazioni già disponibili, e che sono quindi evidentemente in linguaggio macchina

Compilazione e interpretazione Esistono due approcci alla traduzione ed esecuzione dei programmi Compilazione un programma scritto in un linguaggio di programmazione di alto livello viene trasformato in un programma in linguaggio macchina e poi eseguito interpretazione ciascuna istruzione del programma scritto in un linguaggio di programmazione di alto livello viene trasformata in istruzioni del linguaggio macchina ed eseguita

Compilazione e interpretazione I traduttori del primo tipo sono chiamati effettivamente compilatori, quelli del secondo tipo sono chiamati interpreti Una analogia con la traduzione tra linguaggi diversi la compilazione è analoga alla traduzione di un libro l interpretazione è analoga alla traduzione simultanea

Compilazione Il computer con un programma compilatore, ricevendo un programma sorgente in linguaggio simbolico esegue la traduzione producendo in uscita il corrispondente programma eseguibile in linguaggio macchina Programma sorgente Compilatore Programma eseguibile

Interpretazione Il calcolatore con un programma interprete, ricevendo un programma sorgente in linguaggio simbolico e i relativi dati in ingresso lo interpreta e lo esegue, istruzione dopo istruzione, producendo direttamente i dati in uscita Dati in ingresso (input) Programma sorgente Interprete Dati in uscita (output)

Confronto tra compilazione e interpretazione I linguaggi compilati prevedono la distribuzione di un file eseguibile (in linguaggio macchina) specifico per ogni piattaforma il file sorgente, che consentirebbe di modificare il programma, rimane di esclusiva pertinenza del programmatore

Confronto tra compilazione e interpretazione I linguaggi interpretati prevedono la distribuzione diretta del file sorgente (che è il medesimo per tutte le piattaforme) su ogni piattaforma deve essere disponibile il programma interprete

Il linguaggio Java Java adotta una strategia mista il file sorgente contenente un programma Java viene prima compilato, generando un file in ByteCode il file in ByteCode è un file in linguaggio macchina per una macchina non esistente, detta macchina virtuale o Java Virtual Machine

Il linguaggio Java per essere eseguito il ByteCode viene interpretato su ogni piattaforma esistono programmi interpreti, che realizzano una Java VirtualMachine, per ogni piattaforma in questo modo il file sorgente non viene distribuito, mentre il file ByteCode distribuito è il medesimo per tutte le piattaforme

Compilazione di programmi Java Il calcolatore con un programma compilatore Java, ricevendo un programma sorgente in linguaggio lo traduce producendo in uscita il corrispondente programma in un linguaggio intermedio ByteCode Programma sorgente in Java Compilatore Java Programma ByteCode

Interpretazione di programmi in ByteCode Il calcolatore con un programma interprete Java VirtualMachine(JVM), ricevendo un programma in ByteCode e i relativi dati in ingresso lo interpreta e lo esegue, istruzione dopo istruzione, producendo direttamente i dati in uscita Dati in ingresso (input) Programma ByteCode Java Virtual Machine Dati in uscita (output)

Compilatori Un compilatore è un programma che traduce un programma da un linguaggio di alto livello ad uno di basso livello che può essere eseguito dal computer. Compilare un programma significa eseguire il programma compilatore dando in input la versione in linguaggio di altolivello detto programma sorgente. I compilatori danno in output programmi in linguaggio macchina o in assembler detti programmi oggetto.

Java Byte-Code Il compilatore Java non traduce il programma java in assembly o linguaggio macchina per un particolare computer. Invece, traduce il programma Java in byte-code. Byte-code è il linguaggio macchina per un ipotetico computer chiamato Java Virtual Machine (JVM).

Compilo, Interpreto, Eseguo Uso il compilatore per tradurre il programma Java in byte-code (commando javac). Uso la Java virtual machine del mio computer per tradurre ogni istruzione in byte-code in linguaggio macchina e eseguo direttamente tali istruzioni (comando java).

Portabilità Dopo aver compilato un programma java in byte-code, tale byte-code può essere utilizzato su qualsiasi computer in cui è istallato un interprete per byte-code senza la necessità di dover ricompilare. Il Byte-code può essere anche inviato via internet e usato dappertutto. Questo rende Java adatto alle applicazioni su Internet.

Compilare ed Eseguire un programma

Un primo assaggio! Vediamo come usare l editor per scrivere un programma Java. Analizziamo riga per riga due semplici programmi Java. Proviamo a compilare e a correggere gli errori di un programma Java.

Compilare un Programma o una Classe Un programma Java consiste di una o più classi che devono essere compilate prima di eseguire il programma. Non occorre compilare le classi che sono fornite da Java (System,Scanner,.). Un package è una libreria di classi già definite import java.util.scanner;

Compilare ed Eseguire Ogni classe deve stare in un file distinto. Il nome del file deve essere lo stesso del nome della classe con suffisso.java Quando compilo un programma Java viene creato un file in linguaggio byte-code che ha lo stesso nome ma il suffisso viene cambiato da.java a.class.

Compilare ed Eseguire Un programma Java può essere composto da numerose classi. La classe da eseguire deve contenere da qualche parte nel file le parole public static void main(string[] args)

Programma "HelloWorld" Primo programma (per tradizione!) http://helloworldcollection.de/

// primo programma per testare il compilatore public class HelloWorld { public static void main( String args[] ) { System.out.println( "Hello World" ); } }

import java.util.scanner; public class PrimoProgramma { public static void main(string[] args) { System.out.println("Ciao!"); System.out.println("Eseguo la somma di due numeri."); System.out.println("Digita entrambi i numeri sulla stessa riga:"); int n1, n2; Scanner tastiera = new Scanner(System.in); n1 = tastiera.nextint(); n2 = tastiera.nextint(); } } System.out.println("Ecco la somma dei due numeri:"); System.out.println(n1 + n2);

Esercizi lab.

Esercizio 1 Compilare/Correggere il file QuantiErrori.java

Esercizio 2 A partire dal file HelloWorld.java creare un programma che disegna sullo schermo Un "quadrato" di Q di lato 6 come il seguente: QQQQQQ QQQQQQ QQQQQQ QQQQQQ QQQQQQ QQQQQQ

Esercizio 3 A partire dal file HelloWorld.java creare un programma che disegna sullo schermo Un triangolo di T di altezza 10 come il seguente T TT TTT TTTT Un triangolo di R di altezza 10 come il seguente R RR RRR RRRR

Esercizio 4 Modificare il file PrimoProgramma.java e creare un programma che: Richiede all'utente 5 numeri Calcola la media aritmetica