Indice PARTE A. Prefazione Gli Autori Ringraziamenti dell Editore La storia del C. Capitolo 1 Computer 1. Capitolo 2 Sistemi operativi 21 XVII XXIX

Documenti analoghi
Sommario PREFAZIONE...XI CAPITOLO 1: INTRODUZIONE AI COMPUTER, A INTERNET E AL WEB... 1 CAPITOLO 2: INTRODUZIONE ALLA PROGRAMMAZIONE IN C...

Prefazione. Capitolo 1 Sistemi di elaborazione 1

Indice. Introduzione PARTE PRIMA LE BASI DEL C++: IL LINGUAGGIO C 1

Indice. Prefazione. Ringraziamenti dell Editore

Linee di programmazione

Sommario. Note alla traduzione... xix

ISTITUTO SUPERIORE ENRICO FERMI. PROGRAMMAZIONE DEL GRUPPO DISCIPLINARE INFORMATICA IT INDIRIZZO INFORMATICA E TELECOMUNICAZIONI a.s.

Fondamenti di Programmazione

ISTITUTO STATALE D ISTRUZIONE SUPERIORE FERRARIS - BRUNELLESCHI EMPOLI Anno scolastico 2015/2016

Indice Introduzione I fondamenti di C#

PIANO DI LAVORO. a.s / 2016

Programmazione C Massimo Callisto De Donato

Programma svolto di INFORMATICA. Classe 3 - indirizzo MERCURIO A.S. 2009/2010

La programmazione ad oggetti: chiamate di metodi. Overloading. This

Programma svolto di INFORMATICA. Classe 3M - indirizzo MERCURIO A.S. 2010/2011

La sintassi del C APPENDICE H

Corso di Laurea in Ingegneria Informatica (L8) Anno Accademico 2015/2016 FONDAMENTI DI INFORMATICA

Corso Programmazione Java Standard

Programmazione modulare

PROGRAMMAZIONE DISCIPLINARE LICEO SCIENTIFICO OPZIONE SCIENZE APPLICATE INFORMATICA CLASSE QUINTA

IIS Via Silvestri ITIS Volta Programma svolto di Tecnologie Informatiche A.S. 2015/16 Classe 1 A

Programma di INFORMATICA

Università di Roma Tor Vergata L12-1

ISTITUTO TECNICO INDUSTRIALE STATALE "G. MARCONI" Via Milano n PONTEDERA (PI) DIPARTIMENTO: Informatica

SISTEMI OPERATIVI, RETI, INTERNET

Introduzione al C. Introduzione. Linguaggio ad alto livello. Struttura di un programma C

INFORMATICA 1 L. Mezzalira

Linguaggio C: introduzione

Il linguaggio C. Notate che...

Il calcolatore. Architettura di un calcolatore (Hardware)

Strutture dati e loro organizzazione. Gabriella Trucco

Programmazione di INFORMATICA e Laboratorio

3.3.6 Gli operatori Le funzioni di accesso al tipo Le strutture di controllo Le funzioni

LICEO SCIENTIFICO "LEONARDO DA VINCI" - RC PROGRAMMA DI INFORMATICA A.S. 2015/16 - CLASSE: I R - Indirizzo Scienze applicate Prof Miritello Rita

I S T I T U T O T E C N I C O I N D U S T R I A L E S T A T A L E

Laboratorio di Calcolatori 1 Corso di Laurea in Fisica A.A. 2006/2007

Lez. 5 La Programmazione. Prof. Salvatore CUOMO

Introduzione al Linguaggio C

Corso Analista Programmatore Microsoft Corso Online Analista Programmatore Microsoft

linguaggio di programmazione e programma

Prefazione

Informatica 1 Tipi e dichiarazioni in C++ C++ - Tipi e dichiarazioni 1

Indice generale Introduzione...xiii Capitolo 1 Strumenti per sviluppare applicazioni...1

RAPPRESENTAZIONE GLI ALGORITMI NOTAZIONE PER LA RAPPRESENTAZIONE DI UN ALGORITMO

Linguaggi di alto livello, compilatori e interpreti

Esempio di Patto Formativo per la classe terza

Informatica/ Ing. Meccanica/ Prof. Verdicchio/ 13/09/2013/ Foglio delle domande/versione 1

Java il Corso Fondamentale

Programma del corso. Elementi di Programmazione. Introduzione agli algoritmi. Rappresentazione delle Informazioni. Architettura del calcolatore

Laboratorio di Programmazione Lezione 2. Cristian Del Fabbro

