Elementi di programmazione con il C++

Franco Crivellari

Elementi di programmazione con il C++

Printed Edition

64.50

Pages: 608

ISBN: 9788846435330

Edition: 4a edizione, nuova edizione 2002

Publisher code: 700.10

Availability: Nulla

La nuova edizione del testo introduce il lettore nella costruzione di programmi fornendogli logiche ad alto livello che consentono di progettare e creare nuove applicazioni. L'approccio è essenzialmente didattico, è rivolto in particolare ai non esperti ed utilizza una graduale esposizione dei contenuti e delle peculiarità del linguaggio. Facendo, inoltre, un continuo riferimento a esempi esplicativi, consente al lettore di acquisire, passo per passo, quelle tecniche che sono alla base del processo di progettazione e realizzazione di programmi reali. È stato scelto come linguaggio il C++ in quanto, pur mantenendo la stessa potenza ed efficienza del suo genitore il C, è dotato di una pluralità di strumenti di controllo linguistico tali da renderlo di uso sicuro e "pulito". Il linguaggio viene presentato nel suo aspetto non orientato agli oggetti, in modo da consentire l'insegnamento dell'arte della programmazione senza appesantirla inutilmente di concetti, che per la loro complessità, sono quasi sempre forniti in corsi successivi.

Vengono inoltre illustrati gli aspetti sintattici e d'uso di questo linguaggio, senza trascurare quelli innovativi che consentono di essere usati nella progettazione di ambienti generici. Il volume si presenta suddiviso in due parti: la prima fornisce al lettore elementi che mettono in grado di comprendere l'ambiente operativo che dovrà usare.

Viene presentato il calcolatore nel suo aspetto hardware e software, e sono illustrati due tra i sistemi operativi di uso più comune: il DOS/Windows e il Linux/Unix, nonché alcuni tra gli strumenti di base necessari nella attività di programmazione. La seconda parte tratta esclusivamente di programmazione, progettazione e realizzazione di algoritmi. Sono affrontati argomenti fondamentali quali il processo di compilazione e di testing, il concetto di complessità, la gestione di archivi in memoria centrale e di massa. Al fine di rendere il lettore autonomo nella risoluzione dei problemi, ogni capitolo presenta sia gli aspetti sintattici che quelli logici del linguaggio, ed è corredato da consigli ed esempi documentati.

Franco Crivellari , titolare del corso di Fondamenti di informatica presso la Facoltà di Psicologia dell'Università di Padova; ha tenuto per diversi anni il corso di Fondamenti di informatica nel corso di Laurea in Ingegneria gestionale e il modulo di Fondamenti di informatica III per il corso di Diploma in Ingegneria elettronica dello stesso ateneo. Si interessa di programmazione e di progettazione orientata agli oggetti nelle basi di dati, di progettazione di basi di dati non strutturate utilizzabili in ambiti geografici e scientifici, nella gestione di documenti e nell'Information Retrieval in ambito web. Ha pubblicato Programmazione ad oggetti e tipi di dati astratti con il C++ (FrancoAngeli 1996).


Parte I
Architettura di un calcolatore
Il s. o. mono-utente MS-DOS
(Comandi DOS; Ingresso ed uscita standard)
I sistemi operativi Windows
(L'interfaccia grafica di Windows; Finestre: composizione e operazioni; Organizzazione e gestione di file e directory; Risorse del computer)
Il sistema operativo Unix e Linux
(Utilizzo del sistema; I comandi in Linux; Interfacce grafiche; L'interprete shell; I processi; Shell come linguaggio di programmazione; Frasi di controllo)
Gli editori di testi
(Il word processing e il text editing; L'editore di blocco note o notepad; L'editore di Unix: VI)
Parte II
Fondamenti del linguaggio
(Programmi e linguaggi di programmazione; Cenni sull'importanza degli algoritmi; Costrutti linguistici usabili per definire algoritmi; Il linguaggio di programmazione C++; Introduzione alla stesura di un programma; File sorgenti; Header file; Lo sviluppo di programmi C e C++; File compilabili separatamente; Funzioni; Primitive di I/O; Controllo o test dell'algoritmo; Efficienza e complessità degli algoritmi; Esercizi e domande)
Concetti e definizioni
(Identificatori e costanti letterali; Tipi di dati; Variabili e loro inizializzazione; Dichiarazioni e definizioni; Inizializzazione e assegnazione; Esercizi e domande)
Tipi di dati primitivi
(Il tipo intero; Il tipo carattere: char; I tipi reali; Const; Il tipo Enum; Il tipo Reference; Il tipo Puntatore; Il tipo Array; Il tipo Char (stringa); Esercizi e domande)
Espressioni ed operatori
(Valutazione di espressioni; Operatori aritmetici; Operatori relazionali e logici; Operatori di assegnazione; Operatori di incremento e decremento unitario; Operatore condizionale?; Operatore virgola; Operatore di manipolazione a livello di BIT; Operatore sizeof; Operatore address-of &; Conversioni di tipo; Esercizi e domande)
Strutture di controllo
(Le istruzioni di assegnazione; La sequenza di istruzioni; Istruzioni composte o blocchi di istruzioni; Costrutti condizionali; Costrutti iterativi; Istruzioni break, continue e goto; Esercizi e domande)
Strutture dati
(Costrutto array; I puntatori; Costrutto struct; Liste concatenate; Il costrutto union; Esercizi e domande)
Le funzioni
(La funzione main(); Funzioni in linea; Argomenti di funzione; Tipo di ritorno; Ricorsione; L'overloading di funzioni; Template o funzioni modello; Puntatori a funzioni; Gestione della memoria libera (free memory); Dichiarazioni typedef; Visibilità, durata e campo d'azione o scope; Esercizi e domande)
L'I/O standard e i file stream
(Uso dei manipolatori; Gli stream file; File binari; L'accesso casuale ai file; Esercizi e domande)
Librerie standard del linguaggio
(L'header file Ctype.H; L'header file Conio.H; L'header file Dir.H; L'header file DOS.H; L'header file Math.H; L'header file Stdlib.H; L'header file String.H; L'header file Time.H; Lo standard I/O del C: Stdio.H)
Il preprocessore del linguaggio
(Definizione e uso di costanti e macro; Compilazioni condizionali)
L'ordinamento
(Ordinamenti interni; Ordinamento per interscambio o "bubble"; Ordinamento per inserzione; Ordinamento per selezione; Ordinamento per fusione (merge sort); Ordinamento heap; Ordinamento veloce (quick sort); Aggiornamento di vettori ordinati; Esercizi e domande)

Serie: Informatica

Level: Textbooks - Books for Professionals