FONDAMENTI DI INFORMATICA F - O

Anno accademico 2019/2020 - 1° anno - Curriculum Ingegneria Industriale
Docenti: Salvatore CAVALIERI e Simone PALAZZO
Crediti: 9
SSD: ING-INF/05 - Sistemi di elaborazione delle informazioni
Organizzazione didattica: 225 ore d'impegno totale, 138 di studio individuale, 42 di lezione frontale, 45 di esercitazione
Semestre:
ENGLISH VERSION

Obiettivi formativi

Il corso ha la finalità di fornire conoscenze: - sulla rappresentazione dell’informazione nei calcolatori, sull’architettura dell’elaboratore, sul software di base, sul sistema operativo, sugli algoritmi, sui linguaggi di programmazione, su compilatori e interpreti e sulle reti di calcolatori - sulla programmazione strutturata e sulla programmazione in linguaggio C. Sviluppo di programmi in C per la gestione di strutture dati complesse (biblioteche, archivi, etc.).


Modalità di svolgimento dell'insegnamento

Lezioni frontali, esercitazioni e laboratorio.


Prerequisiti richiesti

Non sono richieste specifiche capacità in ingresso


Frequenza lezioni

E' richiesta la frequenza obbligatoria


Contenuti del corso

Introduzione: Algoritmi e Programmi

Elaborazione automatica dell'informazione. Algoritmi e programmi. Un linguaggio di programmazione. Il progetto di un programma. La programmazione strutturata. Diagrammi di flusso e pseudocodice.

Rappresentazione dell'informazione

Sistemi di codifica. Sistemi di numerazione e algoritmi di conversione. Aritmetica intera e in virgola mobile. Rappresentazione di dati multimediali.

Architettura di un sistema di elaborazione

La struttura di un elaboratore: memoria centrale, unità centrale, funzionamento elementare dell'elaboratore (ciclo macchina). Dispositivi periferici e memorie di massa. Classificazione dei sistemi di elaborazione.

Reti di Calcolatori e Internet
Generalità sulle reti di calcolatori. Reti locali. Reti geografiche. I protocolli di rete. Cenni su Internet e sulle più diffuse applicazioni di rete.

Software di base e Sistemi Operativi

Traduzione ed esecuzione di programmi. Ambiente di Programmazione. Compilatori vs. interpreti. Architettura e funzionalità del Sistema Operativo. Gestione dei processi. Gestione della memoria. Gestione del file system.

Il linguaggio di programmazione "C": sintassi e semantica

Istruzioni di Assegnazione. Strutture di controllo. Tipi di dato in C: tipi semplici (int, char, float, double) e

strutturati (array e stringhe, strutture). Il tipo puntatore. Le funzioni. Campo d'azione degli identificatori.

Algoritmi di ordinamento e ricerca

Ricerca sequenziale e binaria. Algoritmi di ordinamento.

Strutture dati

Strutture dati dinamiche. Allocazione dinamica della memoria. Liste, Pile, Code ed Alberi. Primitive e relative

implementazioni in C. Esempi di programmi.


