APOGEOnLine


Apogeonline Google Book Search
Copertina

Metallica e la filosofia

di William Irwin

Prezzo: 22.00 Euro

Una filosofia radicata nella contemporaneità e nella quotidianità, che riscopre le idee e i testi dei grandi del passato attraverso la riflessione sui problemi e le parole di oggi.

Newsletter gratuita





Copertina

Net TV

di Tommaso Tessarolo

Prezzo: 13.00 Euro

NET TV: nel prossimo futuro assisteremo a una vera rivoluzione delle regole del fare e del fruire della TV, con la possibilità per tutti di entrare in gioco.

News sul tuo sito

Vuoi avere le news di Apogeonline sempre aggiornate sul tuo sito? È semplicissimo: scopri come

feed rss feed atom
Cliccare per un ingrandimento

C++ Fondamenti di programmazione

di Harvey M. Deitel, Paul J. Deitel



Prezzo: 35,64 Euro

Acquistalo da: laFeltrinelli.it laFeltrinelli

.


Prefazione XI

Lo scopo di questo libro

Le sezioni "Pensare in termini di oggetti"

Il CD-ROM

La metodologia di insegnamento

L'apprendimento attraverso il codice

L'accesso al World Wide Web

Obiettivi

Il codice e gli esempi

La programmazione orientata agli oggetti

Figure e immagini

Consigli e suggerimenti

Esercizi di autovalutazione

Esercizi

Indice analitico

Panoramica del libro

Capitolo 1: Introduzione: i computer, la programmazione e il C++ 1

1.1 Introduzione

1.2 Che cos'è un computer?

1.3 La struttura del computer

1.4 L'evoluzione dei sistemi operativi

1.5 I personal computer, i sistemi distribuiti e i sistemi client/server

1.6 I linguaggi macchina, assembly e ad alto livello

1.7 Il C e il C++: un po' di storia

1.8 La libreria standard del C++

1.9 Java, Internet e il World Wide Web

1.10 Altri linguaggi ad alto livello

1.11 La programmazione strutturata

1.12 Gli elementi fondamentali di un tipico ambiente C++

1.13 Alcune considerazioni generali sul C++ e sul nostro corso

1.14 Un programma semplice: visualizzare una linea di testo

1.15 Un altro semplice programma: l'addizione di due numeri interi

1.16 La memoria: concetti fondamentali

1.17 I calcoli aritmetici

1.19 Prendere decisioni: gli operatori relazionali e di uguaglianza

1.20 Le nuove convenzioni per i file di intestazione e gli spazi dei nomi

1.21 Pensare in termini di oggetti: le tecniche orientate agli oggetti e UML (Unified Modeling Language?)

Introduzione all'analisi e alla progettazione orientate agli oggetti (OOAD)

Storia di UML

Che cos'è UML?

Esercizi di autovalutazione

Risposte agli esercizi di autovalutazione

Esercizi

Capitolo 2: Le strutture di controllo

2.1 Introduzione

2.2 Gli algoritmi

2.3 Lo pseudocodice

2.4 Le strutture di controllo

2.5 La struttura di selezione if

2. 6 La struttura di selezione if/else

2.7 La struttura iterativa while

2.8 Tipologie degli algoritmi di iterazione: l'iterazione controllata da un contatore

2.9 Tipologie degli algoritmi di iterazione: l'iterazione controllata da un valore sentinella

2.10 Tipologie di algoritmi e ridefinizione top-down: le strutture di controllo nidificate

2.11 Gli operatori di assegnamento

2.12 Gli operatori di incremento e decremento

2.13 Concetti fondamentali dei cicli controllati da variabili contatore

2.14 La struttura di iterazione for

2.15 Esempi di costrutti for

2.16 La struttura di selezione switch

2.17 La struttura iterativa do/while

2.18 Le istruzioni break e continue

2.19 Gli operatori logici

2.20 Un errore tipico: confondere l'operatore di uguaglianza == con l'operatore di assegnamento =

2.21 Riepilogo dei concetti fondamentali della programmazione strutturata

2.22 Pensare in termini di oggetti: come individuare le classi in un problema [progetto opzionale]

