La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Unità Didattica 1 Algoritmi

Presentazioni simili


Presentazione sul tema: "Unità Didattica 1 Algoritmi"— Transcript della presentazione:

1 Unità Didattica 1 Algoritmi

2 Analisi e Programmazione
Insieme delle attività necessarie per la risoluzione dei problemi per mezzo di un elaboratore: dalla formulazione del problema alla predisposizione dell’elaboratore. Analisi e Programmazione Problema Risultati Scopo dell’analisi è definire un algoritmo: elenco finito di istruzioni necessarie per risolvere una classe di problemi; in generale non può essere eseguito da un elaboratore; Scopo della programmazione è definire un programma. Un programma è la descrizione comprensibile ed eseguibile di un algoritmo da parte di un elaboratore

3 Algoritmi e Programmi Problema Analisi Diagramma a blocchi Algoritmo
Programmazione Linguaggio programmativo Programma Risultati

4 Algoritmi Un elenco di istruzioni è un algoritmo se sono soddisfatte le seguenti proprietà: Finitezza: ogni istruzione deve essere eseguita in un tempo finito e un numero finito di volte; Generalità: ogni algoritmo deve fornire la soluzione per i problemi appartenenti ad una determinata classe. Non ambiguità: devono essere definiti in modo univoco tutti i passi; devono essere evitati paradossi, contraddizioni ed ambiguità.

5 Descrizione degli Algoritmi
Uso di un linguaggio generalizzato costituito da strutture linguistiche prive di ambiguità e ridondanze; Uso di proposizioni (espressioni) composte da due parti: Descrizioni delle operazioni (istruzioni); Descrizione dei dati su cui eseguire le istruzioni.

6 Dati e Istruzioni Dati: Istruzioni:
Costanti (valore invariabile all’interno dell’algoritmo); Variabili scalari: <nome, valore> Variabili vettoriali: <nome, insieme di valori> (il valore delle variabili è indeterminato all’inizio di un algoritmo). Istruzioni: Istruzioni operative (producono risultati se eseguite); Istruzioni di controllo (in funzione del verificarsi di condizioni determinano l’esecuzione di alcune istruzioni piuttosto che di altre); Istruzioni di salto (alterano l’ordine di esecuzione delle istruzioni); Istruzioni di inizio e fine; Istruzioni di I/O (trasmissione dati o messaggi fra l’ambiente esterno e l’algoritmo).

7 Proposizioni e predicati
Come sono espresse le condizioni nelle istruzioni di controllo? Le istruzioni di controllo verificano se una condizione è vera o falsa. Il controllo viene espresso per mezzo di predicati. Proposizione: Costrutto del quale si può dire se è vero o falso. Predicato: Una proposizione è un predicato se in essa appaiono delle variabili e il valore di verità delle variabili determina il valore di verità della proposizione. I predicati si esprimono con operatori logici e relazionali. Predicati Semplici: predicati di un solo operatore (NOT) e una sola variabile; Predicati Composti: predicati con operatori logici (AND, OR, NOT).

8 Tavole di Verità Tavole di Verità: Esempi:
descrivono i valori di verità dei predicati in funzione dei valori di verità delle singole parti. Esprimono le modalità con cui operano gli operatori relazionali. Esempi: A B A and B 1 A B A or B 1 A not A 1

9 Diagrammi a Blocchi Esempio di un linguaggio generalizzato per la descrizione degli algoritmi; I blocchi contengono istruzioni elementari, la forma del blocco indica il tipo di istruzioni; Inizio Fine Lettura Scrittura Azioni Controllo V F

10 Condizione di fine ciclo
Analisi Strutturata Procedimento che permette di ottenere descrizioni di algoritmi che siano facilmente documentabili e comprensibili; Schemi di flusso: Schema di sequenza; Schema di selezione; Schema di iterazione: Condizione di fine ciclo Inizializzazione F Iterazione V Iterazione per falso con controllo in coda Iterazione per vero con controllo in testa

11 Diagramma a Blocchi Strutturati
Uno schema di flusso è strutturato se i suoi blocchi sono collegati con gli schemi di flusso precedenti; Un diagramma a blocco è strutturato se sono strutturati tutti gli schemi di flusso che lo compongono; In un diagramma a blocchi strutturato non compare mai alcuna istruzione di salto;

12 Principio di Induzione
Sia Pn una proposizione di cui si può dire se è vera o falsa Hp) Sia P0 vera; Supponendo Pn-1 vera, si dimostra che Pn è vera; Ts) Pn è vera n.

13 Algoritmi Ricorsivi Un algoritmo si dice ricorsivo quando è definito nei termini di se stesso; È costituito da due parti: Passo base (stabilisce il risultato per valori precisi dei dati iniziali); Passo di induzione (risultato per n in funzione del risultato per n-1).

14 Esempi di algoritmi ricorsivi
Potenza (definizione iterativa): Potenza (definizione ricorsiva):

15 Esempi di algoritmi ricorsivi
Fattoriale (definizione iterativa): Fattoriale (definizione ricorsiva):

16 Diagramma di Flusso del Fattoriale Ricorsivo
Inizio V F Fine

17 Sviluppo del Fattoriale Ricorsivo
Passo base


Scaricare ppt "Unità Didattica 1 Algoritmi"

Presentazioni simili


Annunci Google