FONDAMENTI DI INFORMATICA A - E

Anno accademico 2019/2020 - 1° anno - Curriculum Ingegneria Industriale
Docente: Daniela GIORDANO
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. Verranno forniti gli strumenti metodologici per risolvere algoritmicamente un problema e le tecniche della programmazione strutturata. Gli studenti saranno in grado di sviluppare autonomamente un programma in linguaggio C con particolare riferimento alla gestione di strutture dati complesse (biblioteche, archivi, etc.).


Modalità di svolgimento dell'insegnamento

Lezioni frontali, esercitazioni e laboratorio.


Prerequisiti richiesti

Non sono richieste specifiche conoscenze o abilità in ingresso


Frequenza lezioni

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.

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 delle periferiche. Gestione del file system.

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.

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. Dichiarazioni e campo d'azione degli identificatori. Variabili locali, globali e statiche. Tecniche di passaggio dei parametri. La ricorsione. I File: file di testo e file binari. Primitive di accesso ai file. 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’informazioneLibro 2: Capitolo 4 
4Infrastruttura HardwareLibro 2: Capitolo 6, Slides del docente 
5Infrastruttura SoftwareLibro 2: Capitolo 7, Slides del docente 
6Infrastruttura di ReteLibro 2: Capitolo 8 
7Introduzione ANSI C: Tipi di dati, istruzioni di assegnazione e strutture di controllo.Libro1: Capitoli 1, 2 e 11; Dispense del docente 
8ANSI C: Istruzioni interativeLibro 1: Capitolo 3; Dispense del docente 
9ANSI C: Tipi di dati strutturato: array e stringhe, struttureLibro 1: Capitoli 4 e 6. Dispense del docente 
10ANSI C: Funzioni, ricerche, ordinamenti e fusioniLibro1: Capitoli 5 e 7; Dispense del docente 
11ANSI C: Puntatori e gestione dinamica della memoriaLibro1: Capitoli 9 e 12; Dispense del docente 
12ANSI C: File e strutture datiLibro1: Capitoli 13 e 14; Dispense del docente 

Verifica dell'apprendimento

Modalità di verifica dell'apprendimento

L'esame consiste in una prova di teoria (scritta) e in una prova pratica di programmazione in laboratorio. Le due prove sono indipendenti, e ciscuna prova superata resta valida fino ad ottobre 2018. L'esame è superato quando entrambe le prove sono state superate.


Esempi di domande e/o esercizi frequenti

Esempi di esercizi e prove di laboratorio sono disponibili su http://studium.unict.it