La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

1 Unità Didattica 1 Algoritmi. 2 Analisi e Programmazione Insieme delle attività necessarie per la risoluzione dei problemi per mezzo di un elaboratore:

Presentazioni simili


Presentazione sul tema: "1 Unità Didattica 1 Algoritmi. 2 Analisi e Programmazione Insieme delle attività necessarie per la risoluzione dei problemi per mezzo di un elaboratore:"— Transcript della presentazione:

1 1 Unità Didattica 1 Algoritmi

2 2 Analisi e Programmazione Insieme delle attività necessarie per la risoluzione dei problemi per mezzo di un elaboratore: dalla formulazione del problema alla predisposizione dellelaboratore. Scopo dellanalisi è 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 Problema Analisi e Programmazione Risultati

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

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

5 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: 1.Descrizioni delle operazioni (istruzioni); 2.Descrizione dei dati su cui eseguire le istruzioni.

6 6 Dati e Istruzioni Dati: –Costanti (valore invariabile allinterno dellalgoritmo); –Variabili scalari: –Variabili vettoriali: (il valore delle variabili è indeterminato allinizio di un algoritmo). Istruzioni: 1.Istruzioni operative (producono risultati se eseguite); 2.Istruzioni di controllo (in funzione del verificarsi di condizioni determinano lesecuzione di alcune istruzioni piuttosto che di altre); 3.Istruzioni di salto (alterano lordine di esecuzione delle istruzioni); 4.Istruzioni di inizio e fine; 5.Istruzioni di I/O (trasmissione dati o messaggi fra lambiente esterno e lalgoritmo).

7 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 8 Tavole di Verità Tavole di Verità: –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: ABA and B ABA or B Anot A 01 10

9 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 VF

10 10 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 Condizione di fine ciclo Inizializzazione Iterazione V F Iterazione per vero con controllo in testa

11 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 12 Principio di Induzione Sia P n una proposizione di cui si può dire se è vera o falsa Hp) Sia P 0 vera; Supponendo P n-1 vera, si dimostra che P n è vera; Ts) P n è vera n.

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

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

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

16 16 Diagramma di Flusso del Fattoriale Ricorsivo VF Inizio Fine

17 17 Sviluppo del Fattoriale Ricorsivo Passo base


Scaricare ppt "1 Unità Didattica 1 Algoritmi. 2 Analisi e Programmazione Insieme delle attività necessarie per la risoluzione dei problemi per mezzo di un elaboratore:"

Presentazioni simili


Annunci Google