Introduzione alla programmazione Algoritmi e diagrammi di flusso. Sviluppo del software

PROGRAMMAZIONE DISCIPLINARE LICEO SCIENTIFICO OPZIONE SCIENZE APPLICATE INFORMATICA CLASSE PRIMA

Indice. Prefazione. sommario.pdf 1 05/12/

Linguaggi di Programmazione

Introduzione. Parte I Concetti di base sulla riga di comando di Windows. 1 Cenni generali sulla riga di comando di Windows 3

Elementi lessicali. Lezione 4. La parole chiave. Elementi lessicali. Elementi lessicali e espressioni logiche. Linguaggi di Programmazione I

APPUNTI PER IL CORSO DI ALFABETIZZAZIONE INFORMATICA

Introduzione alla programmazione. Walter Didimo

Primi passi col linguaggio C

Corso di Fondamenti di Informatica Il sistema dei tipi in C++

Elementi di C++ di base

MODULO DI ALTERNANZA SCUOLA-LAVORO

ISTITUTO TECNICO INDUSTRIALE STATALE "G. MARCONI" Via Milano n PONTEDERA (PI) DIPARTIMENTO: Informatica

IL LINGUAGGIO JAVA Input, Tipi Elementari e Istruzione Condizionale

Dove vengono definiti? il concetto di sottoprogramma

Indice Prefazione XIII Capitolo 1 Introduzione al Visual Basic per Excel

FONDAMENTI di INFORMATICA L. Mezzalira

LICEO SCIENTIFICO "LEONARDO DA VINCI" - RC PROGRAMMA DI INFORMATICA A.S. 2014/15 - CLASSE: I Q - Indirizzo Scienze applicate Prof Miritello Rita

FONDAMENTI DI INFORMATICA

Indice generale Prefazione...xiii Capitolo 1 Introduzione...1 Capitolo 2 Sviluppo del software, tipi di dati ed espressioni...31

:33 Pagina V. Indice. Introduzione

PROGRAMMAZIONE COORDINATA TEMPORALMENTE CLASSI: 1AIT-1BIT-1CIT-1AE-1BE-1CE/EM-1AME-1BME TECNOLOGIE INFORMATICHE. 3 ore settimanali (1 + 2 lab)

Giuseppe Callegarin Java, Oggetti e Strutture Dati Cedam INDICE

Linguaggi di Programmazione

Gestione di files Motivazioni

Sommario. 1 La shell di Windows PowerShell... 1

Corso di Calcolatori Elettronici Un computer è un dispositivo in grado di eseguire dei calcoli e di prendere delle decisioni logiche.

Metodologie di Programmazione. ovvero, Principi e Tecniche per la costruzione di programmi

Informatica/ Ing. Meccanica/ Prof. Verdicchio/ 14/02/2012 / Foglio delle domande / VERSIONE 1

Introduzione al Linguaggio C ed all IDE DEV-C++

Unità Didattica 2 I Linguaggi di Programmazione

UNIVERSITÀ DEGLI STUDI DI PAVIA FACOLTÀ DI INGEGNERIA. Introduzione alla programmazione

Linguaggi di programmazione

Docente : Carla BIASCA, Loris RUGGERI

PREREQUISI DI INFORMATICA CLASSE PRIMA DEL PRIMO BIENNIO (LICEO DELLE SCIENZE APPLICATE)

Indice generale VIII

Fasi di un Compilatore

Parte 2. Ricorsione. [M.C.Escher Drawing hands, 1948] - AA. 2012/13 2.1

Diagrammi di flusso. Un metodo per rappresentare graficamente gli algoritmi. sotto programma. Input/ Output. Start. predicato Elaborazione Stop

Indice. Introduzione PARTE PRIMA FONDAMENTI 1

DAGLI ALGORITMI AI LINGUAGGI. Linguaggi di Programmazione

Indice generale. Prefazione

LINGUAGGI DI PROGRAMMAZIONE!

Cenni sul preprocessore e il suo utilizzo

Programmazione. Cognome... Nome... Matricola... Prova scritta del 22 settembre Negli esercizi proposti si utilizzano le seguenti classi:

Linguaggio C: le funzioni. Introduzione e sintassi

PROGRAMMA DI SCIENZE E TECNOLOGIE APPLICATE 2015/2016 Classe 2ª Sez. C Tecnologico

Traduzione ed Interpretazione

Libri di testo, libri della biblioteca, dispense, appunti, attrezzature di laboratorio

