Fondamenti di Informatica

Documenti analoghi
Laboratorio di Programmazione Lezione 1. Cristian Del Fabbro

Laboratorio di Programmazione Laurea in Bioinformatica

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

Lezione 6 Introduzione al C++ Mauro Piccolo

Esonero di Informatica I. Ingegneria Medica

Capitolo 1. Introduzione. Cay S. Horstmann Concetti di informatica e fondamenti di Java

3) Descrivere l architettura di un elaboratore tramite astrazione a livelli

Strumenti Java. Fondamenti di informatica L-B A.A Alessandra Toninelli

Corso di Laurea Ingegneria Informatica Laboratorio di Informatica

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

AMBIENTI DI PROGRAMMAZIONE

Introduzione alla programmazione

Le basi del linguaggio Java

Programmazione I - corso B a.a prof. Viviana Bono

Corso di Laurea Ingegneria Informatica Fondamenti di Informatica

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

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

IL LINGUAGGIO JAVA. Input, Tipi Elementari e Istruzione Condizionale. Primo esempio di un programma Java

IL LINGUAGGIO JAVA. Input, Tipi Elementari e Istruzione Condizionale. Fondamenti di Informatica - D. Talia - UNICAL 1. Fondamenti di Informatica

Basi della programmazione in Java

Introduzione a Java. Prof. Francesco Accarino IIS Altiero Spinelli Via Leopardi132 Sesto San Giovanni

INTRODUZIONE ALLA PROGRAMMAZIONE

Introduzione a Java. Riferimenti

Primi passi col linguaggio C

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

IL LINGUAGGIO JAVA Input, Tipi Elementari e Istruzione Condizionale

Fondamenti di Informatica T-1. Guida al LAB4 Introduzione a JDK e Eclipse

AMBIENTI DI PROGRAMMAZIONE

Cosa fare prima di iniziare. Laboratorio Primo Impatto. Hello World. L editor. Compilazione da riga di comando. Compilazione da riga di comando

Traduzione e interpretazione

Corso sul linguaggio Java

Introduzione alla programmazione. Alice Pavarani

Programmazione. Fondamenti di Informatica

IL LINGUAGGIO JAVA. Introduzione alla sintassi di Java La sintassi formalizza le regole sintattiche per scrivere frasi ben formate

Progettazione del Software

Prof. Pagani Corrado INTRODUZIONE AL LINGUAGGIO C

Corso sul linguaggio Java

Java e i Tipi di dati primitivi. Parte 3

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

Ambienti di Sviluppo. Linguaggi compilati

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

I Fondamenti del Linguaggio

Primo programma in C

Linguaggi di programmazione

Cosa fare prima di iniziare. Laboratorio Primo Impatto. Hello World. L editor

10: I LINGUAGGI di PROGRAMMAZIONE PARTE 1

Concetti base programmazione. Antonio Gallo

L AMBIENTE CODE BLOCKS E L IO

Laboratorio di Programmazione 1. Docente: dr. Damiano Macedonio Lezione 4 24/10/2013

Unità Didattica 1 Linguaggio C. Fondamenti. Struttura di un programma.

Prof. Pagani corrado JAVA

Fondamenti di Informatica T-1

Sintassi Java PA RTE 1 FONDAMEN TI DI I N FORMAT ICA PER IL CORSO DI LAUREA I N M AT EMAT ICA PA O L A L E C C A

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

Gocce di Java. Gocce di Java. Tipi di dato primitivi. Pierluigi Crescenzi. Università degli Studi di Firenze

Linguaggio C - sezione dichiarativa: costanti e variabili

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

Primi programmi in C

Tutorato di Fondamenti di Informatica TUTOR: DAVIDE GHIANI, GIULIA ORRU

Eclipse e SDK. Capiamo che sistema operativo abbiamo

Introduzione alla Programmazione. Giselda De Vita

Il paradigma di programmazione a oggetti

Il paradigma di programmazione a oggetti

Indice. Introduzione a tool per lo sviluppo e l'esecuzione di programmi in linguaggio Java. Compilazione ed esecuzione di un programma

Università degli Studi di Ferrara

Il linguaggio C. Prof. E. Occhiuto INFORMATICA 242AA a.a. 2010/11 pag. 1

L AMBIENTE CODE BLOCKS E L IO

Introduzione al linguaggio C Primi programmi

La Programmazione. Cos è la programmazione? Concetti preliminari. Programmazione e Laboratorio di Programmazione Luca Tesei 1

