Libri di Gianpiero Cabodi
Ricorsione e problem-solving. Strategie algoritmiche in linguaggio C
Gianpiero Cabodi, Paolo Enrico Camurati, Paolo Pasini, Denis Patti, Danilo Vendraminetto
Libro
editore: Maggioli Editore
anno edizione: 2022
pagine: 236
Questo libro si pone in ideale continuità con "Dal problema al programma. Introduzione al problem-solving in linguaggio C", degli stessi autori. L'enfasi, in questo caso, si sposta sulla ricorsione: uno degli strumenti più potenti a disposizione del programmatore impegnato nelle attività di problem-solving, e al tempo stesso uno degli argomenti più ostici per gli studenti. Gli autori dapprima introducono il concetto di ricorsione mediante una serie di classici esempi di problemi ricorsivi, in ambito sia matematico che informatico; vengono poi introdotte le tecniche di esplorazione esaustiva dello spazio delle soluzioni, di ottimizzazione e di pruning. Ampio spazio è dedicato a esempi (interamente svolti) ed esercizi. La seconda edizione approfondisce la trattazione sugli ordinamenti ricorsivi e presenta nuovi problemi svolti.
Puntatori e strutture dati dinamiche. Allocazione della memoria e modularità in linguaggio C
Gianpiero Cabodi, Paolo Camurati, Paolo Pasini, Denis Patti, Danilo Vendraminetto
Libro
editore: Maggioli Editore
anno edizione: 2016
pagine: 240
La programmazione come strumento per il problem-solving si appoggia su due grandi pilastri: gli algoritmi, che definiscono le operazioni da svolgere per trasformare i dati in ingresso nei dati in uscita, e le strutture dati, dove sono memorizzati i dati in ingresso, quelli in uscita e quelli intermedi generati durante la computazione. Per la risoluzione di qualunque problema, tranne i più banali, conoscere le strutture dati e saperle implementare in un linguaggio di programmazione è di fondamentale importanza. Questo libro analizza la progettazione e la realizzazione di strutture dati efficienti e modulari in linguaggio C. Prima di affrontare le strutture dati, il testo approfondisce alcuni meccanismi propri di questo linguaggio, quali i puntatori e l'allocazione dinamica della memoria, fondamentali per una programmazione avanzata. Puntatori e allocazione dinamica sono introdotti in stretta relazione alla rappresentazione dei dati in memoria, all'architettura e al funzionamento di un sistema di elaborazione basato sul modello di Von Neumann.
Dal problema al programma. Introduzione al problem-solving in linguaggio C
Gianpiero Cabodi, Paolo Pasini
Libro
editore: Apogeo Education
anno edizione: 2016
pagine: 246
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.
Ricorsione e problem-solving. Strategie algoritmiche in linguaggio C
Gianpiero Cabodi, Paolo Enrico Camurati, Paolo Pasini, Denis Patti, Danilo Vendraminetto
Libro
editore: Apogeo Education
anno edizione: 2015
pagine: 218
Il volume tratta il tema della ricorsione: uno degli strumenti più potenti a disposizione del programmatore impegnato nelle attività di problem-solving, e al tempo stesso uno degli argomenti più ostici per gli studenti. Gli autori dapprima introducono il concetto di ricorsione mediante una serie di classici esempi di problemi ricorsivi, in ambito sia matematico che informatico; vengono poi introdotte le tecniche di esplorazione esaustiva dello spazio delle soluzioni, di ottimizzazione e di pruning. Ampio spazio è dedicato a esempi (interamente svolti) ed esercizi.