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

Documenti analoghi
PREFAZIONE... IX Lo scopo di questo libro... ix La metodologia di insegnamento... ix Panoramica sul libro... xiii

ANNO ACCADEMICO 2016/17. Informatica e Tecnologie per la Produzione del Software. Prof.Giovanni Dimauro. ANNO DI CORSO primo SEMESTRE primo

Esercizi di autovalutazione Risposte agli esercizi di autovalutazione Esercizi... 64

Informatica e Tecnologie per la Produzione del Software

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

Sommario. Introduzione... xv. Giorno 1 Elementi base del linguaggio C

Sommario PREFAZIONE... XI CAPITOLO 1: INTRODUZIONE AI COMPUTER, A INTERNET E AL WEB... 1 CAPITOLO 2: INTRODUZIONE ALLE APPLICAZIONI JAVA...

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

Sommario. Note alla traduzione... xix

Sommario PREFAZIONE... XI CAPITOLO 1: INTRODUZIONE: I COMPUTER, LA PROGRAMMAZIONE E IL C

Capitolo 7 Un primo sguardo agli oggetti Schema e valori Elementi di classe e d istanza

Indice generale Introduzione...vii Parte I Concetti e costrutti fondamentali... 1 Capitolo 1 Introduzione al linguaggio... 3

Sommario. I Uso degli oggetti 39

La sintassi del C APPENDICE H

Università degli studi di Roma Tor Vergata Ingegneria Medica Informatica I Programma del Corso

Il computer. Il case e l'unità di elaborazione. Il computer, una macchina aggiornabile.

Indice. Prefazione. 3 Oggetti e Java 53

Indice Capitolo 1 Capitolo 2 Capitolo 3 Capitolo 4 Capitolo 5 Capitolo 6

Introduzione alla programmazione in linguaggio C

Le basi del linguaggio Java

Il computer. Il case e l'unità di elaborazione. Il computer, una macchina aggiornabile.

Classe III A. A.s Programma di Informatica 5 ore settimanali (3 laboratorio) Docenti. Prof. Alberto Ferrari Prof.

Prefazione. 0 Programmare per calcolare 1. I Programmazione di base in linguaggio C 5

Corso di Fondamenti di Informatica e Laboratorio

Prefazione. Capitolo 1 Sistemi di elaborazione 1

ITI M. FARADAY. Programmazione a. s

Elementi di Informatica A. A. 2016/2017

Indice generale. Prefazione...xv. Introduzione al linguaggio C...1. Capitolo 2 Variabili, costanti, letterali e tipi...31

Indice Introduzione I fondamenti di C#

Prefazione... xi. Da leggere prima di iniziare...xiv. Capitolo 1 Introduzione a JavaScript Sezione A Programmazione, HTML e JavaScript...

PROGRAMMA = ALGORITMO

La Programmazione. Cos è la programmazione? Concetti preliminari

Dati due punti sul piano calcolare la loro distanza

PROGRAMMAZIONE DISCIPLINARE LICEO SCIENTIFICO OPZIONE SCIENZE APPLICATE INFORMATICA CLASSE TERZA

PIANO DI LAVORO. a.s / 2016

Indice. Prefazione... xxi. Capitolo 1 Introduzione al C Capitolo 2 Fondamenti di C... 11

Sommario. Prefazione... 11

Programmazione in Linguaggio C++

Indice. Introduzione 15. L hardware 24. Il software 43. Introduzione al linguaggio di Arduino 60. Basi del linguaggio di Arduino 65

liceo B. Russell PROGRAMMAZIONE INDIRIZZO: SCIENTIFICO SCIENZE APPLICATE BIENNIO: SECONDA DISCIPLINA: INFORMATICA

PIANO DI LAVORO. a.s / 2019

Laboratorio di Informatica I

Laboratorio di Informatica I

Indice. Prefazione. Ringraziamenti dell Editore

Argomento della lezione N. 2. Argomento della lezione N. 1. Presentazione del corso.

Prefazione. Lo scopo di questo libro

Introduzione al linguaggio C Puntatori

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

Introduzione al linguaggio C Primi programmi