Corso di Laurea in Informatica Applicata Prima Prova di Verifica Intermedia di Programmazione II 1 Dicembre 2010

INFORMATICA Il linguaggio Java Roberta Gerboni

Corso: Fondamenti di Informatica 1 (gruppo 8-9) Corsi di laurea: Area dell'informazione Simulazione del Questionario a Risposte Multiple.

Programmazione in Java (I modulo) Lezione 4

Laboratorio di Informatica I

Sommario. La Programmazione. Programmare vs Usare un computer. Programmare vs Usare un computer. Programmi ognidove. Programmi ognidove

Università degli Studi di Padova

Il Linguaggio C. Caratteristiche. Caratteristiche. Esempio di programma in C. Tipi di dato primitivi in C. Dati

4 - Tipi di dato primitivi

Burocrazia: Primi passi con il linguaggio C. Diversi tipi di linguaggio. Un solo linguaggio

Programmazione. Tipi di dato primitivi. Francesco Tiezzi. Scuola di Scienze e Tecnologie Sezione di Informatica Università di Camerino

Indice. Introduzione a tool per lo sviluppo e l'esecuzione di programmi in linguaggio Java. Compilazione ed esecuzione di un programma

Agenda. Caratteristiche del linguaggio. Il primo programma java. Variabili. Tipi primitivi. Assegnamento

Programmazione in rete e laboratorio a.a. 2002/03

Riassunto. I mattoni di base di un programma Java. Oggi. Un programma complicato. Oggi. Perché è complicato? Stefano Mizzaro 1.

A. Ferrari. informatica. introduzione a Java. Alberto Ferrari Informatica

LABORATORIO DI INFORMATICA. Prof.ssa Patrizia Tarantino

Modulo 2: Strutture fondamentali della programmazione Java

Iniziare a programmare in C++

Fondamenti di Informatica. Ingegneria elettronica

Informatica I. Ingegneria Medica. Prof. Diego Salamon

Primi programmi in Java. Lezione II

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

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

Transcript:

Fondamenti di Informatica Lezione 1 Danilo Amendola - www2.units.it/damendola/ October 7, 2018 University of Trieste

Computers La scheda madre di un Personal Computer ed il computer ENIAC (ritenuto il IV computer della storia). Fonte: Horstmann, Core Java I 1

Schematic Computer Un diagramma schematico di un computer Fonte: Horstmann, Core Java I 2

Java e la rete 3

Cos è Java i Linguaggio di programmazione, definito dalla Sun, oggi acquisito da Oracle; Obbiettivo di Java era la possibilità di sviluppare applicazioni: sicure, e cienti, robuste, multipiattaforma, per reti eterogenee e distribuite; Linguaggio di alto livello, semplice ed orientato agli oggetti; E un linguaggio interpretato: produce byte-code, codice intermedio per la Java Virtual Machine. CODICE SORGENTE! Compilatore! BYTECODE! Interprete Portabilità su diverse piattaform; Indipendetete dalle architetture: Byte-code indipendente dalle architetture hardware; Il byte-code può essere eseguito su ogni sistema fornito di Java Runtime Environment; 4

Cos è Java ii Robustezza: controlli estesi durante le fasi di compilazione ed esecuzione; Distribuito: Pensato per essere eseguito in rete; Funzioni di rete di basso e alto livello; Rete accessibile come i file locali; Sicurezza: Verifiche sulle caratteristiche del byte-code prima di interpretare; più e ciente: si fanno meno controlli a run-time; indizzamenti controllati dall interprete, evita condotte pericolose; Possibilità di caricamento dinamico delle classi tramite la rete; Concorrenza: Applicazioni concorrenti più facili da scrivere (rispetto ai linguaggi precedenti); Migliore interazione tra i thead. 5

Cosa serve per iniziare Cosa serve per iniziare a programmare con Java: Installate un Editor di testo (notepad, SublimeText, Atom, notepad++, TextPad, BluJ, Eclipse, etc); Installate la Java SDK (Software Developement Kit) www.oracle.com/technetwork/java/javase/downloads Attenzione: non basta la JRE (Java Runtime Environment); la command line di windows (cmd.exe) o la shell di Linux/OSX; Potete seguire una guida per l installazione di Java: guida all installazione; 6