Sistema Operativo (Software di base)

Transcript:

Indice Prefazione Gli Autori Ringraziamenti dell Editore La storia del C XVII XXIX XXXI XXXIII PARTE A Capitolo 1 Computer 1 1.1 Hardware e software 2 1.2 Processore 3 1.3 Memorie 5 1.4 Periferiche di input/output 8 1.5 Memorie di massa 9 1.6 Storia di una macchina 13 1.7 Tipi di computer 13 1.8 Reti 15 1.9 Architettura Client/Server 16 1.10 Cloud computing e virtualizzazione 17 Verifica le conoscenze 18 Capitolo 2 Sistemi operativi 21 Il capitolo completo sul sito web www.ateneonline.it/guidi5e 2.1 Ruolo del SO w1 2.2 File system w5 2.3 Linux w9 2.4 Windows w15 2.5 Windows da linea di comando w18 2.6 ios e Android w21

VIII / Indice Verifica le conoscenze Applica le abilità w22 w23 Capitolo 3 Algoritmi 23 3.1 Istruzioni 23 3.2 Esecuzione 24 3.3 Memoria 25 3.4 Calcolo meccanico 26 3.5 Capacità di calcolo 28 3.6 Complessità degli algoritmi 29 3.7 Correttezza rispetto alle specifiche 32 Verifica le conoscenze 33 Applica le abilità 33 Capitolo 4 Programmi 35 4.1 Linguaggi 35 4.2 Linguaggio macchina 36 4.3 Linguaggio assembler 38 4.4 Linguaggi di alto livello 41 4.5 Programmi strutturati 43 4.6 Sequenza, selezione, iterazione 46 4.7 Blocco d istruzioni 51 4.8 Massimo Comune Denominatore 52 4.9 Scambio di valori fra variabili 53 4.10 Approcci alla programmazione 55 Verifica le conoscenze 58 Applica le abilità 58 PARTE B Capitolo 5 Sequenza 61 5.1 Programmi 61 5.2 Variabili e assegnamenti 63 5.3 Costanti 67 5.4 Input e output 68 5.5 Funzioni 71 5.6 Fasi di programmazione 74 Verifica le conoscenze 78 Applica le abilità 78 Capitolo 6 Tipi fondamentali 81 6.1 Interi 81

Indice / IX 6.2. Caratteri 84 6.3 Virgola mobile 87 6.4 Operazioni in virgola mobile 90 Verifica le conoscenze 91 Applica le abilità 92 Capitolo 7 Selezione 95 7.1 if 95 7.2 Istruzioni composte 97 7.3 if annidati 100 7.4 Confronto fra caratteri 102 7.5 switch-case 104 Verifica le conoscenze 107 Applica le abilità 108 Capitolo 8 Operatori 111 8.1 Operatori aritmetici 111 8.2 Operatori relazionali e logici 113 8.3 Espressioni condizionali 116 Verifica le conoscenze 118 Applica le abilità 118 Capitolo 9 Iterazione 121 9.1 for 121 9.2 Incrementi e decrementi 125 9.3 Calcolo del fattoriale 129 9.4 while 131 9.5 do-while 136 9.6 Operatore virgola 137 9.7 Cicli annidati 139 9.8 Interruzioni 140 9.9 Zero di una funzione 142 Verifica le conoscenze 145 Applica le abilità 146 Capitolo 10 Array 149 10.1 Vettori 149 10.2 Esempio di uso dei vettori 153 10.3 Inizializzazione di variabili 155 10.4 Matrici 156 10.5 Prodotto di matrici 160 Verifica le conoscenze 163 Applica le abilità 163

X / Indice Capitolo 11 Funzioni 165 11.1 Il concetto di sottoprogramma 165 11.2 Sottoprogrammi C 166 11.3 Dichiarazione di una funzione 168 11.4 Definizione di una funzione 169 11.5 Visibilità 172 11.6 return 174 11.7 Chiamata di una funzione 175 11.8 Passaggio dei parametri 177 11.9 void 180 11.10 Scomposizione funzionale 182 Verifica le conoscenze 184 Applica le abilità 185 Capitolo 12 Ricerche e ordinamenti 187 12.1 Introduzione 187 12.2 Ricerca completa 188 12.3 Ordinamenti 189 12.4 Ricerca binaria 194 12.5 Fusione 197 Verifica le conoscenze 200 Applica le abilità 201 Caso di studio I Gestione di una sequenza 202 Metodo 202 Problema 202 Analisi e progetto 202 Diagramma delle interazioni fra i moduli 207 Sviluppo 208 Esercizi 211 Capitolo 13 Stringhe 213 13.1 Definizione 213 13.2 Esempi di uso delle stringhe 215 13.3 Funzioni di libreria 220 Verifica le conoscenze 224 Applica le abilità 224 Capitolo 14 Puntatori 227 14.1 Definizione di puntatore 228 14.2 Array e puntatori 230 14.3 Aritmetica dei puntatori 231 14.4 Passaggio di parametri per indirizzo 233