Programmazione strutturata

IV Indice I comandi e la sintassi dei linguaggi formali Proposte di variazione sul tema Le stringhe Tipi di dato Operazioni co

Programmazione C Massimo Callisto De Donato

PROGRAMMARE IN JAVA Volume I

Istituto Tecnico Industriale A. Righi

Concetti di Base sulla Programmazione. Prof.Ing.S.Cavalieri

20/10/2014 M. Nappi/FIL 1

Informatica 3. LEZIONE 1: Introduzione. Modulo 1: Introduzione al corso Modulo 2: Introduzione ai linguaggi di programmazione

CORSO DI PROGRAMMAZIONE MICROCONTROLLORI

Introduzione... IX Capitolo 1 Primi passi con PHP...1 Capitolo 2 Numeri e stringhe...9

PROGRAMMA PREVENTIVO. Criteri di programmazione didattica. La programmazione didattica verrà sviluppata tenendo conto dei seguenti punti:

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

Perché il linguaggio C?

Perché il linguaggio C?

Struttura di un. Struttura dei programmi C

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

Lezione 6 Introduzione al C++ Mauro Piccolo

Puntatori e array. Violetta Lonati

Dichiarazioni e tipi predefiniti nel linguaggio C

Informatica 3. Informatica 3. Lezione 1- Modulo 1. LEZIONE 1: Introduzione. Concetti di linguaggi di programmazione. Introduzione

Sunto della scorsa lezione Il linguaggio C. Un Programma con Errori. Il preprocessore. Linguaggi di Programmazione I.

Funzioni, Stack e Visibilità delle Variabili in C

Introduzione alla programmazione in C++

Programma svolto informatica a.s. 2017/2018. Classe 1D

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

C: panoramica. Violetta Lonati

Funzioni, Stack e Visibilità delle Variabili in C

I Linguaggi di Programmazione

Fondamenti di Programmazione

Il C nel C++ Struttura di un linguaggio. regole per la definizione i simboli. regole per la composizione dei simboli

Struttura di un linguaggio

Il C nel C++ Struttura di un linguaggio. Elementi lessicali. Spazi. Livello lessicale: Livello sintattico: Livello semantico:

#include <stdio.h> main() { - 1 -

Sommario. CAPITOLO 3: FILE E FLUSSI Introduzione Gerarchia dei dati... 99

Calcolare il massimo di una lista

Introduzione al C. Lez. 1 Elementi. Rossano Venturini

Un esecutore di un linguaggio simbolico e costituito dalla coppia Compilatore, processore (o Interprete, processore)

vi Sommario Operatore di decremento Operatore di complemento logico Operatore di complemento a bit Operatori binari Operatori

Lezione 8: Stringhe ed array multidimensionali

1

ISTITUZIONE SCOLASTICA DI ISTRUZIONE TECNICA LYCÉE TECHNIQUE PROGRAMMAZIONE EDUCATIVA E DIDATTICA ANNUALE PER COMPETENZE A.S.

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

Unità Didattica 1 Linguaggio C. Fondamenti. Struttura di un programma.

Il primo programma C. Un programma utile. Compilazione & linking con il compilatore GNU. Introduzione alla programmazione in linguaggio C

Introduzione al C. Lez. 1 Elementi

Esercitazione 3. Espressioni booleane I comandi if-else e while

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

Transcript:

