29227 - FONDAMENTI DI INFORMATICA T (L-Z)

Anno Accademico 2019/2020

  • Modalità didattica: Convenzionale - Lezioni in presenza
  • Campus: Bologna
  • Corso: Laurea in Ingegneria meccanica (cod. 0927)

Conoscenze e abilità da conseguire

Lo Studente acquisisce conoscenze di base dell'architettura di un sistema di calcolo. Lo Studente si impadronisce di tecniche e metodologie per la risoluzione di diverse classi di problemi usando uno specifico linguaggio di programmazione.

Contenuti

I. Struttura di un calcolatore elettronico

Circuiti digitali elementari per le reti combinatorie, l'aritmetica e la memoria. Macchine RISC e pipelining, macchine superscalari e parallele. Gerarchia della memoria: registri, cache, memoria princiale (RAM) e secondaria (HD, CD-ROM). Indirizzi e bus. Cenni ai sistemi operativi. Partizioni di un disco rigido e file system.

 

II. Linguaggio di programmazione: il C

Rappresentazione binaria dell'informazione: numeri interi e in virgola mobile (IEEE standard 754), tabella ASCII/UNICODE e palette dei colori RGB. Errori e loro cause: errore assoluto, relativo e percentuale. Cancellazione numerica e propagazione degli errori.

Funzione main, dichiarazione locale di variabili, tipi di variabile. Operatori di assegnazione, aritmetici, logici e relazionali. Blocchi di programma. Espressioni logiche o booleiane. Strutture per il controllo del flusso del programma: if-else if-else, switch, for, while e do-while. Array o matrici. Funzioni e funzioni ricorsive. Cenni alle strutture di dati, ai puntatori e alla allocazione dinamica della memoria. Funzioni e formati di input e output (I/O) in C. Esempi.

 

III. Elementi di analisi numerica

Approssimazione e rappresentazione di una funzione: rappresentazione numerica, interpolazione di tipo Lagrangiano, polinomio e serie di Taylor. Errore di troncamento.

Differenziazione di una funzione: approssimazione della derivata prima, seconda ed ennesima con le differenze finite in avanti e all'indietro, con errore di troncamento al primo e al secondo ordine; approssimazione della derivata prima, seconda ed ennesima con le differenze finite centrate. Equazione differenziale ordinaria del secondo ordine.

Ricerca degli zeri di una funzione: risoluzione di un problema algebrico lineare con il metodo di Gauss. Soluzione di equazioni non lineari. Definizione del problema e metodo di bisezione. Metodi del punto fisso e di Newton-Raphson. Metodi della secante e Regula Falsi.

Integrazione di una funzione: metodo dei rettangoli, dei trapezi e di
Simpson. Estrapolazione di Richardson e integrazione di Romberg. Integrazione di Gauss. Errore di troncamento locale e globale e ordine della convergenza.

Testi/Bibliografia

Testo di riferimento:
Sono disponibili le dispense del docente con slides delle lezioni ed
esercitazioni. Il materiale sarà disponibile sulla piattaforma IOL
di Ateneo (https://iol.unibo.it)

Manuali di C consigliati:
Brookshear, Kochan. Fondamenti di informatica e programmazione in C. Pearson
Kelley, Pohl. C-Didattica e programmazione. Pearson
Bellini, Guidi. Linguaggio C. McGraw-Hill

Testi integrativi:
Ceri, Mandrioli, Sbattella. Informatica: arte e mestiere. McGraw-Hill
Monegato. Fondamenti di calcolo numerico. Levrotto & Bella
Epperson. Introduzione all'analisi numerica. McGraw-Hill

Metodi didattici

Lezioni frontali e esercitazioni di laboratorio informatico.

Le esercitazioni di laboratorio saranno 6 per la parte II (linguaggio C) e 6 per la parte III (analisi numerica).

Assistenza di tutor dedicato.

Materiale didattico: il materiale didattico presentato a lezione verrà messo a disposizione dello studente in formato elettronico sulla piattaforma IOL di Ateneo. Si consiglia la stampa e l'utilizzo a lezione di tale materiale.

Username e password sono riservati a studenti iscritti all'Università di Bologna.

Modalità di verifica e valutazione dell'apprendimento

Un questionario a risposte multiple sul funzionamento del PC e una prova in laboratorio informatico sul linguaggio C e sull'analisi numerica.

Il voto viene ripartito come segue:

1. Prova scritta su argomenti di architettura del computer (parte I del programma). La prova prevede una serie di domande con risposte multiple. Punteggio minimo per la sufficienza: 4, massimo: 9.

2. Prova scritta al computer su argomenti di linguaggio C (parte II del programma). La prova si svolge in laboratorio con sistema operativo linux. Punteggio minimo per la sufficienza: 5, massimo: 11

3. Prova scritta al computer su argomenti di analisi numerica (parte III del programma). La prova si svolge in laboratorio con sistema operativo linux. Punteggio minimo per la sufficienza: 5, massimo: 12

La somma totale dei punteggi superiori al minimo, formano il voto di esame, che deve risultare >= 18. Una prova non sufficiente non viene considerata e deve essere ripetuta. La lode viene data se si supera il punteggio di 30.

Strumenti a supporto della didattica

PC, videoproiettore; le lezioni vengono integrate con una serie di esercitazioni pratiche con il calcolatore.

Orario di ricevimento

Consulta il sito web di Ruben Scardovelli