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



Documenti analoghi
Corso di Laurea Ingegneria Informatica Laboratorio di Informatica

Corso sul linguaggio Java

Strumenti per la programmazione

Corso di Laurea Ingegneria Informatica Fondamenti di Informatica

Strumenti per la programmazione

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

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

2 - Introduzione al linguaggio Java

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

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

Programmare in Java. Olga Scotti

Corso Eclipse. Prerequisiti. 1 Introduzione

Tale attività non è descritta in questa dispensa

Appunti di Informatica 1

APPENDICE. Appendice. Strumenti per lo sviluppo dei programmi Java

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

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

Corso di Laurea Ingegneria Informatica Fondamenti di Informatica

Corso sul linguaggio Java

Introduzione a Dev-C++

Programmazione Java. Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1. Dispensa 3. Alfonso Miola Settembre 2007

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

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

Scrivere un programma in Java

Installazione del Software. per lo Sviluppo di Applicazioni Java

Programmi e Oggetti Software

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

Java? Sì, grazie. Scopo del corso

4. Un ambiente di sviluppo per Java

Fondamenti di Informatica T1 Guida all uso di JDK e Eclipse

AMBIENTE DEV PASCAL. Dev-Pascal Finestra di apertura

Fondamenti di programmazione in Java. Lezione III

Guida di Installazione GCC

Panoramica: che cosa è necessario

PROTOTIPAZIONE DI UN TRADUTTORE DA SORGENTE PLC AD ASSEMBLY DI UNA MACCHINA VIRTUALE

Ambienti di Sviluppo

e l ambiente Info L 4 Le operazioni sui dati L 1 L ambiente di programmazione L 5 Le stringhe L 2 La struttura del codice

Installazione del JDK 6

Compilare il primo programma. Primo programma in C. Esercizio Somma due numeri. Compilare il primo programma. Analisi. Analisi

Tutorial per l installazione del J2SE 6 e configurazione del sistema operativo

Le command line di Java

Dispensa di Informatica I.1

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

Java: Compilatore e Interprete

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

Approccio stratificato

Introduzione alla programmazione in Java

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

FONDAMENTI DI INFORMATICA

Client - Server. Client Web: il BROWSER

Codifica: dal diagramma a blocchi al linguaggio C++

Università degli studi di Roma Tor Vergata Ingegneria Medica Informatica I Programma del Corso

Gian Luca Marcialis studio degli algoritmi programma linguaggi LINGUAGGIO C

Application Server per sviluppare applicazioni Java Enterprise

Java. Traditional portability (ideal)

L ambiente di sviluppo Android Studio

Linguaggi 2 e laboratorio

La prima applicazione Java. Creazione di oggetti - 1. La prima applicazione Java: schema di esecuzione. Gianpaolo Cugola - Sistemi Informativi in Rete

MANUALE MOODLE STUDENTI. Accesso al Materiale Didattico

Il web server Apache Lezione n. 3. Introduzione

Il SOFTWARE DI BASE (o SOFTWARE DI SISTEMA)

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

Esercitazione n 4. Obiettivi

Informatica. Prof. A. Longheu. Introduzione a Java

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

IBM SPSS Statistics per Windows - Istruzioni di installazione (Licenza di rete)

Istruzioni per l installazione del software per gli esami ICoNExam (Aggiornate al 15/01/2014)

Linguaggi e Paradigmi di Programmazione

IBM SPSS Statistics per Windows - Istruzioni di installazione (Licenza di rete)

2015 PERIODO D IMPOSTA

DFD FAQ FIRMA DIGITALE

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

PROGETTO LAUREE SCIENTIFICHE

Linguaggio C Compilazione, linking e preprocessor

Statistica 4038 (ver. 1.2)

sito web sito Internet

Linguaggi di programmazione

Visual basic base Lezione 01. L'ambiente di sviluppo

Introduzione all uso di Eclipse

Corso di Informatica

Programmazione Orientata agli Oggetti in Linguaggio Java

Primi programmi in Java. Lezione IV

Note per generazione file.txt per invio trimestrale V.P. all AGENZIA DELLE ENTRATE

Processo parte VII. Strumenti. Maggiore integrazione. Sviluppo tecnologico

Programmazione Orientata agli Oggetti in Linguaggio Java

IBM SPSS Statistics per Windows - Istruzioni di installazione (Licenza per utenti singoli)

AE RZT QSO RKPT SQZC

Appunti del corso di Informatica 1 (IN110 Fondamenti) 4 Linguaggi di programmazione

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

Corso sul pacchetto R

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

