Manuali Scontati

Manuali Scontati

Manuali Gratis > Programmazione > C++

Manuale C++ Fondamenti di programmazione - seconda edizione

Editore: Apogeo
Pagine: 743
Autore: Deitel Harvey M. ; Deitel Paul J.
Collana: PerCorsi di Studio

Acquistalo a prezzo scontato:
Manuali Scontati
Data Pubblicazione: 2005-09-01
ISBN: 8850323867
Prezzo: 45.00 €
Lingua: Italiano

Quarta di copertina

La prima edizione italiana di questo volume si è imposta come punto di riferimento nei corsi di introduzione alla programmazione in linguaggio C ++. Il testo, che non presuppone nel lettore particolari conoscenze informatiche, guida alla programmazione in modo graduale e attraverso esempi reali, completamente svolti ed eseguibili.
La chiarezza e la meticolosità della spiegazione, la cura nella preparazione degli apparati didattici e l'attenzione agli aspetti pratici dell'attività di programmazione rendono questo libro uno strumento unico e insostituibile nella biblioteca di un programmatore.
La seconda edizione è stata ampiamente riorganizzata nei contenuti e nell'esposizione anticipando la trattazione dei principi della progettazione a oggetti. Il testo è aggiornato allo standard ANSI/ISO.

Contenuti

  • Introduzione
  • Le strutture di controllo
  • Classi e oggetti
  • Le funzioni
  • Gli Arrey
  • Puntatori e stringhe
  • Le classi e l'astrazione dei dati
  • L'overloading degli operatori
  • L'ereditarietà
  • Le funzioni virtuali e il polimorfismo
  • Gli stream di imput/output del C++

L'autore
La Deitel & Associates, Inc., fondata da Harvey M. Deitel e Paul J. Deitel, è una delle più qualificate società di formazione in ambito informatico.



Indice


Prefazione
Lo scopo di questo libro
La metodologia di insegnamento
L’apprendimento attraverso il codice
L’accesso al World Wide Web
Obiettivi
Il codice e gli esempi
Figure e immagini
Consigli e suggerimenti
Conclusioni
Esercizi di autovalutazione
Esercizi
Indice analitico
Panoramica del libro
Le sezioni “Pensare in termini di oggetti”

Capitolo I: Introduzione ai Computer, a Internet e al Web
1.1 Introduzione
1.2 Che cos’è un computer
1.3 La struttura del computer
1.4 I primi sistemi operativi
1.5 I personal computer, i sistemi distribuiti e i sistemi client/server
1.6 Internet e il World Wide web (WWW)
1.7 I linguaggi macchina, assembly e ad alto livello
1.8 Il C e il C++: un pò di storia
1.9 La libreria standard del C++
1.10 Java: un pò di storia
1.11 FORTRAN, COBOL, Pasca, Ada
1.12 Basic, Visual Basic, Visual C++, C# e .NET
1.13 Una tendenza fondamentale: la tecnologia degli oggetti
1.14 Gli elementi fondamentali di un tipico ambiente C++
1.15 Alcune considerazioni generali sul C++ e sul nostro corso
1.16 La prima applicazione C++
1.17 Pensare in termini di oggetti: introduzione alle tecniche orientate agli oggetti e a UML (Unified Modeling Language)™ UML sul Web
Letture consigliate
Esercizi di autovalutazione
Risposte agli esercizi di autovalutazione
1.18 Conclusioni
Esercizi di autovalutazione
Risposte agli esercizi di autovalutazione
Esercizi

Capitolo 2 : Introduzione alla Programmazione C++
2.1 Introduzione
2.2 Il primo programma C++: visualizzare una linea di testo
2.3 Modifica del primo programma C++
2.4 Un altro programma C++: l’addizione di due numeri interi
2.5 La memoria: concetti fondamentali
2.6 I calcoli aritmetici
2.7 Prendere decisioni: gli operatori relazionali e di uguaglianza
2.8 Pensare in termini di oggetti: esame delle specifiche del sistema ATM (Progetto opzionale)
Esercizi di autovalutazione
Risposte agli esercizi di autovalutazione
2.9 Conclusioni
Esercizi di autovalutazione
Risposte agli esercizi di autovalutazione
Esercizi