Sommario PREFAZIONE...XI Aggiornamenti e novità... xi Lo scopo di questo libro... xii Diagramma delle dipendenze... xii La metodologia di insegnamento... xiii Panoramica sul libro... xvi Ringraziamenti... xxi Gli autori...xxiv CAPITOLO 1: INTRODUZIONE AI COMPUTER, A INTERNET E AL WEB... 1 1.1 Introduzione...1 1.2 Computer: hardware e software...2 1.3 L organizzazione del computer...3 1.4 I personal computer, i sistemi distribuiti e i sistemi client/server...4 1.5 Internet e il World Wide Web...4 1.6 I linguaggi macchina, assembly e di alto livello...5 1.7 La storia del C...6 1.8 La libreria standard del C...7 1.9 Il C++...8 1.10 Java...9 1.11 FORTRAN, COBOL, Pascal e Ada...9 1.12 BASIC, Visual Basic, Visual C++, C# e.net...10 1.13 La chiave dell evoluzione del software; la tecnologia a oggetti...11 1.14 Il tipico ambiente di sviluppo di un programma C...12 1.15 L evoluzione dell hardware...15 1.16 Note generali sul C e su questo libro...16 Esercizi di autovalutazione...17 Risposte agli esercizi di autovalutazione...17 Esercizi...17 CAPITOLO 2: INTRODUZIONE ALLA PROGRAMMAZIONE IN C... 21 2.1 Introduzione...21 2.2 Un semplice programma C: visualizzare una riga di testo...21 2.3 Un altro semplice programma C: sommare due interi...26 2.4 Nozioni sulla memoria...31 2.5 L aritmetica del C...32 2.6 Prendere delle decisioni: gli operatori di uguaglianza e relazionali...36 Esercizi di autovalutazione...41 Risposte agli esercizi di autovalutazione...42 Esercizi...44

IV SOMMARIO CAPITOLO 3: LO SVILUPPO DI PROGRAMMI STRUTTURATI IN C... 49 3.1 Introduzione...49 3.2 Gli algoritmi...49 3.3 Lo pseudocodice...50 3.4 Le strutture di controllo...50 3.5 Il comando di selezione if...52 3.6 Il comando di selezione if else...54 3.7 Il comando di iterazione while...58 3.8 Formulazione degli algoritmi: studio di un caso 1 (iterazione controllata da un contatore)...59 3.9 Formulazione degli algoritmi con processo top-down per raffinamenti successivi: studio di un caso 2 (iterazione controllata da un valore sentinella)...62 3.10 Formulazione degli algoritmi con processo top-down per raffinamenti successivi: studio di un caso 3 (strutture di controllo nidificate)...69 3.11 Gli operatori di assegnamento...74 3.12 Gli operatori di incremento e di decremento...74 Esercizi di autovalutazione...77 Risposte agli esercizi di autovalutazione...79 Esercizi...80 CAPITOLO 4: IL CONTROLLO DEL PROGRAMMA IN C... 91 4.1 Introduzione...91 4.2 Gli elementi dell iterazione...91 4.3 Iterazione controllata da un contatore...92 4.4 Il comando di iterazione for...94 4.5 Il comando for: note e osservazioni...97 4.6 Esempi di utilizzo del comando for...98 4.7 Il comando di selezione multipla switch...101 4.8 Il comando di iterazione do while...107 4.9 Le istruzioni break e continue...109 4.10 Gli operatori logici...111 4.11 Confondere gli operatori di uguaglianza (==) e di assegnamento (=)...114 4.12 Riassunto della programmazione strutturata...116 Esercizi di autovalutazione...121 Risposte agli esercizi di autovalutazione...122 Esercizi...124 CAPITOLO 5: LE FUNZIONI IN C... 131 5.1 Introduzione...131 5.2 I moduli di programma in C...131 5.3 Le funzioni della libreria matematica...133 5.4 Le funzioni...133 5.5 Le definizioni di funzione...135

