• Non ci sono risultati.

Introduzione Introduzione

N/A
N/A
Protected

Academic year: 2021

Condividi "Introduzione Introduzione"

Copied!
27
0
0

Testo completo

(1)

1

Introduzione

Introduzione

(2)

2 2

Obiettivi del capitolo Obiettivi del capitolo

 Capire il significato dell’attività di programmazione Capire il significato dell’attività di programmazione

 Imparare a riconoscere le componenti più importanti Imparare a riconoscere le componenti più importanti dell’architettura dei computer

dell’architettura dei computer

 Comprendere la distinzione fra linguaggi macchina Comprendere la distinzione fra linguaggi macchina e linguaggi di programmazione di alto livello

e linguaggi di programmazione di alto livello

 Prendere confidenza con l’ambiente di Prendere confidenza con l’ambiente di programmazione

programmazione e con il compilatore e con il compilatore

 Compilare ed eseguire il primo programma Java Compilare ed eseguire il primo programma Java

 Riconoscere gli errori logici e di sintassi Riconoscere gli errori logici e di sintassi

(3)

3 3

Che cos’è la programmazione?

Che cos’è la programmazione?

• Il computer deve essere programmato per svolgere Il computer deve essere programmato per svolgere compiti specifici

compiti specifici

• Differenti compiti = differenti programmi Differenti compiti = differenti programmi

• Programma Programma

 esegue una sequenza di istruzioni elementari in esegue una sequenza di istruzioni elementari in sequenza

sequenza

 contiene le sequenze di istruzioni necessarie a eseguire contiene le sequenze di istruzioni necessarie a eseguire tutti i suoi

tutti i suoi compiti. compiti.

• Programmi sofisticati richiede una squadra di Programmi sofisticati richiede una squadra di programmatori altamente specializzati e di altre programmatori altamente specializzati e di altre

persone con elevate competenze.

persone con elevate competenze.

(4)

4 4

L'anatomia di un computer L'anatomia di un computer

 Unità centrale di elaborazione Unità centrale di elaborazione

 Chip (circuito integrato) Chip (circuito integrato)

 Transistor Transistor

 Memoria Memoria

 Memoria primaria: Random-access memory (RAM) Memoria primaria: Random-access memory (RAM)

 Memoria secondaria: es. hard disk (disco rigido) Memoria secondaria: es. hard disk (disco rigido)

 Dispositivi di memorizzazione rimovibili Dispositivi di memorizzazione rimovibili es. dischi floppy, nastri, CD

es. dischi floppy, nastri, CD

(5)

5 5

L'anatomia di un computer L'anatomia di un computer

 Dispositivi periferici Dispositivi periferici

 Esegue istruzioni molto semplici Esegue istruzioni molto semplici

 Esegue istruzioni molto rapidamente Esegue istruzioni molto rapidamente

 Dispositivo general purpose Dispositivo general purpose

(6)

6 6

Figura 1:

Unità di elaborazione centrale

(7)

7 7

Figura 2

Un modulo con

chip di memoria

(8)

8 8

Figura 3

Figura 3

Un disco rigido

Un disco rigido

(9)

9 9

Figura 4:

Una scheda principale

(motherboard)

(10)

10 10

Figura 5 Diagramma schematico di un personal computer

Figura 5 Diagramma schematico di un personal computer

(11)

11 11

Figura 6 L'ENIAC

(12)

12 12

Codice macchina Codice macchina

 Java Virtual Machine (JVM) – una tipica sequenza di Java Virtual Machine (JVM) – una tipica sequenza di istruzioni macchina:

istruzioni macchina:

 Carica il contenuto della posizione di memoria 40. Carica il contenuto della posizione di memoria 40.

 Carica il valore 100. Carica il valore 100.

 Se il primo valore è maggiore del secondo, prosegui Se il primo valore è maggiore del secondo, prosegui

con l’istruzione contenuta nella posizione di memoria 240.

con l’istruzione contenuta nella posizione di memoria 240.

 Le istruzioni macchina sono codificate sotto forma Le istruzioni macchina sono codificate sotto forma di numeri:

di numeri:

 Il compilatore traduce la descrizione di alto livello Il compilatore traduce la descrizione di alto livello nelle istruzioni macchina

nelle istruzioni macchina

21 40 16 100 163 240

21 40 16 100 163 240

(13)

13 13

Il Linguaggio di Programmazione Il Linguaggio di Programmazione

Java Java

 Semplice Semplice

 Sicuro Sicuro

 Indipendente dalla piattaforma Indipendente dalla piattaforma

 Ha una ricca libreria Ha una ricca libreria

 Pensato per internet Pensato per internet

(14)

14 14

Figura 7:

Un applet

in una pagina

Web

(15)

15 15

Prendere Confidenza Prendere Confidenza

