LINGUAGGI DI PROGRAMMAZIONE

Docente: Prof. G.F. Rossi
 
 

PARTE I - LINGUAGGI di PROGRAMMAZIONE LOGICA: il PROLOG [1]

Il linguaggio Prolog. Sintassi: termini, clausole, programma. Semantica dichiarativa informale. Interpretezione procedurale - Unificazione e sostituzione - Semantica operazionale. Derivazione. Albero di derivazione SLD. Insieme di successo - Non-determinismo e strategie di ricerca. Backtracking. Incompletezza - Rappresentazione e manipolazione di liste - Definizioni ricorsive - Rappresentazione e manipolazione numeri - Variabili e assegnamento - Dichiarativo vs. procedurale - Predicati built-in. Controllo backtracking (“cut”). Negazione per fallimento (cenni). Input-output. Stringhe. Manipolazione di termini (cenni). Modifica dinamica del programma (cenni) - Sviluppo ed esecuzione programmi in SICStus Prolog - Le basi logiche del Prolog. Logica dei predicati in forma di clausola. Dimostrazione automatica di teoremi. Principio di Risoluzione (cenni). Clausole di Horn. Risoluzione SLD vs. Risoluzione generale. Dalla Programmazione Logica al Prolog - Semantica dichiarativa (a modelli). Interpretazione e modello (cenni). Modelli di Herbrand (cenni). Correttezza e completezza (cenni).
 
 

PARTE II - LINGUAGGI IMPERATIVI: il C [2]

Tipi di dato predefiniti - Dichiarazione di variabili - Assegnamento - Struttura di un programma - Confronti con il linguaggio Pascal - Diagrammi sintattici - Espressioni - Principali strutture di controllo: if, while, for, do-while, switch - Input/output di base - Tipi strutturati: array e struct - Funzioni e procedure: Definizione. Chiamata e passaggio parametri. Funzioni ricorsive - “Regole di scope” (cenni) - Puntatori e allocazione dinamica della memoria: Definizione e uso. Array e puntatori. Liste concatenate - Sviluppo di programmi C.
 
 

PARTE III - LINGUAGGI ORIENTATI agli OGGETTI: IL C++ e JAVA

Introduzione alla programmazione orientata agli oggetti.

Il linguaggio C++ [2]

Dal C al C++ - Classi e oggetti - Overloading di funzioni e operatori - Ereditarietà singola e multipla.

Il linguaggio Java [3]

Introduzione al linguaggio - I tipi primitivi. Strutture di controllo - Definizione di classi - I package - Le eccezioni (cenni) - Applet e applicazioni “stand-alone” (cenni).
 
 

Testi consigliati:

L. CONSOLE, E. LAMMA, P. MELLO: Programmazione logica e Prolog (II edizione), UTET Libreria, 1997.

H. SCHILDT: Guida al linguaggio C++, McGRAW-HILL ITALIA, 1996.

A. GUIDI, M. BERTACCA: Introduzione a Java, McGRAW-HILL ITALIA, 1997.

Altri testi (per consultazione)

G. FIORENTINO, M.R. LAGANà, F. ROMANI, F. TURINI: C. e Java - Laboratorio di programmazione, McGRAW-HILL ITALIA, 1997.

S. SETHI: Linguaggi di programmazione. McGRAW-HILL ITALIA, 1994.
 
 

Prerequisiti:

Il primo modulo del corso di Fondamenti di Informatica.
 
 

Altre Informazioni sul corso