Scaricare la presentazione
1
Strutture di controllo
2
Problematica sul controllo
Le strutture di controllo permettono di definire il percorso (flusso) di ogni istruzione all'interno di un programma; La programmazione strutturata propone tre schemi: Sequenza Alternativa o Selezione Iterazione
3
Risultato fondamentale
TEOREMA (Böhm-Jacopini) : Dato un programma, ne esiste uno equivalente che utilizza esclusivamente le tre strutture di controllo fondamentali: sequenza, selezione e iterazione.
4
La sequenza La sequenza è il più semplice dei tre costrutti fondamentali e viene utilizzato quando le istruzioni devono essere eseguite ordinatamente, con lo stesso ordine con cui sono scritte, per cui l’istruzione successiva è quella in posizione successiva. E’ spesso indicata col termine blocco.
5
Sequenza La sequenza Diagramma a blocchi
6
Esempio Problema: Calcolare l’area di un rettangolo, essendo note la base e l’altezza. I dati iniziali sono: il valore della base, il valore dell’altezza. Inoltre conosciamo la relazione che permette di calcolare l’area del rettangolo. La procedura (parte esecutiva) può essere schematizzata nel modo seguente: LEGGI i valori dell’altezza e della base (l’esecutore deve acquisire i dati dall’esterno); CALCOLA L’AREA; SCRIVI il risultato (l’esecutore deve mandare il risultato in output).
7
area-->base*altezza
INIZIO O “Inserire base e altezza” I base I altezza area-->base*altezza O area FINE
8
Esercizi Rappresenta con il diagramma a blocchi gli algoritmi che risolvono i seguenti problemi: Noti i cateti determinare l’area e il perimetro di un triangolo rettangolo; Noti il voto dell’orale, quello di laboratorio e quello dello scritto, visualizzare il voto medio; Un noleggio di automobili applica le seguenti tariffe: 75 euro di spesa fissa più 0.5 euro per ogni km percorso. Calcolare la spesa del noleggio.
9
Selezione o alternativa
La selezione o alternativa permette di effettuare una scelta fra due possibili alternative. Per effettuare la scelta occorre valutare una condizione. Possiamo distinguere tre tipi di alternative: a una via a due vie multipla
10
Alternativa a una via Diagramma a blocchi condizione Istruzione falso
vero condizione Istruzione
11
Alternativa a due vie Diagramma a blocchi condizione Istruzione 1
vero falso condizione Istruzione 1 Istruzione 2
12
Esempio Dati due numeri in input visualizzare il massimo tra i due.
13
Tabella delle variabili
Nome Descrizione Tipo Utilizzo Primo Primo numero numerico Input Secondo Secondo numero Massimo Massimo tra X e Y Output/Lavoro
14
Diagramma a blocchi o i i o Primo Secondo Primo > Secondo
INIZIO o Diagramma a blocchi “Inserisci i due numeri” i Primo i Secondo vero falso Primo > Secondo Massimo = Primo Massimo = Secondo o Massimo FINE
15
Esercizi: Dati due numeri visualizzare il minimo tra i due.
Dato il nome e l’età di una persona , stampare il nome e la scritta MAGGIORENNE se la persona è maggiorenne, MINORENNE altrimenti. Dati il nome e il sesso (F o M) di una persona, si visualizzi il messaggio “Egregio Signore” o “Gentilissima signora” a seconda che si tratti di un uomo o di una donna. 15
16
Strutture di ripetizione
I costrutti di ripetizione detti anche cicli o di iterazione, consentono di eseguire molte volte la stessa istruzione fino al verificarsi di una condizione. Due tipi: Condizionale: la ripetizione viene decisa in base al risultato di un test, da effettuarsi ad ogni iterazione ripeti Istruzione finché succede una certa cosa mentre succede una certa cosa esegui Istruzione Enumerativa: ripetizione di un’azione per un numero di volte fissato all’inizio dell’esecuzione dell’istruzione “ripeti tot volte” Sono equivalenti ma appropriati in situazioni diverse!
17
Ripetizione condizionale
Ripetizione precondizionale Controllo la condizione; in base al suo valore di verità l’esecutore stabilisce se eseguire il blocco oppure continuare con l’esecuzione della prima istruzione successiva al ciclo
18
Precondizionale Se la condizione è inizialmente falsa, il blocco di istruzioni non viene mai eseguito. Quindi un blocco con una ripetizione precondizionale può: essere eseguito più volte non essere mai eseguito Attenzione: Il corpo di un blocco con una ripetizione precondizionale deve alla fine rendere falsa la condizione perchè il ciclo si fermi, altrimenti si va avanti all’infinito (loop)
19
Ripetizione precondizionale
Codice in Visual Basic: Do While Condizione Istruzioni Loop Che equivale a: Valuta la condizione Se il valore è vero torna al passo 1 Se il valore è falso esci dal ciclo F Condizione V istruzioni
20
Ripetizione condizionale
Ripetizione postcondizionale L’esecutore esegue il blocco di istruzioni, poi controlla la condizione; in base al suo valore di verità l’esecutore decide se eseguire ancora il blocco oppure continuare l’esecuzione della prima azione successiva.
21
Ripetizione postcondizionale
Codice in Visual Basic Do istruzioni Loop Until condizione Che equivale a: Esegui le istruzioni Valuta la condizione Se il valore è falso si torna al passo 1 Se il valore è vero si esce dal ciclo istruzioni V condizione F
22
Postcondizionale Con una ripetizione postcondizionale, se la condizione è inizialmente vera, il blocco di istruzioni verrà comunque eseguita almeno una volta. Per essere sicuri che il ciclo termini, esso dovrà contenere qualche istruzione che modifichi il valore di verità dell’espressione.
23
Ripetizione enumerativa
In certi casi si conosce a priori il numero delle iterazioni che devono essere eseguite Esiste una struttura di ripetizione che funziona esattamente in questo modo: utilizza una variabile contatore che viene inizializzata ad un valore particolare e successivamente incrementata fino ad un valore massimo. Per ogni valore che il contatore assume viene ripetuta l’esecuzione di un blocco di istruzioni.
24
Ripetizione enumerativa
Codice in Visual Basic: For Contatore = min to max step 1 istruzioni Next Contatore Che equivale a: Inizializza il Contatore al valore min; Se Contatore > massimo esci, altrimenti vai alla 3 Esegui istruzioni Incrementa Contatore di 1 (step) vai alla 2 For Contatore = min to max step 1 istruzioni 24
Presentazioni simili
© 2024 SlidePlayer.it Inc.
All rights reserved.