con il Computer con il Computer

 Log in Log in

 Individuare il compilatore Java Individuare il compilatore Java

 Capire file e folder Capire file e folder

 I programmi sono memorizzati in file I programmi sono memorizzati in file

 File: un insieme di informazioni memorizzate insieme; un File: un insieme di informazioni memorizzate insieme; un file Java è un contenitore di istruzioni Java.

file Java è un contenitore di istruzioni Java.

 I file hanno un nome e le regole per i nomi validi sono I file hanno un nome e le regole per i nomi validi sono diverse

diverse

da un sistema all’altro.

da un sistema all’altro.

 I file sono conservati in cartelle o directory. Si tratta di I file sono conservati in cartelle o directory. Si tratta di

contenitori di file, che si possono annidare, ovvero inserire contenitori di file, che si possono annidare, ovvero inserire

uno dentro l’altro.

uno dentro l’altro.

(16)

16 16

Prendere Confidenza con il Prendere Confidenza con il

Computer Computer

 Scrivere un programma semplice Scrivere un programma semplice

 Salvare il proprio lavoro Salvare il proprio lavoro

 Sviluppare una strategia di salvataggio del proprio lavoro, Sviluppare una strategia di salvataggio del proprio lavoro, fare copie di backup.

fare copie di backup.

(17)

17 17

Figura 8:

Una finestra di comando

(18)

18 18

Figure 9:

Un ambiente di sviluppo integrato

(19)

19 19

Figura 10:

Cartelle annidate

(20)

20 20

HelloTester.java HelloTester.java

1: public class HelloTester 1: public class HelloTester 2: {

2: {

3: public static void main(String[] args) 3: public static void main(String[] args) 4: {

4: {

5: // visualizza un messaggio di saluto 5: // visualizza un messaggio di saluto sulla finestra di console

sulla finestra di console 6: 6:

7: System.out.println("Hello, World!");

7: System.out.println("Hello, World!");

8: } 8: } 9: }

9: }

Hello, World!

Hello, World!

(21)

21 21

Figura 11

Esecuzione del programma HelloTester in una finestra di comando

(22)

22 22

Figura 12

Esecuzione del programma HelloTester in un ambiente di sviluppo integrato

(23)

23 23

Un Semplice Programma Un Semplice Programma

Figura 13:

Invocazione di un metodo

System Class

System.out Oggetto println Metodo

public class NomeClasse public class NomeClasse

public static void main(String[] args) public static void main(String[] args)

// commento // commento

Chiamata di metodo

Chiamata di metodo

(24)

24 24

Sintassi di Java Sintassi di Java 1.1: Invocazione di metodo 1.1: Invocazione di metodo

object

object . . methodName methodName ( ( parameters parameters ) )

Esempio Esempio : :

    System.out.println("Hello, Dave!"); System.out.println("Hello, Dave!");

Scopo Scopo : Invocare il metodo di un oggetto e fornire : Invocare il metodo di un oggetto e fornire eventuali parametri aggiuntivi.

eventuali parametri aggiuntivi.

(25)

25 25

Errori Errori

 Errore di sintassi Errore di sintassi

 Identificato dal compilatore Identificato dal compilatore

 Errore di esecuzione o errore logico Errore di esecuzione o errore logico

 Identificato tramite collaudo Identificato tramite collaudo

System.ouch.print(". . .");

System.ouch.print(". . .");

System.out.print("Hello);

System.out.print("Hello);

System.out.print("Hell");

System.out.print("Hell");

(26)

26 26

Il processo di compilazione Il processo di compilazione

Figura 14:

Dal codice sorgente al programma in esecuzione

(27)

27 27

Figure 15:

The Edit—Compile—Loop Test Figura 15

Il ciclo modifica-compila-collaudara

Riferimenti

Documenti correlati

 Se il codice sorgente non contiene errori, l'invocazione del comando (1) produce nella directory corrente un file chiamato "a.out", che è il risultato della

L'organizzazione della democrazia all'interno degli Stati e il funzionamento della democrazia a livello dell'UE sono differenti, benché entrambi siano democratici: la

5 Analisi delle problematiche di tutela utenza Confronto con altri EGA, ARERA e AGCM per predisposizione osservazioni e pareri Responsabile Servizio Responsabile Unità

Con la conduzione dell’incontro a cura della compagnia teatrale «Teatro educativo» di Bologna, si sono al- ternati al tavolo dei relatori: Fi- lippo Di Gregorio, Direttore risor-

“ un compilatore è un programma che traduce una serie di istruzioni scritte in un determinato linguaggio di programmazione (codice sorgente) in istruzioni di un altro

NB: i permessi definiti su un file dipendono dai permessi della directory che lo contiene Per i file speciali:. r: leggere dal device w: scrivere sul device x:

 COMPILATORE: traduce un programma in un linguaggio ad alto livello in uno equivalente in linguaggio macchina per permettere la sua esecuzione da parte

Come detto in precedenza le istruzioni PUSH e POP non sono vere e proprio istruzioni che appartengono al set del PD32, bensì sono.. istruzioni che il compilatore traduce in