Definizione del problema

Analisi e progettazione del sistema

I diagrammi dei casi d'uso

L'identificazione delle classi di un sistema

I diagrammi delle classi

I diagrammi degli oggetti

Esercizi di autovalutazione

Risposte agli esercizi di autovalutazione

Esercizi

Capitolo 3: Le funzioni

3.1 Introduzione

3.2 I componenti di un programma in C++

3.3 Le funzioni matematiche della libreria standard

3.4 Le funzioni

3.5 La definizione di una funzione

3.6 I prototipi di funzione

3.7 I file di intestazione

3.8 La generazione di numeri casuali

3.9 I giochi d'azzardo e la parola riservata enum

3.10 Le informazioni di memorizzazione

3.11 Le regole di visibilità

3.12 Il concetto di ricorsione

3.13 Un altro esempio di ricorsione: la serie di Fibonacci

3.14 Ricorsione o iterazione?

3.15 Le funzioni che hanno una lista di parametri vuota

3.16 Le funzioni in linea

3.17 I riferimenti e il passaggio di parametri per riferimento

3.18 Gli argomenti di default

3.19 L'operatore unario di risoluzione dello scope

3.20 L'overloading delle funzioni

3.21 Le funzioni generiche

3.22 Pensare in termini di oggetti : come identificare gli attributi di una classe [progetto opzionale]

I diagrammi di stato

I diagrammi delle attività

Conclusione

Esercizi di autovalutazione

Risposte agli esercizi di autovalutazione

Esercizi

Capitolo 4: Gli array

4.1 Introduzione

4.2 Gli array

4.3 Come si dichiara un array

4.4 Alcuni esempi di array

4.5 Il passaggio di un array a una funzione

4.6 Gli algoritmi di ordinamento e gli array

4.7 Il calcolo di media, mediana e moda con gli array

4.8 Le ricerche in array: ricerca lineare e binaria

4.9 Gli array multidimensionali

4.10 Pensare in termini di oggetti : come identificare le operazioni di una classe [progetto opzionale]

I diagrammi di sequenza

Esercizi di autovalutazione

Risposte agli esercizi di autovalutazione

Esercizi

Esercizi sulla ricorsione

Capitolo 5: Puntatori e stringhe

5.1 Introduzione

5.2 Come si dichiarano e si inizializzano i puntatori

5.3 Gli operatori di manipolazione dei puntatori

5.4 La chiamata per riferimento con argomenti di tipo puntatore

5.5 Privilegi di accesso e passaggio dei parametri

5.6 L'algoritmo di ordinamento a bolle con i puntatori

5.7 L'aritmetica dei puntatori

5.8 La correlazione tra puntatori e array

5.9 Gli array di puntatori

5.10 Un programma per mescolare e distribuire carte da gioco

5.11 I puntatori a funzione

5.12 Introduzione alla manipolazione di caratteri e stringhe

5.12.1 Caratteri e stringhe: concetti fondamentali

5.12.2 Le funzioni di libreria per le stringhe

5.13 Pensare in termini di oggetti : le collaborazioni tra gli oggetti [progetto opzionale]

I diagrammi delle collaborazioni

Riepilogo

Risorse in rete sull'UML

Esercizi di autovalutazione

Risposte agli esercizi di autovalutazione

Esercizi

Sezione speciale: costruite il vostro computer

Ultriori esercizi sui puntatori

Esercizi sulla manipolazione di stringhe

Sezione speciale: esercizi avanzati sulla manipolazione di stringhe

Un progetto di manipolazione di stringhe complesso

Capitolo 6: Le classi e l'astrazione dei dati

6.1 Introduzione

6.2 Come si definisce una struttura

6.3 Come si accede ai membri di una struttura

6.4 L'implementazione del tipo di dato Time come struttura

6.5 L'implementazione del tipo di dato Time come classe

6.6 La visibilità a livello di classe e l'accesso ai membri di una classe

6.7 La separazione di interfaccia e implementazione

6.8 Il controllo dell'accesso ai membri di una classe

6.9 Le funzioni di accesso e di utilità

6.10 L'inizializzazione degli oggetti di una classe: i costruttori

