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 103 Position Values Esempio: 2 4 8 7 102 101 100 101 = 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 21 20 2 2 23 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