Capitolo 3: Introduzione alle Classi e agli Oggetti
3.1 Introduzione
3.2 Classi, oggetti, dati e funzioni membro
3.3 Sommario degli esempi del capitolo
3.4 Definizione di una classe con una funzione membro
3.5 Definizione di una funzione membro con un parametro
3.6 I dati membro e le funzioni set e get
3.7 Inizializzazione degli oggetti tramite i costruttori
3.8 Memorizzazione di una classe in un file separato per favorite il riutilizzo
3.9 Separare l’interfaccia dall’implementazione
3.10 Convalida dei dati con le funzioni set
3.11 Pensare in termini di oggetti: identificare le classi del sistema ATM (Progetto opzionale)
Esercizi di autovalutazione
Risposte agli esercizi di autovalutazione
3.12 Conclusioni
Esercizi di autovalutazione
Risposte agli esercizi di autovalutazione
Esercizi

Capitolo 4: Le Strutture di Controllo: prima parte
4.1 Introduzione
4.2 Gli algoritmi
4.3 Lo pseudocodice
4.4 Le strutture di controllo
4.5 L’istruzione di selezione if
4.6 La struttura di selezione if...else
4.7 L’istruzione iterativa while
4.8 Formulazione degli algoritmi: l’iterazione controllata da un contatore
4.9 Formulazione degli algoritmi: l’iterazione controllata da un valore sentinella
4.10 Formulazione degli algoritmi: le istruzioni di controllo nidificate
4.11 Gli operatori di assegnamento
4.12 Gli operatori di incremento e decremento
4.13 Pensare in termini di oggetti: identificare gli attributi delle classi del sistema ATM (Progetto opzionale)
Esercizi di autovalutazione
Risposte agli esercizi di autovalutazione
4.14 Conclusioni
Esercizi di autovalutazione
Risposte agli esercizi di autovalutazione
Esercizi

Capitolo 5: Le strutture di controllo: seconda parte
5.1 Introduzione
5.2 Concetti fondamentali dell’iterazione controllata da un contatore
5.3 L’istruzione di iterazione for
5.4 Esempi di istruzioni for
5.5 L’istruzione iterativa do...while
5.6 L’istruzione di selezione multipla switch
5.7 Le istruzioni break e continue
5.8 Gli operatori logici
5.9 Confondere l’operatore di uguaglianza == con l’operatore di assegnamento =
5.10 Riepilogo dei concetti fondamentali della programmazione strutturata
5.11 Pensare in termini di oggetti: identificare gli stati e le attività degli oggetti nel sistema ATM (Progetto opzionale)
Esercizi di autovalutazione
Risposte agli esercizi di autovalutazione
5.12 Conclusioni
Esercizi di autovalutazione
Risposte agli esercizi di autovalutazione
Esercizi

Capitolo 6: Le Funzioni e la Ricorsione
6.1 Introduzione
6.2 I componenti di un programma C++
6.3 Le funzioni matematiche della libreria standard
6.4 Definizione di funzioni con più argomenti
6.5 Prototipi di funzione e conversione forzata degli argomenti
6.6 I file di intestazione della libreria standard del C++
6.7 La generazione di numeri casuali
6.8 I giochi d’azzardo e la parola riservata enum
6.9 Le informazioni di memorizzazione
6.10 Le regole di visibilità
6.11 La sequenza delle chiamate di funzioni e i record di attivazione
6.12 Funzioni che hanno una lista di parametri vuota
6.13 Le funzioni in linea
6.14 I riferimento e il passaggio di parametri per riferimento
6.15 Gli argomenti di default
6.16 L’operazione unario di risoluzione dello scope
6.17 La ridefinizione delle funzioni
6.18 I template di funzione
6.19 Il concetto di ricorsione
6.20 Un altro esempio di ricorsione: la serie di Fibonacci
6.21 Ricorsione o iterazione?
6.22 Pensare in termini di oggetti: identificare le operazioni delle classi del sistema ATM (Progetto opzionale)
Esercizi di autovalutazione
Risposte agli esercizi di autovalutazione
6.3 Conclusioni
Esercizi di autovalutazione
Risposte agli esercizi di autovalutazione
Esercizi