6.11 I costruttori e gli argomenti di default

6.12 I distruttori

6.13 Quando sono chiamati i costruttori e i distruttori?

6.14 L'utilizzo dei dati e delle funzioni membro

6.15 Un sottile errore logico: restituire un riferimento a un dato membro private

6.16 L'assegnamento tra oggetti: la copia di default membro a membro

6.17 Ancora sul concetto di software riutilizzabile

6.18 Pensare in termini di oggetti : programmazione delle classi del simulatore [progetto opzionale]

Implementazione: visibilità

Implementazione: handle

Implementazione: i file di intestazione delle classi

Conclusione

Esercizi di autovalutazione

Risposte agli esercizi di autovalutazione

Esercizi

Capitolo 7: Le classi: seconda parte

7.1 Introduzione

7.2 Gli oggetti e le funzioni membro costanti

7.3 Il concetto di composizione: oggetti che diventano membri di altre classi

7.4 Le funzioni e le classi friend

7.5 Il puntatore this

7.6 L'allocazione dinamica della memoria: gli operatori new e delete

7.7 I membri static di una classe

7.8 Due concetti importanti: astrazione dei dati e occultamento delle informazioni

7.8.1Il tipo di dato astratto "array"

7.8.2 Il tipo di dato astratto "stringa"

7.8.3 Il tipo di dato astratto "coda"

7.9 Le classi container e gli iteratori

7.11 Pensare in termini di oggetti : l'implementazione delle classi del simulatore [progetto opzionale]

Una panoramica dell'implementazione

Implementazione del simulatore

Esercizi di autovalutazione

Risposte agli esercizi di autovalutazione

Esercizi

Capitolo 8: L'overloading degli operatori

8.1 Introduzione

8.2 L'overloading degli operatori: concetti fondamentali

8.3 Restrizioni

8.4 La progettazione delle funzioni operatore: funzioni membro o funzioni friend?

8.5 L'overloading degli operatori di inserimento/estrazione per l'I/O su stream

8.6 L'overloading degli operatori unari

8.7 L'overloading degli operatori binari

8.8 Progettazione della classe Array

8.9 Conversioni tra tipi diversi

8.10 Progettazione della classe String

8.11 L'overloading degli operatori ++ e ??

8.12 Progettazione della classe Date

Esercizi di autovalutazione

Risposte agli esercizi di autovalutazione

Esercizi

Capitolo 9: L'ereditarietà

9.1 Introduzione

9.2 Le classi base e le classi derivate

9.3 I membri protected

9.4 Il cast dei puntatori a una classe base in puntatori a una classe derivata

9.5 Utilizzo delle funzioni membro

9.6 L'overriding di membri della classe base in una classe derivata

9.7 Ereditarietà di tipo public, protected e private

9.8 Classi base dirette e indirette

9.9 Utilizzo dei costruttori e dei distruttori nelle classi derivate

9.10 Conversione implicita di un oggetto di una classe derivata in oggetto della classe base

9.11 Il ruolo dell'ereditarietà nell'ingegneria del software

9.12 Composizione ed ereditarietà

9.13 Le relazioni "uses a" e "knows a"

9.14 Progettazione delle classi Point, Circle e Cylinder

9.15 L'ereditarietà multipla

9.16 Pensare in termini di oggetti : come sfruttare l'ereditarietà nel simulatore di ascensore [progetto opzionale]

Esercizi di autovalutazione

Risposte agli esercizi di autovalutazione

Esercizi

Capitolo 10: Le funzioni virtuali e il polimorfismo

10.1 Introduzione

10.2 I campi di tipo e le istruzioni switch

10.3 Le funzioni virtuali

10.4 Le classi base astratte e le classi concrete

10.5 Il polimorfismo

10.6 Progettazione di un libro paga elettronico

10.7 L'aggiunta di nuove classi e il binding dinamico

10.8 I distruttori virtuali

10.9 L'ereditarietà di interfaccia e di implementazione

10.10 L'implementazione di polimorfismo,

funzioni virtuali e binding dinamico

Esercizi di autovalutazione

Risposte agli esercizi di autovalutazione

Esercizi

