Progettazione degli algoritmi Lorenzi – V. Moriggia INFORMATICA. C++. TEORIA E AMBIENTE DI PROGRAMMAZIONE Atlas Copyright © Istituto Italiano Edizioni Atlas
Metodologia generale Sviluppo del problema: Progettazione dell’algoritmo Programmazione
Progettazione dell’algoritmo Testo del problema Analisi dei dati Procedimento risolutivo (ideazione) Formalizzazione dell’algoritmo Pseudocodifica Diagramma a blocchi
Programmazione Progetto dell’interfaccia grafica Codifica Testing Debug Rilascio dell’eseguibile
Analisi dei dati (1) Dati di input Dati di output Variabili e costanti Variabili di lavoro Costanti In senso stretto (pi-greco) In senso lato (aliquota IVA)
Analisi dei dati (2) Tipi di dati: Intero Reale (non intero) Stringa Carattere Booleano Scelta del tipo di dato: età, stipendi, prezzi, CAP, telefono, PartitaIVA
Analisi dei dati (3) Dati primari (anno di nascita) Dati derivati (età = anno attuale – anno di nascita) Identificatori Nomi significativi Parole uniche con iniziali maiuscole (CodiceProdotto)
Formalizzazione del problema Dati Relazioni tra essi Dal linguaggio naturale al linguaggio formalizzato Persona abita a … Residenza Persona alta o bassa Statura Superamento di una prova Voto Prodotto economico o costoso Prezzo Partita vinta o persa Risultato
Procedimento risolutivo Descrizione discorsiva del procedimento Ideazione della soluzione Evidenziazione delle formule di calcolo
Rappresentazione dell’algoritmo(1) Linguaggio di pseudocodifica (o linguaggio di progetto): formalizza l’algoritmo prepara alla codifica è indipendente dal linguaggio di programmazione
Rappresentazione dell’algoritmo(2) Diagramma a blocchi (flowchart): standard informatico rappresentazione più immediata e più efficace anche valore documentativo
Pseudocodifica Inizio, fine Input/output Assegnazione a sinistra: Immetti variabile Scrivi messaggio o variabile Assegnazione a sinistra: Asssegna a = 3 Calcola area = base * altezza Verbi all’imperativo (esecutore) Commenti: (* … *) o //
Esempio Calcolo dell’area del triangolo inizio immetti base immetti altezza calcola area =base * altezza / 2 scrivi area fine
Diagramma a blocchi Simboli standard ISO inizio fine immetti scrivi test assegnazione / calcolo
Diagramma a blocchi con Word Scheda Inserisci, Forme, Diagrammi di Flusso Copia oggetto: tasto CTRL premuto e trascinamento Scritta interna: tasto destro sulla forma, Aggiungi/Modifica testo Allineamenti: Formato, Disponi, Allinea Colore e ombreggiature: Formato, Stili forma
Esempio
Programmazione tradizionale Dati Istruzioni Programma
Programmazione moderna Interfaccia grafica Istruzioni Dati Programma
Documentazione Non un’attività conclusiva … … ma un’attività che accompagna le diverse fasi dello sviluppo del problema
Generalizzazione dell’algoritmo Algoritmo esaustivo Strutture di controllo Sequenza Selezione Ripetizione Teorema di Bohm-Jacopini
Strutture in pseudocodifica
Strutture con diagramma a blocchi