|
|
|
| << | < | > | >> |Indice
p. IX Prefazione
Capitolo I GLI ALGORITMI
3 1.1. Generalità sulla struttura degli algoritmi
3 1.1.1. Preliminari
3 1.1.2. Definizione e requisiti di un algoritmo
4 1.1.3. Valori, costanti, variabili ed espressioni
6 1.1.4. Tipi di istruzioni
7 1.1.5. Diagramma dinamico
8 1.1.6. Ciclo (loop)
12 1.1.7. Algoritmi finiti ed infiniti
16 1.1.8. Procedure
20 1.2. Esempi di algoritmi
26 1.3. Esempi di procedure
32 1.4. Algoritmi sulla matematica elementare
47 1.5. Algoritmi sull'ordinamento
56 1.6. Algoritmi di approssimazione
57 1.7. Metodi per la costruzione di algoritmi
66 1.8. Letture consigliate
Capitolo II L'ARITMETICA DEL CALCOLATORE
69 2.1. La rappresentazione delle informazioni
70 2.2. Dal sistema numerico decimale ad un sistema
numerico in altra base
72 2.3. Conversione dal sistema numerico decimale al
sistema nlmerico in base b
73 2.3.1. Rappresentazione in base b di un numero intero
76 2.3.2. Rappresentazione in base b di un numero reale
positivo minore di uno
78 2.3.3. Rappresentazione in base b di un qualsivoglia
numero reale
78 2.4. Le operazioni aritmetiche in base b
83 2.5. Conversione da un sistema numerico in base b1 ad
uno in base b2
87 2.6. Numeri finiti ed aritmetica relativa
88 2.6.1. Rappresentazione dei numeri finiti a punto fisso
89 2.6.2. Aritmetica con numeri finiti rappresentati a
punto fisso
93 2.6.3. Rappresentazione dei numeri finiti a punto mobile
95 2.6.4. Aritmetica con numeri finiti rappresentati a
punto mobile
100 2.7. Errori
100 2.8. Codici per la rappresentazione di dati non
numerici
103 2.9. Letture consigliate
Capitolo III L'HARDWARE
105 3.1. Preliminari
108 3.2. L'ingresso/uscita
108 2.1. Elementi fondamentali di un sistema di
ingresso/uscita
110 3.2.2. Le schede perforate
111 3.2.3. Perforatrici di schede
111 3.2.4. Il lettore di schede
113 3.2.5. Il perforatore di schede
114 3.2.6. Il nastro perforato; il lettore/perforatore di
nastro
115 3.2.7. Il tabulato; stampanti lente e stampanti veloci
116 3.2.8. I registratori X, Y
117 3.2.9. Terminali; calcolatori; terminali video
118 3.2.10.Nastro magnetico; unità a nastro magnetico
120 3.2.11.Disco magnetico; unità a disco magnetico
123 3.3. La memoria
123 3.3.1. Funzione della memoria in un calcolatore
123 3.3.2. Richiami di elettromagnetismo
124 3.3.3. Realizzazione di memorie mediante nuclei
ferromagnetici
126 3.3.4. La tecnica di realizzazione della memoria
128 3.3.5. Tecnica di lettura e scrittura sui nuclei
130 3.3.6. Organizzazione della memoria
133 3.4. Il Controllo e L'Unità Aritmetico-logica
133 3.4.1. L'Unità Centrale come automa
135 3.4.2. Le istruzioni
136 3.4.3. I registri
139 3.4.4. L'Unità Aritmetico-logica
142 3.4.5. Il canale; le interruzioni (interrupts)
146 3.5. L'algebra di Boole
146 3.5.1. Variabili ed operatori booleani
148 3.5.2. Postulati e proprietà dell'algebra booleana
149 3.5.3. Funzioni booleane
150 3.5.4. Forma canonica delle funzioni booleane
151 3.5.5. Sintesi delle funzioni booleane
153 3.5.6. Sommatore binario ad 1 bit e decodificatore di
parole binarie
157 3.6. Letture consigliate
Capitolo IV LINGUAGGIO ASSEMBLER ED ASSEMBLATORI
159 4.1 Linguaggio base
172 4.2. I linguaggi assembler
177 4.3. La traduzione di un linguaggio assembler
177 4.3.1. Funzioni generali dell'assemblatore
181 4.3.2. Rilocabilità dei programmi
184 4.3.4. Le pseudo-istruzioni
188 4.3.5. Tecniche di assemblaggio
189 4.4. Le macro-istruzioni
190 4.5. Ingresso ed uscita di dati nel linguaggio
assembler
193 4.6. Letture consigliate
Capitolo V INTRODUZIONE ALLA TEORIA DEI LINGUAGGI.
UN ESEMPIO DI LINGUAGGIO EVOLUTO
197 5.1. Considerazioni generali sui linguaggi di
programmazione
199 5.2. Un esempio
201 5.3. Considerazioni sul concetto di linguaggio
203 5.4. Alcuni richiami
204 5.5. Notazioni e terminologia
208 5.6. La grammatica generativa
208 5.6.1. Introduzione
211 5.6.2. Forma di Chomsky
214 5.6.3. Classificazione di Chomsky
216 5.6.4. Alcuni esempi
220 5.6.5. Alcune proprietà dei linguaggi
221 5.6.6. Un modello per la definizione formale dei
linquaggi evoluti di programmazione: i linguaggi
non contestuali
228 5.6.7. Forma di Backus-Naur o Forma Normale di Backus
(BNF)
230 5.7. Premessa ai linguaggi evoluti di programmazione
232 5.8. Concetti generali
235 5.9. Definizione del linguaggio Fortran
235 5.9.1. Definizioni base
236 5.9.2. Le costanti
237 5.9.3. Gli identificatori
238 5.9.4. Le variabili
239 5.9.5. Le funzioni
240 5.9.6. Le espressioni
243 5.9.7. Le proposizioni del Fortran (o statement o
istruzioni)
254 5.9.8. Le dichiarazioni
257 5.9.9. Programmi e sottoprogrammi
258 5.10. Letture consigliate
Capitolo VI I COMPILATORI
261 6.1. Preliminari
264 6.2. Schema generale di un compilatore
267 6.3. L'analizzatore lessicale
267 6.3.1. I simboli atomici
269 6.3.2. Sulla rappresentazione delle classi dei caratteri
271 6.3.3. Le tabelle dei simboli
275 6.3.4. Uno schema generale di analizzatore lessicale
260 6.4. Analisi sintattica discendente ed ascendente
280 6.4.1. Preliminari
280 6.4.2. Analisi sintattica discendente
281 6.4.3. Anaìisi sintattica ascendente
263 6.4.4. Un esempio
289 6.5. Lo stack
291 6.6. Rappresentazione in memoria di strutture di dati
291 6.6.I. Strutture di dati in memoria
293 6.6.2. Rappresentazione di stringhe
293 6.6.3. Rappresentazione di alberi
295 6.6.4. Rappresentazione di tavole
303 6.6.S. Rappresentazione di uno stack e sua gestione
304 6.6.6. Rappresentazione di matrici
307 6.7. Grammatiche di operatori a precedenza
307 6.7.I. Grammatiche di operatori
308 6.7.2. Grammatiche a precedenza
309 6.7.3. Un esempio
311 6.7.4. Frasi prime o principali
312 6.7.5. L'algoritmo di Floyd
315 6.7.6. Generazione del codice durante il processo di
analisi sintattica
319 6.8. Analisi semantica
319 6.8.1. Rappresentazione del programma sorgente; la
notazione polacca
321 6.8.2. Rappresentazione a quadruple e triple
324 6.8.3. Cenni ai problemi di ottimizzazione
329 6.9. Letture consigliate
| << | < | |