Capitolo 7: Gli Array
7.1 Introduzione
7.2 Gli array
7.3 Come si dichiara un array
7.4 Alcuni esempi di array
7.5 Il passaggio di un array a una funzione
7.6 La classe GradeBook con un array per memorizzare i voti
7.7 Ricerca lineare negli array
7.8 Ordinamento degli array con l’ordinamento per inserzione
7.9 Gli array multidimensionali
7.10 La classe GradeBook con un array bidimensionale
7.11 Introduzione al template vector della libreria standard del C++
7.12 Pensare in termini di oggetti: la collaborazione tra gli oggetti del sistema ATM (Progetto opzionale)
Esercizi di autovalutazione
Risposte agli esercizi di autovalutazione
7.13 Conclusioni
Esercizi di autovalutazione
Risposte agli esercizi di autovalutazione
Esercizi
Esercizi sulla ricorsione
Esercizi su vector

Capitolo 8: Puntatori e Stringhe
8.1 Introduzione
8.2 Come si dichiarano e si inizializzano i puntatori
8.3 Gli operatori di manipolazione dei puntatori
8.4 La chiamata per riferimento con argomenti di tipo puntatore
8.5 Utilizzo di const con i puntatori
8.6 L’algoritmo di ordinamento per selezione con il passaggio per riferimento
8.7 Gli operatori sizeof
8.8 L’aritmetica dei puntatori
8.9 La correlazione tra puntatori e array
8.10 Gli array di puntatori
8.11 Un programma per mescolare e distribuire carte da gioco
8.12 I puntatori a funzione
8.13 Introduzione alla manipolazione delle stringhe
8.13.1 Caratteri e stringhe: concetti fondamentali
8.13.2 Le funzioni di libreria per le stringhe
8.14 Conclusioni
Esercizi di autovalutazione
Risposte agli esercizi di autovalutazione
Esercizi
Sezione speciale: costruite il vostro computer
Ulteriori esercizi sui puntatori
Esercizi sulla manipolazione di stringhe
Sezione speciale: esercizi avanzati sulla manipolazione di stringhe
Un progetto di manipolazione di stringhe complesso

Capitolo 9: Le Classi: prima parte
9.1 Introduzione
9.2 La classe Time
9.3 L’ambito di visibilità a livello di classe e l’accesso ai membri di una classe
9.4 La separazione di interfaccia e implementazione
9.5 Le funzioni di accesso e di utilità
9.6 La classe Time: costruttori con argomenti di default
9.7 I distruttori
9.8 Quando sono chiamati i costruttori e i distruttori
9.9 La classe Time e un sottile errore logico: restituire un riferimento a un dato membro private
9.10 La copia di default membro a membro
9.11 La riusabilità del software
9.12 Pensare in termini di oggetti: programmazione delle classi del sistema ATM (Progetto opzionale)
Esercizi di autovalutazione
Risposte agli esercizi di autovalutazione
9.13 Conclusioni
Esercizi di autovalutazione
Risposte agli esercizi di autovalutazione
Esercizi

Capitolo 10: Le Classi: seconda parte
10.1 Introduzione
10.2 Gli oggetti e le funzioni membro costanti
10.3 Il concetto di composizione: oggetti che diventano membri di altre classi
10.4 Le funzioni e le classi friend
10.5 Il puntatore this
10.6 L’allocazione dinamica della memoria: gli operatori new e delete
10.7 I membri static di una classe
10.8 Astrazione dei dati e mascheramento delle informazioni
10.8.1 Il tipo di dato astratto “array”
10.8.2 Il tipo di dato astratto “stringa”
10.8.3 Il tipo di dato astratto “coda”
10.9 Le classi container e gli iteratori
10.10 Le classi proxy
10.11 Conclusioni
Esercizi di autovalutazione
Risposte agli esercizi di autovalutazione
Esercizi