Indice / XI 14.5 Oggetti dinamici 239 14.6 Indirizzamento assoluto della memoria 242 14.7 Funzioni sulla memoria 243 Verifica le conoscenze 246 Applica le abilità 246 Caso di studio II Gestione di una sequenza con uso dei puntatori 248 Problema 248 Analisi e progetto 248 Diagramma delle interazioni fra i moduli 249 Sviluppo 250 Esercizi 253 PARTE C Capitolo 15 Ricorsione 255 15.1 Iterazione e ricorsione 255 15.2 Permutazioni e disposizioni 258 15.3 Combinazioni 261 15.4 La successione di Fibonacci 263 15.5 Un classico della ricorsività: la torre di Hanoi 263 15.6 Ordinamento con quicksort 268 15.7 Algoritmi di backtracking: il problema delle otto regine 272 15.8 Mutua ricorsività 278 Verifica le conoscenze 278 Applica le abilità 279 Capitolo 16 Strutture 281 16.1 Tipi derivati 281 16.2 Struct 282 16.3 Strutture e puntatori 285 16.4 Tipi derivati composti tramite struttura 286 Verifica le conoscenze 288 Applica le abilità 288 Caso di studio III Gestione anagrafica 290 Problema 290 Analisi e progetto 290 Diagramma delle interazioni fra i moduli 294 Sviluppo 295 Esercizi 300

XII / Indice Capitolo 17 File 303 17.1 Apertura e chiusura di file 303 17.2 Lettura e scrittura sequenziale 305 17.3 Posizionamento del puntatore 308 17.4 Altre possibilità di lettura e scrittura 310 17.5 Standard Input e Standard Output 315 17.6 Funzioni di basso livello 316 Verifica le conoscenze 316 Applica le abilità 317 Caso di studio IV Gestione anagrafica con i file 319 Problema 319 Analisi e progetto 319 Diagramma delle interazioni fra i moduli 321 Sviluppo 322 Esercizi 327 Capitolo 18 Approfondimenti sui tipi e trattamento dei bit 329 18.1 Nomi 329 18.2 Tipi fondamentali 331 18.3 Costanti 335 18.4 Trattamento dei bit 339 18.5 Conversioni di tipo 346 Verifica le conoscenze 349 Applica le abilità 350 Capitolo 19 I/O formattato e funzioni ad argomenti variabili 351 19.1 Funzioni di output formattato 351 19.2 Funzioni di input formattato 356 19.3 Liste di argomenti variabili per numero e tipo 361 Verifica le conoscenze 363 Applica le abilità 364 Capitolo 20 Tipi derivati e classi di memoria 367 20.1 Tipi derivati 367 20.2 Unioni 368 20.3 Campi 370 20.4 typedef 371 20.5 Tipi derivati composti 373 20.6 Tipi derivati composti tramite funzione 374 20.7 Tipi derivati composti tramite puntatore 375 20.8 Classificazione delle variabili 379 Verifica le conoscenze 386 Applica le abilità 387

Indice / XIII PARTE D Capitolo 21 Strutture dati 391 21.1 Limiti degli array 391 21.2 Liste lineari 393 21.3 Gestione di una lista 395 21.4 Determinazione del maggiore di una lista 400 21.5 Somma tra liste 404 21.6 Soluzioni ricorsive 406 21.7 Pila 407 21.8 Gestione di una pila mediante array 408 21.9 Gestione di una pila mediante lista lineare 415 21.10 Coda 420 21.11 Gestione di una coda mediante array 421 21.12 Gestione di una coda mediante liste 423 Verifica le conoscenze 425 Applica le abilità 426 Caso di studio V Gestione di una sequenza ordinata con una lista lineare 428 Problema 428 Analisi e progetto 428 Diagramma delle interazioni fra i moduli 431 Sviluppo 431 Esercizi 434 Capitolo 22 Alberi 437 Il capitolo completo sul sito web www.ateneonline.it/guidi5e 22.1 Alberi binari w1 22.2 Implementazione di alberi binari w3 22.3 Visita in ordine simmetrico w7 22.4 Alberi binari di ricerca w9 22.5 Alberi ordinati w10 22.6 Implementazione di alberi w12 22.7 Ricerca di un sottoalbero w15 22.8 Trasformazione di alberi w16 22.9 Grafi w20 Verifica le conoscenze w25 Applica le abilità w26 Capitolo 23 Preprocessore 439 23.1 Direttive 439 23.2 #define 440 23.3 Macroistruzioni: pro e contro 443