Testi di riferimento

  • McGraw-Hill

    Fondamenti di Informatica per Ingegneria Industriale

    A cura di: Daniela Giordano, Salvatore Cavalieri e Concetto Spampinato Università degli Studi di
    Catania
    Dipartimento di Ingegneria Elettrica, Elettronica e Informatica

    Ulteriori risorse sono disponibili per docenti e studenti sul sito: www.mheducation.it

    McGraw-Hill Education Create: ISBN: 978-13-075-5047-4

    http://create.mheducation.com

    Copyright 2020 by McGraw-Hill Education.

    No part of this publication may be reproduced or distribuited in any form or by means, or stored in
    a database or retrieval system, without prior written permission of the publisher.

    This McGraw-Hill Education Create text may include materials submitted to McGraw-Hill Education for
    publication by the instructor of this course. The instructor is solely responsable for the
    editorial content of such materials. Instructors retain copyright of these additional materials.
    Stampa: Logo srl Borgoricco (PD) ISBN-13: 9781307550474
    Printed in Italy
    0 1 2 3 4 5 6 7 8 9 - 24 23 22 21 20

    INDICE

    1 - Capitolo 2 - L’informazione e la sua codifica . . . . . . . . . . . . . . . . . . . . . . . 1

    2.1 Il concetto di informazione . . . . . . . . . . . . . . . . . . . . .
    . . . . . . . . . . . . . . . . . 1
    2.2 La codifica dei dati e delle istruzioni . . . . . . . . . . . . . . . . .
    . . . . . . . . . . . . . . 9
    2.3 Codifica analogica e codifica digitale . . . . . . . . . . . . . . . . . .
    . . . . . . . . . . . . 30
    2 - Capitolo 3 - L’elaborazione e la strutturazione dell’informazione. . . . . . 45
    3.1 Problemi e algoritmi . . . . . . . . . . . . . . . . . . . . . . . .
    . . . . . . . . . . . . . . . . . . 46
    3.2 Il problema della risoluzione dei problemi . . . . . . . . . . . . . . . .
    . . . . . . . . . . 59
    3.3 Le strutture dati . . . . . . . . . . . . . . . . . . . . . . . .
    . . . . . . . . . . . . . . . . . . . . 64
    3.4 L’algebra booleana . . . . . . . . . . . . . . . . . . . . . . . .
    . . . . . . . . . . . . . . . . . . 67
    3.5 Alcuni esempi completi . . . . . . . . . . . . . . . . . . . . . . .
    . . . . . . . . . . . . . . . . 71
    3 - Capitolo 4 - I linguaggi per la formalizzazione dell’informazione . . . 79
    4.1 I linguaggi di programmazione . . . . . . . . . . . . . . . . . . . . .
    . . . . . . . . . . . . . 80
    4.2 Il paradigma di programmazione imperativo-procedurale . . . . . . . . . . . . .
    . . 83
    4.3 Altri paradigmi di programmazione . . . . . . . . . . . . . . . . . . .
    . . . . . . . . . . . . 97
    4.4 Linguaggi per la descrizione e la manipolazione dei dati . . . . . . . . . . . .
    . . 103
    4 - Capitolo 6 - Le infrastrutture hardware . . . . . . . . . . . . . . . . . . . . . . . . .121
    6.1 L’architettura di riferimento . . . . . . . . . . . . . . . . . . . . .
    . . . . . . . . . . . . . . 123
    6.2 L’esecutore . . . . . . . . . . . . . . . . . . . . . . . . . . .
    . . . . . . . . . . . . . . . . . . . . 127
    6.3 La memoria . . . . . . . . . . . . . . . . . . . . . . . . . . .
    . . . . . . . . . . . . . . . . . . . . 147
    6.4 I dispositivi per le memorie di massa . . . . . . . . . . . . . . . . .
    . . . . . . . . . . . 155
    6.5 L’interfaccia di ingresso/uscita . . . . . . . . . . . . . . . . . . .
    . . . . . . . . . . . . . . . 161
    6.6 Le principali periferiche . . . . . . . . . . . . . . . . . . . . . .
    . . . . . . . . . . . . . . . . 165
    5 - Capitolo 7 - Le infrastrutture software . . . . . . . . . . . . . . . . . . . . . . . . . . 183
    7.1 Le funzioni del sistema operativo . . . . . . . . . . . . . . . . . . .
    . . . . . . . . . . . . 183
    7.2 I processi . . . . . . . . . . . . . . . . . . . . . . . . . . .
    . . . . . . . . . . . . . . . . . . . . . . 194
    7.3 La gestione della memoria . . . . . . . . . . . . . . . . . . . . . .
    . . . . . . . . . . . . . . 201

     

    INDICE

    7.4 La gestione delle periferiche. . . . . . . . . . . . . . . . . . . . .

    . . . . . . . . . . . . . . 204
    7.5 Il file system . . . . . . . . . . . . . . . . . . . . . . . . .
    . . . . . . . . . . . . . . . . . . . . . 208
    7.6 La gestione della rete . . . . . . . . . . . . . . . . . . . . . . .
    . . . . . . . . . . . . . . . . 213
    6 - Capitolo 8 - Le infrastrutture di rete. . . . . . . . . . . . . . . . . . . . . . . . . . . .
    219
    8.1 I mezzi di trasmissione . . . . . . . . . . . . . . . . . . . . . . .
    . . . . . . . . . . . . . . . . 222
    8.2 La tecnologia di trasmissione. . . . . . . . . . . . . . . . . . . . .
    . . . . . . . . . . . . . . 226
    8.3 Le reti geografiche . . . . . . . . . . . . . . . . . . . . . . .
    . . . . . . . . . . . . . . . . . . 228
    8.4 Le reti locali . . . . . . . . . . . . . . . . . . . . . . . . .
    . . . . . . . . . . . . . . . . . . . . . 236
    8.5 L’architettura del software di rete . . . . . . . . . . . . . . . . . . .
    . . . . . . . . . . . . 246
    7 - Capitolo 3 - Algoritmi . . . . . . . . . . . . . . . . . . . . . . . .
    . . . . . . . . . . . . . . . . 259
    3.1 Istruzioni . . . . . . . . . . . . . . . . . . . . . . . . . . .
    . . . . . . . . . . . . . . . . . . . . . . 259
    3.2 Esecuzione . . . . . . . . . . . . . . . . . . . . . . . . . . .
    . . . . . . . . . . . . . . . . . . . . 260
    3.3 Memoria . . . . . . . . . . . . . . . . . . . . . . . . . . . .
    . . . . . . . . . . . . . . . . . . . . . 261
    3.4 Calcolo meccanico . . . . . . . . . . . . . . . . . . . . . . . . .
    . . . . . . . . . . . . . . . . . 262
    3.5 Capacità di calcolo . . . . . . . . . . . . . . . . . . . . . . . .
    . . . . . . . . . . . . . . . . . . 264
    3.6 Complessità degli algoritmi . . . . . . . . . . . . . . . . . . . . .
    . . . . . . . . . . . . . . 265
    3.7 Correttezza rispetto alle specifiche . . . . . . . . . . . . . . . . . .
    . . . . . . . . . . . . 268
    8 - Capitolo 4 - Programmi . . . . . . . . . . . . . . . . . . . . . . . .
    . . . . . . . . . . . . . . 271
    4.1 Linguaggi . . . . . . . . . . . . . . . . . . . . . . . . . . .
    . . . . . . . . . . . . . . . . . . . . . 271
    4.2 Linguaggio macchina . . . . . . . . . . . . . . . . . . . . . . . .
    . . . . . . . . . . . . . . . . 272
    4.3 Linguaggio assembler. . . . . . . . . . . . . . . . . . . . . . . .
    . . . . . . . . . . . . . . . . 274
    4.4 Linguaggi di alto livello . . . . . . . . . . . . . . . . . . . . . .
    . . . . . . . . . . . . . . . . 277
    4.5 Programmi strutturati . . . . . . . . . . . . . . . . . . . . . . .
    . . . . . . . . . . . . . . . . 279
    4.6 Sequenza, selezione, iterazione . . . . . . . . . . . . . . . . . . .
    . . . . . . . . . . . . . 282
    4.7 Blocco d’istruzioni . . . . . . . . . . . . . . . . . . . . . . . .
    . . . . . . . . . . . . . . . . . . 287
    4.8 Massimo Comune Denominatore . . . . . . . . . . . . . . . . . . . . .
    . . . . . . . . . . . 288
    4.9 Scambio di valori fra variabili . . . . . . . . . . . . . . . . . . . .
    . . . . . . . . . . . . . . 289
    4.10 Approcci alla programmazione . . . . . . . . . . . . . . . . . . . . .
    . . . . . . . . . . . . 291
    9 - Capitolo 6 - Tipi fondamentali . . . . . . . . . . . . . . . . . . . . . .
    . . . . . . . . . . . 297
    6.1 Interi . . . . . . . . . . . . . . . . . . . . . . . . . . . .
    . . . . . . . . . . . . . . . . . . . . . . . . 297
    6.2. Caratteri . . . . . . . . . . . . . . . . . . . . . . . . . . .
    . . . . . . . . . . . . . . . . . . . . . . 300
    6.3 Virgola mobile . . . . . . . . . . . . . . . . . . . . . . . . . .
    . . . . . . . . . . . . . . . . . . . 303
    6.4 Operazioni in virgola mobile . . . . . . . . . . . . . . . . . . . . .
    . . . . . . . . . . . . . . 306
    10 - Capitolo 5 - Sequenza . . . . . . . . . . . . . . . . . . . . . . . .
    . . . . . . . . . . . . . . . . 311
    5.1 Programmi . . . . . . . . . . . . . . . . . . . . . . . . . . .
    . . . . . . . . . . . . . . . . . . . . . . 311
    5.2 Variabili e assegnamenti . . . . . . . . . . . . . . . . . . . . . .
    . . . . . . . . . . . . . . . . 313
    5.3 Costanti . . . . . . . . . . . . . . . . . . . . . . . . . . . .
    . . . . . . . . . . . . . . . . . . . . . . 317

     

    INDICE

    5.4 Input e output . . . . . . . . . . . . . . . . . . . . . . . . . .

    . . . . . . . . . . . . . . . . . . . 318
    5.5 Funzioni . . . . . . . . . . . . . . . . . . . . . . . . . . .
    . . . . . . . . . . . . . . . . . . . . . . 321
    5.6 Fasi di programmazione . . . . . . . . . . . . . . . . . . . . . . .
    . . . . . . . . . . . . . . . 324
    11 - Capitolo 8 - Operatori . . . . . . . . . . . . . . . . . . . . . . . .
    . . . . . . . . . . . . . . . 331
    8.1 Operatori aritmetici . . . . . . . . . . . . . . . . . . . . . . . .
    . . . . . . . . . . . . . . . . . 331
    8.2 Operatori relazionali e logici . . . . . . . . . . . . . . . . . . . .
    . . . . . . . . . . . . . . 333
    8.3 Espressioni condizionali. . . . . . . . . . . . . . . . . . . . . . .
    . . . . . . . . . . . . . . . . 336
    12 - Capitolo 7 - Selezione . . . . . . . . . . . . . . . . . . . . . . . .
    . . . . . . . . . . . . . . . 341
    7.1 if . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
    . . . . . . . . . . . . . . . . . . . . . . . . . 341
    7.2 Istruzioni composte . . . . . . . . . . . . . . . . . . . . . . . .
    . . . . . . . . . . . . . . . . . 343
    7.3 if annidati . . . . . . . . . . . . . . . . . . . . . . . . . . .
    . . . . . . . . . . . . . . . . . . . . . 346
    7.4 Confronto fra caratteri . . . . . . . . . . . . . . . . . . . . . .
    . . . . . . . . . . . . . . . . . 348
    7.5 switch-case . . . . . . . . . . . . . . . . . . . . . . . . . .
    . . . . . . . . . . . . . . . . . . . . . 350
    13 - Capitolo 9 - Iterazione . . . . . . . . . . . . . . . . . . . . . . . .
    . . . . . . . . . . . . . . . 357
    9.1 for . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
    . . . . . . . . . . . . . . . . . . . . . . . . . 357
    9.2 Incrementi e decrementi . . . . . . . . . . . . . . . . . . . . . .
    . . . . . . . . . . . . . . . 361
    9.3 Calcolo del fattoriale. . . . . . . . . . . . . . . . . . . . . . .
    . . . . . . . . . . . . . . . . . . 365
    9.4 while . . . . . . . . . . . . . . . . . . . . . . . . . . . .
    . . . . . . . . . . . . . . . . . . . . . . . 367
    9.5 do-while . . . . . . . . . . . . . . . . . . . . . . . . . . .
    . . . . . . . . . . . . . . . . . . . . . . 372
    9.6 Operatore virgola . . . . . . . . . . . . . . . . . . . . . . . .
    . . . . . . . . . . . . . . . . . . 373
    9.7 Cicli annidati . . . . . . . . . . . . . . . . . . . . . . . . . .
    . . . . . . . . . . . . . . . . . . . . 375
    9.8 Interruzioni . . . . . . . . . . . . . . . . . . . . . . . . . .
    . . . . . . . . . . . . . . . . . . . . . 376
    9.9 Zero di una funzione. . . . . . . . . . . . . . . . . . . . . . . .
    . . . . . . . . . . . . . . . . . 378
    14 - Capitolo 10 - Array . . . . . . . . . . . . . . . . . . . . . . . . .
    . . . . . . . . . . . . . . . . . 385
    10.1 Vettori . . . . . . . . . . . . . . . . . . . . . . . . . . . .
    . . . . . . . . . . . . . . . . . . . . . . . 385
    10.2 Esempio di uso dei vettori . . . . . . . . . . . . . . . . . . . . .
    . . . . . . . . . . . . . . . 389
    10.3 Inizializzazione di variabili. . . . . . . . . . . . . . . . . . . . .
    . . . . . . . . . . . . . . . . 391
    10.4 Matrici . . . . . . . . . . . . . . . . . . . . . . . . . . . .
    . . . . . . . . . . . . . . . . . . . . . . 392
    10.5 Prodotto di matrici . . . . . . . . . . . . . . . . . . . . . . . .
    . . . . . . . . . . . . . . . . . . 396
    15 - Capitolo 11 - Funzioni . . . . . . . . . . . . . . . . . . . . . . . .
    . . . . . . . . . . . . . . . . 401
    11.1 Il concetto di sottoprogramma . . . . . . . . . . . . . . . . . . . .
    . . . . . . . . . . . . . 401
    11.2 Sottoprogrammi C . . . . . . . . . . . . . . . . . . . . . . . . .
    . . . . . . . . . . . . . . . . . 402
    11.3 Dichiarazione di una funzione . . . . . . . . . . . . . . . . . . . . .
    . . . . . . . . . . . . . 404
    11.4 Definizione di una funzione . . . . . . . . . . . . . . . . . . . . .
    . . . . . . . . . . . . . . . 405
    11.5 Visibilità . . . . . . . . . . . . . . . . . . . . . . . . . . .
    . . . . . . . . . . . . . . . . . . . . . . 408
    11.6 return . . . . . . . . . . . . . . . . . . . . . . . . . . . .
    . . . . . . . . . . . . . . . . . . . . . . . 410
    11.7 Chiamata di una funzione . . . . . . . . . . . . . . . . . . . . . .
    . . . . . . . . . . . . . . . 411

    INDICE

    11.8 Passaggio dei parametri . . . . . . . . . . . . . . . . . . . . . . .

    . . . . . . . . . . . . . . . 413
    11.9 void . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
    . . . . . . . . . . . . . . . . . . . . . . . 416
    11.10 Scomposizione funzionale . . . . . . . . . . . . . . . . . . . . . .
    . . . . . . . . . . . . . . . 418
    16 - Capitolo 12 - Ricerche e ordinamenti . . . . . . . . . . . . . . . . . . . . . . . . . . 419
    12.1 Introduzione . . . . . . . . . . . . . . . . . . . . . . . . . .
    . . . . . . . . . . . . . . . . . . . . 419
    12.2 Ricerca completa . . . . . . . . . . . . . . . . . . . . . . . . .
    . . . . . . . . . . . . . . . . . . 420
    12.3 Ordinamenti . . . . . . . . . . . . . . . . . . . . . . . . . .
    . . . . . . . . . . . . . . . . . . . . 421
    12.4 Ricerca binaria . . . . . . . . . . . . . . . . . . . . . . . . .
    . . . . . . . . . . . . . . . . . . . 426
    12.5 Fusione . . . . . . . . . . . . . . . . . . . . . . . . . . . .
    . . . . . . . . . . . . . . . . . . . . . . 429
    17 - Capitolo 13 - Stringhe . . . . . . . . . . . . . . . . . . . . . . . .
    . . . . . . . . . . . . . . . . 435
    13.1 Definizione . . . . . . . . . . . . . . . . . . . . . . . . . .
    . . . . . . . . . . . . . . . . . . . . . 435
    13.2 Esempi di uso delle stringhe . . . . . . . . . . . . . . . . . . . . .
    . . . . . . . . . . . . . . 437
    13.3 Funzioni di libreria . . . . . . . . . . . . . . . . . . . . . . . .
    . . . . . . . . . . . . . . . . . . 442
    18 - Capitolo 14 - Puntatori . . . . . . . . . . . . . . . . . . . . . . . .
    . . . . . . . . . . . . . . . 449
    14.1 Definizione di puntatore . . . . . . . . . . . . . . . . . . . . . .
    . . . . . . . . . . . . . . . . 450
    14.2 Array e puntatori . . . . . . . . . . . . . . . . . . . . . . . . .
    . . . . . . . . . . . . . . . . . . 452
    14.3 Aritmetica dei puntatori . . . . . . . . . . . . . . . . . . . . . .
    . . . . . . . . . . . . . . . . 453
    14.4 Passaggio di parametri per indirizzo . . . . . . . . . . . . . . . . . .
    . . . . . . . . . . . 455
    14.5 Oggetti dinamici . . . . . . . . . . . . . . . . . . . . . . . . .
    . . . . . . . . . . . . . . . . . . 461
    14.6 Indirizzamento assoluto della memoria . . . . . . . . . . . . . . . . . .
    . . . . . . . . . 464
    14.7 Funzioni sulla memoria . . . . . . . . . . . . . . . . . . . . . . .
    . . . . . . . . . . . . . . . 465
    19 - Capitolo 17 - File . . . . . . . . . . . . . . . . . . . . . . . . .
    . . . . . . . . . . . . . . . . . . . 471
    17.1 Apertura e chiusura di file . . . . . . . . . . . . . . . . . . . . .
    . . . . . . . . . . . . . . . 471
    17.2 Lettura e scrittura sequenziale . . . . . . . . . . . . . . . . . . . .
    . . . . . . . . . . . . . 473
    17.3 Posizionamento del puntatore . . . . . . . . . . . . . . . . . . . . .
    . . . . . . . . . . . . . 476
    17.4 Altre possibilità di lettura e scrittura . . . . . . . . . . . . . . . . .
    . . . . . . . . . . . . 478
    17.5 Standard Input e Standard Output . . . . . . . . . . . . . . . . . . . .
    . . . . . . . . . . . 483
    17.6 Funzioni di basso livello . . . . . . . . . . . . . . . . . . . . . .
    . . . . . . . . . . . . . . . . 484
    Caso di studio IV - Gestione anagrafica con i file . . . . . . . . . . . . . . . .
    . . . . . . . . . 487

     

    CREDITI

    1 - L’informazione e la sua codifica: Capitolo 2 da Introduzione ai sistemi informatici 5/ed di

    Sciuto, Buonanno, Mari, 2014. . . . . . . . . . . . . . . . . . . . . . . .
    . . . . . . . . . . . . . . . 1

    2 - L’elaborazione e la strutturazione dell’informazione: Capitolo 3 da Introduzione ai
    sistemi informatici 5/ed di Sciuto, Buonanno, Mari, 2014 . . . . . . . . . . . . . .
    . . . . . . 45

    3 - I linguaggi per la formalizzazione dell’informazione: Capitolo 4 da Introduzione ai
    sistemi informatici 5/ed di Sciuto, Buonanno, Mari, 2014 . . . . . . . . . . . . . .
    . . . . . . 79

    4 - Le infrastrutture hardware: Capitolo 6 da Introduzione ai sistemi informatici 5/ed di Sciuto,
    Buonanno, Mari, 2014 . . . . . . . . . . . . . . . . . . . . . . . . . .
    . . . . . . . . . . . . .121

    5 - Le infrastrutture software: Capitolo 7 da Introduzione ai sistemi informatici 5/ed di Sciuto,
    Buonanno, Mari, 2014 . . . . . . . . . . . . . . . . . . . . . . . . . .
    . . . . . . . . . . . . 183

    6 - Le infrastrutture di rete: Capitolo 8 da Introduzione ai sistemi informatici 5/ed di Sciuto,
    Buonanno, Mari, 2014 . . . . . . . . . . . . . . . . . . . . . . . . . .
    . . . . . . . . . . . . . . . . . . . . . 219

    7 - Algoritmi: Capitolo 3 da Linguaggio C 5/ed - Guida alla programmazione, con elementi di
    Objective-C di Bellini, Guidi, 2013 . . . . . . . . . . . . . . . . . . . . .
    . . . . . . . . . . . . . 303

    8 - Programmi: Capitolo 4 da Linguaggio C 5/ed - Guida alla programmazione, con elementi di
    Objective-C di Bellini, Guidi, 2013 . . . . . . . . . . . . . . . . . . . . .
    . . . . . . . . . . . . . 315

    9 - Tipi fondamentali: Capitolo 6 da Linguaggio C 5/ed - Guida alla programmazione, con elementi
    di Objective-C di Bellini, Guidi, 2013 . . . . . . . . . . . . . . . . . . . .
    . . . . . . . 341

    10 - Sequenza: Capitolo 5 da Linguaggio C 5/ed - Guida alla programmazione, con elementi di
    Objective-C di Bellini, Guidi, 2013 . . . . . . . . . . . . . . . . . . . . .
    . . . . . . . . . . . . . 355

    11 - Operatori: Capitolo 8 da Linguaggio C 5/ed - Guida alla programmazione, con elementi di
    Objective-C di Bellini, Guidi, 2013 . . . . . . . . . . . . . . . . . . . . .
    . . . . . . . . . . . . . 355

     

    CREDITI

    12 - Selezione: Capitolo 7 da Linguaggio C 5/ed - Guida alla programmazione, con elementi di
    Objective-C di Bellini, Guidi, 2013 . . . . . . . . . . . . . . . . . . . . .
    . . . . . . . . . . . . . . . . 375
    13 - Iterazione: Capitolo 9 da Linguaggio C 5/ed - Guida alla programmazione, con elementi di
    Objective-C di Bellini, Guidi, 2013 . . . . . . . . . . . . . . . . . . . . .
    . . . . . . . . . . . . . 391
    14 - Array: Capitolo 10 da Linguaggio C 5/ed - Guida alla programmazione, con elementi di
    Objective-C di Bellini, Guidi, 2013 . . . . . . . . . . . . . . . . . . . . .
    . . . . . . . . . . . . . . . 391
    15 - Funzioni: Capitolo 11 da Linguaggio C 5/ed - Guida alla programmazione, con elementi di
    Objective-C di Bellini, Guidi, 2013 . . . . . . . . . . . . . . . . . . . . .
    . . . . . . . . . . . . . 281
    16 - Ricerche e ordinamenti: Capitolo 12 da Linguaggio C 5/ed - Guida alla programmazione, con
    elementi di Objective-C di Bellini, Guidi, 2013 . . . . . . . . . . . . . . . . .
    . . . . . . . 419
    17 - Stringhe: Capitolo 13 da Linguaggio C 5/ed - Guida alla programmazione, con elementi di
    Objective-C di Bellini, Guidi, 2013 . . . . . . . . . . . . . . . . . . . . .
    . . . . . . . . . . . . . 435
    18 - Puntatori: Capitolo 14 da Linguaggio C 5/ed - Guida alla programmazione, con elementi di
    Objective-C di Bellini, Guidi, 2013 . . . . . . . . . . . . . . . . . . . . .
    . . . . . . . . . . . . . 449
    19 - File: Capitolo 17 da Linguaggio C 5/ed - Guida alla programmazione, con elementi di
    Objective-C di Bellini, Guidi, 2013 . . . . . . . . . . . . . . . . . . . . .
    . . . . . . . . . . . . . . . 449

    DIspense del docente.

     