Capitolo 11 : La Ridefinizione degli Operatori
11.1 Introduzione
11.2 La ridefinizione degli operatori. concetti fondamentali
11.3 Restrizioni
11.4 Le funzioni operative come funzioni membro o funzioni globali
11.5 La ridefinizione degli operatori di inserimento/estrazione su stream
11.6 La ridefinizione degli operatori unari
11.7 La ridefinizione degli operatori binari
11.8 Progettazione della classe Array
11.9 Conversioni tra tipi diversi
11.10 Progettazione della classe String
11.11 La ridefinizione degli operatori++e - -
11.12 Progettazione della classe Date
11.13 La classe della libreria standard string
11.14 I costruttori explicit
11.15 Conclusioni
Esercizi di autovalutazione
Risposte agli esercizi di autovalutazione
Esercizi

Capitolo 12: L’Ereditarietà
12.1 Introduzione
12.2 Le classi base e le classi derivate
12.3 I membri protected
12.4 Le relazioni tra classe base e classi derivate
12.4.1 Creazione e utilizzo della classe CommissionEmployee
12.4.2 Creazione della classe BasePlusCommissionEmployee senza utilizzare l’ereditarietà
12.4.3 Creazione di una gerarchia di ereditarietà CommissionEmployee-BasePlusCommissionEmployee
12.4.4 La gerarchia di ereditarietà CommissionEmployee-BasePlusCommissionEmployee con i dati protected
12.4.5 La gerarchia di ereditarietà CopmmissionEmployeed-BasePluscommissionEmployee con i dati privati
12.5 Utilizzo dei costruttori e dei distruttori nelle classi derivate
12.6 Ereditarietà di tipo public, protected e private
12.7 Il ruolo dell’ereditarietà nell’ingegneria del software
12.8 Conclusioni
Esercizi di autovalutazione
Risposte agli esercizi di autovalutazione
Esercizi

Capitolo 13: IL Polimorfismo
13.1 Introduzione
13.2 Esempi di polimorfismo
13.3 Le relazioni tra oggetti in una gerarchia di ereditarietà
13.3.1 Chiamata delle funzioni della classe base dagli oggetti di una classe derivata
13.3.2 Collegamento di puntatori a una classe derivata a oggetti della classe base
13.3.3 Chiamate alle funzioni membro della classe derivata attraverso puntatori alla classe base
13.3.4 Le funzioni virtuali
13.3.5 Riepilogo degli assegnamenti permessi tra oggetti e puntatori della classe base e delle classi derivate
13.4 i campi di tipo e le istruzioni switch
13.5 Le classi astratte e le funzioni virtuali pure
13.6 Progettazione di un libro paga elettronico
13.6.1 La classe base astratta Employee
13.6.2 La classe derivata concreta SalariedEmployee
13.6.3 La classe derivata concreta HourlyEmployee
13.6.4 La classe derivata concreta CommissionEmployee
13.6.5 La classe derivata concreta indiretta BasePlusCommissionEmployee
13.6.6 Verifica dell’applicazione del polimorfismo
13.7 L’implementazione di polimorfismo, funzioni virtuali e binding dinamico [Sezione opzionale]
13.8 Progettazione di un libro paga elettronico utilizzando il polimorfismo e l’informazione sui tipi in fase di esecuzione con downcasting dynamic_cast, typeid e type_info
13.9 I distruttori virtuali
13.10 Pensare in termini di oggetti. incorporare l’ereditarietà nel sistema ATM [Progetto opzionale
Esercizi di autovalutazione
Risposte agli esercizi di autovalutazione
13.11 Conclusioni
Esercizi di autovalutazione
Risposte agli esercizi di autovalutazione
Esercizi

Appendice A: Precedenza e Associatività degli Operatori
Appendice B: L’Insieme dei Caratteri ASCII
Indice Analitico



MIGLIORA COSTANTEMENTE

Riceverai una sola volta al mese (no spam!) tutti i nuovi manuali e guide pubblicati !
La tua email:


Manuali gratis di C++