LABORATORIO DI PROGRAMMAZIONE (corsi A e B)

Corso di Laurea in Informatica

A.A.1998/1999

Docente: A. Lanza

 

  1. Il linguaggio Pascal
    1. Introduzione al Pascal: Struttura di un programma. Identificatori. Elementi lessicali: le parole riservate e identificatori standard. Intestazione di un programma. Le sezioni di definizione e di dichiarazione. Carte sintattiche. Standard ISO.
    2. I tipi elementari: I tipi primitivi: integer, real boolean, char. Tipo enumerativo. Tipo subrange. Operatori e funzioni sui tipi elementari. Formato di output. I/O dei tipi elementari. Le istruzioni read e readln. Le istruzioni write e writeln. Istruzione di assegnamento. Espressioni. Le relazioni tra i tipi.
    3. Controllo del flusso: Istruzione composta. Istruzioni di selezione: IF-THEN-ELSE, CASE-OF. Istruzioni iterative: WHILE-DO, REPEAT-UNTIL, FOR.
    4. Array e record: Tipo ARRAY. Opzione PACKED. Stringhe. Array multidimensionali. Tipo RECORD. Istruzione WITH. Operatori e I/O di array e record.
    5. Procedure e funzioni: Definizione di procedure e di funzioni. Parametri per valore e per indirizzo. Regole per il passaggio di parametri. La direttiva FORWARD. Implementazioni a confronto: procedure vs. function, iterative vs. ricorsive. Procedure e funzioni come parametri.
    6. I file: Il tipo FILE. Le procedure e le funzioni predefinite per l’accesso ai file. Le procedure estese di I/O. Connessione del file fisico alla variabile file. Il tipo text.
    7. Stile di programmazione: Uso delle maiuscole. Indentation. Programmi interattivi: uso del prompt di guida per l’inserimento dati. Intestazione ed impaginazione dell’output.
  2. Metodologie di programmazione
  3. 2.1. Metodologie di progetto di programmi: Le qualità’ di un programma. Principi di progetto. Approccio top-down e bottom-up. Criteri di modularizzazione.

    2.2. Le fasi della progettazione: Analisi del problema, Definizione delle strutture dei dati, Scelta della strategia di soluzione, Codifica e Prova. La documentazione.

    2.3. Testing e debugging: Ispezione e verifica preliminare, Test a scatola nera, Metodo delle stampe.

  4. L’ambiente di programmazione
  5. Problemi ed algoritmi

Massimo comune divisore di due interi.

Elevamento a potenza con base reale ed esponente intero.

Conversione di un valore intero letto a caratteri.

Conversione di un intero decimale in un sistema di numerazione in base b (2<=b>=10).

Ricerca del massimo in un array di interi.

Somma degli elementi di un array di interi.

Calcolo della frequenza di occorrenza di valori in un array.

Trasposta di una matrice. Prodotto tra matrici.

Algoritmi ricorsivi (MCD, Fattoriale, Somma, Elevamento a potenza, Ricerca del max).

Algoritmi su stringhe (Lettura stringhe a lunghezza variabile, calcolo lunghezza).

Trattamento file non text (Scrittura file di interi e di record, Somma degli elementi di un file di interi, Copia, Verifica della uguaglianza di due file, Ricerca, Aggiornamento).

Trattamento di text file (Creazione, Stampa Travaso, Conteggio delle linee).

Algoritmi presentati nel corso di Programmazione.

RIFERIMENTI

Dispense del corso

Per il punto 1: Bishop, J., PASCAL: Corso di programmazione, Addison Wesley, 1994.

Jensen, K., e Wirth, N., Manuale del Pascal standard ISO, 4a edizione, Jackson.

Per il punto 2: Batini, C. et al., Fondamenti di Programmazione dei Calcolatori Elettronici, Franco Angeli,1990.

Per il punto 3: Manuali dell’ambiente usato.

Per il punto 4: Dromey, D.R., Algoritmi fondamentali, Gruppo Editoriale Jackson, 1989.