[PDF ITA] Harvey M. & Paul J. Deitel - C++ Fondamenti di programmazione [TNTVillage]

seeders: 1
leechers: 0
updated:
Added by MonoS in Other > E-Books

Download Fast Safe Anonymous
movies, software, shows...
  • Downloads: 1025
  • Language: Italian

Files

  • Deitel - C++ Fondamenti di programmazione.pdf (106.0 MB)

Description

[align=center]C++
Fondamenti di programmazione Theory


Harvey M. Deitel, Paul J. Deitel



[/align]



---[ Descrizione ]---

Questo testo introduce alla programmazione in C++ in modo graduale e attraverso esempi reali, completamente svolti ed eseguibili.

Si tratta di un manuale dalla formula didattica collaudata ed efficace, messa a punto in decenni di insegnamento.

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.


---[ Dati ]---

Titolo originale : C++ How to program, Third Edition
Titolo italiano : C++; fondamenti di programmazione
Autore : Harvey M. Deitel, Paul J. Deitel
Editore :Prentice Hall (Apogeo per l'edizione italiana)
ISBN : 88-7303-670-8

Numero di pagine : 692 (346 doppie)
Dimensione : 106 MB
Formato : PDF


---[ Contenuti ]---

  • Capitolo 1: Introduzione: i computer, la programmazione e il C++
  • [LIST]
  • Introduzione
  • Che cos'è un computer
  • La struttura del computer
  • L'evoluzione dei sistemi operativi
  • I personal computer, i sistemi distribuiti e i sistemi client/server
  • I linguaggi macchina, assembly e ad alto livello
  • Il C e il C++: un po' di storia
  • La libreria standard del C++
  • Java, Internet ed il World Wide Web
  • altri linguaggi ad alto livello
  • La programmazione strutturata
  • Gli elementi fondamentali di un tipico ambiente C++
  • Alcune considerazioni generali sul C++ e sul nostro corso
  • Un programma semplice: visualizzare una linea di testo
  • Un altro semplice programma: l'addizione di due numeri interi
  • La memoria: concetti fondamentali
  • I calcoli aritmetici
  • Prendere decisioni: gli operatori relazionali e di uguaglianza
  • Le nuove convenzioni per i file di intestazione e gli spazi dei nomi
  • 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

[*]Capitolo 2: le strutture di controllo
  • Introduzione
  • Gli algoritmi
  • Lo pseudocodice
  • Le strutture di controllo
  • La struttura di selezione if
  • La struttura di selezione if/else
  • La struttura iterativa while
  • Tipologie di algoritmi di iterazione: l'iterazione controllata da un contatore
  • Tipologie di algoritmi di iterazione: l'iterazione controllata da un valore sentinella
  • Tipologie di algoritmi e ridefinizione top-down: le strutture di controllo nidificate
  • Gli operatori di assegnamento
  • Gli operatori di incremento e decremento
  • Concetti fondamentali dei cicli controllati da variabili contatore
  • La struttura di iterazione for
  • Esempi di costrutti for
  • La struttura di selezione switch
  • La struttura iterativa do/while
  • Le istruzioni break e continue
  • Un errore tipico: confondere l'operatore di uguaglianza == con l'operatore di assegnamento =
  • Riepilogo dei concetti fondamentali della programmazione strutturata
  • 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

[*]Capitolo 3: le funzioni
  • Introduzione
  • Componenti di un programma in C++
  • Le funzioni matematiche della libreria standard
  • Le funzioni
  • La definizione di una funzione
  • I prototipi di funzione
  • I file di intestazione
  • La generazione di numeri casuali
  • I giochi d'azzardo e la parola riservata enum
  • Le informazioni di memorizzazione
  • Le regole di visibilità
  • Il concetto di ricorsione
  • Un altro esempio di ricorsione: la serie di Fibonacci
  • Ricorsione o iterazione
  • Le funzioni che hanno una lista di parametri vuota
  • Le funzioni in linea
  • I riferimenti e il passaggio di parametri per riferimento
  • Gli argomenti di default
  • L'operatore unario di risoluzione dello scope
  • L'overloading delle funzioni
  • Le funzioni generiche
  • Pensare in termini di oggetti: come identificare gli attributi di una classe
  • [progetto opzionale]
  • I diagrammi di stato
  • I diagrammi delle attività
  • Conclusione

[*]Capitolo 4: gli array
  • Introduzione
  • gli array
  • Come si dichiara un array
  • Alcuni esempi di array
  • Il passaggio di un array a una funzione
  • Gli algoritmi di ordinamento e gli array
  • Il calcolo di media, mediana e moda con gli array
  • Le ricerche in array: ricerca lineare e binaria
  • Gli array multidimensionali
  • Pensare in termini di oggetti: come identificare le operazioni di una classe
  • [progetto opzionale]
  • I diagrammi di sequenza

[*]Capitolo 5: puntatori e stringhe
  • Introduzione
  • Come si dichiarano e si inizializzano i puntatori
  • Gli operatori di manipolazione dei puntatori
  • La chiamata per riferimento con argomenti di tipo puntatore
  • Privilegi di accesso e passaggio di parametri
  • L'algoritmo di ordinamento a bolle con i puntatori
  • L'aritmetica dei puntatori
  • La correlazione tra puntatori e array
  • Gli array di puntatori
  • Un programma per mescolare e distribuire carte da gioco
  • I puntatori a una funzione
  • Introduzione alla manipolazione di caratteri e stringhe
  • Caratteri e stringhe: concetti fondamentali
  • Le funzioni di libreria per le stringhe
  • Pensare in termini di oggetti: le collaborazioni tra gli oggetti
  • [progetto opzionale]
  • I diagrammi delle collaborazioni
  • Riepilogo
  • Risorse in rete sull'UML

[*]Capitolo 6: le classi e l'astrazione dei dati
  • Introduzione
  • Come si definisce una struttura
  • Come si accede ai membri di una struttura
  • L'implementazione del tipo di dato Time come struttura
  • L'implementazione del tipo di dato Time come classe
  • La visibilità a livello di classe e l'accesso ai membri di una classe
  • La separazione di interfaccia e implementazione
  • Il controllo dell'accesso ai membri di una classe
  • Le funzioni di accesso e di utilità
  • L'inizializzazione degli oggetti di una classe: i costruttori
  • I costruttori e gli argomenti di default
  • I distruttori
  • Quando sono chiamati i costruttori e i distruttori
  • L'utilizzo dei dati e delle funzioni membro
  • Un sottile errore logico: restituire un riferimento a un dato membro private
  • L'assegnamento tra oggetti: la copia di default membro a membro
  • Ancora sul concetto di software riutilizzabile
  • Pensare in termini di oggetti: programmazione delle classi del simulatore
  • [progetto opzionale]
  • Implementazione: visibilità
  • Implementazione: handle
  • Implementazione: i file di intestazione delle classi

[*]Capitolo 7: le classi: seconda parte
  • Introduzione
  • Gli oggetti e le funzioni membro costanti
  • Il concetto di composizione: oggetti che diventano membri di altre classi
  • Le funzioni e le classi friend
  • Il puntatore this
  • L'allocazione dinamica della memoria: gli operatori new e delete
  • I membri static di una classe
  • Due concetti importanti: astrazione dei dati e occultamento delle informazioni
  • Il tipo di dato astratto "array"
  • Il tipo di dato astratto "stringa"
  • Il tipo di dato astratto "coda"
  • Le classi container e gli iteratori
  • Le classi proxy
  • Pensare in termini di oggetti: l'implementazione delle classi del simulatore
  • [progetto opzionale]
  • Una panoramica dell'implementazione
  • Implementazione del simulatore

[*]Capitolo 8: l'overloading degli operatori
  • Introduzione
  • L'overloading degli operatori: concetti fondamentali
  • Restrizioni
  • La progettazione delle funzioni operatore: funzioni membro o funzioni friend
  • L'overloading degli operatori di inserimento/estrazione per l'I/O su stream
  • L'overloading degli operatori unari
  • L'overloading degli operatori binari
  • Progettazione della classe Array
  • Conversioni tra tipi diversi
  • Progettazione della classe String
  • L'overloading degli operatori ++ e --
  • Progettazione della classe Date

[*]Capitolo 9: l'ereditarietà
  • Introduzione
  • Le classi base e le classi derivate
  • I membri protected
  • Il cast dei puntatori a una classe base in puntatori a una classe derivata
  • Utilizzo delle funzioni membro
  • L'overriding di membri della classe base in una classe derivata
  • Ereditarietà di tipo public, protected e private
  • Classi base dirette e indirette
  • Utilizzo dei costruttori e dei distruttori nelle classi derivate
  • Conversione implicita di un oggetto di una classe derivata in oggetto della classe base
  • Il ruolo dell'ereditarietà nell'ingegneria del software
  • Composizione ed ereditarietà
  • Le relazioni "uses a" e "knows a"
  • L'ereditarietà multipla
  • Pensare in termini di oggetti: come sfruttare l'ereditarietà nel simulatore di ascensore
  • [progetto opzionale]

[*]Capitolo 10: le funzioni virtuali e il polimorfismo
  • Introduzione
  • I campi di tipo e le istruzioni switch
  • Le funzioni virtuali
  • Le classi base astratte e le classi concrete
  • Il polimorfismo
  • Progettazione di un libro paga elettronico
  • L'aggiunta di nuove classi e il binding dinamico
  • I distruttori virtuali
  • L'ereditarietà di interfaccia e di implementazione
  • L'implementazione di polimorfismo, funzioni virtuali e binding dinamico

[*]Capitolo 11: gli stream di input/output del C++
  • Introduzione
  • Gli stream
  • I file di intestazione della libreria iostream
  • Le classi di oggetti che effettuano l'input/output su stream
  • L'output su stream
  • L'operatore di inserimento nello stream
  • Utilizzo degli operatori di inserimento/estrazione in cascata
  • L'output delle variabili di tipo char
  • *
  • L'output di caratteri tramite put
  • L'input da stream
  • L'operatore di estrazione dallo stream
  • Le funzioni membro get e getline
  • Altre funzioni membro di istream: peek, putback e ignore
  • L'I/O type-safe
  • L'input/output non formattato delle funzioni read, gcount e write
  • I manipolatori di stream
  • La base dei numeri interi su uno stream: dec, oct, hex e setbase
  • La precisione dei valori a virgola mobile: precision e setprecision
  • L'ampiezza dei campi: setw e width
  • I manipolatori definiti dall'utente
  • I valori di stato della formattazione
  • Gli zero in coda e i punti decimali: ios::showpoint
  • La giustificazione: ios::left, ios::right e ios::internal
  • Il riempimento di campi: fill e setfill
  • La base dei numeri interi: ios::dec, ios::oct, ios::hex e ios::showbase
  • I numeri a virgola mobile e la notazione scientifica: ios::scientific e ios::fixed
  • Il controllo delle lettere maiuscole/minuscole: ios::uppercase
  • L'attivazione e la disattivazione dei flag di formattazione: flags, setioflags e resetioflags
  • I valori di stato degli errori in uno stream
  • Il collegamento di uno stream di output a uno stream di input

[*]Appendice A: riepilogo degli operatori
[*]Appendice B: l'insieme dei caratteri ASCII
[*]Appendice C: i sistemi di numerazione
  • Introduzione
  • Usare i numeri ottali ed esadecimali per abbreviare i numeri binari
  • La conversione dei numeri ottali ed esadecimali in binari
  • La conversione da binario, ottale o esadecimale in decimale
  • La conversione da decimale a binario, ottale o esadecimale
  • I numeri binari negativi: la notazione in complemento a due

[*]Appendice D: il C++ su Internet
  • Risorse
  • Tutorial
  • FAQ (risposte alle domande più comuni)
  • comp.lang.c++
  • Compilatori
  • Standard Template Library
  • Tutorial
  • Riferimenti
  • FAQ
  • Articoli, libri e interviste
  • Software

[/LIST]---[ Orario di seed e banda disponibile ]---

Dalle 18 alle 2 max 30kBps


[align=center]---[ Babysitting & reseed ]---

[/align]


Download torrent
106 MB
seeders:1
leechers:0
[PDF ITA] Harvey M. & Paul J. Deitel - C++ Fondamenti di programmazione [TNTVillage]


Trackers

tracker name
http://tracker.tntvillage.scambioetico.org:2710/announce
µTorrent compatible trackers list

Download torrent
106 MB
seeders:1
leechers:0
[PDF ITA] Harvey M. & Paul J. Deitel - C++ Fondamenti di programmazione [TNTVillage]


Torrent hash: 5F7546A14ED3759B2231D4386A1940008D2E7AFC