Questo libro si propone di rispondere a una delle sfide più impegnative poste dai primi corsi di Programmazione nelle lauree di area scientifica e tecnologica: la necessità di acquisire non solo un nuovo strumento (il linguaggio, con la sua sintassi e le sue specificità), ma una nuova mentalità, una metodologia strutturata orientata alla risoluzione di problemi.
L’enfasi del testo è posta proprio sul “problem-solving”: dopo la presentazione di uno schema generale per la classificazione dei problemi computazionali, il lettore è guidato passo passo nella risoluzione delle diverse tipologie di problemi, dalla costruzione di un modello formale alla definizione di un algoritmo alla scrittura del programma.
Si presuppone la conoscenza sintattica dei principali costrutti del linguaggio C (che vengono comunque richiamati in un capitolo apposito). L’esposizione si basa in gran parte sugli esempi, svolti in notevole dettaglio, e su un gran numero di esercizi, molti dei quali corredati da soluzione.
Indice
1. Introduzione
1.1 Il problem-solving
1.2 I problemi computazionali
1.3 Tipologie di problemi computazionali
1.4 Approccio alla soluzione di problemi computazionali
1.5 Algoritmo
2 L’essenziale del C 7
2.1 Aspetti sintattici e struttura di un programma C
2.2 Tipi di dato primitivi, variabili e costanti
2.3 Costrutti per operazioni di input e output
2.4 Costrutti condizionalie iterativi
2.5 Tipi di dato aggregati: vettori, matrici e strutture
2.6 Funzioni
2.7 Argomenti non trattati
3 Problem-solving su dati scalari
3.1 Problemi numerici
3.2 Problemi di codifica, decodifica, transcodifica
3.3 Problemi di elaborazione testi (text-processing)
3.4 Problemidiverifica edi selezione
3.5 Esercizi risolti
3.6 Eserciziproposti
3.7 Scheda: classificazione dei problemi
4 Problem-solving su dati vettoriali
4.1 I vettori
4.2 Problemi numerici
4.3 Problemi di codifica, decodifica e transcodifica
4.4 Problemidi text-processing
4.5 Problemidiverifica e selezione
4.6 Esercizi risolti
4.7 Esercizi proposti
4.8 Scheda: i vettori
5 Problem-solving su problemi complessi 185
5.1 Introduzione
5.2 Il paradigma “divide et impera”
5.3 Esercizi risolti
5.4 Esercizi proposti
Gli Autori
Gianpiero Cabodi è professore associato
di Sistemi di elaborazione delle informazioni presso il Dipartimento di Automatica
e Informatica del Politecnico di Torino.
Paolo Enrico Camurati è professore ordinario di Sistemi di elaborazione
delle informazioni presso il Dipartimento
di Automatica e Informatica del Politecnico
di Torino.
Paolo Pasini è iscritto al XXVIII ciclo
del Dottorato di Ricerca in Ingegneria Informatica e dei Sistemi
presso il Politecnico di Torino.
Denis Patti è iscritto al XXIX ciclo
del Dottorato di Ricerca in Ingegneria Informatica e dei Sistemi
presso il Politecnico di Torino.
Danilo Vendraminetto è iscritto al XXVII ciclo del Dottorato di Ricerca in Ingegneria Informatica e dei Sistemi presso
il Politecnico di Torino.
Sono disponibili contenuti speciali riservati ai Docenti.
Se sei già registrato come Docente accedi con la tua password
Per richiedere l'accesso Docenti vai alla pagina di registrazione Docenti