testata

Bandiera Roberto - Libro Imparo a Programmare con C#

facciata

ISBN 978-1-716-79929-7
lulu.com

 
facciata

ISBN 978-1-716-60305-1
lulu.com

 

disponibile versiona con copertina morbida su Amazon e su Lulu.com

 

massaro   Il libro è ora disponibile anche in Libreria Massaro a Castelfranco Veneto - ora IN OFFERTA

Presentazione

Il volume è suddiviso in due parti essendo pensato per il terzo anno (parte I) e il quarto anno (parte II) del corso di studi di Informatica.
Il testo è appositamente approntato per un principiante che intende avvicinarsi alla disciplina della programmazione dei computer.
Via via che si procede nella lettura, il livello degli argomenti presentati cresce e i contenuti diventano adatti ad un programmatore di livello intermedio.
Nella I parte si affrontano i primi concetti della programmazione ad oggetti e gli algoritmi di base su semplici strutture dati in memoria. Si arriva ad affrontare alcuni algoritmi di una certa complessità come l’allineamento di stringhe e alcuni algoritmi su grafi.
Nella II parte si sviluppano i concetti più importanti della programmazione ad oggetti, fino ad arrivare ad elementi di programmazione di ordine superiore.

Indice parte I

1. La programmazione dei computer 3
    I paradigmi di programmazione 5
    Il linguaggio C# 7
    Compilatori ed Interpreti 9
    Test del programma 9
2. La prima applicazione 11
3. La struttura condizionale semplice 21
4. La struttura condizionale multipla 34
5. La struttura iterativa 43
    Un ciclo nel dialogo con l’utente 48
6. Il ciclo enumerativo 55
7. Metodi che ricevono e restituiscono oggetti 63
    Variabili con valori di tipo semplice e variabili con riferimento ad oggetti 68
8. Array di valori e di oggetti 74
    Gestione semidinamica dell’array 76
9. Algoritmi di base su un array 82
10. Manipolazione di stringhe 104
    La scomposizione del problema 111
11. Array di oggetti 131
12. Array Bidimensionali (Matrici di valori) 143
    Array di Array 146
13. Allineamento di stringhe 147
14. Grafi 156
    La ricerca del cammino minimo – algoritmo di Dijkstra 162
    Individuazione del minimo albero di copertura - algoritmo di Prim 172
    Liste di adiacenza 185
15. Funzioni ricorsive 191
    La “Tail Recursion” 196
    Parametri opzionali e argomenti con nome 197
    Array dinamici 201

 

Indice parte II

16. Classi e Tipi di dato astratti 1
17. Le Proprietà di un oggetto 8
18. Array dinamici 13
    Uso di un Enumeratore 15
19. Ereditarietà e Polimorfismo 33
    Overriding di metodi della classe base 39
    Polimorfismo 40
    Il Casting 41
    La superclasse universale Object 45
20. Classi astratte 50
21. Implementazione di Interfacce 63
    Uso di Interfacce per la prototipazione 66
    Tipizzazione Dinamica 69
22. Confronto tra oggetti 72
    Uguaglianza di oggetti 72
    Relazione d’ordine 76
23. La serializzazione di oggetti 78
    La Serializzazione in Formato XML 83
    Serializzare oggetti di un gerarchia di classi 86
24. Archiviazione dati mediante file 88
    File di testo 88
    File di Log 91
    File binari 93
25. Strutture dati in memoria RAM 97
    Linked List 98
    HashSet 99
    Benchmark sui Tempi di Ricerca 100
    Strutture dati dinamiche personalizzate 101
    SortedSet 107
    Dictionary 108
    SortedDictionary 113
    SortedList 113
26. Programmazione di ordine superiore 115
    Il concetto di Delegato 119
    Espressioni Lambda 122
    Ricerca e Ordinamento in una Lista 127
27. Uso di LINQ 130
    Le funzioni Single e First 134
    Select e SelectMany 135
    Raggruppamenti con GroupBy 138
    Metodi di estensione 146
28. Archiviazione dati con SQLite 148
    Query parametriche 155
    Operazioni di aggiornamento 157
    Esempio di applicazione con Windows Form 159
    Il Data Adapter 166
    Valori NULL 173
    Creazione automatica del database 175
29. Uso di EntityFramework 6 con SQLite 179
    Architettura software 182
    Definizione dell’Entity Data Model 185
    Definizione del contesto 187
    Utilizzo di EntityFramework 188
    Aggiornamento dei dati 194
    Una applicazione completa con Windows Form 197
    Approccio Code First 200
Appendice 1. Uso di due Windows Form 204

 

Acquisti

Pagine per informazioni e Acquisti su LULU:   Parte I     Parte II

 

Download

Il codice degli esempi sarà disponibile a breve! 

Aggiornamento del capitolo 29. Uso di EntityFramework 6 con SQLite
Questo aggiornamento consente di utilizzare EF6 per SQLite con .NET 7

Errata Corrige

parte I - pagina 134, righe 17 e 18

Errata: elenco[i]
Corrige: elencoStudenti[i]

 

parte II - pagina 12, riga 13

Errata: si ha un maggiore controllo sui valori
Corrige: si rendono immutabili i valori

parte II - pagina 12, righe 15 e 16

Errata DA CANCELLARE: oppure essere modificati mediante appositi metodi pubblici della classe

parte II - pagina 12, righe 25 e 26

Errata: utilizzarle come se fossero dichiarate in modalità "di sola inizializzazione", ovvero {get; init;}
Corrige: effettuare le modifiche di valore solo tramite appositi metodi della loro classe

 

parte II - pagina 14, riga 9 dal basso

Errata: foreach(Persona p in lista)
Corrige: foreach(Persona p in listaDiPersona)

parte II - pagina 139, righe 5, 7 e 8

Errata: gruppi[0]
Corrige: gruppi.ToList()[0]
Commento: equivale a scrivere gruppi.First()

parte II - pagina 190, penultima riga

Errata: Include(x => x.Classe)
Corrige: Include("Classe")

 

    Roberto Bandiera - mail [email protected]