Descrizione: logounica

 

Fondamenti di Informatica 1

Docente: Prof. Gian Luca Marcialis

 

Università degli Studi di Cagliari

Facoltà di Ingegneria

Corso di Laurea in Ingegneria Elettrica

Descrizione: logodiee

 

Home

Finalità e orario

Programma

Slides

Esami

Archivio compiti

Linguaggio C

Contatti

 

 

L’Informatica

Definizione. Informatica, algoritmi e calcolatori. Hardware e software. Sistemi informatici e sistemi informativi. Informatica e società.

 

Elementi di algebra booleana

Generalità. Operazioni logiche (and, or, not)

 

Rappresentazione binaria dell'informazione

Numeri interi senza segno. Numeri interi in complemento a due. Rappresentazione in mantissa ed esponente per i numeri reali (cenni)

 

Architetture di calcolatori

Il modello secondo Von Neumann (CPU, ALU, registri, bus, memorie, organizzazione e gestione dell'I/O). Architettura dei sistemi informatici. Elementi della macchina di Von Neumann. Codifica dei dati e delle istruzioni di programma. Comportamento della macchina di Von Neumann

 

Sistemi Operativi e Reti di Calcolatori

Definizione di Sistema Operativo. Gestore dei processi. Gestore della memoria. File System. Definizione di rete di calcolatori. Architettura client-server. Caratteristiche. Mezzi trasmissivi. Topologia. Protocolli: ISO/OSI e TCP/IP. Servizi. Internet. Posta elettronica.

 

Basi di dati

Concetti di base. Modello relazionale. Tabelle. Linguaggi di interrogazione.

 

Algoritmi e modelli di computazione

Definizione informale di linguaggio, algoritmo ed interprete. Che cos'è l'informatica. Il concetto di algoritmo. I linguaggi per la programmazione di algoritmi. Differenza tra visione procedurale e visione orientata agli oggetti.

 

Introduzione al linguaggio C

Codifica degli algoritmi in un linguaggio di alto livello. Il nucleo del linguaggio C. Primi esempi di programmi C. La costruzione incrementale dei programmi. Struttura dei programmi in linguaggio C. I/O standard.

 

Linguaggio C: strutture dati

Tipi semplici predefiniti (int, float, double e char). Definizione di nuovi tipi: regole sintattiche. Tipi semplici definiti dall’utente (ridefinizione ed enumerazione esplicita dei valori). Tipi strutturati (array)

 

Linguaggio C: strutture di controllo

Istruzioni di selezione: if/then/else. Istruzioni cicliche: while/do, for. Istruzioni break e continue

 

Algoritmi di ricerca ed ordinamento

Ricerca sequenziale e binaria. Algoritmo di ordinamento “select-sort”.

 

Linguaggio C: puntatori e allocazione dinamica della memoria

Il costruttore puntatore. Il costruttore struct. Array, puntatori e aritmetica dei puntatori. Strumenti per la gestione dinamica dei dati e loro uso. Le operazioni di allocazione e cancellazione di memoria. Rischi della gestione dinamica della memoria

 

Linguaggio C: funzioni e procedure

Struttura completa di un programma C. Le funzioni (definizione, chiamata, prototipo e passaggio dei parametri). Le procedure. Il passaggio dei parametri per indirizzo. Aspetti avanzati nell’uso dei sottoprogrammi. Procedure e funzioni predefinite