SOMMARIO V 5.6 I prototipi di funzione...139 5.7 Lo stack delle chiamate di funzione e i record di attivazione...142 5.8 I file di intestazione...144 5.9 Invocare le funzioni: chiamata per valore e per riferimento...144 5.10 Generazione di numeri casuali...145 5.11 Esempio: un gioco d azzardo...150 5.12 Le classi di memoria...154 5.13 Le regole di visibilità...157 5.14 La ricorsione...161 5.15 Esempio di utilizzo della ricorsione: la serie di Fibonacci...164 5.16 Ricorsione e iterazione...168 Esercizi di autovalutazione...170 Risposte agli esercizi di autovalutazione...173 Esercizi...175 CAPITOLO 6: I VETTORI IN C... 187 6.1 Introduzione...187 6.2 I vettori...187 6.3 La dichiarazione dei vettori...189 6.4 Esempi sui vettori...189 6.5 Passare i vettori alle funzioni...204 6.6 L ordinamento dei vettori...209 6.7 Studio di un caso: calcolare la media, mediana e la moda usando i vettori...212 6.8 La ricerca nei vettori...216 6.9 I vettori multidimensionali...224 Esercizi di autovalutazione...231 Risposte agli esercizi di autovalutazione...232 Esercizi...234 Esercizi sulla ricorsione...244 Sezione speciale: Sudoku...244 CAPITOLO 7: I PUNTATORI IN C... 245 7.1 Introduzione...247 7.2 Dichiarazione e inizializzazione dei puntatori...247 7.3 Gli operatori sui puntatori...248 7.4 Passare gli argomenti per riferimento alle funzioni...250 7.5 Utilizzare il qualificatore const con i puntatori...255 7.6 L ordinamento a bolle utilizzando una chiamata per riferimento...262 7.7 L operatore sizeof...266 7.8 Le espressioni con i puntatori e l aritmetica dei puntatori...268 7.9 La relazione tra i puntatori e i vettori...271 7.10 I vettori di puntatori...276 7.11 Studio di un caso: simulazione di un mescolatore e distributore di carte...277 7.12 I puntatori a funzioni...282

VI SOMMARIO Esercizi di autovalutazione...288 Risposte agli esercizi di autovalutazione...289 Esercizi...290 Sezione speciale: costruite il vostro computer...297 CAPITOLO 8: I CARATTERI E LE STRINGHE IN C... 305 8.1 Introduzione...305 8.2 I concetti fondamentali delle stringhe e dei caratteri...305 8.3 La libreria per la gestione dei caratteri...307 8.4 Le funzioni per la conversione delle stringhe...313 8.5 Le funzioni della libreria per l input/output standard...318 8.6 Le funzioni per la manipolazione delle stringhe incluse nella libreria per la gestione delle stringhe...323 8.7 Le funzioni di confronto incluse nella libreria per la gestione delle stringhe...326 8.8 Le funzioni di ricerca incluse nella libreria per la gestione delle stringhe...328 8.9 Le funzioni per la manipolazione della memoria incluse nella libreria per la gestione delle stringhe...335 8.10 Le altre funzioni della libreria per la gestione delle stringhe...340 Esercizi di autovalutazione...341 Risposte agli esercizi di autovalutazione...342 Esercizi...343 Sezione speciale: esercizi di manipolazione avanzata delle stringhe...346 CAPITOLO 9: LA FORMATTAZIONE DELL INPUT/OUTPUT IN C... 353 9.1 Introduzione...353 9.2 Gli stream...353 9.3 Formattare l output con printf...354 9.4 Visualizzare gli interi...354 9.5 Visualizzare i numeri in virgola mobile...356 9.6 Visualizzare le stringhe e i caratteri...358 9.7 Gli altri indicatori di conversione...359 9.8 Visualizzare con le dimensioni di campo e le precisioni...361 9.9 Utilizzare i flag nella stringa di controllo del formato della printf...364 9.10 Visualizzare i letterali e le sequenze di escape...367 9.11 Formattare l input con scanf...367 Esercizi di autovalutazione...374 Risposte agli esercizi di autovalutazione...376 Esercizi...376 CAPITOLO 10: LE STRUTTURE, LE UNIONI, LA GESTIONE DEI BIT E LE ENUMERAZIONI IN C... 381 10.1 Introduzione...381 10.2 La definizione delle strutture...381