XIV / Indice 23.4 #undef 446 23.5 Macro predefinite 447 23.6 #line 448 23.7 #include 448 23.8 Direttive condizionali di compilazione 450 23.9 Operatore defined 454 23.10 #error e #pragma 455 23.11 Gli operatori # e ## 456 Verifica le conoscenze 458 Applica le abilità 458 Capitolo 24 Semantiche e correttezza dei programmi 461 Il capitolo completo sul sito web www.ateneonline.it/guidi5e 24.1 Introduzione w1 24.2 Stato di un programma w2 24.3 Semantica semplice w5 24.4 Asserzioni w10 24.5 Specifica w14 24.6 The Grand Challenge w19 24.7 Bibliografia ragionata del capitolo w20 Verifica le conoscenze w21 Caso di studio VI Progetto per la gestione aziendale della fatturazione 462 Progetto Soluzione Esercizi Il caso di studio completo sul sito web www.ateneonline.it/guidi5e w22 w22 w39 Capitolo 25 Programmare un Web Server 463 Il capitolo completo sul sito web www.ateneonline.it/guidi5e 25.1 HTTP w1 25.2 Pagine statiche w2 25.3 Pagine dinamiche w2 25.4 Un semplice CGI: hello.exe w4 25.5 Cosa si può fare con un CGI? w6 25.6 Il passaggio di parametri w9 25.7 Il CGI "Sono Graditi i Vostri Commenti" w13 25.8 Altri linguaggi di programmazione di Web Server w19 Verifica le conoscenze w20 Applica le abilità w20

Indice / XV PARTE E Capitolo 26 Programmazione orientata agli oggetti 465 26.1 Classi e oggetti 465 26.2 Ereditarietà 469 26.3 Polimorfismo e binding dinamico 472 26.4 Conclusioni 473 Verifica le conoscenze 474 PARTE F Capitolo 27 Il Linguaggio Objective-C 475 27.1 Genealogia 475 27.2 Compilatore 476 27.3 Primo programma 477 27.4 Tipo BOOL 479 27.5 Tipo id 479 27.6 Messaggi 480 27.7 Stringhe 484 27.8 Conclusione 488 Verifica le conoscenze 488 Applica le abilità 489 Capitolo 28 Programmare con la Libreria di Base Objective-C 491 28.1 Array 491 28.2 Dizionari 494 28.3 Lavorare con i tipi del C 501 28.4 Conclusioni 503 Verifica le conoscenze 503 Applica le abilità 504 Capitolo 29 Costruire classi 505 29.1 Prima classe 505 29.2 Cenni alle classi per composizione 510 29.3 Implementazione dei metodi 511 29.4 Costruire oggetti in fabbrica 514 29.5 Gestione della memoria 517 29.6 Sottoclassi 521 29.7 Conclusioni 526 Verifica le conoscenze 526 Applica le abilità 526

XVI / Indice Capitolo 30 Protocolli, Categorie, Introspezione ed Eccezioni Objective-C 529 Il capitolo completo sul sito web www.ateneonline.it/guidi5e 30.1 Comunicazione fra le classi w1 30.2 Protocolli w2 30.3 Meccanismi di delega w4 30.4 Categorie w7 30.5 Introspezione w9 30.6 Gestione delle eccezioni w11 30.7 Conclusioni w13 Verifica le conoscenze w14 Appendice A Sintassi 531 L appendice completa sul sito web www.ateneonline.it/guidi5e Appendice B Librerie standard 533 L appendice completa sul sito web www.ateneonline.it/guidi5e Appendice C Operatori 535 Appendice D Rappresentazione dell informazione 537 L appendice completa sul sito web www.ateneonline.it/guidi5e Appendice E Codice ASCII 539 Appendice F Embedded SQL 543 L appendice completa sul sito web www.ateneonline.it/guidi5e Appendice G Pagine HTML 545 L appendice completa sul sito web www.ateneonline.it/guidi5e Bibliografia Indice analitico B1 I1