Editor, IDE e programmazione Un Editor è un programma che ci permette di editare un file e salvarlo sul disco (Emacs, Vi, Vim, Nano, BloccoNote, Notepad++, etc. ect. etc.) Un IDE è un ambiente di sviluppo integrato che permette di automatizzare e semplificare la scrittura di codice, la compilazione, l esecuzione ed il debugging. Alcuni IDE per Java: Eclipse: eclipse.org, il più consigliato [download] Netbeans: netbeans.org IntelliJ IDEA: jetbrains.com BluJ: bluj.org DrJava drjava.org etc. Suggerimento: iniziate a programmare con un editor di testo semplice. 7

Concetti chiave: Compilazione, Esecuzione e Debugging Concetti chiave per iniziare a programmare: Compilazione: è l operazione che a partire dal codice sorgente genera il programma eseguibile da una macchina (o da VM); Esecuzione: è l operazione di avvio del programma compilato; Debugging: è una modalità di esecuzione del programma che ci permette di analizzarne il comportamento delle variabili per identificare eventuali bug. Attenzione: Un buon programmatore non si fa mai mancare un editor semplice e veloce sul proprio computer! 8

Dal codice sorgente all esecuzione del programma Fonte: Core Java I 9

Il Byte-Code Java Codice sorgente Java: { int i; int a; a=0; for( i=0;i<5; i++){ a += i ; } } Corrispondente Byte-code Java: Method void main( java. lang. String [ ] ) 0 iconst 0 // push costante 0 1 istore 2 // memorizza in var. locale 2 (a) 2 iconst 0 // push costante 0 3 istore 1 // memorizza in var. locale 1 ( i ) 4 goto 14 // vai a l l a riga 14 7 iload 2 // prendi a ( push ) 8 iload 1 // prendi i ( push ) 9 iadd // a+i 10 i s t o r e 2 // a = a+i 11 i i n c 1 1 // i=i+1 14 iload 1 // prendi i ( push ) 15 iconst 5 // push costante 5 16 i f icmplt 7 // salta a 7 se i <5 19 return // esci 10

Dal codice sorgente al programma Una volta che avete installato la Virtual Machine di Java, la JDK (Java Development Kit), ed un editor il vostro computer è pronto. Consiglio: spulciate le cartelle di installazione della VM (../Java/ ). In particolare la cartella:../bin/ Dal codice all esecuzione: Compilare col comando: javac; Eseguire col comando: java; Curiosità: peresercitarvisenzaaverela VM sul computer esistono degli ambienti online come: repl.it // 11

Commenti ed Indentazione I commenti ci pemettono di inserire del testo che verrà ignorato dal compilatore. Serve ad aumentare la leggibilità del codice. Alcune modalità di commento: Commentare un intera riga! // Commentare una porzione di codice! /... / L indentazione è una buona pratica per avere del codice leggibile. class HelloWorld public static void main(string a[])system.out.println( Hi! ); class HelloWorld { public static void main( String a [ ] ) { System. out. println ( Hi! ) ; } } 12

Commenti ed Indentazione qualche esempio I commenti ci pemettono di inserire del testo che verrà ignorato dal compilatore. Serve ad aumentare la leggibilità del codice. Alcune modalità di commento: Commentare un intera riga! // Commentare una porzione di codice! /... / I commenti al codice in Java: / Un commento a l n o s t r o primo programma i n Java / class HelloWorld { // Un commento al main del programma public static void main( String a){ System. out. println ( Hi! ) ; // Questa riga stampa un saluto } } 13

Compilazione ed Esecuzione Un programma viene prima scritto, poi compilato ed infine eseguito (ammesso che tutto vada bene...): Per scrivere un programma: si scrive il programma con un editor si compila col comando: javac si esegue col comando: java 14

Variabili ed assegnazione i Una variabile rappresenta una locazione di memoria in cui è memorizzato un valore, essa è caratterizzata da: Nome: sequanza di caratteri che permette di identificare la variabile; Tipo: specidicazione del tipo di dato che la variabile può immagazzinare (numero intero, numero relae, carattere, etc.) Indirizzo di memoria: locazione di memoria nella quale la variabile è momorizzata (la dimensione dipende dal tipo); Valore: è il valore immagazzinato nella varibile ad un certo istante. 15

Variabili ed assegnazione ii Una variabile è un riferimento ad una locazione di memoria in cui è memorizzato un valore. Possiamo pensare ad una variabile come ad una scatola in un magazino pieno di scatole, ogni scatola ha la sua etichetta ed è conservata in uno sca ale. Fonte: Cima-Salza, Sapienza 16

