Java Fondamenti di programmazione
C. Thomas Wu
© 2009 – The McGraw-Hill Companies srl
Capitolo 0
Introduzione ai computer
e ai
linguaggi di programmazione
©The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
Animated Version
Chapter 0 - 1
Obiettivi
• Lo studente, dopo lo studio di questo capitolo,
sarà in grado di:
– Descrivere brevemente l’evoluzione storica dei
computer.
– Descrivere il ruolo delle componenti principali di un
computer.
– Effettuare le conversioni dal sistema binario al sistema
decimale e viceversa.
– Descrivere la differenza tra linguaggi di alto livello e
linguaggi di basso livello.
©The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
Chapter 0 - 2
Breve storia dei computer
• Charles Babbage è considerato il padre dei computer.
Sebbene non siano mai stato costruite, egli propose i
progetti delle macchine note come Difference Engine e
Analytical Engine, che avevano le caratteristiche principali
dei computer attuali.
• Ada Lovelace, che scrisse un programma dimostrativo per
l’Analytical Engine, è considerata la prima programmatrice.
• Il primo computer moderno fu costruito da John Atanasoff,
presso la Iowa State University, alla fine degli anni ‘30.
• Un computer elettromeccanico, MARK I, fu costruito da
Howard Aiken ad Harvard.
• Il primo computer elettronico, ENIAC I, fu costruito da
Mauchly e Eckert presso la University of Pennsylvania.
©The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
Chapter 0 - 3
Architettura
Output
Devices
Communication
Devices
Input
Devices
©The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
RAM
CPU
Storage
Devices
Chapter 0 - 4
Velocità della CPU
©The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
Chapter 0 - 5
Sistema decimale
decimal
point
Rappresentazione dei
numeri.
104
103
102
101
10 1 10 2
10 0
103
Position Values
Esempio:
2
4
8
7
102
101
100
101
= 2  102 + 4  101+ 8  100 + 7  10 1
= 2  100 + 4  10 + 8  1
+ 7  1/10
= 200
+ 7 /10 = 248.7
©The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
+ 40
+ 8
Chapter 0 - 6
Sistema binario
binary
point
Rappresentazione dei
numeri.
24
23
22
21
21
20
2 2
23
Position Values
1
0
1
1
22
21
20
2 1
Esempio
= 1  22 + 0  21 + 1  20 + 1  2 1
= 1  4 + 0  2 + 1  1 + 1  1/2
= 4
©The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
+0
+ 1
+ 1/2
=
5.5
Chapter 0 - 7
Linguaggi di programmazione
• Distinugiamo tre livelli di linguaggi di
programmazione:
– Linguaggi Macchina
– Le istruzioni sono codificate in binario.
– Linguaggi Assembly
– Consentono la programmazione simbolica. Richiedono un assemblatore
per tradurre programmi assembly in programmi macchina.
– Linguaggi ad alto livello
– Consentono uno sviluppo di programmi più semplice e rapido.
Richiedono un compilatore per tradurre programmi ad alto livello in
programmi assembly.
©The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
Chapter 0 - 8
Java
• Java è un linguaggio ad alto livello sviluppato da
Sun Microsystems.
• Abbiamo due tipi di programmi Java:
• Le applet, eseguite dai web browser;
• Le applicazioni, programmi autonomi che non richiedono web
browser per essere eseguiti.
• Java è linguaggio ideale per l’insegnamento dei
fondamenti della programmazione, grazie alle
semplicità e alla pulizia del progetto.
©The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
Chapter 0 - 9