Scaricare la presentazione
La presentazione è in caricamento. Aspetta per favore
1
L'ALGORITMO Prof. Di Capua Giuseppe
2
Problemi 1/8 La parola problema ha un vasto campo di significati.
Ud 1: Dal problema all’algoritmo Problemi Il maestro disse: «Non voglio avere nulla a che vedere con chi non si chiede: come fare, come fare?» da Confucio, "I colloqui", XV, 15 La parola problema ha un vasto campo di significati. Nella scuola quello più comune è legato alla matematica o almeno al campo scientifico, In realtà… …Ogni giorno, diverse volte al giorno, siamo chiamati a risolvere dei problemi. Per esempio: 1. decidere se riconciliarci con un amico con cui abbiamo litigato; 2. calcolare l'area di un rettangolo, note la base e l'altezza; 3. scegliere tra diverse proposte quella economicamente più vantaggiosa per una gita scolastica; 4. stabilire quale squadra vincerà quest'anno il campionato nazionale di calcio... 1/8
3
Ud 1: Dal problema all’algoritmo
Problemi Ci troviamo di fronte a una situazione problematica tutte le volte che per una questione non abbiamo una soluzione automatica e, per procedere oltre, abbiamo bisogno di raggiungere nuove informazioni, magari derivandole da quelle già disponibili per mezzo di opportune operazioni. In altre parole, un problema nasce tutte le volte che una persona decide di raggiungere un obiettivo, ma non ha ancora identificato un mezzo per raggiungere questo traguardo. 2/8
4
soluzione del problema.
Ud 1: Dal problema all’algoritmo Problemi Fin dai primi anni di scuola abbiamo appreso la nozione di problema sotto forma di quesito a cui si deve dare una risposta, detta soluzione del problema. Naturalmente quando il quesito ci viene posto da parte di qualcuno, questi suppone che non conosciamo la soluzione. Infatti perché il problema sia tale è necessario fare uno sforzo mentale nella ricerca della soluzione del problema. 3/8
5
Ud 1: Dal problema all’algoritmo
Problemi A questo punto scatta un processo di ricerca per risolvere il quesito posto, cioè il problema. Possiamo quindi affermare che i problemi hanno origine dalla realtà che, letta nella sua complessità, presenta molto spesso in chi la osserva situazioni che possiamo definire problematiche che creano curiosità e perché. Uscire da una situazione problematica vuol dire compiere delle azioni che permettono di dare risposte alle domande poste, vuoi dire «risolvere un problema». 4/8
6
Risolutore ed Esecutore
Ud 1: Dal problema all’algoritmo Risolutore ed Esecutore Risolutore chi si propone di risolvere un problema Avvalendosi di un patrimonio di conoscenze precedentemente acquisite, deve seguire un cammino che si compone di più passi e che viene detto analisi del problema. 1/7
7
Risolutore ed Esecutore
Ud 1: Dal problema all’algoritmo Risolutore ed Esecutore Esecutore chi si propone di eseguire la soluzione del problema 1/7
8
Il Risolutore si occupa di:
Ud 1: Dal problema all’algoritmo Il Risolutore si occupa di: a) interpretare l'enunciato del problema e definire gli obiettivi che devono essere realizzati; b) individuare le informazioni necessarie per risolvere il problema (dati iniziali) costruendo, se possibile, un opportuno modello della situazione problematica; c) descrivere il procedimento risolutivo individuando le operazioni da compiere sui dati e col legar logicamente per ottenere i risultati o dati finali; d) verificare se i risultati ottenuti rispondono alle finalità del problema reale e, quindi, se i sono o non sono attendibili 2/7
9
L’Esecutore si occupa di:
Ud 1: Dal problema all’algoritmo L’Esecutore si occupa di: a) eseguire nell'ordine le operazioni descritte nel processo risolutivo evidenziando i risultati o finali; 2/7
10
Risolutore ed Esecutore
Ud 1: Dal problema all’algoritmo Risolutore ed Esecutore PROBLEMA VERIFICA DEI RISULTATI ESECUZIONE PROCEDIMENTO RISOLUTIVO MODELLO INTERPRETAZIONE 3/7
11
Risolutore ed Esecutore
Ud 1: Dal problema all’algoritmo Risolutore ed Esecutore IL risolutore e l'esecutore della risoluzione di un problema sono la stessa persona, ma a volte no. Può presentarsi il caso che il risolutore affidi l'esecuzione del processo risolutivo ad un'altra persona ad un esecutore automatico come, per esempio, ad un elaboratore elettronico. In questo caso, il risolutore descrive il procedimento risolutivo di un problema deve riferirsi all'esecutore. La descrizione del procedimento risolutivo è condizionata dalle caratteristiche dell'esecutore. 4/7
12
Risolutore ed Esecutore
Ud 1: Dal problema all’algoritmo Risolutore ed Esecutore Il risolutore deve: sapere quale linguaggio comprende l'esecutore; sapere quali sono le azioni operative e logiche che l'esecutore sa eseguire; sapere in modo ordinato, conciso e univoco le azioni che l'esecutore deve eseguire. Il ruolo dell'esecutore Il ruolo dell'esecutore invece si estrinseca nei seguenti passi: ricevere i dati iniziali; interpretare ed eseguire le azioni descritte nel processo risolutivo del problema; fornire i risultati. 5/7
13
Risolutore ed Esecutore
Ud 1: Dal problema all’algoritmo Risolutore ed Esecutore Risolutore Procedimento risolutivo del problema Dati iniziali Esecutore Dati finali o risultati Verifica dei risultati 6/7
14
Risolutore ed Esecutore
Ud 1: Dal problema all’algoritmo Risolutore ed Esecutore Nella soluzione dei problemi è facilmente riconoscibile la necessità di esaminare tre aspetti fondamentali: 1)L'insieme dei dati di cui si dispone e l'insieme dei risultati che si vogliono ottenere. 2)L'insieme delle istruzioni che consentono di ottenere la soluzione del problema. 3)Le capacità dell'esecutore a cui le istruzioni sono dirette. 7/7
15
Ud 1: Dal problema all’algoritmo
Possiamo concludere che risolvere un problema significa ricercare ed esprimere una successione finita di istruzioni interpretabili ed eseguibili da un esecutore, che conducano da determinate informazioni iniziali ad altre informazioni finali. Se tale successione di istruzioni rispetta determinate caratteristiche viene detta Algoritmo 1/6
16
Ud 1: Dal problema all’algoritmo
Nasce dal nome di un matematico arabo del IX secolo : Abu Ja’far Mohammed ibn Musa al -Kowarizm 1/6
17
Algoritmi Una Definizione
Ud 1: Dal problema all’algoritmo Algoritmi Una Definizione è una descrizione di un insieme finito di passi, che devono essere eseguite per portare a termine un dato compito e per raggiungere un risultato definito. Esempi di algoritmo possono essere: Le istruzioni per l’utilizzo di un elettrodomestico Le regole per eseguire la divisione tra due numeri 2/6
18
Algoritmi Proprietà 3/6 Ud 1: Dal problema all’algoritmo Non Ambiguo:
Le istruzioni devono essere precise e non ambigue Deterministico: Appliccato n volte sugli stessi dati produce gli stessi risultati Finito: Le istruzioni devono essere un numero finito ed eseguite in un tempo finito Generale: Risolve tutti i problemi di una stessa classe 3/6
19
una descrizione completa, univoca e esaustiva
Ud 1: Dal problema all’algoritmo Algoritmi Definizione Un algoritmo è una descrizione completa, univoca e esaustiva di un insieme finito di operazioni elementari, interpretabili e riproducibili dall’esecutore, che permette di raggiungere lo scopo del processo in un tempo ragionevole. 4/6
20
Algoritmi Il messaggio da comunicare 5/6
Ud 1: Dal problema all’algoritmo Algoritmi Deve Contattare telefonicamente una serie di persone a cui deve lasciare un messaggio L’elenco delle persone con il nome e il numero di telefono Dati che servono Il messaggio da comunicare Risultati L’elenco delle persone con l’indicazione per ciascuna dell’esito della telefonata 5/6
21
Algoritmi 6/6 Deve Algoritmo Ud 1: Dal problema all’algoritmo
Contattare telefonicamente una serie di persone a cui deve lasciare un messaggio Algoritmo leggi il numero telefonico componi il numero a seconda della situazione che si presenta scrivi sull’elenco: ‘occupato’, ‘ numero errato’ o ‘OK’ ripeti le operazioni precedenti finché le persone sono finite. 6/6
22
UNITA’ DIDATTICA 3: LA RAPPRESENTAZIONE DEGLI ALGORITMI
VARIABILI E COSTANTI Per rappresentare un algoritmo occorre innanzitutto individuare le entità che lo caratterizzano. Es. 1: ATTIVITA’ FATTURAZIONE Entità Il cliente cui è rivolta la fatturazione Il prodotto che viene venduto La fattura Ogni entità può essere presente con diversi esemplari, contraddistinti dai diversi valori assunti dagli ATTRIBUTI DELL’ENTITA’, gli elementi che rappresentano e specificano l’entità. Entità cliente Attributi: Il nome, l’indirizzo, la città dove risiede, il numero di partita IVA Se gli attributi possono assumere valori diversi per diversi esemplari dell’entità, essi sono detti VARIABILI.
23
UNITA’ DIDATTICA 3: LA RAPPRESENTAZIONE DEGLI ALGORITMI
VARIABILI E COSTANTI Gli attributi che assumono sempre lo stesso valore vengono definiti COSTANTI Entità prodotto (automobile) Attributi: La marca, il modello, il colore, il numero di ruote (in un automobile è sempre 4!) I nomi che diamo alle variabili o alle costanti, vengono detti IDENTIFICATORI A = r² r h b A= b h
24
UNITA’ DIDATTICA 3: LA RAPPRESENTAZIONE DEGLI ALGORITMI
DATI I dati sono i valori assunti da variabili e costanti. I dati possono essere di diverso tipo:
25
ISTRUZIONI Le istruzioni sono le azioni che costituiscono l’algoritmo.
UNITA’ DIDATTICA 3: LA RAPPRESENTAZIONE DEGLI ALGORITMI ISTRUZIONI Le istruzioni sono le azioni che costituiscono l’algoritmo. Al fine di raggiungere il risultato voluto, le istruzioni di un algoritmo devono essere eseguite secondo un ordine ben preciso, che di norma è quello sequenziale, ma che può talvolta variare in funzione dei dati e a seconda del particolare algoritmo. A tal fine, nella rappresentazione di un algoritmo, le istruzioni vengono raggruppate all’interno di costrutti detti Strutture di Controllo.
26
ISTRUZIONI Istruzioni di assegnazione
UNITA’ DIDATTICA 3: LA RAPPRESENTAZIONE DEGLI ALGORITMI ISTRUZIONI Istruzioni di assegnazione Consente di assegnare un valore o una espressione ad una variabile. L’assegnazione è distruttiva ovvero si perde il valore contenuto in precedenza nella variabile. La indicheremo con Nome variabile = Espressione Esempio: A =10 Variabile A assegno il numero 10 A = B Variabile A assegno il contenuto della Variabile B A = B + D Variabile A assegno una espressione
27
ISTRUZIONI Esempio: A = 10 Variabile assegno un dato Costante 10 A
UNITA’ DIDATTICA 3: LA RAPPRESENTAZIONE DEGLI ALGORITMI ISTRUZIONI Esempio: A = 10 Variabile assegno un dato Costante 10 A
28
ISTRUZIONI Esempio: A = B Variabile A assegno Variabile B 7 7 B B A
UNITA’ DIDATTICA 3: LA RAPPRESENTAZIONE DEGLI ALGORITMI ISTRUZIONI Esempio: A = B Variabile A assegno Variabile B 7 B 7 A B
29
ISTRUZIONI Esempio: A = B + D Variabile A assegno Espressione 7 B 4 D
UNITA’ DIDATTICA 3: LA RAPPRESENTAZIONE DEGLI ALGORITMI ISTRUZIONI Esempio: A = B + D Variabile A assegno Espressione B 7 D 4 11 A B + D
30
UNITA’ DIDATTICA 3: LA RAPPRESENTAZIONE DEGLI ALGORITMI
ISTRUZIONI INPUT: Assegna un valore letto dall’esterno ad una variabile Esempio: Algoritmo dell’area di un quadrato leggi(lato) Se l’input è il numero 8 allora nella variabile lato ci sarà il numero 8 lato 8
31
ISTRUZIONI OUTPUT: Visualizzano il valore di una variabile
UNITA’ DIDATTICA 3: LA RAPPRESENTAZIONE DEGLI ALGORITMI ISTRUZIONI OUTPUT: Visualizzano il valore di una variabile Esempio: Algoritmo dell’area di un quadrato scrivi(Area) Se l’input è il numero 8 (lato) allora nella variabile Area ci sarà il numero 64 64 Area
32
LA RAPPRESENTAZIONE DEGLI ALGORITMI
UNITA’ DIDATTICA 3: LA RAPPRESENTAZIONE DEGLI ALGORITMI LA RAPPRESENTAZIONE DEGLI ALGORITMI Rappresentare un algoritmo significa esprimerlo in maniera precisa e non ambigua. A tal fine sono state sviluppate diverse tecniche di rappresentazione, che possiamo essenzialmente suddividere tra Grafiche Testuali Grafiche Diagrammi a Blocchi Testuali Pseudocodifica
33
I DIAGRAMMI A BLOCCHI Esempio
UNITA’ DIDATTICA 3: LA RAPPRESENTAZIONE DEGLI ALGORITMI I DIAGRAMMI A BLOCCHI Sono particolari diagrammi in cui si indicano, per mezzo di blocchi di forma diversa, le varie operazioni previste dall’algoritmo e, per mezzo di frecce, l’ordine secondo il quale tali operazioni vanno eseguite Esempio
34
LA PSEUDOCODIFICA Esempio
UNITA’ DIDATTICA 3: LA RAPPRESENTAZIONE DEGLI ALGORITMI LA PSEUDOCODIFICA E’ un linguaggio più rigoroso del linguaggio naturale, che usa espressioni verbali opportunamente strutturate per schematizzare le azioni descritte dall’algoritmo. La pseudocodifica è una convenzione tra risolutore ed esecutore. Noi useremo un sottoinsieme della lingua inglese: inizio leggi(b,h) area = b*h scrivi(area) fine Esempio
35
ISTRUZIONI DI CONTROLLO
UNITA’ DIDATTICA 3: LA RAPPRESENTAZIONE DEGLI ALGORITMI ISTRUZIONI DI CONTROLLO Le strutture di controllo che possono essere presenti in un algoritmo sono: Sequenza Assegnazione Selezione Iterazione
36
UNITA’ DIDATTICA 3: LA RAPPRESENTAZIONE DEGLI ALGORITMI
SEQUENZA Si parla di Struttura di Sequenza quando le operazioni descritte dall'algoritmo vanno eseguite una dopo l'altra, secondo l'ordine con cui sono elencate. Un semplice esempio di sequenza è fornito dall’algoritmo per usare il videoregistratore quando si vuole vedere un film: 1) Accendere il televisore 2) Accendere il videoregistratore 3) Inserire la videocassetta 4) Sintonizzare il televisore sul canale del videoregistratore 5) Premere il pulsante play del videoregistratore
37
SEQUENZA Pseudocodifica inizio
UNITA’ DIDATTICA 3: LA RAPPRESENTAZIONE DEGLI ALGORITMI SEQUENZA Pseudocodifica inizio Istruzione 1 Istruzione 2 Istruzione 3 … Istruzione n … fine Diagramma blocchi inizio fine
38
UNITA’ DIDATTICA 3: LA RAPPRESENTAZIONE DEGLI ALGORITMI
Istruzioni Semplici Nella rappresentazione di un algoritmo ci possono essere istruzioni semplici o altre strutture di controllo (selezione/Iterazione). Le istruzioni semplici possono essere di: 1) Input 2) Output 3) Assegnazione
39
UNITA’ DIDATTICA 3: LA RAPPRESENTAZIONE DEGLI ALGORITMI
INPUT L'istruzione di input (o di lettura) permette di assegnare a una variabile un valore fornito dall'esterno, per esempio tramite la sua digitazione sulla tastiera del computer. In questa istruzione deve essere sempre specificato il nome della variabile interessata. Il suo effetto è quello di convertire prima la sequenza di caratteri digitati sulla tastiera in un valore di tipo uguale a quello della variabile e poi di memorizzare tale valore nella locazione di memoria individuata dall'identificatore per tale variabile.
40
UNITA’ DIDATTICA 3: LA RAPPRESENTAZIONE DEGLI ALGORITMI
INPUT In pseudocodifica l'istruzione di input da tastiera ha la seguente forma leggi (variabile) I diagrammi a blocchi esprimono l’input da tastiera con un parallelogramma: variabile I
41
UNITA’ DIDATTICA 3: LA RAPPRESENTAZIONE DEGLI ALGORITMI
OUTPUT L'istruzione di output (o di scrittura) permette di inviare a una periferica di uscita (per es.: video, stampante) un messaggio o il valore di una variabile. L’effetto dell'istruzione di output consiste nel calcolare il valore della espressione che nell'istruzione rappresenta ciò che si vuole scrivere, nel visualizzare sulla periferica di output il valore così calcolato.
42
UNITA’ DIDATTICA 3: LA RAPPRESENTAZIONE DEGLI ALGORITMI
OUTPUT In pseudocodifica l'istruzione di output ha la seguente forma scrivi (variabile) I diagrammi di flusso esprimono l’output con un parallelogramma: variabile O
43
UNITA’ DIDATTICA 3: LA RAPPRESENTAZIONE DEGLI ALGORITMI
ASSEGNAZIONE L'istruzione di assegnazione permette di attribuire un valore a una variabile. Ciò può avvenire attraverso 1. il valore immediato che si vuole assegnare 2. un'altra variabile 3. un'espressione Le espressioni sono istruzioni composte di costanti, variabili e operatori, e rappresentano i valori aritmetici o booleani risultanti dal loro calcolo. L’effetto dell'istruzione di assegnazione consiste nel calcolare il valore della costante, della variabile o dell'espressione che devono essere assegnati, associare all'identificatore della variabile tale valore. Il valore che la variabile aveva prima dell'esecuzione dell'istruzione di assegnazione viene perso (DISTRUTTIVA).
44
UNITA’ DIDATTICA 3: LA RAPPRESENTAZIONE DEGLI ALGORITMI
ASSEGNAZIONE In pseudocodifica l'istruzione di assegnazione del valore di una espressione a una variabile ha la seguente forma Variabile = espressione Es.: y = 3* x + 11 I diagrammi di flusso esprimono l'istruzione di assegnazione con un rettangolo: y = 3* x + 11
45
UNITA’ DIDATTICA 3: LA RAPPRESENTAZIONE DEGLI ALGORITMI
SELEZIONE Spesso, nella soluzione di un problema ci si trova di fronte alla necessità di prevedere più modi di proseguire, in base al verificarsi o meno di certe condizioni. In questi casi si utilizza la Struttura di Selezione. Esempio: Accendere il televisore Accendere il videoregistratore Se non è inserita alcuna videocassetta Allora Inserire la videocassetta Sintonizzare il televisore sul canale del videoregistratore Premere il pulsante play del videoregistratore La struttura di selezione può essere classificata a seconda del numero di alternative che produce (semplice, binaria o multipla) e in base al modo in cui viene composta con altre strutture di selezione (nidificata o in cascata).
46
SELEZIONE SEMPLICE Pseudocodifica Se condizione Allora istruzione1
UNITA’ DIDATTICA 3: LA RAPPRESENTAZIONE DEGLI ALGORITMI SELEZIONE SEMPLICE La Selezione Semplice si ha quando sono presenti istruzioni per uno solo dei due possibili valori della condizione booleana. Esempio: … Se non è inserita alcuna videocassetta Allora Inserire la videocassetta Pseudocodifica Se condizione Allora istruzione1 Finese Diagramma a blocchi condizione vero
47
SELEZIONE BINARIA Pseudocodifica Se condizione Allora istruzione1
UNITA’ DIDATTICA 3: LA RAPPRESENTAZIONE DEGLI ALGORITMI SELEZIONE BINARIA La Selezione Binaria si ha se sono presenti istruzioni corrispondenti a entrambi i possibili percorsi, e quindi istruzioni corrispondenti al valore vero e istruzioni corrispondenti al valore falso di una condizione booleana. Esempio: Se non è inserita alcuna videocassetta Allora Inserire la videocassetta Altrimenti Controllare il titolo della videocassetta Pseudocodifica Se condizione Allora istruzione1 Altrimenti istruzione2 finese Diagramma a blocchi flusso condizione Vero Falso
48
SELEZIONE MULTIPLA 1 2 … n altro espressione
UNITA’ DIDATTICA 3: LA RAPPRESENTAZIONE DEGLI ALGORITMI SELEZIONE MULTIPLA La Selezione Multipla permette la diramazione del flusso operativo in base ai possibili valori di una espressione non booleana. Di conseguenza, la struttura di Selezione Multipla permette la produzione di più di due alternative nella prosecuzione del flusso operativo. Esempio: Controllare il titolo della videocassetta Se è “Matrix”: Premere il tasto Play Se è “Via col Vento”: Premere il tasto Eject Se è “Senza Titolo”: Premere il tasto Record Pseudocodifica NEL CASO CHE espressione SIA valore 1: sequenza 1; valore 2: sequenza 2; … valore n: sequenza n; ALTRIMENTI sequenza; FINECASO; Diagramma a blocchi espressione 1 2 … n altro
49
SELEZIONE NIDIFICATA Pseudocodifica Se condizione1 Allora
UNITA’ DIDATTICA 3: LA RAPPRESENTAZIONE DEGLI ALGORITMI SELEZIONE NIDIFICATA Si parla di selezione nidificata quando all'interno del blocco che deve essere eseguito nel caso di condizione vera troviamo altre strutture di selezione. Esempio: Controllare il titolo della videocassetta Se il titolo è “Matrix” Allora Se il nastro è all’inizio Allora Premere il tasto Play Altrimenti Premere il tasto Rewind Premere il tasto Eject Pseudocodifica Se condizione1 Allora Se condizione2 Allora istruzione1 Altrimenti istruzione2 finese istruzione3
50
SELEZIONE NIDIFICATA Matrix Eject Play Rewind vero falso
UNITA’ DIDATTICA 3: LA RAPPRESENTAZIONE DEGLI ALGORITMI SELEZIONE NIDIFICATA Si parla di selezione nidificata quando all'interno del blocco che deve essere eseguito nel caso di condizione vera troviamo altre strutture di selezione. Esempio: Controllare il titolo della videocassetta Se il titolo è “Matrix” Allora Se il nastro è all’inizio Allora Premere il tasto Play Altrimenti Premere il tasto Rewind Altrimenti Premere il tasto Eject Matrix Inizio nastro Eject Play Rewind vero falso
51
UNITA’ DIDATTICA 3: LA RAPPRESENTAZIONE DEGLI ALGORITMI
ITERAZIONE Quando, al fine della soluzione di un problema è necessario eseguire più volte un'istruzione o un blocco di istruzioni si utilizza la Struttura di Iterazione. Essa, detta anche Ciclo, comanda l'esecuzione ripetuta di un'istruzione o di un blocco di istruzioni in base al verificarsi di una data condizione. Esempio: Accendere il televisore Sintonizzare il televisore sul primo canale Fintantoché il canale sintonizzato sta trasmettendo il telegiornale, eseguire: Sintonizzare il televisore sul canale successivo Guardare la trasmissione Esistono diversi tipi di Cicli, a seconda di quando e come viene effettuato il controllo sulla condizione: 1. ciclo a condizione iniziale 2. ciclo a condizione finale 3. ciclo enumerativo
52
CICLO CON CONTROLLO IN CODA
UNITA’ DIDATTICA 3: LA RAPPRESENTAZIONE DEGLI ALGORITMI CICLO CON CONTROLLO IN CODA Nel Ciclo con Controllo in Coda, prima vengono eseguite le istruzioni corrispondenti al corpo dell'iterazione, poi viene eseguito il controllo per stabilire se ripetere ulteriormente tali istruzioni. In questo caso, la condizione si dice di uscita, in quanto, se essa non è verificata, allora il ciclo viene ripetuto, altrimenti l'esecuzione prosegue con la prima istruzione successiva alla struttura di iterazione. In un ciclo con Controllo in coda il corpo dell'iterazione viene eseguito almeno una volta, indipendentemente dal verificarsi o meno della condizione di iterazione. Esempio: Eseguire le seguenti istruzioni: Prendere una videocassetta dallo scaffale Leggere il titolo della videocassetta fino a trovare che il titolo è “Matrix” Inserire la videocassetta nel videoregistratore Premere il tasto Play
53
CICLO CROLLO IN CODA Pseudocodifica Esegui
UNITA’ DIDATTICA 3: LA RAPPRESENTAZIONE DEGLI ALGORITMI CICLO CROLLO IN CODA Pseudocodifica Esegui istruzione 1; istruzione 2; … istruzione n; Ripeti finchè cond Diagramma di flusso condizione falso vero
54
CICLO CON CONTROLLO IN TESTA
UNITA’ DIDATTICA 3: LA RAPPRESENTAZIONE DEGLI ALGORITMI CICLO CON CONTROLLO IN TESTA Nel Ciclo con Controllo in Testa, per prima cosa si esegui in controllo della condizione. Se la condizione è Vera si eseguono le istruzioni del ciclo e poi si ripete il controllo. Quando la condizione è FALSA l’esecuzione prosegue con la prima istruzione successiva alla struttura di iterazione. In un ciclo con Controllo in testa il corpo dell'iterazione potrebbe anche non essere mai eseguito se la condizione è sempre FALSA.
55
CICLO A CONDIZIONE INIZIALE
UNITA’ DIDATTICA 3: LA RAPPRESENTAZIONE DEGLI ALGORITMI CICLO A CONDIZIONE INIZIALE Diagramma di flusso condizione vero Istruz1 falso Pseudocodifica mentre condizione esegui istruzione 1; istruzione 2; … istruzione n; finementre Istruz2 Nelle istruzioni del Ciclo ci deve essere almeno una istruzione che cambia la condizione (da Vera a Falsa) altrimenti diventa un Ciclo INFINITO
56
UNITA’ DIDATTICA 3: LA RAPPRESENTAZIONE DEGLI ALGORITMI
CICLO ENUMERATIVO Il Ciclo Enumerativo impone la ripetizione delle istruzioni un numero predefinito di volte. Esempio: Quattro amici sono venuti a farci visita e vogliamo offrire loro da bere dell’aranciata. L’algoritmo è il seguente: Prendere un vassoio Eseguire 4 volte le seguienti istruzioni: Prendere un bicchiere Posare il bicchiere sul vassoio Prendere la bottiglia di aranciata Versare l’aranciata nei bicchieri
57
UNITA’ DIDATTICA 3: LA RAPPRESENTAZIONE DEGLI ALGORITMI
CICLO ENUMERATIVO Il Ciclo Enumerativo prevede l'utilizzo di una variabile di controllo che permette di contare il numero di iterazioni eseguite. Pseudocodifica FOR variabile := valore1 TO valore2 STEP valore3 DO Sequenza di istruzioni La variabile di controllo viene inizializzata a un valore di partenza prima di entrare nel corpo del ciclo e, dopo ciascuna iterazione, viene incrementata di un valore detto passo dell'iterazione. Il ciclo termina quando il valore raggiunto dalla variabile di controllo supera quello indicato come valore obiettivo. Il confronto della variabile di controllo con il valore obiettivo viene eseguito all'inizio del ciclo.
58
CICLO ENUMERATIVO falso vero Variabile := 1 Variabile <= n …
UNITA’ DIDATTICA 3: LA RAPPRESENTAZIONE DEGLI ALGORITMI CICLO ENUMERATIVO Diagramma a Blocchi Variabile <= n vero falso Variabile := 1 … Variabile := Variabile + 1
Presentazioni simili
© 2024 SlidePlayer.it Inc.
All rights reserved.