G. BALDI

 

            Dipartimento di Matematica

 

            Universitą di Torino

 

 

 

 

 

 

 

 

 

 

 

 

          LE IDEE DELLA PROGRAMMAZIONE

 

 

 

 

 

 

          volume 1

 

 

          Premessa a Linguaggi ed Algoritmi

 

 

 

 

 

 

 

 

 

 

 

 

            Appunti - Anno accademico 1995-1996


 

 

 

                        I n d i c e

 

 

 

            Capitolo 1 - MACCHINE, SISTEMI, LINGUAGGI

 

1.1

-

La rivoluzione informatica ....................................................................

1

1.2

-

La macchina ed il suo utente ..............................................................

2

1.3

-

La base: i linguaggi degli ASSEMBLER ............................................

2

1.4

-

I linguaggi di alto livello ........................................................................

3

1.5

-

Le caratteristiche di un linguaggio .....................................................

4

1.6

-

Cenno alle strutture di dati ...................................................................

6

1.7

-

I primi linguaggi: FORTRAN e COBOL ..............................................

7

1.8

-

Un secondo stadio: ALGOL e PL/1 ....................................................

8

1.9

-

Un esperimento fortunato: il BASIC ...................................................

9

1.10

-

La terza fase: il Pascal .........................................................................

11

1.11

-

Un possibile punto d'arrivo: il C .........................................................

12

1.12

-

Conclusioni e prospettive dei linguaggi ...........................................

13

1.13

-

Cenno ai sistemi operativi ...................................................................

14

 

 

            Capitolo 2 - DEFINIZIONE DELLA MACCHINA

 

2.1

-

Il concetto di scatola nera .....................................................................

17

2.2

-

Unitą centrale e dispositivi periferici ...................................................

18

2.3

-

Memorizzazione ed elaborazione ........................................................

19

2.4

-

Organizzazione e controllo ...................................................................

20

2.5

-

Memorie periferiche: dischi e nastri ...................................................

22

2.6

-

Esempi dalla tecnologia corrente .......................................................

23

 

 

            Capitolo 3 - MACCHINE E NUMERI

 

3.1

-

Le macchine per il calcolo ....................................................................

25

3.2

-

Modello di macchina per il calcolo ......................................................

26

3.3

-

Precisazione ulteriore del modello ......................................................

27

3.4

-

La rappresentazione dei dati ................................................................

28

3.5

-

Esempi non decimali ............................................................................

28

3.6

-

La notazione decimale posizionale ....................................................

29

3.7

-

Una alternativa: i numeri ottali .............................................................

32

3.8

-

La numerazione esadecimale .............................................................

33

3.9

-

Altre basi possibili ................................................................................

35

 

 

            Capitolo 4. - NUMERAZIONE BINARIA, CARATTERI E STRINGHE

 

4.1

-

Numerazione in base due .....................................................................

36

4.2

-

Conversione tra numeri binari ed altre basi ......................................

36

4.3

-

Unitą binaria: BIT .................................................................................

38

4.4

-

Aggregazione di unitą binarie: BYTE ....................................................

38

4.5

-

Codifica dei caratteri ............................................................................

39

4.6

-

Codifica ASCII ......................................................................................

40

4.7

-

Caratteri e sequenze di controllo ........................................................

41

4.8

-

Notazioni speciali per i tasti di controllo ............................................

42

4.9

-

Sequenze di caratteri: STRINGHE ......................................................

43


 

            Capitolo 5 - CALCOLO BINARIO

 

5.1

-

Aritmetica binaria finita ........................................................................

45

5.2

-

La rappesentazione del segno ..........................................................

46

5.3

-

I numeri interi .......................................................................................

48

5.4

-

Overflow nelle operazioni intere .......................................................

49

5.5

-

I numeri non interi ................................................................................

50

5.6

-

Rappresentazione frazionale binaria ...............................................

51

5.7

-

La notazione esponenziale, o scientifica .........................................

52

5.8

-

Notazione esponenziale binaria di macchina ..................................

54

5.9

-

Anomalie della rappresentazione binaria ........................................

55

 

 

            Capitolo 6 - CLASSIFICAZIONE DEI TIPI DI DATI

 

6.1

-

Tipi fondamentali, o semplici .............................................................

57

6.2

-

Costanti e variabili................................................................................

58

6.3

-

Notazione degli indici ..........................................................................

59

6.4

-

Tipi di dati strutturati ............................................................................

60

6.5

-

Indirizzi e puntatori ...............................................................................

62

6.6

-

Memoria statica e dinamica ..............................................................

63

6.7

-

Moduli funzionali e classi di memoria ............................................

64

6.8

-

Altre strutture .......................................................................................

65

 

 

            Capitolo 7 - APPROSSIMAZIONI ED ERRORI

 

7.1

-

Errori di rappresentazione in macchina   ........................................

67

7.2

-

Errore assoluto e relativo ...................................................................

67

7.3

-

Somma e sottrazione ..........................................................................

69

7.4

-

Prodotto e divisione .............................................................................

70

7.5

-

Propagazione degli errori ..................................................................

70

7.6

-

Strategie di calcolo ..............................................................................

71

 

 

            Capitolo 8 - ANALISI DEI PROBLEMI ED ALGORITMI

 

8.1

-

Analisi strutturale come premessa al programma .............................

72