Variabili ed assegnazione iii Dichiarare una variabile Java è un linguaggio fortemente tipizzato, una varibile va sempre dichiarata: tipo nomevariabile ; Assegnare un valore L operatore di Assegnazione ( = ) fa si che il valore di una variabile assuma il valore indicato: nomevariabile = valoreasegnato ; 17

Variabili ed assegnazione: esempi Una variabile rappresenta una locazione di memoria in cui è memorizzato un valore, essa è caratterizzata da: Dichiarazioni di varibili: int numero1 ; double numero2 ; char carattere ; Assengazione di valori a variabili: numero1 = 10; numero2 = 0.5; carattere = ' c ' ; E possibile fare una dichiarazione ed una assegnazione (cioè inizializzazione) di varibili sulla stessa riga: int numero3 = 100; char carattere1 = ' b ' ; 18

I tipi primitivi in Java i Il tipo di un dato rappresenta l insieme delle caratteristiche che che il valore assunto da una variabile dovrà soddisfare. ItipiprimitiviinJava: boolean b = true; char c = k ; byte x = -10; short t = -10000; int j = 7; long l = 10000; float f = 0.003; double d = -0.000004432; //boleani //caratteri //byte //interi //interi //interi //decimali //decimali 19

I tipi primitivi in Java ii Il tipo di un dato rappresenta l insieme delle caratteristiche che che il valore assunto da una variabile dovrà soddisfare. Itipiprimitivi in Java: Tipo Q.ta Mem. Range Descrizione boolean! 1bit [true false] Vero/falso (true o false) char! 16 bit [ \u0000, \u ] Caratteri charset Unicode o[0,65535] byte! 8bit [ 128,127] short! 16 bit [ 32.768, 32.767] Numeri interi int! 32 bit [ 2 31,2 31 1] Numeri interi long! 64 bit [ 2 63,2 63 1] Numeri interi float! 32 bit spec. IEEE 754 Num. virg. mobile (sing.prec.) 8bitexp.:[-126,127] double! 64 bit spec. IEEE 754 doppia precisione 20

Assegnazione di valori alle variabili i Alcuni esempi di assegmamento di valori a variabili con cast di valore: class Assegnamenti{ public static void main( String [ ] argomenti ){ byte abyte = (byte)0b01100001; char bchar = (char)abyte; int bint = (int)abyte; System. out. println ( abyte > + abyte) ; // Risultato : 97 System. out. println ( cchar > + bchar) ; // Risultato : a System. out. println ( bint > + bint ) ; // Risultato : 97 } } 21

Assegnazione di valori alle variabili ii Prendiamo un esempio: char c = a ; byte x = (byte)0b01100001; int i = 97 Il char a in decimale è uguale a 97! Tabella di conversione ASCII 22

Il primo programma Java: esempi Un programma Java che stampa a schermo Hello World! : // Hello World in Java class HelloWorld { public static void main( String args [ ] ) { System. out. println ( Hello World! ) ; } } Un programma Java che calcola l area di un triangolo e la stampa a schermo: public class Esempio1 { / Scrivere un programma che dati base ed altezza di un triangolo, ne calcoli larea. / public static void main( String [ ] args ) { double base = 3.5; double altezza = 4.3; double area = base altezza / 2; System. out. println ( Area : + area ) ; } } 23

Esercizi proposti Scrivere una soluzione per i seguenti problemi: Esercizio 1: Dati due numeri interi a e b, calcolare il quoziente e il resto della divisione (intera) di a con b. Esercizio 2: Dati due numeri reali a e b, calcolare il quoziente e il resto della divisione (intera) di a con b. Esercizio 3: Data base e altezza di un rettangolo, calcolare la lunghezza della diagonale. Prova a svolgere i tre esercizi e poi confrontati con la soluzione proposta di seguito. 24

Fine Fine 28

Extra: Il primo programma Java in Eclipse i Download di Eclipse dal sito: eclipse.org > Download > Java IDE Installazione di Eclipse Avviare Eclipse e scegliere il workspace Fonte: Slides 2016 29

Extra: Il primo programma Java in Eclipse ii Fonte: Slides 2016 30

Extra: Il primo programma Java in Eclipse iii Creare il progetto inserendo un nome rappresentativo 31

Extra: Il primo programma Java in Eclipse iv Creare il file della classe 32

Extra: Il primo programma Java in Eclipse v Creare il file della classe 33

Extra: Il primo programma Java in Eclipse vi Creare il file della classe 34

Extra: Il primo programma Java in Eclipse vii Creare il file della classe 35

Extra: Il primo programma Java in Eclipse viii Creare il file della classe 36