Programmazione del corso

 ArgomentiRiferimenti testi
1Informazione e sua codificaLibro 2: Capitolo 2 
2Problemi e algoritmiLibro 2: Capitolo 3 
3Linguaggi per la formalizzazione dell’informazione Libro 2: Capitolo 4 
4Teoria della ComputabilitàDispense del docente  
5Infrastruttura HardwareLibro 2: Capitolo 6 
6Infrastruttura SoftwareLibro 2: Capitolo 7 
7Infrastruttura di ReteLibro 2: Capitolo 8 
8Introduzione ANSI C: Tipi di dati, istruzioni di assegnazione e strutture di controllo.Libro1: Capitoli 1, 2 e 11 
9ANSI C: Istruzioni interativeLibro 1: Capitolo 3 
10ANSI C: Tipi di dati strutturato: array e stringhe, struttureLibro 1: Capitoli 4 e 6. Dispense del docente 
11ANSI C: Funzioni, ricerche, ordinamenti e fusioniLibro1: Capitoli 5 e 7 
12ANSI C: Puntatori e gestione dinamica della memoriaLibro1: Capitoli 9 e 12 
13ANSI C: File e strutture datiLIbro1: Cpitolo 13 e 14 

Verifica dell'apprendimento

Modalità di verifica dell'apprendimento

L'esame consiste in una prova (individuale) da svolgere in laboratorio divisa in due parti per una durata di 2 ore: la prima parte di teoria (tramite test a risposta multipla al pc o esame orale) sugli argormenti affrontati nel corso e la seconda parte di programmazione in C.

L'esame è superato quando entrambe le prove sono state superate.

E' prevista inoltre una prova in itinere, che, se superata, sostituirà la prova di teoria.


Esempi di domande e/o esercizi frequenti

Esempi di compiti riguardanti la prova di teoria e di laboratorio sono disponibili su Studium.