Informa(ca Appun% dal laboratorio 2

Corso basi di dati Introduzione alle ASP

Laboratorio di Informatica

Corso basi di dati Installazione e gestione di PWS

Il Sistema Operativo (1)

Realizzazione di un applicazione per la visualizzazione grafica didattica e di debug per algoritmi in Java

Excel. A cura di Luigi Labonia. luigi.lab@libero.it

Programmazione in Java Parte I: Fondamenti

Transcript:

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

Nota bene Alcune parti del presente materiale didattico sono derivate da: trasparenze per il corso di Laboratorio di Informatica A.A. 2005-2006 prodotte da Alfonso Miola L utilizzo di questo materiale è stato consentito dall autore Traduzione ed esecuzione di programmi 2

Contenuti Traduzione ed esecuzione di programmi Compilatori ed interpreti L approccio misto di Java L uso di ambienti di sviluppo integrati (IDE) Traduzione ed esecuzione di programmi 3

Linguaggi di programmazione Traduzione ed esecuzione di programmi 4

Esecuzione dei programmi Traduzione ed esecuzione di programmi 5

Programmi in linguaggio macchina Un calcolatore è una macchina che ricevendo un programma in linguaggio macchina e i relativi dati in ingresso lo esegue producendo dati in uscita (i risultati dell elaborazione) durante questa esecuzione la macchina (hardware) diventa una macchina virtuale Traduzione ed esecuzione di programmi 6

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 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 Traduzione ed esecuzione di programmi 7

Compilazione Il calcolatore con un programma compilatore, ricevendo un programma sorgente in linguaggio simbolico esegue la traduzione producendo in uscita il corrispondente programma eseguibile in linguaggio macchina Traduzione ed esecuzione di programmi 8

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 Traduzione ed esecuzione di programmi 9

Confronto tra compilazione ed 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 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 Traduzione ed esecuzione di programmi 10

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 per essere eseguito il ByteCode viene interpretato su ogni piattaforma esistono programmi interpreti, che realizzano una Java Virtual Machine, per ogni piattaforma in questo modo il file sorgente non viene distribuito, mentre il file ByteCode distribuito è il medesimo per tutte le piattaforme Traduzione ed esecuzione di programmi 11

Compilazione di programmi Java Il calcolatore con un programma Compilatore Java, ricevendo un programma sorgente in linguaggio Java esegue la traduzione producendo in uscita il corrispondente programma in un linguaggio intermedio ByteCode Traduzione ed esecuzione di programmi 12

Interpretazione di programmi in ByteCode Il calcolatore con un programma interprete Java Virtual Machine (JVM), ricevendo un programma ByteCode e i relativi dati in ingresso lo interpreta e lo esegue, istruzione dopo istruzione, producendo direttamente i dati in uscita Traduzione ed esecuzione di programmi 13

Riassumendo /* Applicazione che visualizza una frase sullo schermo. */ class ScrittoreSulloSchermo { public static void main(string[] args) { System.out.println("Questo corso"); System.out.println("introduce i concetti di"); System.out.println("base dell'informatica"); } }... getstatic #6 <Field java.io.printstream out>... Traduzione ed esecuzione di programmi 14

Che cosa fare in pratica esecuzione Per eseguire una applicazione si deve usare il comando java di Java 2 SDK per eseguire il comando java si deve specificare il nome della classe applicazione che si vuole eseguire una applicazione Java viene eseguita come segue viene inizializzata una macchina virtuale Java (JVM) la JVM costruisce l oggetto classe corrispondente alla classe applicazione la JVM invia il messaggio main(...) a questo oggetto classe Per eseguire l applicazione ScrittoreSulloSchermo è necessario eseguire il comando java ScrittoreSulloSchermo si osservi come il nome del metodo main non compare esplicitamente nel comando Traduzione ed esecuzione di programmi 15

Uso di Java 2 SDK La seguente figura mostra la compilazione ed esecuzione dell applicazione ScrittoreSulloSchermo nella finestra del prompt dei comandi di Windows si osservi che System.out corrisponde alla finestra in cui viene eseguita l applicazione Traduzione ed esecuzione di programmi 16

Ambienti integrati di sviluppo Un ambiente integrato di sviluppo (o IDE, che è l acronimo di Integrated Development Environment) è una applicazione che permette di editare, compilare ed eseguire programmi nell ambito di un unico ambiente Alcune funzionalità tipiche di un IDE Java sono le seguenti editor (integrato) guidato dalla sintassi sintassi evidenziata mediante colori aiuto in linea e sensibile al contesto editor visuale di interfacce grafiche (GUI) accesso al compilatore e alla macchina virtuale Java mediante menu e/o bottoni altri strumenti browser della documentazione debugger integrato gestore di progetti e classi Traduzione ed esecuzione di programmi 17

Ambienti integrati di sviluppo per Java Ci sono due tipologie di IDE per Java IDE dotati di una propria versione di Java SDK Borland JBuilder Foundation, http://www.borland.com/jbuilder/foundation/ Metrowerks CodeWarrior Microsoft Visual J++ Symantec Visual Café IDE che non sono dotati di una propria versione di Java SDK ma che ne richiedono una installazione separata Kawa (Allaire, Tek-Tools) http://www.allaire.com/products/kawa/ Forte for Java, Community Edition (Sun) http://www.sun.com/forte/ffj/ce/ TextPad (Helios Software Solutions) http://www.textpad.com diversamente dai precedenti, TextPad è un editor di testi arricchito con alcune funzionalità degli IDE Traduzione ed esecuzione di programmi 18

Rifermimenti al libro di testo Per lo studio di questi argomenti si fa riferimento al libro di testo, e in particolare al capitolo 4 (Strumenti per la programmazione) 4.1 Strumenti per la programmazione 4.1.1 Editing ed editor 4.1.2 Compilazione e compilatori 4.1.3 Esecuzione 4.1.4 Compilatori e interpreti 4.1.5 Compilazione ed esecuzione di programmi Java 4.1.6 Java 2 Software Development Kit 4.2 Che cosa fare in pratica 4.4 Ambienti integrati di sviluppo Traduzione ed esecuzione di programmi 19