Programma di esame
PARTE RELATIVA ALLE LEZIONI IN AULA
-
Introduzione alla programmazione imperativa e al linguaggio PASCAL
-
Sintassi dei linguaggi di programmazione: grammatiche e diagrammi sintattici.
-
Sintassi (di un sottoinsieme) del linguaggio PASCAL.
-
Un modello di memoria per il PASCAL.
-
Le nozioni e i costrutti fondamentali della programmazione imperativa:
dichiarazioni e istruzioni; valori, variabili, espressioni, e assegnazione;
input/output; istruzioni semplici e strutturate, istruzioni condizionali,
iterative, e loro semantica dettagliata.
-
Il sistema di tipi del PASCAL: tipi semplici
e tipi strutturati (array e record).
-
Sottoprogrammi (procedure e funzioni), pila dei record di attivazione,
parametri formali e attuali, passaggio di parametri per valore e per
riferimento, variabili locali, visibilita' e tempo di vita delle
variabili, sottoprogrammi annidati. Stack e ricorsione (diretta e indiretta),
semplici programmi ricorsivi.
Strutturazione di un programma in corpo principale e sottoprogrammi.
-
Principi di sviluppo e analisi di programmi iterativi
-
Asserzioni in un (sotto)programma: asserzioni iniziale e finale;
condizioni di uscita o di continuazione di un ciclo; invariante di ciclo
e dimostrazioni per induzione (cenni).
Progettazione (utilizzando le asserzioni)
di programmi iterativi (parzialmente) corretti (cenni).
Terminazione, correttezza parziale e correttezza totale.
-
Analisi della complessita' temporale spaziale di un algoritmo (cenni).
PARTE RELATIVA ALLE ESERCITAZIONI IN LABORATORIO
-
Algoritmi di analisi numerica
-
Calcolo approssimato di pi greco (metodo di Archimede)
-
Ricerca degli zeri di una funzione continua (bisezione)
-
Calcolo approssimato di un integrale definito
(rettangoli "destri", rettangoli "sinistri", trapezi, rettangoli "centrati")
-
Calcolo di
media e scarto quadratico medio
-
Numeri di Fibonacci
-
Utilizzo del generatore di numeri casuali
"di tipo integer"
-
Simulazione di fenomeni non deterministici (lancio di dadi e monete)
-
Problema del Cavaliere de la Mere'
-
Utilizzo del generatore di numeri casuali
"di tipo real"
-
Stima dell'area di una figura curvilinea con il metodo di Montecarlo
-
Stima di pi greco con il metodo di Montecarlo
-
Utilizzo della libreria grafica
-
Introduzione alla grafica in TP
-
Le procedure grafiche fondamentali
-
Cambiamenti di riferimento
-
Grafico di funzione