SOMMARIO VII 10.3 Inizializzare le strutture...384 10.4 Accedere ai membri delle strutture...384 10.5 Usare le strutture con le funzioni...386 10.6 typedef...387 10.7 Esempio: simulazione di un mescolatore e distributore di carte ad alta efficienza...388 10.8 Le unioni...390 10.9 Gli operatori bitwise...393 10.10 I campi di bit...403 10.11 Le costanti di enumerazione...406 Esercizi di autovalutazione...408 Risposte agli esercizi di autovalutazione...410 Esercizi...411 CAPITOLO 11: L ELABORAZIONE DEI FILE IN C... 415 11.1 Introduzione...415 11.2 La gerarchia dei dati...415 11.3 I file e gli stream...417 11.4 Creare un file ad accesso sequenziale...418 11.5 Leggere i dati da un file ad accesso sequenziale...424 11.6 I file ad accesso casuale...429 11.7 Creare un file ad accesso casuale...429 11.8 Scrivere i dati in modo casuale in un file ad accesso casuale...432 11.9 Leggere i dati in modo casuale da un file ad accesso casuale...435 11.10 Studio di un caso: un programma per l elaborazione delle transazioni...436 Esercizi di autovalutazione...443 Risposte agli esercizi di autovalutazione...444 Esercizi...445 CAPITOLO 12: LE STRUTTURE DI DATI IN C... 451 12.1 Introduzione...451 12.2 Le strutture ricorsive...452 12.3 Allocazione dinamica della memoria...453 12.4 Le liste concatenate...454 12.5 Le pile...463 12.6 Le code...469 12.7 Gli alberi...475 Esercizi di autovalutazione...482 Risposte agli esercizi di autovalutazione...483 Esercizi...484 Sezione speciale: costruite il vostro compilatore...491 CAPITOLO 13: IL PREPROCESSORE DEL C... 505 13.1 Introduzione...505

VIII SOMMARIO 13.2 La direttiva del preprocessore #include...505 13.3 La direttiva del preprocessore #define: le costanti simboliche...506 13.4 La direttiva del preprocessore #define: le macro...506 13.5 La compilazione condizionale...508 13.6 Le direttive del preprocessore #error e #pragma...510 13.7 Gli operatori # e ##...510 13.8 I numeri di riga...510 13.9 Le costanti simboliche predefinite...511 13.10 Le asserzioni...511 Esercizi di autovalutazione...512 Risposte agli esercizi di autovalutazione...513 Esercizi...514 CAPITOLO 14: ARGOMENTI AVANZATI... 515 14.1 Introduzione...515 14.2 Redirezionare l input/output...515 14.3 Gli elenchi variabili di argomenti...516 14.4 Usare gli argomenti della riga di comando...519 14.5 Note sulla compilazione di programmi formati da vari file sorgente...520 14.6 Chiusura dei programmi con exit e atexit...522 14.7 Il qualificatore di tipo volatile...523 14.8 I suffissi per le costanti intere e in virgola mobile...524 14.9 Ancora sui file...524 14.10 La gestione dei segnali...526 14.11 Allocazione dinamica della memoria: le funzioni calloc e realloc...529 14.12 Il salto incondizionato con goto...530 Esercizi di autovalutazione...531 Risposte agli esercizi di autovalutazione...532 Esercizi...532 CAPITOLO 15: INTRODUZIONE AL C99... 535 15.1 Introduzione...535 15.2 Supporto del C99...536 15.3 I nuovi file header del C99...536 15.4 Commenti introdotti da //...537 15.5 Intercalare dichiarazioni e codice eseguibile...537 15.6 Dichiarare una variabile nell intestazione di un comando for...538 15.7 Inizializzatori designati e letterali composti...540 15.8 Il tipo di dati bool...544 15.9 Tipo int implicito nelle dichiarazioni di funzioni...545 15.10 Numeri complessi...546 15.11 Vettori di lunghezza variabile...548 15.12 La funzione snprintf: un aiuto nell evitare gli attacchi degli Hacker...551 15.13 Aggiunte al preprocessore...553

SOMMARIO IX 15.14 Altre caratteristiche del C99...554 15.15 Risorse disponibili su Internet e sul Web...557 Esercizi di autovalutazione...558 Risposte agli esercizi di autovalutazione...559 Esercizi...559 APPENDICE A: TABELLA DI PRIORITÀ DEGLI OPERATORI... 561 APPENDICE B: L INSIEME DEI CARATTERI ASCII... 563 APPENDICE C: I SISTEMI NUMERICI... 565 APPENDICE D: LA LIBRERIA STANDARD... 577 APPENDICE E: PROGRAMMARE GIOCHI: RISOLVERE IL SUDOKU... 615 INDICE ANALITICO... 625