Capitolo 11: Gli stream di input/output del C++

11.1 Introduzione

11.2 Gli stream

11.2.1 I file di intestazione della libreria iostream

11.2.2 Le classi e gli oggetti che effettuano l'input/output su stream

11.3 L'output su stream

11.3.1 L'operatore di inserimento nello stream

11.3.2 Utilizzo degli operatori di inserimento/estrazione in cascata

11.3.3 L'output delle variabili di tipo char*

11.3.4 L'output di caratteri tramite put

11.4 L'input da stream

11.4.1 L'operatore di estrazione dallo stream

11.4.2 Le funzioni membro get e getline

11.4.3 Altre funzioni membro di istream: peek, putback e ignore

11.4.4 L'I/O type-safe

11.5 L'input/output non formattato delle funzioni read, gcount e write

11.6 I manipolatori di stream

11.6.1 La base dei numeri interi su uno stream: dec, oct, hex e setbase

11.6.2 La precisione dei valori a virgola mobile: precision e setprecision

11.6.3 L'ampiezza dei campi: setw e width

11.6.4 I manipolatori definiti dall'utente

11.7 I valori di stato della formattazione

11.7.1 I flag di stato della formattazione

11.7.2 Gli zero in coda e i punti decimali: ios::showpoint

11.7.3 La giustificazione: ios::left, ios::right e ios::internal

11.7.4 Il riempimento dei campi: fill e setfill

11.7.5 La base dei numeri interi: ios::dec, ios::oct, ios::hex e ios::showbase

11.7.6 I numeri a virgola mobile e la notazione scientifica: ios::scientific e ios::fixed

11.7.7 Il controllo delle lettere maiuscole/minuscole: ios::uppercase

11.7.8 L'attivazione e la disattivazione dei flag di formattazione: flags, setiosflags e resetiosflags

11.8 I valori di stato degli errori in uno stream

11.9 Il collegamento di uno stream di output a uno stream di input

Esercizi di autovalutazione

Risposte agli esercizi di autovalutazione

Esercizi

Appendice A: Riepilogo degli operatori

Appendice B:L'insieme dei caratteri ASCII

Appendice C:I sistemi di numerazione

C.1 Introduzione

C.2 Usare i numeri ottali ed esadecimali per abbreviare i numeri binari

C.3 La conversione dei numeri ottali ed esadecimali in binari

C.4 La conversione da binario, ottale o esadecimale in decimale

C.5 La conversione da decimale a binario, ottale o esadecimale

C.6 I numeri binari negativi: la notazione in complemento a due

Esercizi di autovalutazione

Risposte agli esercizi di autovalutazione

Esercizi

Appendice D:Il C++ su Internet

D.1 Risorse

D.2 Tutorial

D.3 FAQ (risposte alle domande più comuni)

D.4 comp.lang.c++

D.5 Compilatori

D.6 Standard Template Library

Tutorial

Riferimenti

FAQ

Articoli, libri e interviste

Software

Indice analitico

.

C++ Fondamenti di programmazione

Collana: PerCorsi di Studio

Uscita: Marzo 2001

Pagine: 696

ISBN: 9788873036708

Formato: 17 x 24 cm

Booksite:

 »  Presentazione

 »  Indice libro

 »  Indice

 »  Prefazione

 »  Capitolo primo

 »  Codice sorgente

 »  Area docenti

 »  Risorse in rete

*Nota per i docenti

I docenti interessati a ricevere copie saggio possono richiederle qui.

Sfoglia il libro: Google

Feedback: View blog reactions



Copertina

C++ Tecniche avanzate di programmazione 2a ed.

di Deitel

Prezzo: 39.00 Euro

In questo volume gli autori completano la presentazione del linguaggio C++ iniziata con C++ Fondamenti di programmazione 2a ed.



Copertina

C++ Fondamenti di programmazione 2a ed.

di Deitel

Prezzo: 45.00 Euro

La prima edizione italiana di questo volume si è imposta come punto di riferimento nei corsi di introduzione alla programmazione in linguaggio C ++. La seconda edizione è stata ampiamente riorganizzata nei contenuti e nell'esposizione anticipando la tra