Programmazione II. Lezione 6. Daniele Sgandurra 5/11/2010.
|
|
- Lucio Capasso
- 5 anni fa
- Visualizzazioni
Transcript
1 Programmazione II Lezione 6 Daniele Sgandurra daniele.sgandurra@iit.cnr.it 5/11/2010 1/54 Programmazione II Lezione 6 5/11/2010
2 Sommario 1 Nomi e Ambiente Ambiente 2 Esercizi 3 Esercitazione: Eclipse Eclipse 4 Java 2/54 Programmazione II Lezione 6 5/11/2010
3 Nomi e Ambiente Parte I Nomi e Ambiente 3/54 Programmazione II Lezione 6 5/11/2010
4 Nomi e Ambiente Ambiente Blocco: Annidamento e Sovrapposizione Spesso i blocchi sono annidabili: la definizione di un blocco inclusa in quella di un altro: in C: i blocchi associati a sottoprogrammi non possono essere annidati; in Pascal e Ada è possibile avere blocchi di sottoprogrammi all interno di altri sottoprogrammi. Mai sovrapponibili: l ultimo blocco aperto deve essere il primo a essere chiuso; vale pressoché per tutti i linguaggi che prevedono i blocchi. 4/54 Programmazione II Lezione 6 5/11/2010
5 Blocchi: Visibilità Nomi e Ambiente Ambiente Una dichiarazione locale a un blocco è visibile in un altro blocco se il binding creato dalla dichiarazione vale anche per l ambiente del secondo blocco. Dichiarazione locale a un blocco visibile nel blocco e in tutti i blocchi annidati tranne ove compaia una nuova dichiarazione per quel nome: in tal caso la nuova dichiarazione oscura la prima (buco di visibilità); osservazione: non c è visibilità dall esterno verso l interno (binding interni non attivi). Due blocchi allo stesso livello hanno visibilità separate. 5/54 Programmazione II Lezione 6 5/11/2010
6 Tipi d Ambiente Nomi e Ambiente Ambiente Tipi d Ambiente L ambiente associato a un blocco è composto da: ambiente locale: costituito dal binding per nomi locali; per i blocchi di procedure, l ambiente locale contiene anche i binding per i parametri formali (come se fossero variabili dichiarate localmente); ambiente non-locale: costituito dai binding per nomi visibili nel blocco ma non dichiarati localmente; ambiente globale: costituito dai binding creati all inizio dell esecuzione del programma; nomi usabili in tutti i blocchi. 6/54 Programmazione II Lezione 6 5/11/2010
7 Nomi e Ambiente Tipi d Ambiente: Esempio Ambiente 1 A : { i n t a = 1 ; 2 3 B : { i n t b = 2 ; 4 i n t c = 2 ; 5 6 C : { i n t c = 3 ; 7 i n t d ; 8 d = a+b+c ; 9 write ( d ) ; 10 } D : { i n t e ; 13 e = a+b+c ; 14 write ( e ) ; 15 } 16 } 17 } 7/54 Programmazione II Lezione 6 5/11/2010
8 Nomi e Ambiente Tipi d Ambiente: Esempio Ambiente A: blocco che introduce l ambiente globale: contiene il binding per a; B: ambiente locale: contiene due variabili locali b e c; eredita il binding per a dall ambiente globale; C: ambiente locale annidato in quello di B: contiene due variabili locali c (che nasconde l altra) e d; eredita il binding per b dall ambiente non-locale e a dall ambiente globale di A. D: ambiente locale annidato in quello di B: contiene la variabile locale e; eredita il binding per b, c dall ambiente non-locale di B e a dall ambiente globale di A. 8/54 Programmazione II Lezione 6 5/11/2010
9 Nomi e Ambiente Operazioni sull Ambiente Ambiente Entrata in un blocco: create associazioni per i nomi locali; disattivate le associazioni per nomi con binding non locali preesistenti. Uscita da un blocco: distruzione delle associazioni per nomi locali; riattivate le associazioni per nomi oscurati. 9/54 Programmazione II Lezione 6 5/11/2010
10 Nomi e Ambiente Operazioni su Nomi e Ambiente Ambiente Creazione binding nome-oggetto (naming). Distruzione binding nome-oggetto (unnaming) Riferimento a oggetto mediante il nome (referencing). Disattivazione binding nome-oggetto. Riattivazione binding nome-oggetto 10/54 Programmazione II Lezione 6 5/11/2010
11 Nomi e Ambiente Ambiente Operazioni su Oggetti Denotabili Creazione: allocazione di memoria necessaria. Accesso: nome binding locazione valore: le regole rendono l associazione univoca. Modifica: nome binding locazione: e modifica del valore nella locazione. Distruzione: deallocazione delle risorse. 11/54 Programmazione II Lezione 6 5/11/2010
12 Nomi e Ambiente Ambiente Operazioni su Oggetti Denotabili Creazione e binding spesso contemporanee: es.: dichiarazioni di variabili (int x;). Non vale sempre: lifetime(oggetto) <> lifetime(binding): >: variabile passata per riferimento (parametro formale); <: riferimento dangling. 12/54 Programmazione II Lezione 6 5/11/2010
13 Scope (Visibilità) Nomi e Ambiente Ambiente La visibilità di un associazione è il segmento di istruzioni per il quale essa è visibile. Gli ambienti possono cambiare in base alle operazioni definite sugli ambienti: ambienti non locali più difficili da trattare. 13/54 Programmazione II Lezione 6 5/11/2010
14 Scope: Esempio Nomi e Ambiente Ambiente Quale valore viene stampato? 1 A : { i n t x = 0 ; 2 3 v o i d foo ( ) 4 { 5 x = 1 ; 6 } 7 8 B : { i n t x ; 9 foo ( ) ; 10 } write ( x ) ; 13 } 14/54 Programmazione II Lezione 6 5/11/2010
15 Regole di visibilità Nomi e Ambiente Ambiente Determinano la validità dei binding nel passaggio da un ambiente all altro. es.: una dichiarazione locale a un blocco è visibile in esso e in tutti i blocchi annidati. Si possono intendere: staticamente: sorgente; dinamicamente: esecuzione. 15/54 Programmazione II Lezione 6 5/11/2010
16 Scope Statico Nomi e Ambiente Ambiente Basato sulla struttura sintattica del sorgente: l associazione è stabilita dal compilatore. Regola dello scope statico (dello scope annidato più vicino): 1 le dichiarazioni locali di un blocco definiscono l ambiente locale (escluse quelle in blocchi annidati); 2 l uso di un nome in un blocco comporta l utilizzo del binding dell ambiente locale, se esiste; altrimenti risalire all ambiente dei blocchi contenitori (un livello alla volta) fino a trovare un binding valido (ambito più esterno: parole predefinite del linguaggio); altrimenti, errore; 3 il nome di un blocco fa parte dell ambiente locale del blocco contenitore immediatamente esterno al blocco (es., blocchi associati a procedure). 16/54 Programmazione II Lezione 6 5/11/2010
17 Nomi e Ambiente Scope Statico: Esempio Ambiente Quale valore viene stampato? 1 { i n t x = 0 ; 2 3 v o i d incr ( i n t n ) 4 { 5 x = n+1; 6 } 7 8 incr ( 3 ) ; 9 write ( x ) ; 10 { i n t x = 0 ; 11 incr ( 3 ) ; 12 write ( x ) ; 13 } 14 write ( x ) ; 15 } 17/54 Programmazione II Lezione 6 5/11/2010
18 Scope Statico Nomi e Ambiente Ambiente Vantaggi: leggibilità e comprensibilità: basta scorrere le dichiarazioni nel sorgente. ottimizzazione: il compilatore può decidere (quasi) tutto. usata dalla maggior parte dei linguaggi: Algol, Pascal, C, C++, Ada, Java, Scheme,... Svantaggi: relativamente complicata gestione a run-time; gerarchia degli ambienti non locali evolve diversamente dalla gerarchia di attivazione dei blocchi. 18/54 Programmazione II Lezione 6 5/11/2010
19 Scope Dinamico Nomi e Ambiente Ambiente Basato sulle sequenze di chiamata delle unità di programma e non su come appaiono nel sorgente. Criterio temporale anziché spaziale. Usata in alcuni dialetti di Lisp, APL, Snobol, Perl. 19/54 Programmazione II Lezione 6 5/11/2010
20 Nomi e Ambiente Scope Dinamico: Esempio Ambiente Quale valore viene stampato? 1 { c o n s t x = 0 ; 2 3 v o i d stampa1 ( ) 4 { 5 write ( x ) ; 6 } 7 8 v o i d stampa2 ( ) 9 { 10 c o n s t x = 1 ; 11 stampa1 ( ) ; 12 } stampa2 ( ) ; 15 } 20/54 Programmazione II Lezione 6 5/11/2010
21 Nomi e Ambiente Ambiente Scope Dinamico: Regole di Visibilità L associazione per un nome non locale X in un punto P del programma è la più recente tra quelle create per X a essere attiva quando il flusso di controllo raggiunge P: implementata con ricerca nella pila dei blocchi di attivazione dei blocchi/sottoprogrammi che hanno fatto raggiungere P; per l ambiente locale la regola è identica al caso dello scope statico. 21/54 Programmazione II Lezione 6 5/11/2010
22 Nomi e Ambiente Scope Dinamico: Esempio Ambiente Quale valore viene stampato? 1 { c o n s t x = 0 ; 2 3 v o i d stampa1 ( ) 4 { 5 write ( x ) ; 6 } 7 8 v o i d stampa2 ( ) 9 { 10 c o n s t x = 1 ; 11 { c o n s t x = 2 ; } 12 stampa1 ( ) ; 13 } stampa2 ( ) ; } 22/54 Programmazione II Lezione 6 5/11/2010
23 Scope Dinamico Nomi e Ambiente Ambiente Vantaggi: Svantaggi: flessibilità: stesso sottoprogramma si comporta diversamente a seconda del momento in cui viene invocato. minor leggibilità e comprensibilità; difficile ricostruire le dichiarazioni dal sorgente. gestione a run-time inefficiente; poco usata nei linguaggi general-purpose. 23/54 Programmazione II Lezione 6 5/11/2010
24 Problemi di Scope Nomi e Ambiente Ambiente Dove possono essere introdotte le dichiarazioni? Qual è l esatta visibilità delle variabili locali: regole restrittive in Pascal: (i) dichiarazioni a inizio blocco e prima dell uso; (ii) binding valevoli da inizio a fine blocco (possibili buchi ); (iii) dichiarazioni prima dell uso. più rilassate in C e Ada: valevoli dalla dichiarazione a fine blocco; eccezioni (alla iii) per i tipi ricorsivi (es. liste); sottoprogrammi forward Pascal e nomi funzioni C. Java: disciplina mista: dichiarazioni ovunque e valide fino a fine blocco; dichiarazione membro valide per tutta la classe. 24/54 Programmazione II Lezione 6 5/11/2010
25 Esercizi Parte II Esercizi 25/54 Programmazione II Lezione 6 5/11/2010
26 Esercizio 1 Esercizi Si calcoli la computazione del comando c: nello stato σ = [(X, 3)]. X := 1; while (X == 1) do X := 2; 26/54 Programmazione II Lezione 6 5/11/2010
27 Esercizio 2 Esercizi Si consideri il seguente frammento di programma, scritto con un linguaggio a scope statico. Si dica quali valori sono stampati dalla primitiva write(). 1 i n t x = 0, y = 0 ; 2 3 v o i d foo ( ) { 4 x++; 5 } 6 v o i d bar ( ) { 7 foo ( ) ; 8 x=x 2 ; 9 } read ( y ) ; i f ( y > 0) { 14 i n t x = 3 ; 15 bar ( ) ; 16 write ( x ) ; 17 } 18 e l s e bar ( ) ; write ( x ) ; 27/54 Programmazione II Lezione 6 5/11/2010
28 Esercizio 3 Esercizi Si consideri il seguente frammento di programma, scritto con un linguaggio a scope dinamico. Si dica quali valori sono stampati dalla primitiva write(). 1 i n t x = 2, y = 0 ; 2 3 v o i d foo ( ) { 4 i n t x = 1 ; 5 } 6 v o i d bar ( ) { 7 foo ( ) ; 8 x=x 2 ; 9 } read ( y ) ; i f ( y > 0) { 14 i n t x = 3 ; 15 bar ( ) ; 16 write ( x ) ; 17 } 18 e l s e bar ( ) ; write ( x ) ; 28/54 Programmazione II Lezione 6 5/11/2010
29 Esercizio 4 Esercizi Si consideri il seguente frammento di programma: inserire del codice al posto di /*...*/, tale che usando un linguaggio a scope statico la variabile x nei due cicli assuma lo stesso valore, mentre usando un linguaggio a scope dinamico la variabile x assuma valori diversi. (Il codice deve compilare sempre.) 1 i n t i ; 2 3 i n t foo ( ) { /... / } 4 5 f o r ( i = 0 ; i <= 1 ; i++){ 6 i n t x ; 7 /... / 8 x = foo ( ) ; 9 } **È possibile usare un solo comando nel ciclo for? 29/54 Programmazione II Lezione 6 5/11/2010
30 Esercitazione: Eclipse Parte III Esercitazione: Eclipse 30/54 Programmazione II Lezione 6 5/11/2010
31 Installare Eclipse Esercitazione: Eclipse Eclipse In selezionare Eclipse Classic. 31/54 Programmazione II Lezione 6 5/11/2010
32 Installare Eclipse Esercitazione: Eclipse Eclipse Scompattare l archivio: $ tar zxvf eclipse-sdk linux-gtk.tar.gz Spostarsi nella directory di installazione: $ cd eclipse/ Eseguire Eclipse: $./eclipse (In alternativa, muovere la directory in una directory di sistema e aggiornare il path per puntare ad essa). 32/54 Programmazione II Lezione 6 5/11/2010
33 Installare Eclipse Esercitazione: Eclipse Eclipse Scegliere il workspace: 33/54 Programmazione II Lezione 6 5/11/2010
34 Esercitazione: Eclipse Eclipse Creare un Progetto Java con Eclipse Creare un progetto Java: 34/54 Programmazione II Lezione 6 5/11/2010
35 Esercitazione: Eclipse Eclipse Creare un Progetto Java con Eclipse 35/54 Programmazione II Lezione 6 5/11/2010
36 Aggiungere una classe Esercitazione: Eclipse Eclipse Aggiungere una classe: 36/54 Programmazione II Lezione 6 5/11/2010
37 Aggiungere una classe Esercitazione: Eclipse Eclipse 37/54 Programmazione II Lezione 6 5/11/2010
38 Aggiungere una classe Esercitazione: Eclipse Eclipse 38/54 Programmazione II Lezione 6 5/11/2010
39 Scrivere il Programma Esercitazione: Eclipse Eclipse Scrivere il programma: 39/54 Programmazione II Lezione 6 5/11/2010
40 Esercitazione: Eclipse Eseguire il Programma Eclipse Eseguire il programma (eseguire la build se non è automatica): 40/54 Programmazione II Lezione 6 5/11/2010
41 Esercitazione: Eclipse Eseguire il Programma Eclipse 41/54 Programmazione II Lezione 6 5/11/2010
42 Esercitazione: Eclipse Eseguire il Programma Eclipse 42/54 Programmazione II Lezione 6 5/11/2010
43 Esercitazione: Eclipse Eseguire il Programma Eclipse 43/54 Programmazione II Lezione 6 5/11/2010
44 Esercitazione: Eclipse Eseguire il Programma Eclipse 44/54 Programmazione II Lezione 6 5/11/2010
45 Esercitazione: Eclipse Eseguire il Programma Eclipse In alternativa, per compilare ed eseguire il programma da shell: ~$ cd workspace/hello/src/ ~/workspace/hello/src$ javac Hello.java ~/workspace/hello/src$ java Hello Hello World! In alternativa, dopo aver fatto la build da Eclipse, se si è scelto di avere directory separate per gli eseguibili (bin) e sorgenti (src), si può eseguire il programma dalla directory bin: ~$ cd workspace/hello/ ~/workspace/hello$ ls ~/workspace/hello$ bin src ~/workspace/hello$ cd bin/ ~/workspace/hello/bin$ java Hello Hello World! 45/54 Programmazione II Lezione 6 5/11/2010
46 Java Parte IV Java 46/54 Programmazione II Lezione 6 5/11/2010
47 Java Java Java è un linguaggio object-oriented, con le seguenti caratteristiche: fortemente tipato (strongly typed): ogni espressione ha un tipo, che il compilatore usa per controllare la correttezza delle operazioni eseguite; tutti gli errori sono rilevati al momento in cui avvengono, non sono possibili errori non catturati (unchecked error): es., non è consentito l accesso diretto alla memoria (puntatori void*); gestione automatica della memoria a heap, con garbage collection: la deallocazione non è gestita dal programmatore: la JVM si occupa di liberare la memoria non più usata. 47/54 Programmazione II Lezione 6 5/11/2010
48 Sintassi di Base Java La sintassi del frammento imperativo di Java è simile a quella del C/C++: comandi (if, while,...); le dichiarazioni di metodi (analoghi alle funzioni) e variabili; si usano le graffe ({...}) per indicare l apertura e la chiusura dei blocchi; i caratteri di spazio/tabulazione/a capo non sono importanti; come in C, un metodo main è utilizzato come punto di partenza del programma: invocato dalla JVM all inizio dell esecuzione. 48/54 Programmazione II Lezione 6 5/11/2010
49 Hello World! Java 1 p u b l i c c l a s s Hello { 2 // e n t r y p o i n t d e l programma 3 p u b l i c s t a t i c v o i d main ( String [ ] args ) { 4 System. out. println ( H e l l o World! ) ; 5 } 6 } Dichiarazione della classe Hello: è necessario che il file relativo al codice sorgente abbia lo stesso nome della classe pubblica corrispondente, seguito dall estensione java. Un solo metodo, main: il punto di ingresso nel programma, invocato all inizio dell esecuzione; stampa sulla console la stringa Hello World! 49/54 Programmazione II Lezione 6 5/11/2010
50 Analisi di Hello World Java Riga 1: dichiarazione della classe Hello; Riga 2: commento, ignorato dal compilatore. Un altra sintassi per i commenti é: / commento / Riga 3: dichiarazione del metodo main: un parametro, args, di tipo String[] (array di stringhe); args contiene gli argomenti (es., passati dalla riga di comando). Riga 4: stampa la stringa Hello World! sulla console: System: classe standard di Java; out: variabile associata alla classe System (contiene un riferimento ad un oggetto che rappresenta lo standard output); println: metodo di out per stampare una stringa (sullo standard output). 50/54 Programmazione II Lezione 6 5/11/2010
51 Java Dichiarazione di Variabili e Assegnamento Ogni variabile locale utilizzata in un programma deve essere dichiarata prima del suo uso: deve esserne indicato il tipo, cioè l insieme dei valori che potrà memorizzare e le operazioni possibili; <tipo> <ide >; // d i c h i a r a z i o n e <ide> = <espressione >; // assegnamento <tipo> <ide> = <espr >; // d i c h i a r a z i o n e e assegnamento Ad esempio: 1 i n t x ; 2 f l o a t phi = ; 3 String msg = c i a o La dichiarazione crea una associazione nell ambiente locale tra il nome della variabile e il valore: se non è inizializzata, viene associata ad un valore di default. 51/54 Programmazione II Lezione 6 5/11/2010
52 Tipi di Dato: Esempio Java Esempio: il tipo int: contiene i valori {..., 2, 1, 0, 1, 2, 3,... } fornisce le operazioni: + somma, * moltiplicazione, - sottrazione, / divisione intera, e ognuna di queste operazioni può essere applicata ad una coppia di valori int e ritorna un singolo valore int. 52/54 Programmazione II Lezione 6 5/11/2010
53 Java Dichiarazione di Variabili e Assegnamento: Esempio 1 i n t x = 1 0 ; 2 i n t y = 2 0 ; 3 x = y ; 4 x = x 3 ; Riga 1: dichiarazione della variable x di tipo int: a cui è assegnato il valore 10. Riga 2: dichiarazione della variable y di tipo int: a cui è assegnato il valore 20. Riga 3: assegnamento alla variabile x del valore associato alla variabile y: x assume il valore 20. Riga 4: assegnamento alla variabile x del valore di x * 3: x assume il valore /54 Programmazione II Lezione 6 5/11/2010
54 Riferimenti Java [1] Linguaggi di programmazione: principi e paradigmi (Cap. 4). Maurizio Gabbrielli, Simone Martini. [2] Core Java 2. Vol. 1: Fondamenti (Cap. 3). Horstmann Cay S., Cornell Gary. 54/54 Programmazione II Lezione 6 5/11/2010
Linguaggi di Programmazione
Linguaggi di Programmazione Corso di Laurea in ITPS I nomi e l ambiente Valeria Carofiglio (Questo materiale è una rivisitazione del materiale prodotto da Nicola Fanizzi) 1 Argomenti Introduzione Nomi
DettagliCorso di Laurea in Informatica Applicata Prima Prova di Verifica Intermedia di Programmazione II 1 Dicembre 2010
Corso di Laurea in Informatica Applicata Prima Prova di Verifica Intermedia di Programmazione II 1 Dicembre 2010 Istruzioni: scrivere le risposte alle domande negli spazi presenti nel testo e riconsegnare
DettagliNomi e Ambiente. Nicola Fanizzi. Linguaggi di Programmazione [010194] 20 apr, 2016. Dipartimento di Informatica Università degli Studi di Bari
Nomi e Ambiente Nicola Fanizzi Dipartimento di Informatica Università degli Studi di Bari Linguaggi di Programmazione [010194] 20 apr, 2016 Sommario 1 Nomi Definizione Astrazione Elementare Progettazione
DettagliProgrammazione II. Lezione 7. Daniele Sgandurra 9/11/2010.
Programmazione II Lezione 7 Daniele Sgandurra daniele.sgandurra@iit.cnr.it 9/11/2010 1/24 Programmazione II Lezione 7 9/11/2010 Sommario 1 Gestione della Memoria 2/24 Programmazione II Lezione 7 9/11/2010
DettagliPROGRAMMAZIONE Nomi, binding, regole di visibilità (scope)
PROGRAMMAZIONE 2 19. Nomi, binding, regole di visibilità (scope) PR2 2017-2018 1 Nomi Un nome in un linguaggio di programmazione è esattamente quello che immaginate o la maggior parte dei nomi sono definiti
DettagliProgrammazione II. Lezione 12. Daniele Sgandurra 26/11/2010.
Programmazione II Lezione 12 Daniele Sgandurra daniele.sgandurra@iit.cnr.it 26/11/2010 1/17 Programmazione II Lezione 12 26/11/2010 Sommario 1 2/17 Programmazione II Lezione 12 26/11/2010 Parte I 3/17
DettagliStrutture dati nel supporto a run time
Strutture dati nel supporto a run time 1 Entità presenti quando un programma va in esecuzione programmi d utente (compilati) routines del supporto interprete I/O, librerie, routines per la gestione delle
DettagliFunzioni, Stack e Visibilità delle Variabili in C
Funzioni, Stack e Visibilità delle Variabili in C Programmazione I e Laboratorio Corso di Laurea in Informatica A.A. 2016/2017 Calendario delle lezioni Lez. 1 Lez. 2 Lez. 3 Lez. 4 Lez. 5 Lez. 6 Lez. 7
DettagliProgrammazione II. Lezione 9. Daniele Sgandurra 16/11/2010.
Programmazione II Lezione 9 Daniele Sgandurra daniele.sgandurra@iit.cnr.it 16/11/2010 1/31 Programmazione II Lezione 9 16/11/2010 Sommario 1 Gestione della Memoria 2/31 Programmazione II Lezione 9 16/11/2010
DettagliFunzioni, Stack e Visibilità delle Variabili in C
Funzioni, Stack e Visibilità delle Variabili in C Laboratorio di Programmazione I Corso di Laurea in Informatica A.A. 2018/2019 Argomenti del Corso Ogni lezione consta di una spiegazione assistita da slide,
DettagliNomi. Nomi e ambiente. Nomi e oggetti denotabili. Sintassi
Nomi Nomi e ambiente Blocchi e regole di scoping Meccanismi di astrazione fondamentale per gestire la complessità del software. Uso dei nomi: un meccanismo di astrazione. Nome: sequenza di caratteri usata
DettagliCorso di Laurea in Informatica Applicata Prima Prova di Verifica Intermedia di Programmazione II 1 Dicembre 2010
Corso di Laurea in Informatica Applicata Prima Prova di Verifica Intermedia di Programmazione II 1 Dicembre 2010 Istruzioni: scrivere le risposte alle domande negli spazi presenti nel testo e riconsegnare
DettagliFondamenti di informatica T-1 (A K) Esercitazione 2 Basi del linguaggio Java
Fondamenti di informatica T-1 (A K) Esercitazione 2 Basi del linguaggio Java AA 2018/2019 Tutor Lorenzo Rosa lorenzo.rosa@unibo.it 2 Programma Introduzione al calcolatore e Java Linguaggio Java, basi e
DettagliINTRODUZIONE ALLA PROGRAMMAZIONE AD ALTO LIVELLO IL LINGUAGGIO JAVA. Fondamenti di Informatica - D. Talia - UNICAL 1. Fondamenti di Informatica
Fondamenti di Informatica INTRODUZIONE ALLA PROGRAMMAZIONE AD ALTO LIVELLO IL LINGUAGGIO JAVA Fondamenti di Informatica - D. Talia - UNICAL 1 Fondamenti di Informatica - Programma Un programma è una formulazione
DettagliINTRODUZIONE ALLA PROGRAMMAZIONE AD ALTO LIVELLO IL LINGUAGGIO JAVA. Fondamenti di Informatica - Programma
Fondamenti di Informatica INTRODUZIONE ALLA PROGRAMMAZIONE AD ALTO LIVELLO IL LINGUAGGIO JAVA Fondamenti di Informatica - D. Talia - UNICAL 1 Fondamenti di Informatica - Programma Un programma è una formulazione
DettagliIntroduzione a Java. 1 Java: Introduzione. Sommario. Concetti di base. Classi e oggetti. Compilazione ed esecuzione. Sommario
a Java Java è un linguaggio object-oriented, con alcune caratteristiche fortemente tipato (strongly typed): ogni espressione ha un tipo, che il compilatore usa per controllare la correttezza delle operazioni
DettagliIntroduzione a Java. Giovanni Pardini Dipartimento di Informatica Università di Pisa.
a Java 1 Giovanni Pardini pardinig@di.unipi.it www.di.unipi.it/~pardinig Dipartimento di Informatica Università di Pisa 30 novembre 2009 1 2 3 1 Sintassi di base Hello World! Blocchi e variabili 2 Sintassi
DettagliNomi. Nomi e ambiente. Nomi e oggetti denotabili. Esempio
Nomi e ambiente Blocchi e regole di scoping Nomi Meccanismi di astrazione fondamentale per gestire la complessità del software. Uso dei nomi: un meccanismo di astrazione. Nome: sequenza di caratteri usata
DettagliLe classi in java. Un semplice programma java, formato da una sola classe, assume la seguente struttura:
Le classi in java Un semplice programma java, formato da una sola classe, assume la seguente struttura: class Domanda static void main(string args[]) System.out.println( Quanti anni hai? ); La classe dichiarata
Dettagli19 - Eccezioni. Programmazione e analisi di dati Modulo A: Programmazione in Java. Paolo Milazzo
19 - Eccezioni Programmazione e analisi di dati Modulo A: Programmazione in Java Paolo Milazzo Dipartimento di Informatica, Università di Pisa http://www.di.unipi.it/ milazzo milazzo di.unipi.it Corso
DettagliInformatica 3. LEZIONE 2: Sintassi e semantica
Informatica 3 LEZIONE 2: Sintassi e semantica Modulo 1: Introduzione ai concetti di sintassi e semantica Modulo 2: Il concetto di binding Modulo 3: Variabili Modulo 4: Routine Convenzioni dei nomi Informatica
DettagliNomi, binding e regole di scope
Nomi, binding e regole di scope 1 Nomi Un nome in un linguaggio di programmazione è esattamente quello che immaginate o la maggior parte dei nomi sono definiti dal programma (gli identificatori) o ma anche
DettagliLe basi del linguaggio Java
Le basi del linguaggio Java Compilazione e interpretazione Quando si compila il codice sorgente scritto in Java, il compilatore genera il codice compilato, chiamato bytecode. È un codice generato per una
DettagliPaolo Bison. Fondamenti di Informatica A.A. 2006/07 Università di Padova
Introduzione ai sottoprogrammi Paolo Bison Fondamenti di Informatica A.A. 2006/07 Università di Padova Introduzione al corso, Paolo Bison, FI06, 2007-02-06 p.1 Struttura programma formato da vari elementi
DettagliInformatica 3. Informatica 3. LEZIONE 2: Sintassi e semantica. Lezione 2- Modulo 1. Le componenti di un linguaggio di programmazione
Informatica 3 Informatica 3 LEZIONE 2: Sintassi e semantica Lezione 2- Modulo 1 Modulo 1: Introduzione ai concetti di sintassi e semantica Modulo 2: Il concetto di binding Modulo 3: Variabili Modulo 4:
DettagliProgrammazione II. Lezione 10. Daniele Sgandurra 19/11/2010.
Programmazione II Lezione 10 Daniele Sgandurra daniele.sgandurra@iit.cnr.it 19/11/2010 1/37 Programmazione II Lezione 10 19/11/2010 Sommario 1 Esercitazione: i File JAR 2 Java 2/37 Programmazione II Lezione
Dettagli6 - Blocchi e cicli. Programmazione e analisi di dati Modulo A: Programmazione in Java. Paolo Milazzo
6 - Blocchi e cicli Programmazione e analisi di dati Modulo A: Programmazione in Java Paolo Milazzo Dipartimento di Informatica, Università di Pisa http://pages.di.unipi.it/milazzo milazzo di.unipi.it
DettagliLinguaggi di Programmazione
Linguaggi di Programmazione Introduzione a Java Creare, compilare, eseguire e distribuire un programma scritto in Java Outline Applicazione di esempio: Hello World! Ciclo di sviluppo Netbeans Compilare
DettagliCapitolo 1. Introduzione. Cay S. Horstmann Concetti di informatica e fondamenti di Java
Capitolo 1 Introduzione Cay S. Horstmann Concetti di informatica e fondamenti di Java Obiettivi del capitolo Capire il significato dell attività di programmazione Imparare a riconoscere le componenti più
DettagliNomi, binding e regole di scope
Nomi, binding e regole di scope 1 Nomi Un nome in un linguaggio di programmazione è esa5amente quello che immaginate o la maggior parte dei nomi sono defini; dal programma (gli iden;ficatori) o ma anche
DettagliVariabili dinamiche. Obiettivi: Presentare le variabili dinamiche, allocate e deallocate nell area HEAP, e le funzioni malloc e free
Variabili dinamiche Obiettivi: Presentare le variabili dinamiche, allocate e deallocate nell area HEAP, e le funzioni malloc e free 1 Tipi di variabili in C In C è possibile classificare le variabili in
DettagliGestione della Memoria
Gestione della Memoria Nicola Fanizzi Dipartimento di Informatica Università degli Studi di Bari Linguaggi di Programmazione [010194] 27 apr, 2016 Sommario 1 Tecniche di gestione Progetto della gestione
DettagliL oggetto creato. Creazione di Oggetti. Rectangle: il concetto 10. Costruzione. Lo spazio di memoria del linguaggio Java. Rectangle: l oggetto
Usare e costruire oggetti Variabili e Oggetti Lo spazio di memoria di Java Le API di Java Gli oggetti sono entità di un programma che si possono manipolare invocando i metodi System.out oggetto della classe
Dettagli7 - Programmazione procedurale: Dichiarazione e chiamata di metodi ausiliari
7 - Programmazione procedurale: Dichiarazione e chiamata di metodi ausiliari Programmazione e analisi di dati Modulo A: Programmazione in Java Paolo Milazzo Dipartimento di Informatica, Università di Pisa
Dettagli9 - Array. Programmazione e analisi di dati Modulo A: Programmazione in Java. Paolo Milazzo
9 - Array Programmazione e analisi di dati Modulo A: Programmazione in Java Paolo Milazzo Dipartimento di Informatica, Università di Pisa http://www.di.unipi.it/ milazzo milazzo di.unipi.it Corso di Laurea
DettagliLezione 6 Introduzione al C++ Mauro Piccolo
Lezione 6 Introduzione al C++ Mauro Piccolo piccolo@di.unito.it Linguaggi di programmazione Un linguaggio formale disegnato per descrivere la computazione Linguaggi ad alto livello C, C++, Pascal, Java,
DettagliC funzioni à scope di variabili
C funzioni à scope di variabili Per questo motivo il parametro di una function può avere lo stesso nome del parametro effettivo del processo chiamante. Possiamo definire anche delle variabili globali e
DettagliProgrammazione A.A Costrutti di base. ( Lezione XII, parte I ) Gestione dell input. Prof. Giovanni Gallo Dr.
Programmazione A.A. 2002-03 I Costrutti di base ( Lezione XII, parte I ) Gestione dell input Prof. Giovanni Gallo Dr. Gianluca Cincotti Dipartimento di Matematica e Informatica Università di Catania e-mail
DettagliTipi di dato personalizzati Array di struct. Tipi di dato utente. Laboratorio di Programmazione I. Corso di Laurea in Informatica A.A.
Array di Tipi di dato utente Laboratorio di Programmazione I Corso di Laurea in Informatica A.A. 2016/2017 Array di Calendario delle lezioni Lez. 1 Lez. 2 Lez. 3 Lez. 4 Lez. 5 Lez. 6 Lez. 7 Lez. 8 - Introduzione
DettagliCorso sul linguaggio Java
Corso sul linguaggio Java Modulo JAVA2 2.1- Funzioni 1 Prerequisiti Programmazione elementare in Java Tecnica top-down Concetto matematico di funzione Compilazione e link di programmi Esecuzione di funzioni
DettagliOCA JAVA 7 SE PROGRAMMER I DOCENTE: DOTT. FAUSTO DELL ANNO
CENTRO STUDI ULISSE Via Buccino, n. 22 - C.a.p. 84018 - Scafati (SA) Tel. Fax. 081.19970299-339.2365416-349.4152010 E-mail: info@centrostudiulisse.it - www.centrostudiulisse.it OCA JAVA 7 SE PROGRAMMER
DettagliFondamenti di Informatica. Ingegneria elettronica
Fondamenti di Informatica Ingegneria elettronica Prima esercitazione Cecilia Catalano Sistema Operativo Il S.O. è costituito da un insieme di programmi che permettono di utilizzare e gestire tutte le risorse
DettagliProgrammazione II. Lezione 13. Daniele Sgandurra 3/12/2010.
Programmazione II Lezione 13 Daniele Sgandurra daniele.sgandurra@iit.cnr.it 3/12/2010 1/29 Programmazione II Lezione 13 3/12/2010 Sommario 1 Strutturare il Controllo 2 Java Oggetti e Classi 2/29 Programmazione
DettagliOO puro. Primi concetti di Java. Tipi primitivi. Ogni cosa è un oggetto. Java è object-oriented puro Non come il C+ + (OO ibrido) Lorenzo Bettini
Primi concetti di Java Lorenzo Bettini OO puro Java è object-oriented puro Non come il C+ + (OO ibrido) Per compatibilità col C Ogni cosa è un oggetto Gli oggetti si manipolano tramite riferimenti String
DettagliUniversità degli studi di Roma Tor Vergata Ingegneria Medica Informatica I Programma del Corso
Obiettivi Di seguito vengono riportate una serie di domande che possono essere poste durante la prova formale del corso. Le seguenti domande non sono da ritenersi esaustive ma esemplificative. 1. Architettura
DettagliProgrammazione a Oggetti Lezione 7. Il linguaggio Java: aspetti generali
Programmazione a Oggetti Lezione 7 Il linguaggio Java: aspetti generali Sommario Obiettivi di JAVA Portabilità: produrre codice eseguibile su più piattaforme (JVM) Affidabilità: Evitare il più possibile
DettagliCorso di Linguaggi di Programmazione
Corso di Linguaggi di Programmazione Lezione 15 Alberto Ceselli alberto.ceselli@unimi.it Dipartimento di Informatica Università degli Studi di Milano 30 Aprile 2013 Classificazione di un Type System Riassumendo:
DettagliI Metodi. Fondamenti di Informatica A-K
I Metodi Fondamenti di Informatica A-K Esercitazione 3 Introduzione al calcolatore e Java Linguaggio Java, basi e controllo del flusso I metodi: concetti di base Stringhe ed array Classi e oggetti, costruttori,
DettagliFondamenti di informatica T-1 (A K) Esercitazione 6: Eclipse
Fondamenti di informatica T-1 (A K) Esercitazione 6: Eclipse AA 2018/2019 Tutor lorenzo.rosa@unibo.it 2 Esercitazione 6 Introduzione al calcolatore e Java Linguaggio Java, basi e controllo del flusso Eclipse
DettagliUnità A1 Funzioni MODULO Java 2
Dare una breve descrizione dei termini introdotti: (A) CONOSCENZA TERMINOLOGICA Passaggio parametri per valore Passaggio parametri per indirizzo Parametri formali e attuali Regole di visibilità Ambiente
DettagliProgrammazione II. Lezione 18. Daniele Sgandurra 11/1/2011.
Programmazione II Lezione 18 Daniele Sgandurra daniele.sgandurra@iit.cnr.it 11/1/2011 1/26 Programmazione II Lezione 18 11/1/2011 Sommario 1 2/26 Programmazione II Lezione 18 11/1/2011 Parte I 3/26 Programmazione
DettagliDebug di un programma
Debug di un programma Col termine Debug si intende una fase di sviluppo del software, nella quale si cerca di eliminare gli errori dal programma Due tipi di errori: Errori sintattici, rilevati sempre dal
DettagliSpazio di indirizzamento virtuale
Programmazione M-Z Ingegneria e Scienze Informatiche - Cesena A.A. 016-01 Spazio di indirizzamento virtuale Pietro Di Lena - pietro.dilena@unibo.it // The function name says it all int stack_overflow (){
DettagliFondamenti di informatica T-1 (A K) Esercitazione 2: Linguaggio Java, basi e controllo del flusso
Fondamenti di informatica T-1 (A K) Esercitazione 2: Linguaggio Java, basi e controllo del flusso AA 2015/2016 Tutor: Vincenzo Lomonaco vincenzo.lomonaco@unibo.it Programma Introduzione al calcolatore
DettagliArgomenti Avanzati.! I puntatori! Stack! Visibilità delle Variabili
Linguaggio C Argomenti Avanzati! I puntatori! Stack! Visibilità delle Variabili 2 ! Il C consente di associare ai tipi di dati nomi definiti dal programmatore, mediante la parola chiave typedef! Dal punto
DettagliCosa fare prima di iniziare. Laboratorio Primo Impatto. Hello World. L editor. Compilazione da riga di comando. Compilazione da riga di comando
Cosa fare prima di iniziare Laboratorio Primo Impatto Scrivere un semplice programma I primi concetti Effettuare il login scegliendo il sistema operativo preferito Localizzare la directory (cartella) in
DettagliProgrammazione Orientata agli Oggetti in Linguaggio Java
Programmazione Orientata agli Oggetti in Linguaggio Java Sintassi e Semantica Componenti versione 2.0 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima pagina)
DettagliUsare e costruire oggetti. Concetti Fondamentali. Interfaccia Pubblica di una. Application Program Interface
Concetti Fondamentali Interfaccia pubblica di una classe Le API di Java Lo spazio di memoria della macchina astratta Java Blocchi e sottoblocchi Variabili di frame e loro visibilità Importazioni di classi
DettagliGestione della memoria
Gestione della memoria Stack di attivazione, Heap Stack di attivazione, Heap Gestione della memoria 1 / 52 La gestione della memoria Come il compilatore-interprete, organizza i dati necessari all esecuzione
DettagliMacchine astratte, linguaggi, interpretazione, compilazione
Macchine astratte, linguaggi, interpretazione, compilazione 1 Macchine astratte una collezione di strutture dati ed algoritmi in grado di memorizzare ed eseguire programmi componenti della macchina astratta
DettagliFondamenti di Informatica 1. Prof. B.Buttarazzi A.A. 2010/2011
Fondamenti di Informatica 1 Prof. B.Buttarazzi A.A. 2010/2011 Sommario Variabili di tipo Array Array bidimensionali Metodi statici Metodi statici della classe Math Esercizi 13/04/2011 Corso di Fondamenti
DettagliLinguaggi di programmazione
Lezione 1 e 2 Fabio Scotti Laboratorio di programmazione per la sicurezza 1 Lezione 1 e 2 Fabio Scotti Laboratorio di programmazione per la sicurezza Introduzione al linguaggio C e significato della compilazione
DettagliLinguaggi di alto livello, compilatori e interpreti
Linguaggi di alto livello, compilatori e interpreti Percorso di Preparazione agli Studi di Ingegneria Università degli Studi di Brescia Docente: Massimiliano Giacomin Il punto della situazione STATO DATI
DettagliLezione 6. Visibilità degli identificatori e tempo di vita degli oggetti
Lezione 6 Visibilità degli identificatori e tempo di vita degli oggetti Programmazione I Paolo Valente - 2009/2010 Ripasso dichiarazioni oggetti Finora abbiamo scritto le dichiarazioni di variabili e costanti
DettagliCorso di Linguaggi di Programmazione. Organizzazione di un processo in memoria (1)
Corso di Linguaggi di Programmazione Lezione 14 Alberto Ceselli alberto.ceselli@unimi.it Dipartimento di Tecnologie dell Informazione Università degli Studi di Milano 04 Maggio 2009 Organizzazione di un
DettagliLa Gestione della Memoria. Carla Binucci e Walter Didimo
La Gestione della Memoria Carla Binucci e Walter Didimo Esecuzione di programmi Java L esecuzione di un programma Java richiede: la compilazione del codice Java in bytecode Java (un linguaggio macchina
DettagliConcetto di Funzione e Procedura METODI in Java
Fondamenti di Informatica Concetto di Funzione e Procedura METODI in Java Fondamenti di Informatica - D. Talia - UNICAL 1 Metodi e Sottoprogrammi Mentre in Java tramite le classi e gli oggetti è possibile
DettagliProgrammazione a Oggetti e JAVA. Prof. B.Buttarazzi A.A. 2012/2013
Programmazione a Oggetti e JAVA Prof. B.Buttarazzi A.A. 2012/2013 Sommario Array Array monodimensionali Array bidimensionali Esercizi 16/01/2013 2 ARRAY Gli array sono oggetti utilizzati in Java per memorizzare
DettagliEsplorare e modificare il file system Compilare con gcc Lanciare un programma da linea di comando
Eclipse: Cos è? Utilizzare Eclipse: Creare un progetto Creare file sorgenti nel progetto Compilare Lanciare il programma Strumenti alternativi agli IDE La linea di comando su Linux Esplorare e modificare
DettagliLinguaggi di Programmazione I Lezione 10
Linguaggi di Programmazione I Lezione 10 Prof. Marcello Sette mailto://marcello.sette@gmail.com http://sette.dnsalias.org 8 maggio 2008 Array 3 Dichiarazione...........................................................
DettagliProgrammazione II. Lezione 5. Daniele Sgandurra 2/11/2010.
Programmazione II Lezione 5 Daniele Sgandurra daniele.sgandurra@iit.cnr.it 2/11/2010 1/35 Programmazione II Lezione 5 2/11/2010 Sommario 1 Fondamenti Problema della Fermata Macchina di Turing Indecidibilità
DettagliLinguaggio C. Generalità sulle Funzioni. Variabili locali e globali. Passaggio di parametri per valore.
Linguaggio C Generalità sulle Funzioni. Variabili locali e globali. Passaggio di parametri per valore. 1 Funzioni Generalizzazione del concetto di funzione algebrica: legge che associa a valori delle variabili
DettagliGestione della memoria in Java. Emilio Di Giacomo e Walter Didimo
Gestione della memoria in Java Emilio Di Giacomo e Walter Didimo Gestione della memoria In questa lezione descriveremo un modello runtime (cioè a tempo di esecuzione) di gestione della memoria in Java
DettagliProgrammazione in rete e laboratorio a.a. 2002/03
Programmazione in rete e laboratorio a.a. 2002/03 Scopo del corso: Presentare gli aspetti principali della programmazione ad oggetti Introduzione a JAVA Alberto Martelli Introdurre il linguaggio Java Realizzare
Dettaglipassaggio di vettori come parametri di funzioni/procedure. I Quando si passa un vettore come parametro ad una funzione, in
I Parametri di tipo vettore I Il meccanismo del passaggio per valore di un indirizzo consente il passaggio di vettori come parametri di funzioni/procedure. I Quando si passa un vettore come parametro ad
DettagliVisibilità e tempo di vita delle variabili. (più sintesi di alcuni concetti della prima parte del corso)
Visibilità e tempo di vita delle variabili (più sintesi di alcuni concetti della prima parte del corso) Struttura dei programmi C/C++ Un programma C/C++ deve essere contenuto in uno o più file (per ora
DettagliASTRAZIONE. Sono indipendenti dalla macchina hardware sottostante ASTRAZIONE 1
ASTRAZIONE Esistono linguaggi a vari livelli di astrazione Linguaggio Macchina: implica la conoscenza dei metodi utilizzati per la rappresentazione delle informazioni Linguaggio Macchina e Assembler: implica
DettagliDo...While() Break Continue Concetto di Funzione e Procedura METODI in Java
Fondamenti di Informatica Do...While() Break Continue Concetto di Funzione e Procedura METODI in Java Prof.Angela Bonifati 1 Istruzione while int vet1[] = new int[20]; int vet2[] = new int[20]; for(int
DettagliStrutture. Array dei nomi degli esami (MAX ESAMI è il massimo numero degli esami). Array con i crediti degli esami.
Consideriamo l esercizio assegnato la scorsa lezione per rappresentare il libretto di uno studente. Per memorizzare i dati si sono utilizzati tre array: char* nomiesami[max ESAMI] Array dei nomi degli
DettagliProgrammazione Procedurale in Linguaggio C++
Programmazione Procedurale in Linguaggio C++ Strutture di Controllo Parte 4 Conclusioni G. Mecca M. Samela Università della Basilicata Strutture di Controllo >> Sommario Sommario Ricapitolazione Alcune
DettagliMarco Faella Introduzione al corso
Marco Faella Introduzione al corso 1 Lezione n. Parole chiave: Java Corso di Laurea: Informatica Insegnamento: Linguaggi di Programmazione II Email Docente: faella.didattica@gmail.com A.A. 2009-2010 Linguaggi
DettagliLINGUAGGI DI PROGRAMMAZIONE
LINGUAGGI DI PROGRAMMAZIONE Il potere espressivo di un linguaggio è caratterizzato da: quali tipi di dati consente di rappresentare (direttamente o tramite definizione dell utente) quali istruzioni di
DettagliAllocazione dinamica della memoria
Allocazione dinamica della memoria Allocazione statica: limiti Per quanto sappiamo finora, in C le variabili sono sempre dichiarate staticamente la loro esistenza deve essere prevista e dichiarata a priori
DettagliModulo 2: Strutture fondamentali della programmazione Java
Modulo 2: Strutture fondamentali della programmazione Java Argomenti Trattati: Un semplice programma Java: Presentazione di un primo Esempio; Introduzione alla struttura; Compilazione ed esecuzione. Argomenti
DettagliCorso di Informatica
Corso di Informatica Modulo T4 A1 Allocazione dinamica 1 Prerequisiti Programmazione elementare Programmazione ad oggetti Dati semplici e strutturati 2 1 Introduzione In molti problemi capita di non conoscere
DettagliProgrammazione Orientata agli Oggetti in Linguaggio Java
Programmazione Orientata agli Oggetti in Linguaggio Java Classi e Oggetti: C# versione 2.1 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima pagina) G. Mecca
DettagliLezione 5 e 6. Fabio Scotti ( ) Laboratorio di programmazione per la sicurezza. Valentina Ciriani ( ) Laboratorio di programmazione
Lezione 5 e 6 - Concetto di blocco - Controllo del flusso di un programma - Costrutti per la scelta if e switch - Costrutti while e for - Operatori in C Fabio Scotti (2004-2009) Laboratorio di programmazione
DettagliProgrammazione I - corso B a.a prof. Viviana Bono
Università di Torino Facoltà di Scienze MFN Corso di Studi in Informatica Programmazione I - corso B a.a. 2009-10 prof. Viviana Bono Blocco 12 Riepilogo e complementi sui tipi Ripasso del sistema di tipi
DettagliSviluppare un programma in FORTRAN
Sviluppare un programma in FORTRAN Scrivere il file sorgente Editor di testo (emacs, vi, notepad, etc) Compilare Compilatore (ifort, gfortran, etc) Eseguire il programma Riga di comando, doppio click,
DettagliLezione 21 e 22. Valentina Ciriani ( ) Laboratorio di programmazione. Laboratorio di programmazione. Lezione 21 e 22
Lezione 21 e 22 - Allocazione dinamica delle matrici - Generazione di numeri pseudocasuali - Funzioni per misurare il tempo - Parametri del main - Classificazione delle variabili Valentina Ciriani (2005-2008)
DettagliEsonero di Informatica I. Ingegneria Medica
Di seguito sono elencati una serie di domande tipo esonero ; i quiz vogliono dare un sistema di autovalutazione e di confronto allo studente che deve prepararsi alla prova di metà corso. Il numero e l
DettagliIndice. Prefazione. 3 Oggetti e Java 53
Prefazione xv 1 Architettura dei calcolatori 1 1.1 Calcolatori e applicazioni 1 1.1.1 Alcuni esempi di applicazioni 3 1.1.2 Applicazioni e interfacce 4 1.2 Architettura dei calcolatori 7 1.2.1 Hardware
DettagliCosa fare prima di iniziare. Laboratorio Primo Impatto. Hello World. L editor
Laboratorio Primo Impatto Scrivere un semplice programma Compilare Avviare la JVM Convenzioni sul codice Classi, oggetti, metodi Errori di compilazione Cosa fare prima di iniziare Effettuare il login scegliendo
Dettagli